diff --git a/map65/libm65/decode0.f90 b/map65/libm65/decode0.f90 index acc5bc228..f7fa82d8e 100644 --- a/map65/libm65/decode0.f90 +++ b/map65/libm65/decode0.f90 @@ -55,7 +55,6 @@ subroutine decode0(dd,ss,savg,nstandalone) mousedf,mousefqso,nagain,ndecdone,ndiskdat,nfshift,ndphi, & nfcal,nkeep,mcall3b,nsum,nsave,nxant,rmsdd,mycall,mygrid, & neme,ndepth,hiscall,hisgrid,nhsym,nfsample,nxpol,nmode) - call timer('map65a ',1) call timer('decode0 ',1) diff --git a/map65/libm65/filbig.f90 b/map65/libm65/filbig.f90 index 92a489237..4fc3e3b62 100644 --- a/map65/libm65/filbig.f90 +++ b/map65/libm65/filbig.f90 @@ -73,7 +73,7 @@ subroutine filbig(dd,nmax,f0,newdat,nfsample,xpol,c4a,c4b,n4) ! When new data comes along, we need to compute a new "big FFT" ! If we just have a new f0, continue with the existing ca and cb. - if(newdat.ne.0) then + if(newdat.ne.0 .or. sum(abs(ca)).eq.0.0) then !### Test on ca should be unnecessary? nz=min(nmax,nfft1) do i=1,nz ca(i)=cmplx(dd(1,i),dd(2,i)) diff --git a/map65/libm65/map65a.f90 b/map65/libm65/map65a.f90 index fd28fab3c..96b2ba233 100644 --- a/map65/libm65/map65a.f90 +++ b/map65/libm65/map65a.f90 @@ -31,7 +31,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & data shmsg0/'ATT','RO ','RRR','73 '/ data nfile/0/,nutc0/-999/,nid/0/,ip000/1/,ip001/1/,mousefqso0/-999/ save - + mode65=mod(nmode,10) if(mode65.eq.3) mode65=4 mode64=nmode/10 @@ -258,7 +258,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & endif endif endif - enddo + enddo !i=ia,ib if(nqd.eq.1) then nwrite=0 @@ -343,8 +343,8 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & write(*,1012) mousefqso,nutc 1012 format('!',i3,9x,i6.4,' ') endif - - endif + endif !nqd.eq.1 + if(ndphi.eq.1 .and.iloop.lt.12) then iloop=iloop+1 go to 2 diff --git a/map65/libm65/q65b.f90 b/map65/libm65/q65b.f90 index 9da1b8430..7b7dfcf08 100644 --- a/map65/libm65/q65b.f90 +++ b/map65/libm65/q65b.f90 @@ -92,7 +92,8 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, & if(ipol.eq.3) cz(0:MAXFFT2-1)=cy if(ipol.eq.4) cz(0:MAXFFT2-1)=0.707*(cx-cy) cz(MAXFFT2)=0. - call four2a(cz,2*nfft2,1,1,-1) !Transform to time domain (real), fsample=12000 Hz +!Transform to time domain (real), fsample=12000 Hz + call four2a(cz,2*nfft2,1,1,-1) do i=0,nfft2-1 j=nfft2-1-i iwave(2*i+1)=nint(real(cz(j)))