/* Obliquity of the ecliptic at Julian date J */
#define WILLIAMS 1
#define SIMON 0
/* J. L. Simon, P. Bretagnon, J. Chapront, M. Chapront-Touze', G. Francou,
and J. Laskar, "Numerical Expressions for precession formulae and
mean elements for the Moon and the planets," Astronomy and Astrophysics
282, 663-683 (1994) */
/* IAU Coefficients are from:
* J. H. Lieske, T. Lederle, W. Fricke, and B. Morando,
* "Expressions for the Precession Quantities Based upon the IAU
* (1976) System of Astronomical Constants," Astronomy and Astrophysics
* 58, 1-16 (1977).
*
* Before or after 200 years from J2000, the formula used is from:
* J. Laskar, "Secular terms of classical planetary theories
* using the results of general theory," Astronomy and Astrophysics
* 157, 59070 (1986).
*
* See precess.c and page B18 of the Astronomical Almanac.
*
*/
#if __STDC__
double sin (double);
double cos (double);
double fabs (double);
#else
double sin(), cos(), fabs();
#endif
/* The results of the program are returned in these
* global variables:
*/
double jdeps = -1.0; /* Date for which obliquity was last computed */
double eps = 0.0; /* The computed obliquity in radians */
double coseps = 0.0; /* Cosine of the obliquity */
double sineps = 0.0; /* Sine of the obliquity */
extern double eps, coseps, sineps, STR;
int epsiln(J)
double J; /* Julian date input */
{
double T;
if( J == jdeps )
return(0);
T = (J - 2451545.0)/36525.0;
#if WILLIAMS
/* DE403 values. */
T /= 10.0;
eps = ((((((((( 2.45e-10*T + 5.79e-9)*T + 2.787e-7)*T
+ 7.12e-7)*T - 3.905e-5)*T - 2.4967e-3)*T
- 5.138e-3)*T + 1.9989)*T - 0.0175)*T - 468.33960)*T
+ 84381.406173;
#else
/* This expansion is from the AA.
* Note the official 1976 IAU number is 23d 26' 21.448", but
* the JPL numerical integration found 21.4119".
*/
#if SIMON
T /= 10.0;
eps = ((((((((( 2.45e-10*T + 5.79e-9)*T + 2.787e-7)*T
+ 7.12e-7)*T - 3.905e-5)*T - 2.4967e-3)*T
- 5.138e-3)*T + 1.9989)*T - 0.0152)*T - 468.0927)*T
+ 84381.412;
#else
if( fabs(T) < 2.0 )
eps = ((1.813e-3*T - 5.9e-4)*T - 46.8150)*T + 84381.448;
/* This expansion is from Laskar, cited above.
* Bretagnon and Simon say, in Planetary Programs and Tables, that it
* is accurate to 0.1" over a span of 6000 years. Laskar estimates the
* precision to be 0.01" after 1000 years and a few seconds of arc
* after 10000 years.
*/
else
{
eps = ((((((((( 2.45e-10*T + 5.79e-9)*T + 2.787e-7)*T
+ 7.12e-7)*T - 3.905e-5)*T - 2.4967e-3)*T
- 5.138e-3)*T + 1.99925)*T - 0.0155)*T - 468.093)*T
+ 84381.448;
}
#endif /* not SIMON */
#endif /* not WILLIAMS */
eps *= STR;
coseps = cos( eps );
sineps = sin( eps );
jdeps = J;
return(0);
}
syntax highlighted by Code2HTML, v. 0.9.1