----------------------------------------------------------------------------
Audio Threads (including interrupt service routines)                      AI
Name             Called by
----------------------------------------------------------------------------
a2d.f90          *start of thread*                                         A
abc441.F90       wsjtgen                                                   I
chkmsg.f         gen24, gen65                                            ...
encode232.f      genwspr
entail.f         gen24
fivehz.F90       *interrupt service routine*
gen24.f          wsjtgen
gen64.f90        wsjtgen
gen65.f          wsjtgen
gen6m.f          wsjtgen
gencw.f          wsjtgen
gencwid.f        wsjtgen
gentone.f        gen6m
genwspr.f90      wsjtgen
graycode.f       encode65, extract, gen65                                 DI
grid2deg.f       astro, azdist, grid2k, packgrid                          GI
interleave24.f   decode24, gen24                                          DI
interleave63.f   encode65, extract, gen65                                 DI
inter_mept.f     decode162, genwspr                                       DI
k2grid.f         packmsg
morse.f          gencw, gencwid
msgtype.f        gencw
nchar.f          packcall                                                 GI
pack50.f         wqencode
packcall.f       packmsg, packpfx, wqencode
packgrid.f       packmsg, wqencode
packmsg.f        chkt0/GUI, deep65, encode65, gen24, gen65               DGI
packname.f90     wqencode
packpfx.f90      wqencode
packprop.f90     wqencode
packtext2.f90    wqencode
packtext.f       packmsg
rfile.f90        getfile, wsjtgen                                         GI
wqencode.f90     gen64, genwspr
wsjtgen.F90      fivehz


----------------------------------------------------------------------------
GUI Thread                                                                 G
Name             Called by
----------------------------------------------------------------------------
astro0.F90       *GUI*                                                     G
astro.F          astro0                                                  ...
audio_init.F90   *GUI*
azdist0.f90      *GUI*
azdist.f         azdist0
chkt0.f90        *GUI*
coord.f          astro
dcoord.f         moon2, MoonDop
dot.f            MoonDop
flat2.f          spec
ftn_init.F90     *GUI*
ftn_quit.f90     *GUI*
ftsky.f          astro.F
geocentric.f     MoonDop
GeoDist.f        azdist
getfile.F90      *GUI*
horizspec.f90    spec
hscroll.f90      horizspec, spec
moon2.f          MoonDop
MoonDop.f        astro
pfxdump.f        ftn_init/GUI
rfile2.f         astro, getfile, wsjtgen                                  GI
spec.f90         *GUI*
sun.f            astro
toxyz.f          MoonDop
xfft2.f          horizspec, spec


----------------------------------------------------------------------------
Decoder Thread                                                             D
Name             Called by
----------------------------------------------------------------------------
avemsg65.f       wsjt65 (also wsjt24, temporary)                           D
avemsg6m.f       decode6m                                                ...
avesp2.f         wsjt1
blanker.f90      decode3
bzap.f           wsjt1
ccf2.f           fchisq
chkhist.f        extract
db.f             avemsg6m, decode6m, flatten, mtdecode, short65, 
                 sync162, sync24, sync64, sync65, pix2d65
decode162.f      mept162a
decode1.F90      *start of thread*
decode24.f       wsjt24
decode2.f90      decode1
decode3.F90      decode2
decode65.f       wsjt65
decode6m.f       wsjt1
deep65.F         avemsg65, decode65
deg2grid.f       k2grid, unpackgrid                                       DI
demod64a.f       extract
detect.f         longx
encode65.f       deep65
extract.f        avemsg65, decode65
fano232.f        decode162
fchisq.f         sync162
fil651.f         ftpeak65
fil652.f         ftpeak65
fil653.f         ftpeak65
filbig2.F        ftn_quit, wsjtwspr                                       DG
flat1.f          short65, sync24, sync65
flatten.f        avesp2
four2a.f         bzap, decode6m, ftn_quit, lpf1, ps162, spec2d65, xfft    DG
fourt.f          mept162, ps24
ftpeak65.f       spec2d65
genmet.f         decode24
get_fname.F90    decode2, savedata
getpfx1.f        packmsg                                                  DI
getpfx2.f        unpackmsg                                                DI
getsnr.f         short65
grid2k.f         unpackmsg                                                DI
hash.f90         wqdecode, wqencode                                       DI
indexx.f         extract, mtdecode, spec2d, wsjt1
limit.f          sync64, sync65
longx.f          mtdecode
lpf1.f           wsjt1
mept162a.f       wsjtwspr
mtdecode.f       wsjt1
pctile.f         extract, flat1, flat2, flatten, mtdecode, spec2d,
                 sync162, sync24, sync65, xcor
peakup.f         longx, stdecode, sync24, sync65
ping.f           mtdecode
pix2d65.f90      decode3
pix2d.f90        decode3
ps162.f          sync162
ps24.f           sync24
ps.f             avesp2, short65, sync64, sync65
runqqq.F90       extract
s2shape.f        wsjt1
savedata.F90     decode1
setup65.f        gen65, wsjt65                                            DI
short65.f        wsjt1
slope.f          sync24, sync66
smooth.f         mtdecode, short65, sync24, sync64, sync65, syncf1
sort.f           pctile
spec2d65.f       decode65
spec2d.f         wsjt1
spec441.f        mtdecode, wsjt1
ssort.f          indexx, sort
stdecode.f       wsjt1
symsync65.f      ftpeak65
sync162.f        mept162a
sync24.f         wsjt24
sync64.f         wsjt64
sync65.f         wsjt65
sync.f           longx
syncf0.f         wsjt1
syncf1.f         wsjt1
synct.f          wsjt1
twkfreq.f        mept162a
unpack50.f       wqdecode                                                 DI
unpackcall.f     unpackmsg, wqdecode                                      DI
unpackgrid.f     unpackmsg, wqdecode                                      DI
unpackmsg.f      chkt0/GUI, decode24, deep65, extract, gen24, gen64,     DGI
                 gen65
unpackname.f90   wqdecode                                                DGI
unpackpfx.f90    wqdecode                                                DGI
unpackprop.f90   unpackprop                                              DGI
unpacktext2.f90  wqdecode                                                DGI
unpacktext.f     unpackmsg, wqdecode                                     DGI
wqdecode.f90     decode162, genwspr                                      DGI
wsjt1.F          decode3
wsjt24.f         wsjt1
wsjt64.f         wsjt1
wsjt65.f         wsjt1
wsjtwspr.f90     wsjt1
xcor24.f         sync24
xcor.f           sync65
xfft.f           bzap, lpf1, ps, spec2d, spec441, syncf0, syncf1, sync


----------------------------------------------------------------------------
All Threads
Name             Called by
----------------------------------------------------------------------------
cs_lock          astro0, astro, avemsg6m, azdist0, chkt0, decode1, decode24,
                 decode6m, deep65, extract, ftn_init, genmet, getfile, 
                 get_fname, interleave24, inter_mept, mept162a, mtdecode,
                 rfile, savedata, spec, stdecode, wqdecode, wqencode, wsjt1, 
                 wsjt24, wsjt65, wsjtgen
cs_unlock        astro0, astro, avemsg6m, azdist0, chkt0, decode1, decode24,
                 decode6m, deep65, extract, ftn_init, genmet, getfile, 
                 get_fname, interleave24, inter_mept, mept162a, mtdecode,
                 rfile, savedata, spec, stdecode, wqdecode, wqencode, wsjt1, 
                 wsjt24, wsjt65, wsjtgen
