jtdx/lib/decoder.f90
2021-12-22 14:32:23 +03:00

2601 lines
165 KiB
Fortran

subroutine multimode_decoder(params)
!$ use omp_lib
use prog_args
! use timer_module, only: timer
use jt65_decode
use jt9_decode
use jt9s_decode
use jt10_decode
use ft8_decode
use ft4_decode
use ft8_mod1, only : ndecodes,allmessages,allsnrs,allfreq,mycall12_0,mycall12_00,hiscall12_0,nmsg,odd,even,oddcopy, &
evencopy,nlasttx,lqsomsgdcd,mycalllen1,msgroot,msgrootlen,lapmyc,lagcc,nFT8decdt,sumxdtt,avexdt, &
nfawide,nfbwide,mycall,hiscall,lhound,mybcall,hisbcall,lenabledxcsearch,lwidedxcsearch,hisgrid4, &
lmultinst,dd8,nft8cycles,nft8swlcycles,lskiptx1,ncandallthr,nincallthr,incall,msgincall,xdtincall, &
maskincallthr
use ft4_mod1, only : llagcc,nFT4decd,nfafilt,nfbfilt,lfilter,lhidetest,lhidetelemetry,dd4
use packjt77, only : lcommonft8b,ihash22,calls12,calls22
include 'jt9com.f90'
! include 'timer_common.inc'
type, extends(jt65_decoder) :: counting_jt65_decoder
integer :: decoded
end type counting_jt65_decoder
type, extends(jt9_decoder) :: counting_jt9_decoder
integer :: decoded
end type counting_jt9_decoder
type, extends(jt9s_decoder) :: counting_jt9s_decoder
integer :: decoded
end type counting_jt9s_decoder
type, extends(jt10_decoder) :: counting_jt10_decoder
integer :: decoded
end type counting_jt10_decoder
type, extends(ft8_decoder) :: counting_ft8_decoder
integer :: decoded
end type counting_ft8_decoder
type, extends(ft4_decoder) :: counting_ft4_decoder
integer :: decoded
end type counting_ft4_decoder
logical first,firstsd
logical(1) swlold
integer nutc,ndelay
type(params_block) :: params
data ndelay/0/
data first/.true./
data firstsd/.true./
data swlold/.false./
! character(len=20) :: datetime
character(len=6) :: hisgrid !, mygrid,
save
logical newdat65,newdat9,nagainjt9,nagainjt9s,nagainjt10,swlchanged,lowrms,fileExists
!character(10) dat, tim1, tim2, zon
!real(8) :: timer1,timer2 ! milliseconds
!integer(4) :: ival(8)
type(counting_jt65_decoder) :: my_jt65
type(counting_jt9_decoder) :: my_jt9
type(counting_jt9s_decoder) :: my_jt9s
type(counting_jt10_decoder) :: my_jt10
type(counting_ft8_decoder) :: my_ft8
type(counting_ft4_decoder) :: my_ft4
!cast C character arrays to Fortran character strings
! datetime=transfer(params%datetime, datetime)
mycall=transfer(params%mycall,mycall)
mybcall=transfer(params%mybcall,mybcall)
hiscall=transfer(params%hiscall,hiscall)
hisbcall=transfer(params%hisbcall,hisbcall)
! mygrid=transfer(params%mygrid,mygrid)
hisgrid=transfer(params%hisgrid,hisgrid)
hisgrid4=hisgrid(1:4)
my_jt65%decoded=0; my_jt9%decoded=0; my_jt9s%decoded=0; my_jt10%decoded=0; my_ft8%decoded=0; my_ft4%decoded=0
nagainjt9=.false.; nagainjt9s=.false.; nagainjt10=.false.; ncandall=0; ncandallthr=0
if(params%lmodechanged) avexdt=0.
if(params%lbandchanged .and. (params%nmode.eq.8 .or. params%nmode.eq.4)) then; ihash22=-1; calls22=''; calls12=''; endif
if(.not.params%nagain) ndelay=params%ndelay
lqsomsgdcd=.false.
if(ndelay.gt.0) then ! received incomplete interval
if(params%nmode.eq.8) then; call partintft8(ndelay,params%nutc); lqsomsgdcd=.true.
else if(params%nmode.eq.4) then; call partintft4(ndelay,params%nutc)
else; call partint(ndelay,params%nutc)
endif
endif
ntrials=params%nranera
if(params%nsecbandchanged.gt.0) then
nsamplesdel=params%nsecbandchanged*12000
if(params%nmode.eq.8) then
if(params%nsecbandchanged.gt.14) then; dd8=0. ! protection
else; dd8(1:nsamplesdel)=0.
endif
else if(params%nmode.eq.4) then
if(params%nsecbandchanged.gt.6) then; dd4=0. ! protection: interval length is greater than dd4 index range
else; dd4(1:nsamplesdel)=0.
endif
endif
endif
! if (params%nagain .or. (params%nagainfil .and. (params%nmode.eq.65 .or. &
! params%nmode.eq.(65+9)))) then
! open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown',position='append')
! else
! open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown')
! endif
if(.not.params%nagain) nutc=params%nutc
!call date_and_time(date = dat, time = tim1, zone = zon)
!call date_and_time(values = ival)
!timer1 = dble(ival(8)) * 0.001_8 + &
!dble(ival(7)) + dble(ival(6)) * 60.0_8 + &
!dble(ival(5)) * 3600.0_8
!print *,'Decoder start: ',tim1
!print *,params%newdat,params%nagain,params%nagainfil
swlchanged=.false.
if(swlold.neqv.params%nswl) then
swlchanged=.true.
swlold=params%nswl
endif
if(first .or. swlchanged) then; call cwfilter(params%nswl,first,swlchanged); first=.false.; endif ! + ALLCALL to memory
lenabledxcsearch=params%lenabledxcsearch; lwidedxcsearch=params%lwidedxcsearch
lmultinst=params%lmultinst; lskiptx1=params%lskiptx1; lhidetest=params%lhidetest; lhidetelemetry=params%lhidetelemetry
if(params%nmode.eq.8) then
mycalllen1=len_trim(mycall)+1
msgroot=''; msgroot=trim(mycall)//' '//trim(hiscall)//' '; msgrootlen=len_trim(msgroot)
lcommonft8b=params%lcommonft8b; lagcc=params%nagcc; lhound=params%lhound
nft8cycles=params%nft8cycles; nft8swlcycles=params%nft8swlcycles
if(params%nagcc) call agccft8(params%nfa,params%nfb)
if((hiscall.ne.hiscall12_0 .and. hiscall.ne.' ') &
.or. (mycall.ne.mycall12_0 .and. mycall.ne.' ')) then
if(hiscall.ne.' ') then
call tone8(params%lmycallstd,params%lhiscallstd)
hiscall12_0=hiscall; mycall12_0=mycall
endif
endif
if(params%lmycallstd .and. mycall.ne.' ' .and. mycall12_00.ne.mycall) then
call tone8myc(); mycall12_00=mycall
endif
ndecodes=0; allmessages=""; allsnrs=0; allfreq=0. !init arrays for multithreading decoding
numcores=omp_get_num_procs()
nuserthr=params%nmt
numthreads=1 ! fallback
if(nuserthr.eq.0) then ! auto
if(numcores.eq.1) then; numthreads=1
else if(numcores.gt.1 .and. numcores.lt.5) then; numthreads=numcores-1
else if(numcores.gt.4 .and. numcores.lt.9) then; numthreads=numcores-2
else if(numcores.gt.8 .and. numcores.lt.16) then; numthreads=numcores-3
else if(numcores.gt.15 .and. numcores.lt.21) then; numthreads=numcores-4
else if(numcores.gt.20 .and. numcores.lt.30) then; numthreads=numcores-5
else if(numcores.gt.29) then; numthreads=24
endif
else if(nuserthr.gt.0 .and. nuserthr.lt.25) then
! number of threads shall not exceed number of logical cores
if(numcores.ge.nuserthr) then; numthreads=nuserthr; else; numthreads=numcores; endif
endif
!print *,nuserthr,numcores,numthreads
call omp_set_dynamic(.false.)
call omp_set_nested(.true.)
nfa=params%nfa; nfb=params%nfb; nfqso=params%nfqso; nfawide=params%nfa; nfbwide=params%nfb
if(params%nfilter) then ! 160Hz Filter bandwidth, 580Hz Filter bandwidth in Hound mode
if(nfqso.lt.nfa .or. nfqso.gt.nfb) then
write(*,32) nutc,'nfqso is out of bandwidth','d'; 32 format(i6.6,2x,a25,16x,a1); go to 800
endif
if(.not.params%lhound) then; nfa=max(nfa,nfqso-60); nfb=min(nfb,nfqso+60)
else; nfa=max(nfa,nfqso-290); nfb=min(nfb,nfqso+290); endif
numthreads=min(8,numthreads) ! to do: withdraw limitation when threads are in sync at main passes?
endif
if(params%nagainfil) then
if(nfqso.lt.nfa .or. nfqso.gt.nfb) then
write(*,64) nutc,'nfqso is out of bandwidth','d'; 64 format(i6.6,2x,a25,16x,a1); go to 800
endif
nfa=max(nfa,nfqso-25) ! 50Hz bandwidth for decode via double click
nfb=min(nfb,nfqso+25)
numthreads=min(4,numthreads) ! to do: withdraw limitation when threads are in sync at main passes?
endif
nsec=mod(nutc,100)
nmsg=0
if(nsec.ne.0 .and. nsec.ne.15 .and. nsec.ne.30 .and. nsec.ne.45) then ! reading simulated wav file
odd%lstate=.false.; even%lstate=.false.; oddcopy%lstate=.false.; evencopy%lstate=.false.
endif
if(firstsd) then; odd%lstate=.false.; even%lstate=.false.; firstsd=.false.; endif
if(nsec.eq.0 .or. nsec.eq.30) then
evencopy%msg=even%msg; evencopy%freq=even%freq
evencopy%dt=even%dt; evencopy%lstate=even%lstate
even%lstate=.false.
endif
if(nsec.eq.15 .or. nsec.eq.45) then
oddcopy%msg=odd%msg; oddcopy%freq=odd%freq
oddcopy%dt=odd%dt; oddcopy%lstate=odd%lstate
odd%lstate=.false.
endif
nlasttx=params%nlasttx; lapmyc=params%lapmyc; nFT8decd=0; sumxdt=0.0; nFT8decdt=0; sumxdtt=0.0
call fillhash(numthreads,.false.)
if(params%nmode.eq.8) call ft8apset(params%lmycallstd,params%lhiscallstd,numthreads)
!do i=9595,9605; print *,i,dd8(i); enddo ! check wav files processing
! call timer('decft8 ',0)
if(numthreads.eq.1) then
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
endif
if(numthreads.eq.2) then
nfmid=nfa+nint(abs(nfb-nfa)/2.); if((nfmid+1).gt.nfb) nfmid=nfb-1
!!! !$omp parallel sections num_threads(2) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(2) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.3) then
nfdelta=nint(abs(nfb-nfa)/3.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; if((nfmid2+1).gt.nfb) nfmid2=nfb-1
!!! !$omp parallel sections num_threads(3) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(3) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.4) then
nfdelta=nint(abs(nfb-nfa)/4.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
if((nfmid3+1).gt.nfb) nfmid3=nfb-1
!!! !$omp parallel sections num_threads(4) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(4) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.5) then
nfdelta=nint(abs(nfb-nfa)/5.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; if((nfmid4+1).gt.nfb) nfmid4=nfb-1
!!! !$omp parallel sections num_threads(5) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(5) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.6) then
nfdelta=nint(abs(nfb-nfa)/6.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; if((nfmid5+1).gt.nfb) nfmid5=nfb-1
!!! !$omp parallel sections num_threads(6) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(6) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.7) then
nfdelta=nint(abs(nfb-nfa)/7.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; if((nfmid6+1).gt.nfb) nfmid6=nfb-1
!!! !$omp parallel sections num_threads(7) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(7) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.8) then
nfdelta=nint(abs(nfb-nfa)/8.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta
if((nfmid7+1).gt.nfb) nfmid7=nfb-1
!!! !$omp parallel sections num_threads(8) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(8) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.9) then
nfdelta=nint(abs(nfb-nfa)/9.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta
nfmid8=nfmid7+nfdelta; if((nfmid8+1).gt.nfb) nfmid8=nfb-1
!!! !$omp parallel sections num_threads(9) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(9) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.10) then
nfdelta=nint(abs(nfb-nfa)/10.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta
nfmid8=nfmid7+nfdelta; nfmid9=nfmid8+nfdelta; if((nfmid9+1).gt.nfb) nfmid9=nfb-1
!!! !$omp parallel sections num_threads(10) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(10) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.11) then
nfdelta=nint(abs(nfb-nfa)/11.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; if((nfmid10+1).gt.nfb) nfmid10=nfb-1
!!! !$omp parallel sections num_threads(11) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(11) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.12) then
nfdelta=nint(abs(nfb-nfa)/12.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; if((nfmid11+1).gt.nfb) nfmid11=nfb-1
!!! !$omp parallel sections num_threads(12) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(12) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.13) then
nfdelta=nint(abs(nfb-nfa)/13.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
if((nfmid12+1).gt.nfb) nfmid12=nfb-1
!!! !$omp parallel sections num_threads(13) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(13) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.14) then
nfdelta=nint(abs(nfb-nfa)/14.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; if((nfmid13+1).gt.nfb) nfmid13=nfb-1
!!! !$omp parallel sections num_threads(14) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(14) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.15) then
nfdelta=nint(abs(nfb-nfa)/15.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; if((nfmid14+1).gt.nfb) nfmid14=nfb-1
!!! !$omp parallel sections num_threads(15) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(15) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.16) then
nfdelta=nint(abs(nfb-nfa)/16.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; if((nfmid15+1).gt.nfb) nfmid15=nfb-1
!!! !$omp parallel sections num_threads(16) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(16) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.17) then
nfdelta=nint(abs(nfb-nfa)/17.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
if((nfmid16+1).gt.nfb) nfmid16=nfb-1
!!! !$omp parallel sections num_threads(17) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(17) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.18) then
nfdelta=nint(abs(nfb-nfa)/18.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; if((nfmid17+1).gt.nfb) nfmid17=nfb-1
!!! !$omp parallel sections num_threads(18) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(18) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.19) then
nfdelta=nint(abs(nfb-nfa)/19.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; if((nfmid18+1).gt.nfb) nfmid18=nfb-1
!!! !$omp parallel sections num_threads(19) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(19) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.20) then
nfdelta=nint(abs(nfb-nfa)/20.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; nfmid19=nfmid18+nfdelta; if((nfmid19+1).gt.nfb) nfmid19=nfb-1
!!! !$omp parallel sections num_threads(20) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(20) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfmid19,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid19+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,20,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.21) then
nfdelta=nint(abs(nfb-nfa)/21.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; nfmid19=nfmid18+nfdelta; nfmid20=nfmid19+nfdelta
if((nfmid20+1).gt.nfb) nfmid20=nfb-1
!!! !$omp parallel sections num_threads(21) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(21) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfmid19,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid19+1,nfmid20,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,20,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid20+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,21,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.22) then
nfdelta=nint(abs(nfb-nfa)/22.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; nfmid19=nfmid18+nfdelta; nfmid20=nfmid19+nfdelta
nfmid21=nfmid20+nfdelta; if((nfmid21+1).gt.nfb) nfmid21=nfb-1
!!! !$omp parallel sections num_threads(22) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(22) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfmid19,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid19+1,nfmid20,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,20,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid20+1,nfmid21,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,21,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid21+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,22,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.23) then
nfdelta=nint(abs(nfb-nfa)/23.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; nfmid19=nfmid18+nfdelta; nfmid20=nfmid19+nfdelta
nfmid21=nfmid20+nfdelta; nfmid22=nfmid21+nfdelta; if((nfmid22+1).gt.nfb) nfmid22=nfb-1
!!! !$omp parallel sections num_threads(23) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(23) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfmid19,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid19+1,nfmid20,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,20,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid20+1,nfmid21,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,21,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid21+1,nfmid22,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,22,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid22+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,23,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
if(numthreads.eq.24) then
nfdelta=nint(abs(nfb-nfa)/24.); nfmid1=nfa+nfdelta; nfmid2=nfmid1+nfdelta; nfmid3=nfmid2+nfdelta
nfmid4=nfmid3+nfdelta; nfmid5=nfmid4+nfdelta; nfmid6=nfmid5+nfdelta; nfmid7=nfmid6+nfdelta; nfmid8=nfmid7+nfdelta
nfmid9=nfmid8+nfdelta; nfmid10=nfmid9+nfdelta; nfmid11=nfmid10+nfdelta; nfmid12=nfmid11+nfdelta
nfmid13=nfmid12+nfdelta; nfmid14=nfmid13+nfdelta; nfmid15=nfmid14+nfdelta; nfmid16=nfmid15+nfdelta
nfmid17=nfmid16+nfdelta; nfmid18=nfmid17+nfdelta; nfmid19=nfmid18+nfdelta; nfmid20=nfmid19+nfdelta
nfmid21=nfmid20+nfdelta; nfmid22=nfmid21+nfdelta; nfmid23=nfmid22+nfdelta; if((nfmid23+1).gt.nfb) nfmid23=nfb-1
!!! !$omp parallel sections num_threads(24) copyin(/timer_private/) shared(dd8,nmsg,even,odd,lqsomsgdcd,first_osd,gen,ihash22,nzhash,calls10,calls12,calls22) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(24) shared(dd8,nmsg,even,odd,lqsomsgdcd), &
!$omp& shared(first_osd,gen,ndecodes,allmessages,allsnrs,allfreq) if(.true.) !iif() needed on Mac
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid11+1,nfmid12,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,12,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid12+1,nfmid13,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,13,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid10+1,nfmid11,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,11,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid13+1,nfmid14,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,14,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid9+1,nfmid10,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,10,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid14+1,nfmid15,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,15,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid8+1,nfmid9,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,9,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid15+1,nfmid16,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,16,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid7+1,nfmid8,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,8,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid16+1,nfmid17,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,17,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid6+1,nfmid7,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,7,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid17+1,nfmid18,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,18,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid5+1,nfmid6,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,6,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid18+1,nfmid19,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,19,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid4+1,nfmid5,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,5,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid19+1,nfmid20,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,20,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid3+1,nfmid4,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,4,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid20+1,nfmid21,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,21,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid2+1,nfmid3,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,3,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid21+1,nfmid22,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,22,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid1+1,nfmid2,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,2,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid22+1,nfmid23,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,23,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfa,nfmid1,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,1,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp section
call my_ft8%decode(ft8_decoded,params%nQSOProgress,nfqso,params%nft8rxfsens, &
params%nftx,nutc,nfmid23+1,nfb,params%ncandthin,params%ndtcenter, &
nsec,params%napwid,params%nswl,params%lmycallstd,params%lhiscallstd, &
params%nfilter,params%nstophint,24,numthreads,logical(params%nagainfil),params%lft8lowth, &
params%lft8subpass,params%lhideft8dupes,params%lhidehash)
!$omp end parallel sections
endif
do i=1,numthreads
do m=1,nincallthr(i)
nindex=maskincallthr(i)+m
incall(30:2:-1)=incall(30-1:1:-1); incall(1)%msg=msgincall(nindex); incall(1)%xdt=xdtincall(nindex)
enddo
enddo
if(nsec.eq.0 .or. nsec.eq.30) even(nmsg+1:130)%lstate=.false.
if(nsec.eq.15 .or. nsec.eq.45) odd(nmsg+1:130)%lstate=.false.
!do i=1,nmsg
! if(nsec.eq.0 .or. nsec.eq.30) print *, even(i)%msg
! if(nsec.eq.15 .or. nsec.eq.45) print *, odd(i)%msg
!enddo
nFT8decd=sum(nFT8decdt(1:numthreads)); sumxdt=sum(sumxdtt(1:numthreads))
if(params%ndelay.eq.0) then
if(nFT8decd.gt.5) then; avexdt=(avexdt+sumxdt/nFT8decd)/2
else if(nFT8decd.eq.5) then; avexdt=(1.1*avexdt+0.9*sumxdt/nFT8decd)/2
else if(nFT8decd.eq.4) then; avexdt=(1.25*avexdt+0.75*sumxdt/nFT8decd)/2
else if(nFT8decd.eq.3) then; avexdt=(1.35*avexdt+0.65*sumxdt/nFT8decd)/2
else if(nFT8decd.eq.2) then; avexdt=(1.5*avexdt+0.5*sumxdt/nFT8decd)/2
endif
endif
call fillhash(numthreads,.true.)
ncandall=sum(ncandallthr(1:numthreads))
! call timer('decft8 ',1)
go to 800
endif
if(params%nmode.eq.4) then
if(params%nagcc) call agccft4()
nfa=params%nfa; nfb=params%nfb; nfqso=params%nfqso; lfilter=params%nfilter
if(lfilter) then
nfafilt=max(nfa,nfqso-95); nfbfilt=min(nfb,nfqso+95) ! 84 + 11Hz possible freq error
if(nfqso.lt.nfafilt .or. nfqso.gt.nfbfilt) then
write(*,128) nutc,'nfqso is out of bandwidth','d'; 128 format(i6.6,2x,a25,16x,a1); go to 800
endif
endif
llagcc=params%nagcc; nFT4decd=0; sumxdtt(1)=0.0
call fillhash(1,.false.)
! call timer('decft4 ',0)
call my_ft4%decode(ft4_decoded,params%nQSOProgress,nfqso,nfa,nfb,params%nft4depth, &
params%nstophint,params%nswl)
! call timer('decft4 ',1)
if(params%ndelay.eq.0) then
sumxdt=sumxdtt(1)
if(nFT4decd.gt.5) then; avexdt=(avexdt+sumxdt/nFT4decd)/2
else if(nFT4decd.eq.5) then; avexdt=(1.1*avexdt+0.9*sumxdt/nFT4decd)/2
else if(nFT4decd.eq.4) then; avexdt=(1.25*avexdt+0.75*sumxdt/nFT4decd)/2
else if(nFT4decd.eq.3) then; avexdt=(1.35*avexdt+0.65*sumxdt/nFT4decd)/2
else if(nFT4decd.eq.2) then; avexdt=(1.5*avexdt+0.5*sumxdt/nFT4decd)/2
endif
endif
call fillhash(1,.true.)
go to 800
endif
lowrms=.false.
call rms_augap(params%nutc,lowrms)
if(lowrms) go to 800
!n1000=0 ! attempt to make T10 noise blanker, some degradation in decoding
!do i=2,623998
!!if(abs(dd(i)-dd(i-1)).gt.1000) then; n1000=n1000+1; print *,i; endif
!if((dd(i+1)-dd(i)).gt.1000.0) dd(i+1)=dd(i)+(dd(i)+dd(i-1))/2.0
!if((dd(i)-dd(i+1)).gt.1000.0) dd(i+1)=dd(i)-(dd(i)+dd(i-1))/2.0
!enddo
! signal input level diagnostics
!rrr=0.
!ddd=0.
!do i=1,624000
!if (abs(dd(i)).gt.rrr) rrr=abs(dd(i))
!enddo
!ddd=20*log10(rrr)
!print *,''
!print *,'max possible sample level is 32767'
!print *,'max RX sample level',int(rrr)
!print *,''
!print *,'max possible dynamic range is 90dB'
!print *,'RX signal dynamic range',nint(ddd)
!print *,''
! end of signal input level diagnostics
newdat65=params%newdat
newdat9=params%newdat
if(params%nagain .and. .not.params%nagainfil) newdat9=.true.
nshift=26000
call process_dd(params%nagcc,params%nmode,params%ntxmode,params%nzhsym)
if(.not.params%nagainfil .and. params%ntxmode.eq.9 .and. params%nagain) nagainjt9=.true.
if(.not.params%nagainfil .and. params%nmode.eq.9 .and. params%nagain) nagainjt9s=.true.
if(.not.params%nagainfil .and. params%nagain) nagainjt10=.true.
if(params%nagainfil) nagainjt10=.false.
if(params%nmode.eq.10) then
call my_jt10%decode(jt10_decoded,nutc,params%nfqso,newdat9,params%npts8, &
params%nfa,params%nfb,params%ntol,params%nzhsym,nagainjt10,params%nagainfil,params%ntrials10, &
params%ntrialsrxf10,params%nfilter,params%nswl,params%nagcc,params%nhint,params%nstophint, &
params%nlasttx,mycall,hiscall,hisgrid)
go to 800
endif
if(params%nmode.eq.9) then
call my_jt9s%decode(jt9s_decoded,nutc,params%nfqso,newdat9,params%npts8, &
params%nfa,params%nfb,params%nzhsym,params%nfilter,params%nswl, &
nagainjt9s,params%nagainfil,params%ndepth,params%nhint,params%nstophint, &
params%nlasttx,mycall,hiscall,hisgrid)
go to 800
endif
call omp_set_dynamic(.true.)
!!! !$omp parallel sections num_threads(2) copyin(/timer_private/) shared(ndecoded) if(.true.) !iif() needed on Mac
!$omp parallel sections num_threads(2) shared(ndecoded) if(.true.) !iif() needed on Mac
!$omp section
if(params%nmode.eq.65 .or. (params%nmode.eq.(65+9) .and. params%ntxmode.eq.65)) then
! We're in JT65 mode, or should do JT65 first
nf1=params%nfa
nf2=params%nfb
! call timer('jt65a ',0)
call my_jt65%decode(jt65_decoded,nutc,nf1,nf2,params%nfqso, &
logical(params%nagainfil),ntrials,params%naggressive,params%nhint,mycall, &
hiscall,hisgrid,params%nprepass,params%nswl,params%nfilter,params%nstophint, &
params%nlasttx,params%nsdecatt,params%fmaskact,params%ntxmode,params%ntopfreq65, &
params%nharmonicsdepth,params%showharmonics)
! call timer('jt65a ',1)
else if(params%nmode.eq.(65+9) .and. params%ntxmode.eq.9) then
! We're in JT9 mode, or should do JT9 first
! call timer('decjt9 ',0)
call my_jt9%decode(jt9_decoded,nutc,params%nfqso,newdat9,params%npts8, &
params%nfa,params%nfsplit,params%nfb,params%ntol,params%nzhsym, &
nagainjt9,params%nagainfil,params%ndepth,params%nmode,params%nhint,params%nstophint, &
params%nlasttx,mycall,hiscall,hisgrid,params%ntxmode)
! call timer('decjt9 ',1)
endif
!$omp section
if(params%nmode.eq.(65+9)) then !Do the other mode (we're in dual mode)
if (params%ntxmode.eq.9) then
if(.not.nagainjt9) then
nf1=params%nfa
nf2=params%nfb
! call timer('jt65a ',0)
call my_jt65%decode(jt65_decoded,nutc,nf1,nf2,params%nfqso, &
logical(params%nagainfil),ntrials,params%naggressive,params%nhint,mycall, &
hiscall,hisgrid,params%nprepass,params%nswl,params%nfilter,params%nstophint, &
params%nlasttx,params%nsdecatt,params%fmaskact,params%ntxmode,params%ntopfreq65, &
params%nharmonicsdepth,params%showharmonics)
! call timer('jt65a ',1)
endif
else
if (params%ntxmode.eq.65 .and. params%nagain) go to 2
! call timer('decjt9 ',0)
call my_jt9%decode(jt9_decoded,nutc,params%nfqso,newdat9,params%npts8,&
params%nfa,params%nfsplit,params%nfb,params%ntol,params%nzhsym, &
nagainjt9,params%nagainfil,params%ndepth,params%nmode,params%nhint,params%nstophint, &
params%nlasttx,mycall,hiscall,hisgrid,params%ntxmode)
! call timer('decjt9 ',1)
2 continue
end if
endif
!$omp end parallel sections
!800 call date_and_time(date = dat, time = tim2, zone = zon)
!call date_and_time(values = ival)
!timer2 = dble(ival(8)) * 0.001_8 + &
!dble(ival(7)) + dble(ival(6)) * 60.0_8 + &
!dble(ival(5)) * 3600.0_8
!print *,'Decoding finished: ',tim2
!write (*,'(1x,a15,f6.3,a8)')'Decoding time: ',timer2-timer1, ' seconds'
800 continue
write(*,1010) avexdt,ncandall
1010 format('<DecodeFinished><avexdt>',f6.2,'<ncand>',i5)
call flush(6)
! close(13)
do i=1,1000
inquire(file=trim(temp_dir)//'/.lock',exist=fileExists)
if(fileExists) return ! ready to exit from decoder, Decode button hung up issue
call sleep_msec(1)
enddo
return
contains
subroutine jt65_decoded (this, utc, snr, dt, freq, decoded, servis)
use jt65_decode
implicit none
class(jt65_decoder), intent(inout) :: this
integer, intent(in) :: utc
integer, intent(in) :: snr
real, intent(in) :: dt
integer, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis
real dtshift
dtshift=(real(nshift))/12000.0
!$omp critical(decode_results)
write(*,1010) utc,snr,dt-dtshift,freq,decoded,servis
1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a26,a1)
! write(13,1012) utc,snr,dt-dtshift,float(freq),decoded,
!1012 format(i4.4,i5,f6.1,f8.0,3x,a26,' JT65')
call flush(6)
!$omp end critical(decode_results)
select type(this)
type is (counting_jt65_decoder)
this%decoded = this%decoded + 1
end select
end subroutine jt65_decoded
subroutine jt9_decoded (this, utc, snr, dt, freq, decoded, servis9)
use jt9_decode
implicit none
class(jt9_decoder), intent(inout) :: this
integer, intent(in) :: utc
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis9
!$omp critical(decode_results)
write(*,1000) utc,snr,dt,nint(freq),decoded,servis9
1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a26,a1)
! write(13,1002) utc,snr,dt,freq,decoded
!1002 format(i4.4,i5,f6.1,f8.0,3x,a26,' JT9')
call flush(6)
!$omp end critical(decode_results)
select type(this)
type is (counting_jt9_decoder)
this%decoded = this%decoded + 1
end select
end subroutine jt9_decoded
subroutine jt9s_decoded (this, utc, snr, dt, freq, decoded, servis9)
use jt9s_decode
implicit none
class(jt9s_decoder), intent(inout) :: this
integer, intent(in) :: utc
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis9
write(*,1000) utc,snr,dt,nint(freq),decoded,servis9
1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a26,a1)
! write(13,1002) utc,snr,dt,freq,decoded
!1002 format(i4.4,i5,f6.1,f8.0,3x,a26,' JT9')
call flush(6)
select type(this)
type is (counting_jt9s_decoder)
this%decoded = this%decoded + 1
end select
end subroutine jt9s_decoded
subroutine jt10_decoded (this, utc, snr, dt, freq, decoded, servis9)
use jt10_decode
implicit none
class(jt10_decoder), intent(inout) :: this
integer, intent(in) :: utc
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis9
write(*,1000) utc,snr,dt,nint(freq),decoded,servis9
1000 format(i4.4,i4,f5.1,i5,1x,'+',1x,a26,a1)
! write(13,1002) utc,snr,dt,freq,decoded
!1002 format(i4.4,i5,f6.1,f8.0,3x,a26,' T10')
call flush(6)
select type(this)
type is (counting_jt10_decoder)
this%decoded = this%decoded + 1
end select
end subroutine jt10_decoded
subroutine ft8_decoded (this,snr,dt,freq,decoded,servis8)
use ft8_decode
implicit none
class(ft8_decoder), intent(inout) :: this
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis8
write(*,1000) nutc,snr,dt,nint(freq),decoded,servis8
1000 format(i6.6,i4,f5.1,i5,1x,'~',1x,a26,a1)
! write(13,1002) nutc,snr,dt,freq,0,decoded
!1002 format(i6.6,i5,f6.1,f8.0,i4,3x,a26,' FT8')
call flush(6)
! call flush(13)
select type(this)
type is (counting_ft8_decoder)
this%decoded = this%decoded + 1
end select
return
end subroutine ft8_decoded
subroutine ft4_decoded (this,snr,dt,freq,decoded,servis4)
use ft4_decode
implicit none
class(ft4_decoder), intent(inout) :: this
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
character(len=26), intent(in) :: decoded
character(len=1), intent(in) :: servis4
write(*,1001) nutc,snr,dt,nint(freq),decoded,servis4
1001 format(i6.6,i4,f5.1,i5,1x,':',1x,a26,a1)
call flush(6)
select type(this)
type is (counting_ft4_decoder)
this%decoded = this%decoded + 1
end select
return
end subroutine ft4_decoded
end subroutine multimode_decoder