![]() |
SuperNOVAS v1.5
The NOVAS C library, made better
|
Typedefs | |
typedef int(* | novas_nutation_provider) (double jd_tt_high, double jd_tt_low, double *restrict dpsi, double *restrict deps) |
Functions | |
int | iau2000a (double jd_tt_high, double jd_tt_low, double *restrict dpsi, double *restrict deps) |
int | iau2000b (double jd_tt_high, double jd_tt_low, double *restrict dpsi, double *restrict deps) |
int | nu2000k (double jd_tt_high, double jd_tt_low, double *restrict dpsi, double *restrict 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 *restrict dpsi, double *restrict 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 *restrict | dpsi, | ||
double *restrict | deps | ||
) |
Computes the IAU 2000A high-precision nutation series for the specified date, to 0.1 μas accuracy. It is rather expensive computationally.
NOTES:
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. |
int iau2000b | ( | double | jd_tt_high, |
double | jd_tt_low, | ||
double *restrict | dpsi, | ||
double *restrict | deps | ||
) |
Computes the forced nutation of the non-rigid Earth based at reduced precision. It reproduces the IAU 2000A (R06) model to a precision of 1 milliarcsecond in the interval 1995-2020, while being about 15x faster than iau2000a()
.
NOTES
Originally this was the IAU2000B series of McCarthy & Luzum (2003), consistent with the original IAU2000 precession model
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. |
int nu2000k | ( | double | jd_tt_high, |
double | jd_tt_low, | ||
double *restrict | dpsi, | ||
double *restrict | deps | ||
) |
Computes the forced nutation of the non-rigid Earth: Model NU2000K. This model is a modified version of the original IAU 2000A, which has been truncated for speed of execution. NU2000K agrees with IAU 2000A at the 0.1 milliarcsecond level from 1700 to 2300, while being is about 5x faster than the more precise iau2000a()
.
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
NOTES:
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(), 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, and planet_lon().