From ec7bf0652a9a713822fc9c9e0908c45673970200 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 6 Feb 2015 18:44:45 +0000 Subject: [PATCH] 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 --- lib/filbig.f90 | 4 +--- lib/jt65a.f90 | 9 ++++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/filbig.f90 b/lib/filbig.f90 index 4c1a687c0..3a2d51635 100644 --- a/lib/filbig.f90 +++ b/lib/filbig.f90 @@ -18,17 +18,15 @@ subroutine filbig(dd,npts,f0,newdat,c4a,n4,sq0) real halfpulse(8) !Impulse response of filter (one sided) complex cfilt(NFFT2) !Filter (complex; imag = 0) real rfilt(NFFT2) !Filter (real) -! integer*8 plan1,plan2,plan3 type(C_PTR) :: plan1,plan2,plan3 !Pointers to FFTW plans logical first -! include 'fftw3.f90' equivalence (rfilt,cfilt),(rca,ca) data first/.true./ data halfpulse/114.97547150,36.57879257,-20.93789101, & 5.89886379,1.59355187,-2.49138308,0.60910773,-0.04248129/ common/refspec/dfref,ref(NSZ) 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 diff --git a/lib/jt65a.f90 b/lib/jt65a.f90 index 49322add1..3f57d77a6 100644 --- a/lib/jt65a.f90 +++ b/lib/jt65a.f90 @@ -77,15 +77,18 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nagain,ndecoded) if(nsnr.gt.-1) nsnr=-1 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 +1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a22) write(13,1012) nutc,nint(sync1),nsnr,dt,float(nfreq),ndrift, & decoded,nbmkv +1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4) call flush(6) !$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) i2=min(NSZ,i+15) !### ??? ### done(i:i2)=.true.