DE405 planetary ephemeris , and Earth orientation measurements from the
International Earth Rotation Service (IERS) . The list of ICRS-compatible data of
various types is continually expanding. NOVAS-C can also be used with data
conforming to the FK5 system.
In addition to support for data conforming to the ICRS, NOVAS-C 2.0 also provides
direct support for USNO/AE98--USNO's new fundamental ephemerides of selected
minor planets. Furthermore, NOVAS-C can be easily modified to use other
ephemerides as well.
The algorithms used by the NOVAS-C functions are based on a vector and matrix
formulation that is rigorous, consistent with recent IAU resolutions, and does not use
spherical trigonometry or form "day numbers" at any point. Objects within and outside
the solar system are treated similarly and the position vectors formed and operated on by
these functions place each relevant object at its actual distance (in AU) from the solar
system barycenter. Objects at unknown distance (parallax zero or undetermined) are
placed on the "celestial sphere" herein defined to be at a radius of 10 megaparsecs (2.06
AU). A description of the algorithms used in NOVAS-C, along with definitions of
terms and related information, can be found in . A few very minor revisions to the
algorithms were made in 1998 for compliance with the ICRS system. See also  for
an evaluation of the precision of the NOVAS algorithms that involve relativity.
NOVAS-C contains three levels of functions: basic, utility, and supervisory. Basic-
level functions supply the values of fundamental variables, such as the nutation angles
and the heliocentric positions of solar system bodies, for specific epochs. Utility-level
functions perform transformations corresponding to precession, nutation, aberration, etc.
Supervisory-level functions call the basic and utility functions in the proper order to
compute apparent, topocentric, or astrometric places of stars or solar system bodies for
specific dates and times. If desired, the user can interact exclusively with the
supervisory-level functions and not become concerned with the details of the geometry or
physical models involved in the computation.
The NOVAS-C source code contains sufficient internal documentation to make the
usage clear. Expanded explanations of some of the most frequently called functions are
given later in this document. In the Fortran version of NOVAS, some of the basic- and
utility-level subroutines are provided in several versions to accommodate users with a
need for alternative algorithms. The C version differs from the Fortran version in this
regard: only the "standard" version of each algorithm is provided.
The next section of this document (Section 2) provides an overview of the files that