C C NAME: C mjd2ut c C PURPOSE: C Convert modified julian date into Yr,Doy,Mon,Day,Hr,Min,Sec C Category: C Time keeping C C CALLING SEQUENCE: C CALL mjd2ut(mjd,iyr,idoy,imon,iday,ihr,imin,rsec) c C INPUTS: C MJD REAL*8 Modified Julian Date C C OUTPUTS: C iYr INTEGER Year for MJD C iDoy INTEGER Day of Year for MJD C iMon INTEGER Month of Year for MJD C iDay INTEGER Day of Month for MJD C iHr INTEGER Hour of Day for MJD C iMin INTEGER Minute of Day for MJD C rSec REAL*8 Second of Minute for MJD C C PROCEDURE C Uses the julian, hms_sod, and date_doy calls to determine these parameters C SUBROUTINE mjd2ut(mjd,iyr,idoy,imon,iday,ihr,imin,rsec) REAL*8 mjd INTEGER iyr INTEGER idoy INTEGER iMon INTEGER ihr INTEGER imin REAL*8 rsec CHARACTER*3 camon /'XXX'/ INTEGER id REAL*8 rdoy,rsod,rsid REAL*8 jd,jepoch id=11 call julian(id,iyr,rdoy,mjd,jepoch) id = 1 iDoy = rDoy CALL date_doy(id,iyr,camon,imon,iday,idoy) rsid = 86400.0 rsod = (mjd-int(mjd))*rsid id = 1 CALL hms_sod(id,ihr,imin,rsec,rsod) RETURN END C C NAME: C ut2mjd c C PURPOSE: C Convert Yr,Doy,Mon,Day,Hr,Min,Sec into modified julian date C Category: C Time keeping C C CALLING SEQUENCE: C CALL ut2mjd(mjd,iyr,idoy,imon,iday,ihr,imin,rsec) C C INPUTS: C iYr INTEGER Year for MJD C iDoy INTEGER Day of Year for MJD C iMon INTEGER Month of Year for MJD C iDay INTEGER Day of Month for MJD C iHr INTEGER Hour of Day for MJD C iMin INTEGER Minute of Day for MJD C rSec REAL*8 Second of Minute for MJD c C OUTPUTS: C MJD REAL*8 Modified Julian Date C C PROCEDURE C Uses the julian, hms_sod, and date_doy calls to determine these parameters C SUBROUTINE ut2mjd(mjd,iyr,idoy,imon,iday,ihr,imin,rsec) REAL*8 mjd INTEGER iyr INTEGER idoy INTEGER iMon INTEGER ihr INTEGER imin REAL*8 rsec CHARACTER*3 cmon /'XXX'/ INTEGER id REAL*8 rdoy,rsod,rsid REAL*8 jd,jepoch id=0 CALL date_doy(id,iyr,cmon,imon,iday,idoy) CALL hms_sod(id,ihr,imin,rsec,rsod) rsid = 86400.0 rdoy = idoy*1.0+rsod/rsid id=10 CALL julian(id,iyr,rdoy,mjd,jepoch) RETURN END