Click or drag to resize

Note: This API is now obsolete.

NOVAS2COM: Instanciable 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 NOVAS2COM

The NOVAS2COM type exposes the following members.

Public methodNOVAS2COM
Initializes a new instance of the NOVAS2COM class
Public methodAberration
Corrects position vector for aberration of light.
Public methodAppPlanet
Compute the apparent place of a planet or other solar system body.
Public methodAppStar
Computes the apparent place of a star
Public methodAstroPlanet
Computes the astrometric place of a planet or other solar system body.
Public methodAstroStar
Computes the astrometric place of a star
Public methodBaryToGeo
Moves the origin of coordinates from the barycenter of the solar system to the center of mass of the Earth
Public methodCalDate
Compute a date on the Gregorian calendar given the Julian date.
Public methodCelPole
This function allows for the specification of celestial pole offsets for high-precision applications.
Public methodDeltaT
Return the value of DeltaT for the given Julian date
Public methodEarthTilt
Computes quantities related to the orientation of the Earth's rotation axis at Julian date 'tjd'.
Public methodEphemeris
Retrieves the position and velocity of a body from a fundamental ephemeris.
Public methodEqu2Hor
Transform apparent equatorial coordinates to horizon coordinates
Public methodFundArgs
To compute the fundamental arguments.
Public methodGetEarth
Obtains the barycentric and heliocentric positions and velocities of the Earth from the solar system ephemeris.
Public methodJulianDate
This function will compute the Julian date for a given calendar date (year, month, day, hour).
Public methodLocalPlanet
Computes the local place of a planet or other solar system body, given the location of the observer.
Public methodLocalStar
Computes the local place of a star
Public methodMakeCatEntry
To create a structure of type 'cat_entry' containing catalog data for a star or "star-like" object.
Public methodMeanStar
Computes the mean place of a star for J2000.0
Public methodNutate
Nutates equatorial rectangular coordinates from mean equator and equinox of epoch to true equator and equinox of epoch.
Public methodNutationAngles
Provides fast evaluation of the nutation components according to the 1980 IAU Theory of Nutation.
Public methodPnsw
Transforms a vector from an Earth-fixed geographic system to a space-fixed system
Public methodPrecession
Precesses equatorial rectangular coordinates from one epoch to another.
Public methodProperMotion
Applies proper motion, including foreshortening effects, to a star's position.
Public methodRADec2Vector
Converts equatorial spherical coordinates to a vector (equatorial rectangular coordinates).
Public methodRefract
Computes atmospheric refraction in zenith distance.
Public methodSetBody
Sets up a structure of type 'body' - defining a celestial object- based on the input parameters.
Public methodSiderealTime
Computes the Greenwich apparent sidereal time, at Julian date 'jd_high' + 'jd_low'.
Public methodSolarSystem
Provides the position and velocity of the Earth
Public methodSpin
Transforms geocentric rectangular coordinates from rotating system to non-rotating system
Public methodStarVectors
Converts angular quanities for stars to vectors.
Public methodSunEph
Compute equatorial spherical coordinates of Sun referred to the mean equator and equinox of date.
Public methodSunField
Corrects position vector for the deflection of light in the gravitational field of the Sun.
Public methodTdb2Tdt
Converts TDB to TT or TDT
Public methodTerra
Computes the position and velocity vectors of a terrestrial observer with respect to the center of the Earth.
Public methodTopoPlanet
Computes the topocentric place of a planet, given the location of the observer.
Public methodTopoStar
Computes the topocentric place of a star
Public methodTransformCat
To transform a star's catalog quantities for a change of epoch and/or equator and equinox.
Public methodTransformHip
To convert Hipparcos data at epoch J1991.25 to epoch J2000.0 and FK5-style units.
Public methodVector2RADec
Converts an vector in equatorial rectangular coordinates to equatorial spherical coordinates.
Public methodVirtualPlanet
Computes the virtual place of a planet or other solar system body.
Public methodVirtualStar
Computes the virtual place of a star
Public methodWobble
Corrects Earth-fixed geocentric rectangular coordinates for polar motion.
The NOVAS2COM class is an instanciable class usable by COM clients. This means that you have to create an instance of the class in order to access its members. So, this works:
Dim Nov as New ASCOM.Astrometry.NOVAS2COM
rc = Nov.AppStar(tjd, earth, star, ra, dec)
while this does not work:
rc = ASCOM.Astrometry.NOVAS2COM.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