C+ C NAME: C sidereal.f C PURPOSE: C Calculate sidereal time from the time of the vernal equniox. C CATEGORY: C Abnalu=ysis C CALLING SEQUENCE: C call sidereal(JDX,iyrveq,doyveq8,alonx,st) C C INPUTS: C JDX real*8 Julian date of the observation C iyrveq integer Year of the vernal equinox of the observation C doyveq8 real*8 day of year of the observation at the vernal eguinox in UT time C alonx real longitude of the observation (ASHI) C C OUTPUTS: C st real sidereal time at ASHI in degrees since the beginning of the day C C FUNCTIONS/SUBROUTINES: C julian8 C C MODIFICATION HISTORY: C April-2022, Bernard Jackson (UCSD) C- subroutine sidereal(JDX,doyveq8,alonx,st) integer iyrveq ! Year of the vernal equinox of the observation real alonx ! longitude of the observation (ASHI) REAL*8 JDX ! Input time of the ASHI observation in Day of Year in UTC real*8 doyveq8, ! day of year of the observation at the vernal equinox in UTC & caveqdoy, ! calendar days since the vernal equinox & daytidif, ! difference in sidereal days from calendar days & sidays ! sidereal days since the vernal equinox print*, ' Into sidereal',JDX,doyveq8,alongx daytidif = 1.0d0 - 0.00273032407d0 caveqdoy = (JDX-doyveq8)+(alonx/360.0d0) ! calendar days since the vernal equinox plus offset for longitude print*, ' caveqdoy =',caveqdoy sidays = caveqdoy/daytidif isidays = sidays st = (sidays-isidays)*360.0 ! time since the beginning of the sidereal day in degrees C write(*,'(3F14.8,I5,F14.8)') daytidif, caveqdoy, sidays, isidays, st return end