1subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid,              &
2     AzSun8,ElSun8,AzMoon8,ElMoon8,AzMoonB8,ElMoonB8,ntsky,ndop,ndop00,    &
3     dbMoon8,RAMoon8,DecMoon8,HA8,Dgrd8,sd8,poloffset8,xnr8,dfdt,dfdt0,    &
4     width1,width2,xlst8,techo8)
5
6  parameter (DEGS=57.2957795130823d0)
7  character*6 mygrid,hisgrid
8  real*8 AzSun8,ElSun8,AzMoon8,ElMoon8,AzMoonB8,ElMoonB8
9  real*8 dbMoon8,RAMoon8,DecMoon8,HA8,Dgrd8,xnr8,dfdt,dfdt0,dt
10  real*8 sd8,poloffset8,width1,width2,xlst8
11  real*8 uth8,techo8,freq8
12  real*8 xl,b
13  common/librcom/xl(2),b(2)
14  data uth8z/0.d0/
15  save
16
17  uth=uth8
18  call astro(nyear,month,nday,uth,freq8,hisgrid,2,1,                 &
19       AzSun,ElSun,AzMoon,ElMoon,ntsky,doppler00,doppler,            &
20       dbMoon,RAMoon,DecMoon,HA,Dgrd,sd,poloffset,xnr,               &
21       day,xlon2,xlat2,xlst,techo)
22  AzMoonB8=AzMoon
23  ElMoonB8=ElMoon
24  xl2=xl(1)
25  xl2a=xl(2)
26  b2=b(1)
27  b2a=b(2)
28  call astro(nyear,month,nday,uth,freq8,mygrid,1,1,                  &
29       AzSun,ElSun,AzMoon,ElMoon,ntsky,doppler00,doppler,            &
30       dbMoon,RAMoon,DecMoon,HA,Dgrd,sd,poloffset,xnr,               &
31       day,xlon1,xlat1,xlst,techo)
32  xl1=xl(1)
33  xl1a=xl(2)
34  b1=b(1)
35  b1a=b(2)
36  techo8=techo
37
38  fghz=1.d-9*freq8
39  dldt1=DEGS*(xl1a-xl1)
40  dbdt1=DEGS*(b1a-b1)
41  dldt2=DEGS*(xl2a-xl2)
42  dbdt2=DEGS*(b2a-b2)
43  rate1=2.0*sqrt(dldt1**2 + dbdt1**2)
44  width1=0.5*6741*fghz*rate1
45  rate2=sqrt((dldt1+dldt2)**2 + (dbdt1+dbdt2)**2)
46  width2=0.5*6741*fghz*rate2
47
48  AzSun8=AzSun
49  ElSun8=ElSun
50  AzMoon8=AzMoon
51  ElMoon8=ElMoon
52  dbMoon8=dbMoon
53  RAMoon8=RAMoon/15.0
54  DecMoon8=DecMoon
55  HA8=HA
56  xlst8=xlst
57  Dgrd8=Dgrd
58  sd8=sd
59  poloffset8=poloffset
60  xnr8=xnr
61  ndop=nint(doppler)
62  ndop00=nint(doppler00)
63
64  if(uth8z.eq.0.d0) then
65     uth8z=uth8-1.d0/3600.d0
66     dopplerz=doppler
67     doppler00z=doppler00
68  endif
69
70  dt=60.0*(uth8-uth8z)
71  if(dt.le.0) dt=1.d0/60.d0
72  dfdt=(doppler-dopplerz)/dt
73  dfdt0=(doppler00-doppler00z)/dt
74  uth8z=uth8
75  dopplerz=doppler
76  doppler00z=doppler00
77
78  return
79end subroutine astro0
80