Interface to the Kepler Ephemeris component

Namespace: ASCOM.Astrometry.Kepler
Assembly: ASCOM.Astrometry (in ASCOM.Astrometry.dll) Version: 6.0.0.0 (6.1.1.2619)

Syntax

C#
public interface IEphemeris
Visual Basic
Public Interface IEphemeris
Visual C++
public interface class IEphemeris

Remarks

The Ephemeris object contains an orbit engine which takes the orbital parameters of a solar system body, plus a a terrestrial date/time, and produces the heliocentric equatorial position and velocity vectors of the body in Cartesian coordinates. Orbital parameters are not required for the major planets, Kepler contains an ephemeris generator for these bodies that is within 0.05 arc seconds of the JPL DE404 over a wide range of times, Perturbations from major planets are applied to ephemerides for minor planets.

The results are passed back as an array containing the two vectors. Note that this is the format expected for the ephemeris generator used by the NOVAS-COM vector astrometry engine. For more information see the description of Ephemeris.GetPositionAndVelocity().

Ephemeris Calculations
The ephemeris calculations in Kepler draw heavily from the work of Stephen Moshier moshier@world.std.com. kepler is released as a free software package, further extending the work of Mr. Moshier.

Kepler does not integrate orbits to the current epoch. If you want the accuracy resulting from an integrated orbit, you must integrate separately and supply Kepler with elements of the current epoch. Orbit integration is on the list of things for the next major version.

Kepler uses polynomial approximations for the major planet ephemerides. The tables of coefficients were derived by a least squares fit of periodic terms to JPL's DE404 ephemerides. The periodic frequencies used were determined by spectral analysis and comparison with VSOP87 and other analytical planetary theories. The least squares fit to DE404 covers the interval from -3000 to +3000 for the outer planets, and -1350 to +3000 for the inner planets. For details on the accuracy of the major planet ephemerides, see the Accuracy Tables page.

Date and Time Systems

For a detailed explanation of astronomical timekeeping systems, see A Time Tutorial on the NASA Goddard Spaceflight Center site, and the USNO Systems of Time site.

ActiveX Date values
These are the Windows standard "date serial" numbers, and are expressed in local time or UTC (see below). The fractional part of these numbers represents time within a day. They are used throughout applications such as Excel, Visual Basic, VBScript, and other ActiveX capable environments.

Julian dates
These are standard Julian "date serial" numbers, and are expressed in UTC time or Terrestrial time. The fractional part of these numbers represents time within a day. The standard ActiveX "Double" precision of 15 digits gives a resolution of about one millisecond in a full Julian date. This is sufficient for the purposes of this program.

Hourly Time Values
These are typically used to represent sidereal time and right ascension. They are simple real numbers in units of hours.

UTC Time Scale
Most of the ASCOM methods and properties that accept date/time values (either Date or Julian) assume that the date/time is in Coordinated Universal Time (UTC). Where necessary, this time is converted internally to other scales. Note that UTC seconds are based on the Cesium atom, not planetary motions. In order to keep UTC in sync with planetary motion, leap seconds are inserted periodically. The error is at most 900 milliseconds.

UT1 Time Scale
The UT1 time scale is the planetary equivalent of UTC. It it runs smoothly and varies a bit with time, but it is never more than 900 milliseconds different from UTC.

TT Time Scale
The Terrestrial Dynamical Time (TT) scale is used in solar system orbital calculations. It is based completely on planetary motions; you can think of the solar system as a giant TT clock. It differs from UT1 by an amount called "delta-t", which slowly increases with time, and is about 60 seconds right now (2001).

See Also