The Naval Observatory Vector Astrometry Software (NOVAS) is a
software library
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and sub ...
for
astrometry
Astrometry is a branch of astronomy that involves precise measurements of the positions and movements of stars and other celestial bodies. It provides the kinematics and physical origin of the Solar System and this galaxy, the Milky Way.
Histor ...
-related
numerical computations. It is developed by the Astronomical Applications Department,
United States Naval Observatory
United States Naval Observatory (USNO) is a scientific and military facility that produces geopositioning, navigation and timekeeping data for the United States Navy and the United States Department of Defense. Established in 1830 as the Depo ...
. Currently, NOVAS has three different editions, for
C,
Fortran, and
Python.
Algorithms
The
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s used by NOVAS are based on vector astrometry theories and the
IAU
The International Astronomical Union (IAU; french: link=yes, Union astronomique internationale, UAI) is a nongovernmental organisation with the objective of advancing astronomy in all aspects, including promoting astronomical research, outreach ...
resolutions. Instead of using
trigonometric
Trigonometry () is a branch of mathematics that studies relationships between side lengths and angles of triangles. The field emerged in the Hellenistic world during the 3rd century BC from applications of geometry to astronomical studies. ...
formulae from spherical astrometry, NOVAS uses the
matrix
Matrix most commonly refers to:
* ''The Matrix'' (franchise), an American media franchise
** '' The Matrix'', a 1999 science-fiction action film
** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchi ...
and
vector
Vector most often refers to:
*Euclidean vector, a quantity with a magnitude and a direction
*Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematic ...
formulation which is more rigorous. This version implements the resolutions on
astronomical reference systems
Astronomical coordinate systems are organized arrangements for specifying positions of Natural satellite, satellites, planets, stars, galaxy, galaxies, and other celestial objects relative to physical reference points available to a situated obse ...
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
''The Astronomical Almanac''The ''Astronomical Almanac'' for the Year 2015, (United States Naval Observatory/Nautical Almanac Office, 2014) . is an almanac published by the United States Naval Observatory (USNO) and His Majesty's Nautical Almana ...
''.
A detailed description of the algorithms can be found here: Kaplan, et al. (1989) ''Astron. J.'' 97, 1197.
Structure
The NOVAS library provides three levels of
subroutines
In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed.
Functions may ...
(functions): basic, utility, and supervisory.
Basic-level subroutines supply the values of fundamental variables, such as the
nutation
Nutation () is a rocking, swaying, or nodding motion in the axis of rotation of a largely axially symmetric object, such as a gyroscope, planet, or bullet in flight, or as an intended behaviour of a mechanism. In an appropriate reference fra ...
angles and the heliocentric positions of
Solar System
The Solar System Capitalization of the name varies. The International Astronomical Union, the authoritative body regarding astronomical nomenclature, specifies capitalizing the names of all individual astronomical objects but uses mixed "Solar ...
bodies for specific
epoch
In chronology and periodization, an epoch or reference epoch is an instant in time chosen as the origin of a particular calendar era. The "epoch" serves as a reference point from which time is measured.
The moment of epoch is usually decided by ...
es. Utility-level subroutines perform
transformations, such as those caused by
precession
Precession is a change in the orientation of the rotational axis of a rotating body. In an appropriate reference frame it can be defined as a change in the first Euler angle, whereas the third Euler angle defines the rotation itself. In o ...
, nutation and
aberration. Supervisory-level subroutines serve as interfaces to the basic and utility subroutines to compute the coordinates of
star
A star is an astronomical object comprising a luminous spheroid of plasma held together by its gravity. The nearest star to Earth is the Sun. Many other stars are visible to the naked eye at night, but their immense distances from Earth make ...
s or Solar System bodies for specific dates and times.
Usage
The NOVAS library can be
linked by programs that work with positions of
celestial bodies
An astronomical object, celestial object, stellar object or heavenly body is a naturally occurring physical entity, association, or structure that exists in the observable universe. In astronomy, the terms ''object'' and ''body'' are often us ...
. For example, "Pocket Stars", an astronomy software for
Smartphone
A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
and
PDA platforms, used the NOVAS as its astrometry engine.
The
Python edition allows calling the NOVAS functions from Python. It is mostly feature complete with respect to the C edition, with a few exceptions,
and shares the C edition's API. The current edition uses Python's foreign function library, ctypes.
Current status
Future versions of the Python interface will add support for passing data via
NumPy types (and therefore support vectorized operations), and present a more Pythonic interface.
See also
*
Standards of Fundamental Astronomy
The Standards of Fundamental Astronomy (SOFA) software libraries are a collection of subroutines that implement official International Astronomical Union (IAU) algorithms for astronomy, astronomical computations.
As of February 2009 they are ava ...
References
{{reflist
External links
jNOVASJava wrapper for NOVAS library
Python edition of NOVAS on PyPI
Astrometry
Astronomy software
Science software
Beta software
United States Naval Observatory