Skip to main content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.


The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

NOVAS 3.1.1 - Python

Naval Observatory Vector Astrometry Software

Python Edition 3.1.1 (13 October 2015)

NOVAS Python is currently available for Mac OSX, Linux, and Unix at the Astrophysics Source Code Library .

NOVAS is an integrated package of functions for computing various commonly needed quantities in positional astronomy. The package can supply, in one or two function calls, the instantaneous coordinates of any star or planet in a variety of coordinate systems. At a lower level, NOVAS also provides astrometric utility transformations, such as those for precession, nutation, aberration, parallax, and gravitational deflection of light. The computations are accurate to better than one milliarcsecond. The NOVAS library is an easy-to-use facility that can be incorporated into data reduction programs, telescope control systems, and simulations. The U.S. parts of The Astronomical Almanac are prepared using NOVAS. Fortran and C editions of NOVAS are also available. See the NOVAS overview for more general information.

NOVAS Python borrows its underlying computational code from the C edition and implements nearly all of the features found in the C edition. Notable options of NOVAS C not currently available in NOVAS Python include the ability to calculate the Celestial Intermediate Origin (CIO) using an external file and direct support for the external USNO/AE98 minor planet ephemerides. Function calls in NOVAS Python are generally synonymous with the corresponding ones in NOVAS C, except some arguments used to define accuracy, coordinate systems, and calculation methods are treated as optional parameters with default values.

NOVAS Python provides a README file with further information as well as docstrings within functions to explain usage. Because NOVAS Python is based on the NOVAS C functions, the NOVAS C User's Guide provides expanded explanations of the most frequently called functions with hypertext cross-references. Additional information about the computation of nutation in NOVAS is available in USNO Circular 181.

For most high-level calculations, NOVAS requires access to the position and velocity vectors of solar system objects as a function of time. NOVAS function ephemeris provides these data. While in NOVAS C, the user may choose among three versions of solarsystem to use at compile-time, NOVAS Python only provides solarsystem version 1, an all C-based interface to the planetary and lunar ephemerides produced by the Jet Propulsion Laboratory (JPL). Like its C counterpart, NOVAS Python requires a binary ephemeris file, such as the one the user can create from JPL DE405 . The README file discusses installation options. The C User's Guide provides more information on the use of ephemeris and solarsystem, including the specification of their calls, and guidance on obtaining and installing the JPL ephemerides manually.

For known issues with the code, see NOVAS User Updates and FAQ.

Direct questions, comments, and problem reports to our help desk.