mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-13 23:51:49 -05:00
82 lines
2.2 KiB
Fortran
82 lines
2.2 KiB
Fortran
subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid, &
|
|
AzSun8,ElSun8,AzMoon8,ElMoon8,AzMoonB8,ElMoonB8,ntsky,ndop,ndop00, &
|
|
dbMoon8,RAMoon8,DecMoon8,HA8,Dgrd8,sd8,poloffset8,xnr8,dfdt,dfdt0, &
|
|
width1,width2,xlst8,techo8)
|
|
|
|
parameter (DEGS=57.2957795130823d0)
|
|
character*6 mygrid,hisgrid
|
|
real*8 AzSun8,ElSun8,AzMoon8,ElMoon8,AzMoonB8,ElMoonB8
|
|
real*8 dbMoon8,RAMoon8,DecMoon8,HA8,Dgrd8,xnr8,dfdt,dfdt0,dt
|
|
real*8 sd8,poloffset8,width1,width2,xlst8
|
|
real*8 uth8,techo8,freq8
|
|
real*8 xl,b
|
|
common/librcom/xl(2),b(2)
|
|
common/echocom2/echo_spread
|
|
data uth8z/0.d0/
|
|
save
|
|
|
|
uth=uth8
|
|
call astro(nyear,month,nday,uth,freq8,hisgrid,2,1, &
|
|
AzSun,ElSun,AzMoon,ElMoon,ntsky,doppler00,doppler, &
|
|
dbMoon,RAMoon,DecMoon,HA,Dgrd,sd,poloffset,xnr, &
|
|
day,xlon2,xlat2,xlst,techo)
|
|
AzMoonB8=AzMoon
|
|
ElMoonB8=ElMoon
|
|
xl2=xl(1)
|
|
xl2a=xl(2)
|
|
b2=b(1)
|
|
b2a=b(2)
|
|
call astro(nyear,month,nday,uth,freq8,mygrid,1,1, &
|
|
AzSun,ElSun,AzMoon,ElMoon,ntsky,doppler00,doppler, &
|
|
dbMoon,RAMoon,DecMoon,HA,Dgrd,sd,poloffset,xnr, &
|
|
day,xlon1,xlat1,xlst,techo)
|
|
xl1=xl(1)
|
|
xl1a=xl(2)
|
|
b1=b(1)
|
|
b1a=b(2)
|
|
techo8=techo
|
|
|
|
fghz=1.d-9*freq8
|
|
dldt1=DEGS*(xl1a-xl1)
|
|
dbdt1=DEGS*(b1a-b1)
|
|
dldt2=DEGS*(xl2a-xl2)
|
|
dbdt2=DEGS*(b2a-b2)
|
|
rate1=2.0*sqrt(dldt1**2 + dbdt1**2)
|
|
width1=0.5*6741*fghz*rate1
|
|
echo_spread=width1 !Save echo_spread for avecho()
|
|
rate2=sqrt((dldt1+dldt2)**2 + (dbdt1+dbdt2)**2)
|
|
width2=0.5*6741*fghz*rate2
|
|
|
|
AzSun8=AzSun
|
|
ElSun8=ElSun
|
|
AzMoon8=AzMoon
|
|
ElMoon8=ElMoon
|
|
dbMoon8=dbMoon
|
|
RAMoon8=RAMoon/15.0
|
|
DecMoon8=DecMoon
|
|
HA8=HA
|
|
xlst8=xlst
|
|
Dgrd8=Dgrd
|
|
sd8=sd
|
|
poloffset8=poloffset
|
|
xnr8=xnr
|
|
ndop=nint(doppler)
|
|
ndop00=nint(doppler00)
|
|
|
|
if(uth8z.eq.0.d0) then
|
|
uth8z=uth8-1.d0/3600.d0
|
|
dopplerz=doppler
|
|
doppler00z=doppler00
|
|
endif
|
|
|
|
dt=60.0*(uth8-uth8z)
|
|
if(dt.le.0) dt=1.d0/60.d0
|
|
dfdt=(doppler-dopplerz)/dt
|
|
dfdt0=(doppler00-doppler00z)/dt
|
|
uth8z=uth8
|
|
dopplerz=doppler
|
|
doppler00z=doppler00
|
|
|
|
return
|
|
end subroutine astro0
|