From e94f7c0c0593b213a0eda8ff9bade59065cddfb5 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Tue, 29 Dec 2015 23:54:40 +0000 Subject: [PATCH] Add missing new file git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6325 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/jt65_test.f90 | 68 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 lib/jt65_test.f90 diff --git a/lib/jt65_test.f90 b/lib/jt65_test.f90 new file mode 100644 index 000000000..1975f9208 --- /dev/null +++ b/lib/jt65_test.f90 @@ -0,0 +1,68 @@ +module jt65_test + + ! Test the JT65 decoder for WSJT-X + + implicit none + + public :: test + integer, parameter, public :: NZMAX=60*12000 + +contains + + subroutine test (dd,nutc,nflow,nfhigh,nfqso,ntol,nsubmode,n2pass,nrobust & + ,ntrials,naggressive,mycall,hiscall,hisgrid,nexp_decode) + use timer_module, only: timer + use jt65_decode + implicit none + + include 'constants.f90' + real, intent(in) :: dd(NZMAX) + integer, intent(in) :: nutc, nflow, nfhigh, nfqso, ntol, nsubmode, n2pass & + , ntrials, naggressive, nexp_decode + logical, intent(in) :: nrobust + character(len=12), intent(in) :: mycall, hiscall + character(len=6), intent(in) :: hisgrid + type(jt65_decoder) :: my_decoder + + call timer('jt65a ',0) + call my_decoder%decode(my_callback,dd,npts=52*12000,newdat=.true.,nutc=nutc,nf1=nflow,nf2=nfhigh & + ,nfqso=nfqso,ntol=ntol,nsubmode=nsubmode, minsync=0,nagain=.false. & + ,n2pass=n2pass,nrobust=nrobust,ntrials=ntrials,naggressive=naggressive & + ,ndepth=0,mycall=mycall,hiscall=hiscall,hisgrid=hisgrid & + ,nexp_decode=nexp_decode) + call timer('jt65a ',1) + end subroutine test + + subroutine my_callback (this, utc, sync, snr, dt, freq, drift, decoded & + , ft, qual, candidates, tries, total_min, hard_min, aggression) + use jt65_decode + implicit none + + class(jt65_decoder), intent(inout) :: this + integer, intent(in) :: utc + real, intent(in) :: sync + integer, intent(in) :: snr + real, intent(in) :: dt + integer, intent(in) :: freq + integer, intent(in) :: drift + character(len=22), intent(in) :: decoded + integer, intent(in) :: ft + integer, intent(in) :: qual + integer, intent(in) :: candidates + integer, intent(in) :: tries + integer, intent(in) :: total_min + integer, intent(in) :: hard_min + integer, intent(in) :: aggression + + write(*,1010) utc,snr,dt,freq,decoded +1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a22) + write(13,1012) utc,nint(sync),snr,dt,float(freq),drift,decoded,ft +1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4) + call flush(6) + ! write(79,3001) utc,nint(sync),snr,dt,freq,candidates, & + write(79,3001) utc,sync,snr,dt,freq,candidates, & + hard_min,total_min,tries,aggression,ft,qual,decoded +3001 format(i4.4,f6.2,i4,f6.2,i5,i7,i3,i4,i8,i3,i2,i5,1x,a22) + end subroutine my_callback + +end module jt65_test