SuperNOVAS v1.2
The NOVAS C library, made better
|
Typedefs | |
typedef int(* | novas_nutation_provider) (double jd_tt_high, double jd_tt_low, double *dpsi, double *deps) |
Functions | |
int | iau2000a (double jd_tt_high, double jd_tt_low, double *dpsi, double *deps) |
int | iau2000b (double jd_tt_high, double jd_tt_low, double *dpsi, double *deps) |
int | nu2000k (double jd_tt_high, double jd_tt_low, double *dpsi, double *deps) |
SuperNOVAS prototypes for the IAU2000 nutation series calculations, with varying trade-offs between computational cost and precision. It provides support for both the IAU 2000A and IAU 2000B series as well as a NOVAS-specific truncated low-precision version we call NU2000K.
Based on the NOVAS C Edition, Version 3.1:
U. S. Naval Observatory
Astronomical Applications Dept.
Washington, DC
http://www.usno.navy.mil/USNO/astronomical-applications
typedef int(* novas_nutation_provider) (double jd_tt_high, double jd_tt_low, double *dpsi, double *deps) |
Function type definition for the IAU 2000 nutation series calculation.
jd_tt_high | [day] High-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the integer part of a split date for the highest precision, or the full date for normal (reduced) precision. | |
jd_tt_low | [day] Low-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the fractional part of a split date for the highest precision, or 0.0 for normal (reduced) precision. | |
[out] | dpsi | [rad] δψ Nutation (luni-solar + planetary) in longitude, in radians. |
[out] | deps | [rad] δε Nutation (luni-solar + planetary) in obliquity, in radians. |
int iau2000a | ( | double | jd_tt_high, |
double | jd_tt_low, | ||
double * | dpsi, | ||
double * | deps | ||
) |
Computes the IAU 2000A nutation high-precision series for the specified date. It is rather expensive computationally.
The IAU 2000A nutation model is MHB_2000 without the free core nutation and without the corrections to Lieske precession.
REFERENCES:
jd_tt_high | [day] High-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the integer part of a split date for the highest precision, or the full date for normal (reduced) precision. | |
jd_tt_low | [day] Low-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the fractional part of a split date for the highest precision, or 0.0 for normal (reduced) precision. | |
[out] | dpsi | [rad] δψ Nutation (luni-solar + planetary) in longitude, in radians. It may be NULL if not required. |
[out] | deps | [rad] δε Nutation (luni-solar + planetary) in obliquity, in radians. It may be NULL if not required. |
References accum_prec(), ASEC2RAD, novas_delaunay_args::D, novas_delaunay_args::F, fund_args(), novas_delaunay_args::l, novas_delaunay_args::l1, NOVAS_EARTH, NOVAS_JUPITER, NOVAS_MARS, NOVAS_MERCURY, NOVAS_NEPTUNE, NOVAS_SATURN, NOVAS_URANUS, NOVAS_VENUS, novas_delaunay_args::Omega, planet_lon(), and T0.
int iau2000b | ( | double | jd_tt_high, |
double | jd_tt_low, | ||
double * | dpsi, | ||
double * | deps | ||
) |
Compute the forced nutation of the non-rigid Earth based on the IAU 2000B precession / nutation model.
IAU 2000B reproduces the IAU 2000A model to a precision of 1 milliarcsecond in the interval 1995-2020.
REFERENCES:
jd_tt_high | [day] High-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the integer part of a split date for the highest precision, or the full date for normal (reduced) precision. | |
jd_tt_low | [day] Low-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the fractional part of a split date for the highest precision, or 0.0 for normal (reduced) precision. | |
[out] | dpsi | [rad] δψ Nutation (luni-solar + planetary) in longitude, in radians. It may be NULL if not required. |
[out] | deps | [rad] δε Nutation (luni-solar + planetary) in obliquity, in radians. It may be NULL if not required. |
References ASEC2RAD, novas_delaunay_args::D, novas_delaunay_args::F, fund_args(), novas_delaunay_args::l, novas_delaunay_args::l1, novas_delaunay_args::Omega, and T0.
int nu2000k | ( | double | jd_tt_high, |
double | jd_tt_low, | ||
double * | dpsi, | ||
double * | deps | ||
) |
Computes the forced nutation of the non-rigid Earth: Model NU2000K. This model is a modified version of IAU 2000A, which has been truncated for speed of execution, and uses Simon et al. (1994) fundamental arguments throughout. NU2000K agrees with IAU 2000A at the 0.1 milliarcsecond level from 1700 to 2300. It has the most modest computational cost among the implementations provided in the NOVAS library.
NU2000K was compared to IAU 2000A over six centuries (1700-2300). The average error in dψ is 20 microarcseconds, with 98% of the errors < 60 microarcseconds; the average error in dεis 8 microarcseconds, with 100% of the errors < 60 microarcseconds.
NU2000K was developed by G. Kaplan (USNO) in March 2004
REFERENCES:
jd_tt_high | [day] High-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the integer part of a split date for the highest precision, or the full date for normal (reduced) precision. | |
jd_tt_low | [day] Low-order part of the Terrestrial Time (TT) based Julian date. Typically it may be the fractional part of a split date for the highest precision, or 0.0 for normal (reduced) precision. | |
[out] | dpsi | [rad] δψ Nutation (luni-solar + planetary) in longitude, in radians. It may be NULL if not required. |
[out] | deps | [rad] δε Nutation (luni-solar + planetary) in obliquity, in radians. It may be NULL if not required. |
References accum_prec(), ASEC2RAD, novas_delaunay_args::D, novas_delaunay_args::F, fund_args(), novas_delaunay_args::l, novas_delaunay_args::l1, NOVAS_EARTH, NOVAS_JUPITER, NOVAS_MARS, NOVAS_SATURN, NOVAS_VENUS, novas_delaunay_args::Omega, planet_lon(), and T0.