Improves setting of limits for flattening s1(), when nfqso is too close to 0.

This commit is contained in:
Joe Taylor 2021-06-25 16:29:42 -04:00
parent 7760ad05f6
commit 588e862346

View File

@ -139,16 +139,17 @@ subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
endif endif
i0=nint(nfqso/df) !Target QSO frequency i0=nint(nfqso/df) !Target QSO frequency
if(i0-64.lt.1 .or. i0-65+LL.gt.iz) go to 900 !Frequency out of range ii1=max(1,i0-64)
call pctile(s1(i0-64:i0-65+LL,1:jz),LL*jz,45,base) ii2=i0-65+LL
call pctile(s1(ii1:ii2,1:jz),ii2-ii1+1*jz,45,base)
s1=s1/base s1=s1/base
s1raw=s1 s1raw=s1
! Apply fast AGC to the symbol spectra ! Apply fast AGC to the symbol spectra
s1max=20.0 !Empirical choice s1max=20.0 !Empirical choice
do j=1,jz !### Maybe wrong way? ### do j=1,jz !### Maybe wrong way? ###
smax=maxval(s1(i0-64:i0-65+LL,j)) smax=maxval(s1(ii1:ii2,j))
if(smax.gt.s1max) s1(i0-64:i0-65+LL,j)=s1(i0-64:i0-65+LL,j)*s1max/smax if(smax.gt.s1max) s1(ii1:ii2,j)=s1(ii1:ii2,j)*s1max/smax
enddo enddo
dat4=0 dat4=0