UT1.frink

Download or view UT1.frink in plain text format


/** This contains calculations for UT1 and UT2.  These are time corrections
    for DeltaT:
       
    DeltaT = 32.184 s + (TAI-UTC) - (UT1-UTC)
    TT = TAI + 32.184 s

    Where TAI-UTC can be obtained from the function TAIMinusUTC[date]

    The primary source of UT1-UTC corrections is IERS Bulletin A, found at:
    https://www.iers.org/IERS/EN/DataProducts/EarthOrientationData/eop.html

    as well as:
    https://maia.usno.navy.mil/products/deltaT

    TODO:  Parse either IERS Bulletin A or the maia.usno.navy.mil predictions
    although they are in a hodgepodge non-computer-parseable format.  Otherwise
    the equations here will have to be periodically updated from the ones
    published in IERS Bulletin A.
*/


// This is just to get the definition of BesselianDate.  Should probably be
// made into a native Frink function.
use sun.frink

/** Return (UT2-UT1).  This equation is found at the top of IERS Bulletin A. */
UT2MinusUT1[date] :=
{
   T = BesselianDate[date]
   return (0.022 sin[2 pi T] -
           0.012 cos[2 pi T] -                   
           0.006 sin[4 pi T] +
           0.007 cos[4 pi T]) s
}

/** This uses the extrapolating equation from IERS Bulletin A which states
    "The following formulas will not reproduce the predictions given below,   
      but may be used to extend the predictions beyond the end of this table."
    LOL.

    For more accuracy in the short term, this value should be interpolated from
    the values published in IERS Bulletin A.
*/

UT1MinusUTC[date] :=
{
   return (-0.0385 + 0.00029 (MJD[date]/days - 59950)) s - UT2MinusUT1[date]
}


Download or view UT1.frink in plain text format


This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 19966 days, 2 hours, 30 minutes ago.