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

Naval Observatory Vector Astrometry Software

C Edition C3.1 (31 Mar 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 Python editions of NOVAS are also available. See the NOVAS overview for more general information.

The NOVAS source code contains sufficient comment statements in the prolog of each function to make the usage clear. Expanded explanations of the most frequently called functions are provided in the User's Guide, which contains hypertext cross-references. Additional information about 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. For major solar system bodies, ephemeris calls a user-selected version of the function solarsystem. Users can choose from the three versions of solarsystem that are supplied in the standard NOVAS distribution, or supply their own version. At the very least (for the computation of the apparent positions of stars), the function ephemeris must access ephemeris data for the Earth and Sun. For the highest-accuracy requirements and most flexibility in usage, ephemeris can call solarsystem versions 1 or 2, which provide a direct interface to the planetary and lunar ephemerides produced by the Jet Propulsion Laboratory (JPL). The JPL ephemerides and the software to access them can be downloaded from the JPL web site. More information on the use of ephemeris, the available versions of solarsystem, the specifications of the calls to ephemeris and solarsystem, and how to obtain and install the JPL ephemerides is provided in the User's Guide.

Key Changes Between Versions C3.0 and C3.1

NOVAS C3.1 fixes several minor problems in C3.0 and includes a few new features. Appendix B of the User's Guide provides a complete list of changes since version C2.0.1. The main differences between NOVAS C3.0 and C3.1 are as follows:

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

The twenty-five NOVAS files are listed below. The files are contained in a Unix tar archive, novasc3.1.tar; two compressed versions of which are provided. The same files are also contained in a PC zip file. The tar and zip files are

novasc3.1.tar.Z 3.1M

from standard Unix compress utility
novasc3.1.tar.gz 2.7M

from Unix gzip utility
novasc3.1.zip 2.7M

from PC zip utility

 

The twenty-five individual files are

NOVAS_C3.1_Guide.pdf 740k

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

README, brief introduction to NOVAS C3.1 (ASCII)
novas.c 274k

NOVAS C source code, all supervisory and utility functions plus most basic functions (ASCII)
novas.h 17k

NOVAS C source code, header file for novas.c (ASCII)
novascon.c
2k

NOVAS C source code, mathematical and physical constants used (ASCII)
novascon.h
2k

NOVAS C source code, header file for novascon.c (ASCII)
nutation.c
242k

NOVAS C source code, nutation functions (ASCII)
nutation.h 1k

NOVAS C source code, header file for nutation.c (ASCII)
solsys1.c 9k

NOVAS C source code, version of solarsystem used with eph_manager.c to provide "all C" interface to JPL ephemerides (ASCII)
solsys2.c 10k

NOVAS C source code, version of solarsystem used with jplint.f to provide interface between NOVAS C and JPL Fortran ephemerides-access software (ASCII)
solsys3.c 20k

NOVAS C source code, version of solarsystem that provides minimum required ephemeris data without reference to an external data file (ASCII)
solarsystem.h 1k

NOVAS C source code, header file for solsys1.c, solsys2.c, and solsys3.c (ASCII)
eph_manager.c 26k

NOVAS C source code, used with solsys1.c to provide "all C" interface to JPL ephemerides (ASCII)
eph_manager.h 1k

NOVAS C source code, header file for eph_manager.c (ASCII)
readeph0.c 3k

NOVAS C source code, dummy version of function readeph — highest-level call to the USNO/AE98 minor planet ephemerides (ASCII)
jplint.f 8k

NOVAS Fortran source code, used with solsys2.c to provide interface to JPL Fortran ephemerides-access software (ASCII)
checkout-stars.c 2k

NOVAS C source code, main function to validate basic installation of NOVAS (ASCII)
checkout-stars-usno.txt 1k

NOVAS C output, results obtained at USNO from checkout-stars.c (ASCII)
checkout-stars-full.c 3k

NOVAS C source code, main function to validate installation of NOVAS with JPL ephemerides (ASCII)
checkout-stars-full-usno.txt 1k

NOVAS C output, results obtained at USNO from checkout-stars-full.c (ASCII)
checkout-mp.c 4k

NOVAS C source code, main function to validate installation of NOVAS with USNO/AE98 minor planet ephemerides (ASCII)
checkout-mp-usno.txt 1k

NOVAS C output, results obtained at USNO from checkout-mp.c (ASCII)
example.c 9k

NOVAS C source code, main function that makes sample calls discussed in Chapter 3 of User's Guide (ASCII)
example-usno.txt 1k

NOVAS C output, results obtained at USNO from example.c (ASCII)
CIO_RA.TXT 7.7M

optional NOVAS data file, right ascension of CIO in GCRS from 1700 to 2300 (ASCII)
cio_file.c 5k

NOVAS C source code, main function to convert CIO_RA.TXT to binary, direct-access file (ASCII)

 

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