NOVAS 3.1 - Python
Astronomical Applications Dept. Astronomical Applications Dept.
Skip navigation

Naval Observatory Vector Astrometry Software

Python Edition 3.1 (30 June 11)

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). Because NOVAS Python requires a binary ephemeris file, the package setup script includes an option that creates a default JPL DE405 binary file and installs it alongside the NOVAS Python package for users who prefer not to provide their own ephemeris file. The README file discusses this installation option, which requires internet access. 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.

NOVAS Python is currently available in a compressed source tarball for Mac OSX, Linux, and Unix.

NOVAS_Py-3.1.tar.gz 2.7M

from Unix gzip utility

README, brief introduction to NOVAS Python 3.1 (ASCII)
novas.compat.compat 179k

docstrings for all supervisory and utility functions plus most basic functions (html)
novas.compat.eph_manager 14k

docstrings for ephemeris-access functions, eph_manager portion of "all C" interface to JPL ephemerides (html)
novas.compat.nutation 8k

docstrings for nutation functions (html)
novas.compat.solsys 11k

docstrings for solarsystem version 1 functions, solsys1 portion of "all C" interface to JPL ephemerides (html)
NOVAS_C3.1_Guide.pdf 740k

User's Guide to NOVAS C3.1 (pdf)

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