SuperNOVAS v1.2
The NOVAS C library, made better
Loading...
Searching...
No Matches
nutation.h File Reference

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)
 

Detailed Description

Author
G. Kaplan and A. Kovacs

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 Documentation

◆ novas_nutation_provider

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.

Parameters
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.
Returns
0 if successful, or else -1 (errno should be set to indicate the type of error).
See also
nutation_angles()
iau2000a()
iau2000b()
iau2000k()
Author
Attila Kovacs
Since
1.0

Function Documentation

◆ iau2000a()

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:

  1. IERS Conventions (2003), Chapter 5.
  2. Simon et al. (1994) Astronomy and Astrophysics 282, 663-683, esp. Sections 3.4-3.5.
Parameters
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.
Returns
0
See also
iau2000b()
nu2000k()
nutation_angles()
novas_nutation_provider

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.

◆ iau2000b()

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:

  1. McCarthy, D. and Luzum, B. (2003). "An Abridged Model of the Precession & Nutation of the Celestial Pole," Celestial Mechanics and Dynamical Astronomy, Volume 85, Issue 1, Jan. 2003, p. 37. (IAU 2000B) IERS Conventions (2003), Chapter 5.
Parameters
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.
Returns
0
See also
iau2000a()
nu2000k()
set_nutation_lp_provider()
nutation_angles()

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.

◆ nu2000k()

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:

  1. IERS Conventions (2003), Chapter 5.
  2. Simon et al. (1994) Astronomy and Astrophysics 282, 663-683, esp. Sections 3.4-3.5.
Parameters
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.
Returns
0
See also
iau2000a()
iau2000b()
nutation_angles()
novas_nutation_provider

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.