Naval Observatory Vector Astrometry Subroutines

Last updated
NOVAS
Developer(s) United States Naval Observatory
Stable release
C3.1 (C version); F3.1 (Fortran version); Python Edition 3.1.1 / March 31, 2011 (C); March 31, 2011 (FORTRAN); October 13, 2015 (Python)
Written in C/Fortran/Python
Platform Cross-platform (distributed in source code form)
Type Astrometry
Website aa.usno.navy.mil/software/novas/novas_info.php

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 three different editions, for C, Fortran, and Python.

Contents

Algorithms

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]

Structure

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.

Usage

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]

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, [4] 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. [5]

Forks

SuperNOVAS is a fork of NOVAS C 3.1, maintained by Attila Kovács at the Center for Astrophysics | Harvard & Smithsonian since 2024. It aims to be a successor of NOVAS for C/C++, providing continued development, bug fixes, new features, improved usability, thread safety, and online documentation. The SuperNOVAS source code and releases are also available at https://github.com/Smithsonian/SuperNOVAS.

See also

Related Research Articles

Flexible Image Transport System (FITS) is an open standard defining a digital file format useful for storage, transmission and processing of data: formatted as multi-dimensional arrays, or tables. FITS is the most commonly used digital file format in astronomy. The FITS standard was designed specifically for astronomical data, and includes provisions such as describing photometric and spatial calibration information, together with image origin metadata.

<span class="mw-page-title-main">SciPy</span> Open-source Python library for scientific computing

SciPy is a free and open-source Python library used for scientific computing and technical computing.

<span class="mw-page-title-main">NumPy</span> Python library for numerical programming

NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. The predecessor of NumPy, Numeric, was originally created by Jim Hugunin with contributions from several other developers. In 2005, Travis Oliphant created NumPy by incorporating features of the competing Numarray into Numeric, with extensive modifications. NumPy is open-source software and has many contributors. NumPy is a NumFOCUS fiscally sponsored project.

<span class="mw-page-title-main">IRAF</span> Software collection for astronomical data reduction and data analysis

IRAF is a collection of software written at the National Optical Astronomy Observatory (NOAO) geared towards the reduction of astronomical images and spectra in pixel array form. This is primarily data taken from imaging array detectors such as CCDs. It is available for all major operating systems for mainframes and desktop computers. IRAF was designed cross-platform, supporting VMS and UNIX-like operating systems. Use on Microsoft Windows was made possible by Cygwin in earlier versions, and can be today done with the Windows Subsystem for Linux. Today, it is primarily used on macOS and Linux.

<span class="mw-page-title-main">LAPACK</span> Software library for numerical linear algebra

LAPACK is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008). The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.

<span class="mw-page-title-main">ROOT</span> Data analysis software

ROOT is an object-oriented computer program and library developed by CERN. It was originally designed for particle physics data analysis and contains several features specific to the field, but it is also used in other applications such as astronomy and data mining. The latest minor release is 6.28, as of 2023-02-03.

Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C and Fortran. Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions.

<span class="mw-page-title-main">Atmospheric refraction</span> Deviation of light as it moves through the atmosphere

Atmospheric refraction is the deviation of light or other electromagnetic wave from a straight line as it passes through the atmosphere due to the variation in air density as a function of height. This refraction is due to the velocity of light through air decreasing with increased density. Atmospheric refraction near the ground produces mirages. Such refraction can also raise or lower, or stretch or shorten, the images of distant objects without involving mirages. Turbulent air can make distant objects appear to twinkle or shimmer. The term also applies to the refraction of sound. Atmospheric refraction is considered in measuring the position of both celestial and terrestrial objects.

The International Celestial Reference System (ICRS) is the current standard celestial reference system adopted by the International Astronomical Union (IAU). Its origin is at the barycenter of the Solar System, with axes that are intended to "show no global rotation with respect to a set of distant extragalactic objects". This fixed reference system differs from previous reference systems, which had been based on Catalogues of Fundamental Stars that had published the positions of stars based on direct "observations of [their] equatorial coordinates, right ascension and declination" and had adopted as "privileged axes ... the mean equator and the dynamical equinox" at a particular date and time.

<span class="mw-page-title-main">Spherical astronomy</span> Branch of astronomy about the celestial sphere

Spherical astronomy, or positional astronomy, is a branch of observational astronomy used to locate astronomical objects on the celestial sphere, as seen at a particular date, time, and location on Earth. It relies on the mathematical methods of spherical trigonometry and the measurements of astrometry.

<span class="mw-page-title-main">Gart Westerhout</span> Dutch-American astronomer (1927–2012)

Gart Westerhout was a Dutch-American astronomer. Well before completing his university studies at Leiden, he had already become well-established internationally as a radio astronomer in the Netherlands, specializing in studies of radio sources and the Milky Way Galaxy based on observations of radio continuum emissions and 21-cm spectral line radiation that originates in interstellar hydrogen. He emigrated to the United States, became a naturalized citizen, and held a number of important scientific and management positions in academic and government institutions.

Astronomical Image Processing System++ is a software package whose development was started in the early nineties, written almost entirely in C++, and which initial goal was to replace the by then already aging AIPS software. It has now been reborn as CASA and is the basis of the image processing systems for several next-generation radio telescopes including ALMA, eVLA, and ASKAP.

The Standards of Fundamental Astronomy (SOFA) software libraries are a collection of subroutines that implement official International Astronomical Union (IAU) algorithms for astronomical computations.

Novas are cataclysmic nuclear explosions in white dwarf stars.

<span class="mw-page-title-main">Astropy</span> Python language software

Astropy is a collection of software packages written in the Python programming language and designed for use in astronomy. The software is a single, free, core package for astronomical utilities due to the increasingly widespread usage of Python by astronomers, and to foster interoperability between various extant Python astronomy packages. Astropy is included in several large Python distributions; it is part of package managers for Linux and macOS, the Anaconda Python Distribution, Enthought Canopy and Ureka.

The barycentric celestial reference system (BCRS) is a coordinate system used in astrometry to specify the location and motions of astronomical objects. It was created in 2000 by the International Astronomical Union (IAU) to be the global standard reference system for objects located outside the gravitational vicinity of Earth: planets, moons, and other Solar System bodies, stars and other objects in the Milky Way galaxy, and extra-galactic objects.

References

  1. 1 2 Kaplan, George H. "NOVAS" . Retrieved 2015-07-16.
  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. Bibcode:1989AJ.....97.1197K. doi: 10.1086/115063 .
  3. Jay Alan Borseth. "Pocket Stars Product Versions (PDA, SP, PC)". Nomad Electronics. Retrieved 2008-08-01.
  4. Kaplan, George H. "NOVAS - Python" . Retrieved 2016-01-16.
  5. Kaplan, George H. "Naval Observatory Vector AStrometry Software (NOVAS) Version 3.1, Introducing a Python Edition" (PDF). Retrieved 2016-01-16.