Correct for nutation. More...
Macros | |
| #define | ae_mod_3600(x) ((x) - 1296000. * floor ((x)/1296000.)) |
| A handy macro. | |
Functions | |
| void | ae_nut_sscc (int k, double arg, int n) |
| Do trigonometric calculations for ae_nutation_lon_ob(). | |
| void | ae_nutation_lon_ob (double jd_tt, double *nutl, double *nuto) |
| Calculate the nutation in longitude and oblation. More... | |
| void | ae_nutate (double nutl, double nuto, double eps, double p[], int direction) |
| Correct for nutation. More... | |
| void | aes_nutate (double jd_tt, double p[], int direction) |
| Correct for nutation. More... | |
Variables | |
| short | ae_nt_param [105 *9] |
| Nutation parameters. More... | |
| double | ae_nut_ss [5][8] |
| An array to hold the sine of multiple angles. | |
| double | ae_nut_cc [5][8] |
| An array to hold the cosine of multiple angles. More... | |
Correct for nutation.
| void ae_nutate | ( | double | nutl, |
| double | nuto, | ||
| double | eps, | ||
| double | p[], | ||
| int | direction | ||
| ) |
Correct for nutation.
From AA page B20.
| nutl | The nutation in longitude in seconds of arc (see ae_nutation_lon_ob()). |
| nuto | The nutation in oblation in seconds of arc (see ae_nutation_lon_ob()). |
| eps | The obliquity of the ecliptic in seconds of arc (see ae_epsilon()). |
| p | The equitorial rectangular position vector for mean ecliptic and equinox of date. This is modified by the routine for nutation. |
| direction | AE_TO_J2000 to nutate from jd_tt to J2000; AE_FROM_J2000 to nutate from J2000 to jd_tt. (If neither is passed, AE_TO_J2000 is assumed.) To nutate from jd_1 to jd_2, first go from jd_1 to J2000, and then from J2000 to jd_2. |
References AE_FROM_J2000, and AE_STR.
Referenced by ae_geocentric_moon_from_orbit(), and aes_nutate().
| void ae_nutation_lon_ob | ( | double | jd_tt, |
| double * | nutl, | ||
| double * | nuto | ||
| ) |
Calculate the nutation in longitude and oblation.
References:
This program implements all of the 1980 IAU nutation series. Results checked at 100 points against the 1986 AA; all agreed.
| jd_tt | The Julian date in TT. |
| nutl | For returning the nutation in longitude, in seconds of arc. |
| nuto | For returning the nutation in oblation, in seconds of arc. |
References ae_mod_3600, ae_nt_param, ae_nut_cc, ae_nut_ss, ae_nut_sscc(), and AE_STR.
Referenced by ae_geocentric_moon_from_orbit(), ae_topocentric(), aes_last(), and aes_nutate().
| void aes_nutate | ( | double | jd_tt, |
| double | p[], | ||
| int | direction | ||
| ) |
Correct for nutation.
This is a simplified version of ae_nutate(), which automatically calculates nutl, nuto and eps. It might be less efficient to use this routine if speed is required.
| jd_tt | The Julian date in TT. |
| p | The equitorial rectangular position vector for mean ecliptic and equinox of date. This is modified by the routine for nutation. |
| direction | AE_TO_J2000 to nutate from jd_tt to J2000; AE_FROM_J2000 to nutate from J2000 to jd_tt. (If neither is passed, AE_TO_J2000 is assumed.) To nutate from jd_1 to jd_2, first go from jd_1 to J2000, and then from J2000 to jd_2. |
References ae_epsilon(), ae_nutate(), and ae_nutation_lon_ob().
Referenced by ae_geocentric(), ae_geocentric_from_cat(), and ae_phys_pole().
| short ae_nt_param[105 *9] |
Nutation parameters.
Each term in the expansion has a trigonometric argument given by
where the variables are defined below. The nutation in longitude is a sum of terms of the form
. The terms for nutation in obliquity are of the form
. The coefficients are arranged in the tabulation as follows:
| i | j | k | l | m | a | b | c | d |
| 0 | 0 | 0 | 0 | 1 | -171996 | -1742 | 92025 | 89 |
The first line of the table, above, is done separately since two of the values do not fit into 16 bit integers. The values a and c are arc seconds times 10000. B and d are arc seconds per Julian century times 100000. I through m are integers. See the program for interpretation of MM, MS, etc., which are mean orbital elements of the Sun and Moon.
If terms with coefficient less than X are omitted, the peak errors will be:
| omit a < | error, longitude | omit c < | error, obliquity |
| .0005"</td><td>.0100" | .0008" </td><td> .0094" | ||
| .0046 | .0492 | .0095 | .0481 |
| .0123 | .0880 | .0224 | .0905 |
| .0386 | .1808 | .0895 | .1129 |
Referenced by ae_nutation_lon_ob().
| double ae_nut_cc[5][8] |
An array to hold the cosine of multiple angles.
Referenced by ae_nut_sscc(), and ae_nutation_lon_ob().
| AEPHEM documentation generated by Doxygen v1.8.9.1 at Sat Aug 1 2015 15:02:46. |