WSJT-X/lib/plotsave.f90

36 lines
749 B
Fortran
Raw Normal View History

subroutine plotsave(swide,nw,nh,irow)
real, dimension(:,:), allocatable :: sw
real swide(0:nw-1)
data nw0/-1/,nh0/-1/
save nw0,nh0,sw
if(irow.eq.-99) then
if(allocated(sw)) deallocate(sw)
return
endif
if(nw.ne.nw0 .or. nh.ne.nh0) then
if(allocated(sw)) deallocate(sw)
! if(nw0.ne.-1) deallocate(sw)
allocate(sw(0:nw-1,0:nh-1))
sw=0.
nw0=nw
nh0=nh
endif
df=12000.0/16384
if(irow.lt.0) then
! Push a new row of data into sw
do j=nh-1,1,-1
sw(0:nw-1,j)=sw(0:nw-1,j-1)
enddo
sw(0:nw-1,0)=swide
else
! Return the saved "irow" as swide(), for a waterfall replot.
swide=sw(0:nw-1,irow)
endif
return
end subroutine plotsave