SOFA banner

  Changes for SOFA Issue: 2021-05-12 (Release 18)

 Summary of Changes

The changes for this major release fall into the following categories:

  1. Introduction of three new support routines. Two deal with calculating astrometric places, while the third provides the approximate lunar position and velocity. The validation program has been duly updated.
  2. A rearrangement of the ANSI C header files sofam.h and sofa.h. The consequence of this is that an explicit #include "sofam.h" has been added to many of the SOFA functions. Thus developers of applications that use constants from sofa.h will now need to include an explicit #include <sofam.h>. Further explanation is given below.
  3. The year of validity for the leap second (dat) routine has been extended.
  4. Typographical and other minor corrections to the documentation. Those that are purely typographical (e.g. punctuation) are not listed).

 Changes to the SOFA FORTRAN Library

  1. iau_ATCC13 — New support routine to transform a star's ICRS catalog entry (epoch J2000.0) into ICRS astrometric place.
  2. iau_ATCCQ — New support routine; a "quick" transformation of a star's ICRS catalog entry (epoch J2000.0) into ICRS astrometric place, given precomputed star-independent astrometry parameters.
  3. iau_dat — Year extended to 2021.
  4. iau_G2ICRS & iau_ICRS2G — Documentation updated.
  5. iau_MOON98 — New support routine for calculating approximate geocentric position and velocity of the Moon.
  6. iau_PLAN94 — Documentation updates and corrections.
  7. t_sofa_f — The test program has been updated to include the three new routines.

N.B. Both iau_MOON98 and iau_PLAN94 provide only approximate positions and do not use IAU endorsed theories.

 Changes to the SOFA ANSI C Library

  1. sofa.h & sofam.h — The information in both these files has been rearranged to eliminate problems encountered by C++ developers. The change has
    1. moved the structures from sofam.h into sofa.h and
    2. thus eliminated the #include "sofam.h" from sofa.h.

    The consequence of this change for SOFA functions is that an explicit #include "sofam.h" has had to be added to some of them.

    Previously, sofam.h contained both structure definitions and constants, and was #included by sofa.h, which was otherwise dedicated to function prototypes. The difficulty was that short uppercase names in sofam.h were colliding with C++ variables.

    The consequence of the change for developers is that any application that uses constants from sofa.h will now need an explicit #include <sofam.h>. It should, however, be noted that the contents of sofam.h are not formally part of the SOFA API, and so such an application is vulnerable to future changes. Rather than adding an #include <sofam.h> to applications, it would be better to replicate the needed macros in the user code.

  2. iauAtcc13 — New support function to transform a star's ICRS catalog entry (epoch J2000.0) into ICRS astrometric place.
  3. iauAtccq — New support function, a "quick" transformation of a star's ICRS catalog entry (epoch J2000.0) into ICRS astrometric place, given precomputed star-independent astrometry parameters.
  4. iauDat — Year extended to 2021.
  5. iauG2icrs & iauIcrs2g — Documentation updated.
  6. makefile — An error has been corrected when using "make check". The directory for the include files was incorrect.
  7. iauMoon98 — New support function for calculating approximate geocentric position and velocity of the Moon.
  8. iauPlan94 — Documentation updates and corrections.
  9. t_sofa_c — The test program has been updated to include the three new routines.
  10. Cosmetic changes to improve consistency have been made to the ANSI C code.

N.B. Both iauMoon98 and iauPlan94 provide only approximate positions and do not use IAU endorsed theories.

The SOFA Board thanks all those who have reported the various issues that go to ensuring the libraries and documentation are kept up-to-date and relevant.

SOFA Release 18: This changes file was updated on 2021 May 11.

@ IAU SOFA Center
Copyright © 2001-2021 International Astronomical Union
Last modified: 2021 May 11