Naval Observatory Vector Astrometry Subroutines

Naval Observatory Vector Astrometry Subroutines
NOVAS logo
Developer(s) United States Naval Observatory
Stable release C3.0 (C version); F3.0 (Fortran version) / December 31, 2009 (C); December 23, 2009 (FORTRAN)
Written in C/Fortran
Platform Cross-platform (distributed in source code form)
Type Astrometry

The Naval Observatory Vector Astrometry Software (NOVAS) is a software library for astrometry-related numerical computations. It is developed by the Astronomical Applications Department, United States Naval Observatory. Currently, NOVAS has two different editions for C and Fortran respectively.



The algorithms used by NOVAS are based on vector astrometry theories and the IAU resolutions. Instead of using trigonometric formulae from spherical astrometry, NOVAS uses the matrix and vector formulation which is more rigorous. This version implements the resolutions on astronomical reference systems and Earth rotation models passed at the IAU General Assemblies in 1997, 2000, and 2006. According to the Astronomical Applications Department, the algorithms used in NOVAS are identical to those used in the production of the US part of the Astronomical Almanac.[1]

A detailed description of the algorithms can be found here: Kaplan, et al. (1989) Astron. J. 97, 1197.[2]


The NOVAS library provides three levels of subroutines (functions): basic, utility, and supervisory.[1] Basic-level subroutines supply the values of fundamental variables, such as the nutation angles and the heliocentric positions of solar system bodies for specific epoches. Utility-level subroutines perform transformations, such as those caused by precession, nutation and aberration. Supervisory-level subroutines serve as interfaces to the basic and utility subroutines to compute the coordinates of stars or solar system bodies for specific dates and times.


The NOVAS library can be linked by programs that work with positions of celestial bodies. For example, "Pocket Stars", an astronomy software for Smartphone and PDA platforms, used the NOVAS as its astrometry engine.[3]

A Python library, PyNOVAS, can be used to call NOVAS functions from Python. It uses SWIG to connect with the C version of NOVAS.[4]

Current status

A new version of NOVAS is being developed.

See also


  1. ^ a b Kaplan, George H. "NOVAS". Retrieved 2008-08-01. [dead link]
  2. ^ Kaplan, George. H., et al. (April 1989). "Mean and apparent place computations in the new IAU system. III - Apparent, topocentric, and astrometric places of planets and stars". Astron. J. 97: 1197–1210. doi:10.1086/115063. 
  3. ^ Jay Alan Borseth. "Pocket Stars Product Versions (PDA, SP, PC)". Nomad Electronics. Retrieved 2008-08-01. 
  4. ^ Jaap Spies. "Python & Novas: astrometric software & celestial navigation". Retrieved 2008-08-01.