Click or drag to resize
Coordinate Conversion
Which Astrometry Component?

At Platform 6.1, the Platform has four astrometric components:

  • Transform
  • SOFA
  • NOVASCOM
  • NOVAS2

The ASCOM.Astrometry namespace of the Platform has become overcrowded with components that have similar capabilities but that differ in small ways from each other (e.g. NOVAS2, NOVAS2COM, NOVAS3, NOVAS3.1). The recent realisation that some NOVAS routines use iterative algorithms that can fail, when in very close proximity to the poles, led to a search for an alternative and the SOFA Library was found to be an actively maintained and authoritative choice.

The addition of a SOFA component brings the number of high precision astronomy libraries distributed within the Platform to 8! To reduce the maintenance burden, SOFA will become the primary high precision library for astronomical computing distributed with the ASCOM Platform and dependence of Platform components on NOVAS will be removed. However, the NOVAS routines provide functionality that is not present in SOFA e.g. major and minor planet ephemerides and consequently the NOVAS 3.1 component will continue to be distributed with the Platform.

The following NOVAS components will be removed from the Platform installer at the next major update and moved into a separate installer:
  • Kepler
  • NOVASCOM
  • NOVAS2
  • NOVAS2COM
  • NOVAS3

Surely an embarrassment of riches? In fact these components provide different capabilities and are targetted at different requirements and uses as described below.

Transform

This simple component is designed for the telescope or dome driver author who simply needs to convert between J2000 RA/DEC co-ordinates and local topocentric RA/DEC and AZ/EL co-ordinates and vice-versa. The Topocentric RA/DEC and AZ/EL coordinates can also be corrected for refraction effects. The component is built on the established NOVAS3.1 supervisory library routines.

This component can be used directly by .NET based applications and is also exposed as a COM object to enable use by scripting and other languages.

Under the hood, Transform now ses the SOFA routines rather than NOVAS for better performance near the celestial poles.

SOFA

The International Astronomical Union's SOFA service has the task of establishing and maintaining an accessible and authoritative set of algorithms and procedures that implement standard models used in fundamental astronomy. The service is managed by an international panel, the SOFA Board, appointed through IAU Division A — Fundamental Astronomy. SOFA also works closely with the International Earth Rotation and Reference Systems Service (IERS).

This comnponent presents the latest SOFA routines so that they are accessible from both 32bit and 64bit COM and .NET applications. In 2014, ASCOM adopted SOFA as its primary technology for co-ordinate conversion. ASCOM's intention is that the ASCOM SOFA component will be updated as each new SOFA release is made rather than adding new components as was done for NOVAS 3.0 and NOVAS 3.1

NOVAS3.1

This component is a shell for the NOVAS 3.1 library released in March 2011 for demanding applications that require access to the fundamental routines in the NOVAS3.1 library, the latest JPL DE421 planetary and lunar ephemerises or to calculations based on the IAU 2000 reference systems resolution. It contains a range of supervisory routines that provide access to high level functions and an extensive range of intermediate and basic level routines dedicated to lower level astrometric functions.

The calling interface is close to the original C interface and most calculated values are passed back through reference parameters.

This component can be used directly by .NET based applications and is also exposed as a COM object to enable use by scripting and other languages. Full functionality is available through the .NET interface, however, recent testing (April 2012) has shown that many methods are not accessible through COM interop because a number of method parameters are passed by Reference and use structures that do not pass across the COM interface (this is a technical COM limitation, not an ASCOM limitation).

NOVASCOM

This component is a refactoring of the NOVASCOM component authored by Bob Denny in 2001, which was provided as an optional download component in ASCOM Platforms 4 and 5. It is now integrated in the platform release and is appropriate for applications requiring accurate ephemerides of the major planets and in minor planet astrometrics. It can also handle star co-ordinate conversion from J2000 to Topocentric.

The component translates from J2000 to topocentric but not vice versa. It is built on the NOVAS2 astrometric library routines and the Kepler planetary ephemerides component.

This component can be used directly by .NET based applications and is also exposed as a COM object to enable use by scripting and other languages.

NOVAS2

This component is for demanding applications that require access to the fundamental routines in the NOVAS2 library. It contains a range of supervisory routines that provide access to high level functions and an extensive range of intermediate and basic level routines dedicated to lower level astrometric functions.

The calling interface is close to the original C interface and most calculated values are passed back through reference parameters.

This component can be used directly by .NET based applications and is also exposed as a COM object to enable use by scripting and other languages. Full functionality is available through the .NET interface, however, recent testing (April 2012) has shown that many methods are not accessible through COM interop because a number of parameters are passed by Reference or use structures that do not pass across the COM interface (this is a technical COM limitation, not an ASCOM limitation).

NOVAS3

This component is a shell for the NOVAS 3 library released in December 2009 for demanding applications that require access to the fundamental routines in the NOVAS3 library, the latest JPL DE421 planetary and lunar ephemerises or to calculations based on the IAU 2000 reference systems resolution. It contains a range of supervisory routines that provide access to high level functions and an extensive range of intermediate and basic level routines dedicated to lower level astrometric functions.

The calling interface is close to the original C interface and most calculated values are passed back through reference parameters.

This component can be used directly by .NET based applications and is also exposed as a COM object to enable use by scripting and other languages. Full functionality is available through the .NET interface, however, recent testing (April 2012) has shown that many methods are not accessible through COM interop because a number of method parameters are passed by Reference and use structures that do not pass across the COM interface (this is a technical COM limitation, not an ASCOM limitation).