Another instance of variables needing to be saved explicitly between

calls to a subroutine.  I believe this fixes the known outstanding decode
issue.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4941 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2015-02-06 18:44:45 +00:00
parent 133b603c39
commit ec7bf0652a
2 changed files with 7 additions and 6 deletions

View File

@ -18,17 +18,15 @@ subroutine filbig(dd,npts,f0,newdat,c4a,n4,sq0)
real halfpulse(8) !Impulse response of filter (one sided) real halfpulse(8) !Impulse response of filter (one sided)
complex cfilt(NFFT2) !Filter (complex; imag = 0) complex cfilt(NFFT2) !Filter (complex; imag = 0)
real rfilt(NFFT2) !Filter (real) real rfilt(NFFT2) !Filter (real)
! integer*8 plan1,plan2,plan3
type(C_PTR) :: plan1,plan2,plan3 !Pointers to FFTW plans type(C_PTR) :: plan1,plan2,plan3 !Pointers to FFTW plans
logical first logical first
! include 'fftw3.f90'
equivalence (rfilt,cfilt),(rca,ca) equivalence (rfilt,cfilt),(rca,ca)
data first/.true./ data first/.true./
data halfpulse/114.97547150,36.57879257,-20.93789101, & data halfpulse/114.97547150,36.57879257,-20.93789101, &
5.89886379,1.59355187,-2.49138308,0.60910773,-0.04248129/ 5.89886379,1.59355187,-2.49138308,0.60910773,-0.04248129/
common/refspec/dfref,ref(NSZ) common/refspec/dfref,ref(NSZ)
common/patience/npatience,nthreads common/patience/npatience,nthreads
save first,plan1,plan2,plan3,rfilt,df save first,plan1,plan2,plan3,rfilt,cfilt,df,ca
if(npts.lt.0) go to 900 !Clean up at end of program if(npts.lt.0) go to 900 !Clean up at end of program

View File

@ -77,15 +77,18 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nagain,ndecoded)
if(nsnr.gt.-1) nsnr=-1 if(nsnr.gt.-1) nsnr=-1
dt=dt-tskip dt=dt-tskip
!$omp critical(decode_results) ! serialize writes - see also decjt9.f90 ! Serialize writes - see also decjt9.f90
!$omp critical(decode_results)
write(*,1010) nutc,nsnr,dt,nfreq,decoded write(*,1010) nutc,nsnr,dt,nfreq,decoded
1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a22)
write(13,1012) nutc,nint(sync1),nsnr,dt,float(nfreq),ndrift, & write(13,1012) nutc,nint(sync1),nsnr,dt,float(nfreq),ndrift, &
decoded,nbmkv decoded,nbmkv
1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4)
call flush(6) call flush(6)
!$omp end critical(decode_results) !$omp end critical(decode_results)
1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a22)
1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4)
freq0=freq+a(1) freq0=freq+a(1)
i2=min(NSZ,i+15) !### ??? ### i2=min(NSZ,i+15) !### ??? ###
done(i:i2)=.true. done(i:i2)=.true.