Merged master 8748

This commit is contained in:
Jordan Sherer
2018-08-05 11:33:30 -04:00
parent 8f8772f1bd
commit 62899069bf
1222 changed files with 70382 additions and 406763 deletions
+45 -20
View File
@@ -28,16 +28,26 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
end type counting_ft8_decoder
real ss(184,NSMAX)
logical baddata,newdat65,newdat9,single_decode,bVHF,bad0,newdat
logical baddata,newdat65,newdat9,single_decode,bVHF,bad0,newdat,ex
integer*2 id2(NTMAX*12000)
type(params_block) :: params
real*4 dd(NTMAX*12000)
character(len=20) :: datetime
character(len=12) :: mycall, hiscall
character(len=6) :: mygrid, hisgrid
save
type(counting_jt4_decoder) :: my_jt4
type(counting_jt65_decoder) :: my_jt65
type(counting_jt9_decoder) :: my_jt9
type(counting_ft8_decoder) :: my_ft8
!cast C character arrays to Fortran character strings
datetime=transfer(params%datetime, datetime)
mycall=transfer(params%mycall,mycall)
hiscall=transfer(params%hiscall,hiscall)
mygrid=transfer(params%mygrid,mygrid)
hisgrid=transfer(params%hisgrid,hisgrid)
! initialize decode counts
my_jt4%decoded = 0
my_jt65%decoded = 0
@@ -54,13 +64,23 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
10 if (params%nagain) then
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
position='append',iostat=ios)
if(params%nmode.eq.8) open(19,file=trim(temp_dir)//'/houndcallers.txt', &
status='unknown',position='append',iostat=ios)
else
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',iostat=ios)
if(params%nmode.eq.8) open(19,file=trim(temp_dir)//'/houndcallers.txt', &
status='unknown',iostat=ios)
endif
if(params%nmode.eq.8) then
inquire(file=trim(temp_dir)//'/houndcallers.txt',exist=ex)
if(.not.ex) then
c2fox=' '
g2fox=' '
nsnrfox=-99
nfreqfox=-99
n30z=0
nwrap=0
nfox=0
endif
open(19,file=trim(temp_dir)//'/houndcallers.txt',status='unknown')
endif
if(ios.ne.0) then
nfail=nfail+1
if(nfail.le.3) then
@@ -77,7 +97,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
params%nftx,newdat,params%nutc,params%nfa,params%nfb, &
params%nexp_decode,params%ndepth,logical(params%nagain), &
logical(params%lft8apon),logical(params%lapcqonly),params%napwid, &
params%mycall,params%mygrid,params%hiscall,params%hisgrid)
mycall,mygrid,hiscall,hisgrid)
call timer('decft8 ',1)
if(nfox.gt.0) then
n30min=minval(n30fox(1:nfox))
@@ -99,8 +119,12 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
nfreqfox(j)=nfreqfox(i)
n30fox(j)=n
m=n30max-n
call azdist(params%mygrid,g2fox(j),0.d0,nAz,nEl,nDmiles,nDkm, &
nHotAz,nHotABetter)
if(len(trim(g2fox(j))).eq.4) then
call azdist(mygrid,g2fox(j),0.d0,nAz,nEl,nDmiles,nDkm, &
nHotAz,nHotABetter)
else
nDkm=9999
endif
write(19,1004) c2fox(j),g2fox(j),nsnrfox(j),nfreqfox(j),nDkm,m
1004 format(a12,1x,a4,i5,i6,i7,i3)
endif
@@ -151,8 +175,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call my_jt4%decode(jt4_decoded,dd,jz,params%nutc,params%nfqso, &
params%ntol,params%emedelay,params%dttol,logical(params%nagain), &
params%ndepth,logical(params%nclearave),params%minsync, &
params%minw,params%nsubmode,params%mycall,params%hiscall, &
params%hisgrid,params%nlist,params%listutc,jt4_average)
params%minw,params%nsubmode,mycall,hiscall, &
hisgrid,params%nlist,params%listutc,jt4_average)
go to 800
endif
@@ -184,8 +208,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
nf1,nf2,params%nfqso,ntol65,params%nsubmode,params%minsync, &
logical(params%nagain),params%n2pass,logical(params%nrobust), &
ntrials,params%naggressive,params%ndepth,params%emedelay, &
logical(params%nclearave),params%mycall,params%hiscall, &
params%hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%nclearave),mycall,hiscall, &
hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%ljt65apon))
call timer('jt65a ',1)
@@ -210,8 +234,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
nf1,nf2,params%nfqso,ntol65,params%nsubmode,params%minsync, &
logical(params%nagain),params%n2pass,logical(params%nrobust), &
ntrials,params%naggressive,params%ndepth,params%emedelay, &
logical(params%nclearave),params%mycall,params%hiscall, &
params%hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%nclearave),mycall,hiscall, &
hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%ljt65apon))
call timer('jt65a ',1)
else
@@ -439,8 +463,8 @@ contains
real, intent(in) :: dt
real, intent(in) :: freq
character(len=37), intent(in) :: decoded
character c1*12,c2*6,g2*4,w*4
integer i0,i1,i2,i3,i4,i5,n30,nwrap
character c1*12,c2*12,g2*4,w*4,ctmp*12
integer i0,i1,i2,i3,i4,i5,i6,n30,nwrap
integer, intent(in) :: nap
real, intent(in) :: qual
character*2 annot
@@ -489,10 +513,11 @@ contains
c1=decoded0(1:i1-1)//' '
c2=decoded0(i1+1:i2-1)
g2=decoded0(i2+1:i3-1)
b0=c1.eq.params%mycall
if(len(trim(c1)).ne.len(trim(params%mycall))) then
i4=index(trim(c1),trim(params%mycall))
i5=index(trim(params%mycall),trim(c1))
b0=c1.eq.mycall
if(c1(1:3).eq.'DE ' .and. index(c2,'/').ge.2) b0=.true.
if(len(trim(c1)).ne.len(trim(mycall))) then
i4=index(trim(c1),trim(mycall))
i5=index(trim(mycall),trim(c1))
if(i4.ge.1 .or. i5.ge.1) b0=.true.
endif
b1=i3-i2.eq.5 .and. isgrid4(g2)