Click or drag to resize
NOVAS2 Class

Note: This API is now obsolete.

NOVAS: Class presenting the contents of the NOVAS 2 library. NOVAS was developed by the Astronomical Applications department of the United States Naval Observatory. The C language version of NOVAS was developed by John Bangert at USNO/AA.
Inheritance Hierarchy

Namespace: ASCOM.Astrometry.NOVAS
Assembly: ASCOM.Astrometry (in ASCOM.Astrometry.dll) Version: (
[ObsoleteAttribute("This class will be withdrawn in the next major release, please use the SOFA or NOVAS31 classes instead")]
public class NOVAS2

The NOVAS2 type exposes the following members.

Public methodNOVAS2
Initializes a new instance of the NOVAS2 class
Public methodStatic memberAberration
Corrects position vector for aberration of light.
Public methodStatic memberAppPlanet
Compute the apparent place of a planet or other solar system body.
Public methodStatic memberAppStar
Computes the apparent place of a star
Public methodStatic memberAstroPlanet
Computes the astrometric place of a planet or other solar system body.
Public methodStatic memberAstroStar
Computes the astrometric place of a star
Public methodStatic memberBaryToGeo
Moves the origin of coordinates from the barycenter of the solar system to the center of mass of the Earth
Public methodStatic memberCalDate
Compute a date on the Gregorian calendar given the Julian date.
Public methodStatic memberCelPole
This function allows for the specification of celestial pole offsets for high-precision applications.
Public methodStatic memberDeltaT
Return the value of DeltaT for the given Julian date
Public methodStatic memberEarthTilt
Computes quantities related to the orientation of the Earth's rotation axis at Julian date 'tjd'.
Public methodStatic memberEphemeris
Retrieves the position and velocity of a body from a fundamental ephemeris.
Public methodStatic memberEqu2Hor
Transform apparent equatorial coordinates to horizon coordinates
Public methodStatic memberFundArgs
To compute the fundamental arguments.
Public methodStatic memberGetEarth
Obtains the barycentric and heliocentric positions and velocities of the Earth from the solar system ephemeris.
Public methodStatic memberJulianDate
This function will compute the Julian date for a given calendar date (year, month, day, hour).
Public methodStatic memberLocalPlanet
Computes the local place of a planet or other solar system body, given the location of the observer.
Public methodStatic memberLocalStar
Computes the local place of a star
Public methodStatic memberMakeCatEntry
To create a structure of type 'cat_entry' containing catalog data for a star or "star-like" object.
Public methodStatic memberMeanStar
Computes the mean place of a star for J2000.0
Public methodStatic memberNutate
Nutates equatorial rectangular coordinates from mean equator and equinox of epoch to true equator and equinox of epoch.
Public methodStatic memberNutationAngles
Provides fast evaluation of the nutation components according to the 1980 IAU Theory of Nutation.
Public methodStatic memberPnsw
Transforms a vector from an Earth-fixed geographic system to a space-fixed system
Public methodStatic memberPrecession
Precesses equatorial rectangular coordinates from one epoch to another.
Public methodStatic memberProperMotion
Applies proper motion, including foreshortening effects, to a star's position.
Public methodStatic memberRADec2Vector
Converts equatorial spherical coordinates to a vector (equatorial rectangular coordinates).
Public methodStatic memberRefract
Computes atmospheric refraction in zenith distance.
Public methodStatic memberSetBody
Sets up a structure of type 'body' - defining a celestial object- based on the input parameters.
Public methodStatic memberSHGetSpecialFolderPath
Get path to a system folder
Public methodStatic memberSiderealTime
Computes the Greenwich apparent sidereal time, at Julian date 'jd_high' + 'jd_low'.
Public methodStatic memberSolarSystem
Provides the position and velocity of the Earth
Public methodStatic memberSpin
Transforms geocentric rectangular coordinates from rotating system to non-rotating system
Public methodStatic memberStarVectors
Converts angular quanities for stars to vectors.
Public methodStatic memberSunEph
Compute equatorial spherical coordinates of Sun referred to the mean equator and equinox of date.
Public methodStatic memberSunField
Corrects position vector for the deflection of light in the gravitational field of the Sun.
Public methodStatic memberTdb2Tdt
Converts TDB to TT or TDT
Public methodStatic memberTerra
Computes the position and velocity vectors of a terrestrial observer with respect to the center of the Earth.
Public methodStatic memberTopoPlanet
Computes the topocentric place of a planet, given the location of the observer.
Public methodStatic memberTopoStar
Computes the topocentric place of a star
Public methodStatic memberTransformCat
To transform a star's catalog quantities for a change of epoch and/or equator and equinox.
Public methodStatic memberTransformHip
To convert Hipparcos data at epoch J1991.25 to epoch J2000.0 and FK5-style units.
Public methodStatic memberVector2RADec
Converts an vector in equatorial rectangular coordinates to equatorial spherical coordinates.
Public methodStatic memberVirtualPlanet
Computes the virtual place of a planet or other solar system body.
Public methodStatic memberVirtualStar
Computes the virtual place of a star
Public methodStatic memberWobble
Corrects Earth-fixed geocentric rectangular coordinates for polar motion.
The NOVAS class is a STATIC class and is the component of preference for .NET programmers. This means that you do not have to create an instance of the class in order to access its members. Instead you reference them directly from the class. So, this works:
rc = ASCOM.Astrometry.NOVAS2.AppStar(tjd, earth, star, ra, dec)
while this does not work:
Dim Nov as New ASCOM.Astrometry.NOVAS2
rc = Nov.AppStar(tjd, earth, star, ra, dec)

Method names are identical to those used in NOVAS2, as are almost all paramaters. There are a few changes that introduce some new structures but these should be self explanatory. One significant difference is that position and velocity vectors are returned as structures rather than double arrays. This was done to make type checking more effective.

Testing of the high level supervisory functions has been carried out using real-time star data from the USNO web site. Values provided by this NOVAS2 implementation agree on average to about 50 milli arc-seconds with current USNO web site values.

This class is implemented using a thin layer of .NET code that calls functions in either a 32 or 64 bit compiled version of the unmodified C code from ther USNO web site. The .NET code does not carry out calculations itself, it simply handles any interface presentation differences and calls the relevant 32 or 64bit code according to its environment.

Note: This class only supports Earth in the XXXXPlanet classes, which is a consequence of the implementation used. Please use the NOVAS3.1 or later classes in applications that require planetary or moon ephemeredes as these classes can access the JPL 421 planetary ephemeris data provided as part of the ASCOM distribution.

See Also