![]() |
SuperNOVAS v1.5
The NOVAS C library, made better
|
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) |
int | nutation_angles (double t, enum novas_accuracy accuracy, double *restrict dpsi, double *restrict deps) |
SuperNOVAS implementations for the IAU2000 nutation series calculations, with varying trade-offs between computational cost and precision. It provides support for both the IAU 2000A, a truncated version with ~1 mas precision in the cureent epoch, and a NOVAS-specific reduced precision series with intermediate accuracy.
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
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().
int nutation_angles | ( | double | t, |
enum novas_accuracy | accuracy, | ||
double *restrict | dpsi, | ||
double *restrict | deps | ||
) |
Returns the IAU2000 / 2006 values for nutation in longitude and nutation in obliquity for a given TDB Julian date and the desired level of accuracy. For NOVAS_FULL_ACCURACY (0), the IAU 2000A R06 nutation model is used. Otherwise, the model set by set_nutation_lp_provider() is used, or else the iau2000b() by default.
REFERENCES:
t | [cy] TDB time in Julian centuries since J2000.0 | |
accuracy | NOVAS_FULL_ACCURACY (0) or NOVAS_REDUCED_ACCURACY (1) | |
[out] | dpsi | [arcsec] Nutation in longitude in arcseconds. |
[out] | deps | [arcsec] Nutation in obliquity in arcseconds. |
References get_nutation_lp_provider(), iau2000a(), and NOVAS_FULL_ACCURACY.