Naval Observatory Vector Astrometry Software
Fortran Edition F3.1 (31 Mar 11)
NOVAS is an integrated package of subroutines and functions for computing various commonly needed quantities in positional astronomy. The package can provide, in one or two subroutine or function calls, the instantaneous coordinates of any star or planet in a variety of coordinate systems. At a lower level, NOVAS also supplies astrometric utility transformations, such as those for precession, nutation, aberration, parallax, and the gravitational deflection of light. The computations are accurate to better than one milliarcsecond. The NOVAS package 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. C and Python editions of NOVAS are also available. See the NOVAS overview for more general information.
The NOVAS source code contains sufficient comment statements at each entry point to make the usage clear. Expanded explanations of the most frequently called subroutines and 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.
NOVAS subroutines are mostly written in Fortran 77, but some subroutines have names that are longer than six characters. Also, constructs from later versions of Fortran that are universally supported have been used in several places.
For most high-level calculations, NOVAS requires access to the position and velocity vectors of solar system objects as a function of time. NOVAS subroutine SOLSYS provides these data. Users can choose from three versions of this subroutine 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), SOLSYS must provide ephemeris data for the Earth and Sun. For the highest accuracy requirements and most flexibility in usage, SOLSYS version 2 provides 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 available versions of SOLSYS, the specifications of the SOLSYS subroutine call, and how to obtain and install the JPL ephemerides are provided in the Userís Guide.
Key Changes Between Versions F3.0 and F3.1
NOVAS F3.1 fixes several minor problems in F3.0 and includes a few new features. Appendix B of the User's Guide provides a complete list of changes since version F2.0. The main differences between NOVAS F3.0 and F3.1 are as follows:
- New subroutine CELTER transforms a vector from the celestial system (GCRS) to the terrestrial system (ITRS). It complements subroutine TERCEL.
- Subroutine WOBBLE has an additional input option.
- In subroutine CIOLOC, the dimensions of the placeholder variable A are set to avoid possible compiler warnings.
- In subroutine PRECES, the precession rotation matrix is now initialized to the identity matrix. This change fixes a bug that occurs when the input and output Julian dates are both 2451545.0 on the first call to the subroutine.
For known issues with the code, see NOVAS User Updates and FAQ.
The fourteen NOVAS files are listed below. The files are contained in a Unix tar archive, novasf3.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
|novasf3.1.tar.Z||4.8M||from standard Unix compress utility|
|novasf3.1.tar.gz||4.4M||from Unix gzip utility|
|novasf3.1.zip||4.4M||from PC zip utility|
The fourteen individual files are
|NOVAS_F3.1_Guide.pdf||645k||User's Guide to NOVAS F3.1 (pdf)|
|NOVAS_F3.1.f||446k||NOVAS Fortran source code, standard set of subroutines (ASCII)|
|NOVAS_F3.1_alt.f||6k||NOVAS Fortran source code, alternative versions of some subroutines (ASCII)|
||12k||NOVAS Fortran source code, SOLSYS version 1 reads file SS_EPHEM.TXT (ASCII)|
||12k||NOVAS Fortran source code, SOLSYS version 2 provides interface to JPL ephemeris-access software (ASCII)|
||24k||NOVAS Fortran source code, SOLSYS version 3 provides self-contained Earth and Sun ephemerides (ASCII)|
|CIO_RA.TXT||7.7M||Data file of CIO right ascensions as a function of time (ASCII)|
|SS_EPHEM.TXT||4.2M||Data file containing 1-day Solar System ephemeris file read by SOLSYS version 1 (ASCII)|
|checkout.f||4k||Main program for initial validation (ASCII)|
|checkout.out.1||2k||Output from checkout.f when SOLSYS version 1 is used (ASCII)|
|checkout.out.3||2k||Output from checkout.f when SOLSYS version 3 is used (ASCII)|
|CIO_file.f||2k||NOVAS Fortran source code, converts CIO_RA.TXT to binary direct-access data file (ASCII)|
|example.f||6k||NOVAS Fortran source code, main program with sample code from User's Guide, Chapter 3 (ASCII)|
|example.out||1k||Output from example.f when SOLSYS version 2 is used (ASCII)|
Direct questions, comments, and problem reports to our help desk.