Print

Print




On Fri, Apr 15, 2016 at 6:48 AM, Pierre Maxted <[log in to unmask]> wrote:
SUN67 advises the user to "[r]efer to the program source code for information on when the most recent leap second was added."

 The source code is not included with the distribution I have just downloaded (star-2015B for OS X), so how can I check this?


The source code is entirely open on Github at https://github.com/Starlink/starlink/blob/master/libraries/sla/dat.f

and is regularly updated. I assume Pat is referring to the C version when he implies that the source code is not open. Pat is right that you should use SOFA for new applications. The Starlink PAL library exists to allow you to migrate existing C code easily to SOFA by providing a C API that is very close to SLALIB (just change the "sla" prefix to "pal" in most cases) but which itself calls SOFA (technically it calls ERFA but that difference is not relevant here).

Fortran SLALIB and PAL are GPL. ERFA is BSD and SOFA is a bespoke IAU license.

 Better still, can sla_DAT be modified so that it can, as an option, return the MJD of the last update to the source code?
e.g., for the old C version of dat.c that I have add as the first executable line

 if ( utc  == -99) return 53736.0


That could be done but I'd be reticent to change the Fortran SLALIB API without approval from Pat.

-- 
Tim Jenness

---- Starlink User Support list For list configuration, including subscribing to and unsubscribing from the list, see https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=STARLINK