Skip to content

Release v1.4 - #33

Closed
icweaver wants to merge 1 commit into
release-1.3from
release-1.4
Closed

icweaver wants to merge 1 commit into
release-1.3from
release-1.4

Conversation

@icweaver

@icweaver icweaver commented Jul 3, 2026

Copy link
Copy Markdown
Member
changes.lis
            Updates for SOFA Release 18 : 2021 May 11
            - - - - - - - - - - - - - - - - - - - - - -

Summary of Changes
------------------
The changes 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).


ANSI C Library
--------------

sofa.h      The information in both these files has been rearranged to
sofam.h     eliminate problems encountered by C++ developers.  
            The change has 
            (i)  moved the structures from sofam.h into sofa.h and
            (ii) 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.

iauAtcc13   New support function to transform a star's ICRS catalog 
            entry (epoch J2000.0) into ICRS astrometric place.

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.

iauDat      Year extended to 2021.

iauG2icrs   Documentation updated.
iauIcrs2g

makefile    An error has been corrected when using "make check".  The 
            directory for the include files was incorrect.

iauMoon98   New support function for calculating approximate geocentric 
            position and velocity of the Moon.  

iauPlan94   Documentation updates and corrections.

t_sofa_c    The test program has been updated to include the three new 
            functions.

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.
t_sofa_c.c diff
--- sofa_c-20210125_a/sofa/20210125_a/c/src/t_sofa_c.c	2021-02-23 16:21:36.000000000 -0800
+++ sofa_c-20210512/sofa/20210512/c/src/t_sofa_c.c	2021-05-12 03:03:28.000000000 -0700
@@ -1 +0,0 @@
-#include <stdio.h>
@@ -2,0 +2,2 @@
+#include "sofam.h"
+#include <stdio.h>
@@ -20 +21 @@
-**  This revision:  2021 January 5
+**  This revision:  2021 April 18
@@ -22 +23 @@
-**  SOFA release 2021-01-25
+**  SOFA release 2021-05-12
@@ -1146,0 +1148,73 @@
+static void t_atcc13(int *status)
+/*
+**  - - - - - - - - -
+**   t _ a t c c 1 3
+**  - - - - - - - - -
+**
+**  Test iauAtcc13 function.
+**
+**  Returned:
+**     status    int         FALSE = success, TRUE = fail
+**
+**  Called:  iauAtcc13, vvd
+**
+**  This revision:  2021 April 18
+*/
+{
+   double rc, dc, pr, pd, px, rv, date1, date2, ra, da;
+
+
+   rc = 2.71;
+   dc = 0.174;
+   pr = 1e-5;
+   pd = 5e-6;
+   px = 0.1;
+   rv = 55.0;
+   date1 = 2456165.5;
+   date2 = 0.401182685;
+
+   iauAtcc13(rc, dc, pr, pd, px, rv, date1, date2, &ra, &da);
+
+   vvd(ra,  2.710126504531372384, 1e-12,
+           "iauAtcc13", "ra", status);
+   vvd(da, 0.1740632537628350152, 1e-12,
+           "iauAtcc13", "da", status);
+
+}
+
+static void t_atccq(int *status)
+/*
+**  - - - - - - - -
+**   t _ a t c c q
+**  - - - - - - - -
+**
+**  Test iauAtccq function.
+**
+**  Returned:
+**     status    int         FALSE = success, TRUE = fail
+**
+**  Called:  iauApcc13, iauAtccq, vvd
+**
+**  This revision:  2021 April 18
+*/
+{
+   double date1, date2, eo, rc, dc, pr, pd, px, rv, ra, da;
+   iauASTROM astrom;
+
+   date1 = 2456165.5;
+   date2 = 0.401182685;
+   iauApci13(date1, date2, &astrom, &eo);
+   rc = 2.71;
+   dc = 0.174;
+   pr = 1e-5;
+   pd = 5e-6;
+   px = 0.1;
+   rv = 55.0;
+
+   iauAtccq(rc, dc, pr, pd, px, rv, &astrom, &ra, &da);
+
+   vvd(ra, 2.710126504531372384, 1e-12, "iauAtccq", "ra", status);
+   vvd(da, 0.1740632537628350152, 1e-12, "iauAtccq", "da", status);
+
+}
+
@@ -5277,0 +5352,37 @@
+static void t_moon98(int *status)
+/*
+**  - - - - - - - - -
+**   t _ m o o n 9 8
+**  - - - - - - - - -
+**
+**  Test iauMoon98 function.
+**
+**  Returned:
+**     status    int         FALSE = success, TRUE = fail
+**
+**  Called:  iauMoon98, vvd, viv
+**
+**  This revision:  2021 April 12
+*/
+{
+   double pv[2][3];
+
+
+   iauMoon98(2400000.5, 43999.9, pv);
+
+   vvd(pv[0][0], -0.2601295959971044180e-2, 1e-11,
+       "iauMoon98", "x 4", status);
+   vvd(pv[0][1], 0.6139750944302742189e-3, 1e-11,
+       "iauMoon98", "y 4", status);
+   vvd(pv[0][2], 0.2640794528229828909e-3, 1e-11,
+       "iauMoon98", "z 4", status);
+
+   vvd(pv[1][0], -0.1244321506649895021e-3, 1e-11,
+       "iauMoon98", "xd 4", status);
+   vvd(pv[1][1], -0.5219076942678119398e-3, 1e-11,
+       "iauMoon98", "yd 4", status);
+   vvd(pv[1][2], -0.1716132214378462047e-3, 1e-11,
+       "iauMoon98", "zd 4", status);
+
+}
+
@@ -9889 +10000 @@
-**  This revision:  2017 October 21
+**  This revision:  2021 April 18
@@ -9923,0 +10035,2 @@
+   t_atcc13(&status);
+   t_atccq(&status);
@@ -10035,0 +10149 @@
+   t_moon98(&status);

Depends on #32

@icweaver
icweaver changed the base branch from main to release-1.3 July 3, 2026 22:13
@icweaver icweaver mentioned this pull request Jul 3, 2026
@icweaver icweaver changed the title Release 1.4 Release v1.4 Jul 3, 2026
@codecov

codecov Bot commented Jul 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.76%. Comparing base (9cb610e) to head (2352d59).

Additional details and impacted files
@@               Coverage Diff               @@
##           release-1.3      #33      +/-   ##
===============================================
+ Coverage        96.72%   96.76%   +0.04%     
===============================================
  Files              245      248       +3     
  Lines             1129     1144      +15     
===============================================
+ Hits              1092     1107      +15     
  Misses              37       37              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@icweaver

Copy link
Copy Markdown
Member Author

Registered SOFA v1.4.0 directly from the release-1.4 branch (General #160764, tagged v1.4.0 → 1b179b6). This branch is a long-lived maintenance line pinned to SOFA_jll = ~2021.5.12; closing without merging, as main is reserved for the future pure-Julia v2 rewrite.

@icweaver icweaver closed this Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants