diff --git a/map65/libm65/map65a.f90 b/map65/libm65/map65a.f90 index 4967f7f2e..1c5e22109 100644 --- a/map65/libm65/map65a.f90 +++ b/map65/libm65/map65a.f90 @@ -49,12 +49,12 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & endif !### ! print*,'=',nagain - do k=1,ncand - freq=cand(k)%f+77.0-1.27046 - write(*,3010) nutc,k,cand(k)%snr,cand(k)%f,freq,cand(k)%xdt, & - cand(k)%ipol,cand(k)%iflip -3010 format('= ',i4.4,i5,f10.1,3f10.3,2i3) - enddo +! do k=1,ncand +! freq=cand(k)%f+77.0-1.27046 +! write(*,3010) nutc,k,cand(k)%snr,cand(k)%f,freq,cand(k)%xdt, & +! cand(k)%ipol,cand(k)%iflip +!3010 format('= ',i4.4,i5,f10.1,3f10.3,2i3) +! enddo ! print*,'AAA',nfa,nfb,ncand !### @@ -354,6 +354,19 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & 1011 format(i3,i4,i5,i4,i6.4,1x,f5.1,f7.1,i3,i5,a1,1x,a22) endif endif + enddo ! k=1,km + + do n=1,ncand + if(cand(n)%iflip.ne.0) cycle + freq=cand(n)%f+77.0-1.27046 + if(nqd.eq.1 .and. abs(freq-mousefqso).gt.float(ntol)) cycle + ikhz=nint(freq) +! write(*,3201) nqd,freq,mousefqso,mousedf,ntol +!3201 format('=A',i3,f10.3,3i5) + call timer('q65b ',0) + call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, & + mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65) + call timer('q65b ',1) enddo if(nwrite.eq.0 .and. nwrite_q65.eq.0) then @@ -373,22 +386,22 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & 1013 format('',2i4) flush(6) endif - if(nqd.eq.2 .and. mode65.eq.0) go to 999 if(nqd.eq.1 .and. nagain.eq.1) go to 999 -! if(nqd.eq.0) cycle - do k=1,ncand - if(cand(k)%iflip.ne.0) cycle - freq=cand(k)%f+77.0-1.27046 - ikhz=nint(freq) -! write(*,3010) nutc,k,cand(k)%snr,cand(k)%f,freq,cand(k)%xdt, & -! cand(k)%ipol,cand(k)%iflip -!3010 format('= ',i4.4,i5,f10.1,3f10.3,2i3) - call timer('q65b ',0) - call q65b(nutc,fcenter,nfcal,nfsample,ikhz, & - mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65) - call timer('q65b ',1) - enddo + if(nqd.eq.0) then + do n=1,ncand + if(cand(n)%iflip.ne.0) cycle + freq=cand(n)%f+77.0-1.27046 + if(nqd.eq.1 .and. abs(freq-mousefqso).gt.float(ntol)) cycle + ikhz=nint(freq) +! write(*,3202) nqd,freq,mousefqso,mousedf,ntol +!3202 format('=B',i3,f10.3,3i5) + call timer('q65b ',0) + call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, & + mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65) + call timer('q65b ',1) + enddo + endif enddo ! nqd diff --git a/map65/libm65/q65b.f90 b/map65/libm65/q65b.f90 index 7337a1f30..01f02191f 100644 --- a/map65/libm65/q65b.f90 +++ b/map65/libm65/q65b.f90 @@ -1,4 +1,4 @@ -subroutine q65b(nutc,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, & +subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, & mycall0,hiscall0,hisgrid,mode_q65) ! This routine provides an interface between MAP65 and the Q65 decoder @@ -135,12 +135,15 @@ subroutine q65b(nutc,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, & nfreq=nfreq0 + nhz + mousedf - 1000 freq0=144.0 + 0.001*ikhz if(nsnr0.gt.-99) then - write(line,1020) ikhz,nfreq,45*(ipol-1),nutc,xdt0,nsnr0,msg0(1:27),cq0 -1020 format('!',i3.3,i5,i4,i6.4,f5.1,i5,' : ',a27,a3) - write(*,1100) trim(line) -1100 format(a) -! Should write to lu 26 here, for Messages and Band Map windows ? + if(nqd.eq.1) then + write(line,1020) ikhz,nfreq,45*(ipol-1),nutc,xdt0,nsnr0,msg0(1:27),cq0 +1020 format('!',i3.3,i5,i4,i6.4,f5.1,i5,' : ',a27,a3) + write(*,1100) trim(line) +1100 format(a) + endif + +! Write to lu 26, for Messages and Band Map windows write(26,1014) freq0,nfreq0,0,0,0,xdt0,ipol0,0, & nsnr0,nutc,msg0(1:22),':',char(ichar('A') + mode_q65-1) 1014 format(f8.3,i5,3i3,f5.1,i4,i3,i4,i5.4,4x,a22,2x,a1,3x,':',a1)