SuperNOVAS v1.5
The NOVAS C library, made better
Loading...
Searching...
No Matches
solsys3.c File Reference

Planet calculator functions for the Earth and Sun only, with an orbital model fitted to the DE405 ephemerides by JPL. More...

Functions

short earth_sun_calc (double jd_tdb, enum novas_planet body, enum novas_origin origin, double *restrict position, double *restrict velocity)
 Provides the position and velocity of the Earth and Sun only at epoch 'jd_tdb' by evaluating a closed-form theory without reference to an external file.
 
short earth_sun_calc_hp (const double jd_tdb[restrict 2], enum novas_planet body, enum novas_origin origin, double *restrict position, double *restrict velocity)
 It may provide the position and velocity of the Earth and Sun, the same as earth_sun_calc(), if enable_earth_sun_hp() is set to true (non-zero).
 
void enable_earth_sun_hp (int value)
 Specify whether the high-precision call is allowed to return a low-precision result.
 
int sun_eph (double jd, double *restrict ra, double *restrict dec, double *restrict dis)
 Computes equatorial spherical coordinates of Sun referred to the mean equator and equinox of date.
 

Detailed Description

Planet calculator functions for the Earth and Sun only, with an orbital model fitted to the DE405 ephemerides by JPL.

This function is suitable for calculating the positions of Earth and the Sun around the Solar-system Barycenter (SSB) with a typical accutacy of around 10 arcseconds within a few centuries of J2000.

It is inherently similar, at least in accuracy, to the planetary orbital models provided by planets.c, except that it can be used more widely in SuperNOVAS internally by the various functions, which need Earth and/or Sun positions for their calculations.

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

Author
G. Kaplan and Attila Kovacs
See also
ephemeris.c, planets.c, solsys-calceph.c, solsys-cspice.c, solsys-ephem.c

Function Documentation

◆ sun_eph()

int sun_eph ( double jd,
double *restrict ra,
double *restrict dec,
double *restrict dis )

Computes equatorial spherical coordinates of Sun referred to the mean equator and equinox of date.

Quoted accuracy is 2.0 + 0.03 * T2 arcsec, where T is measured in units of 1000 years from J2000.0. See reference.

The obliquity equation is updated to equation 5.12 of the second reference.

The linear fit to DE405 primarily corrects for the difference between "old" (Lieske) and "new" (IAU 2006) precession. The difference, new - old, is -0.3004 arcsec/cy.

REFERENCES:

  1. Bretagnon, P. and Simon, J.L. (1986). Planetary Programs and Tables from -4000 to + 2800. (Richmond, VA: Willmann-Bell).
  2. Kaplan, G.H. (2005). US Naval Observatory Circular 179.
Parameters
jd[day] jd (double) Julian date on TDT or ET time scale.
[out]ra[h] Right ascension referred to mean equator and equinox of date (hours).
[out]dec[deg] Declination referred to mean equator and equinox of date (degrees).
[out]dis[AU] Geocentric distance (AU).
Returns
0 if successful, or else -1 if any of the pointer arguments are NULL.
See also
earth_sun_calc()

References TWOPI.