def eqeqx(tdb): """The equation of the equinoxes (IAU 1994). Inputs: - tdb (MJD): TDB (loosely ET) as a Modified Julian Date Returns eqeqx, where: Greenwich apparent sidereal time = Greenwich mean sidereal time + eqeqx Based on Pat Wallace's EQEQX, which in turn is based on: IAU Resolution C7, Recommendation 3 (1994) Capitaine, N. & Gontier, A.-M., Astron. Astrophys., 275, 645-650 (1993) History: Patrick Wallace Starlink 21 November 1994 2002-07-11 ROwen Converted to Python """ # TDB - J2000 in centuries t=(tdb-51544.5)/36525.0 # Longitude of the mean ascending node of the lunar orbit on the # ecliptic, measured from the mean equinox of date om=RO.PhysConst.RadPerArcSec*(450160.280+(-5.0*_ArcSecPerRev-482890.539 \ +(7.455+0.008*t)*t)*t) # Nutation dpsi, deps, eps0 = nutc(tdb) # Equation of the equinoxes return dpsi*math.cos(eps0)+RO.PhysConst.RadPerArcSec*(0.00264*math.sin(om)+ \ 0.000063*math.sin(om+om))
def eqeqx(tdb): """The equation of the equinoxes (IAU 1994). Inputs: - tdb (MJD): TDB (loosely ET) as a Modified Julian Date Returns eqeqx, where: Greenwich apparent sidereal time = Greenwich mean sidereal time + eqeqx Based on Pat Wallace's EQEQX, which in turn is based on: IAU Resolution C7, Recommendation 3 (1994) Capitaine, N. & Gontier, A.-M., Astron. Astrophys., 275, 645-650 (1993) History: Patrick Wallace Starlink 21 November 1994 2002-07-11 ROwen Converted to Python """ # TDB - J2000 in centuries t = (tdb - 51544.5) / 36525.0 # Longitude of the mean ascending node of the lunar orbit on the # ecliptic, measured from the mean equinox of date om=RO.PhysConst.RadPerArcSec*(450160.280+(-5.0*_ArcSecPerRev-482890.539 \ +(7.455+0.008*t)*t)*t) # Nutation dpsi, deps, eps0 = nutc(tdb) # Equation of the equinoxes return dpsi*math.cos(eps0)+RO.PhysConst.RadPerArcSec*(0.00264*math.sin(om)+ \ 0.000063*math.sin(om+om))
def nut(tdb): """ Form the matrix of nutation for a given TDB - IAU 1980 theory (double precision) References: Final report of the IAU Working Group on Nutation, chairman P.K.Seidelmann, 1980. Kaplan,G.H., 1981, USNO circular no. 163, pA3-6. Inputs: - TDB TDB date (loosely et) as Modified Julian Date Returns the nutation matrix as a 3x3 numpy.array The matrix is in the sense V(true) = rmatn * V(mean) """ # Nutation components and mean obliquity dpsi, deps, eps0 = nutc(tdb) # Rotation matrix return euler(( (0, eps0), (2, -dpsi), (0, -(eps0+deps)) ))