This class presents a subset of the SOFA (Standards of Fundamental Astronomy) astrometry routines in a form that is easily accessible from both 32bit and 64bit .NET and COM applications.

Namespace: ASCOM.Astrometry.SOFA
Assembly: ASCOM.Astrometry (in ASCOM.Astrometry.dll) Version: (


public class SOFA : ISOFA, IDisposable
Visual Basic
Public Class SOFA _
	Implements ISOFA, IDisposable
Visual C++
public ref class SOFA : ISOFA, IDisposable


SOFA operates under the auspices of the International Astronomical Union (IAU) to provide algorithms and software for use in astronomical computing. The entire SOFA collection comprises many authoritative routines across a number of areas including:
  • Astrometry
  • Calendars
  • Time Scales
  • Earth rotation and sidereal time
  • Ephemerides (medium precision)
  • Geocentric/geodetic transformations
  • Precession, nutation, polar motion
  • Star space motion
  • Star catalogue conversion

The class's functionality is provided by underlying DLLs compiled from unmodified original C source code distributed by SOFA but the class does not constitute software provided by and/or endorsed by SOFA. No change whatsoever has been made to the algorithms implemented by SOFA that realise IAU standards.

SOFA provides a validation routine to confirm that the compiled library provides expected results. 32 and 64bit versions of this routine (SofaTestXX.exe and SofaTestXX-64.exe, where XX is the issue number) are included in this distribution and can be found in the Common Files\ASCOM\Astrometry directory. To run them open a command prompt in the Astrometry directory and enter the commands SofaTest10 /verbose and SofaTest10-64 /verbose. The susbset of these tests that is relevant to the routines presented in this component have also been incorporated in the ASCOM Diagnostics tool and expected operation of the SOFA routnines can be confirmed through this tool.

Further information on the full library of SOFA routines is available here:

Inheritance Hierarchy


See Also