[LEAPSECS] Time math libraries, UTC to TAI

Zefram zefram at fysh.org
Thu Jan 5 11:47:08 EST 2017


Brooks Harris wrote:
>I'm not understanding where you think there is an error.

The last day of the Julian calendar was in reality, and necessarily, the
day preceding the first day of the Gregorian calendar.  The first day of
the Gregorian calendar is accurately shown in the table as 1582-10-15,
MJDN -100840.  The last day of the Julian calendar was therefore
MJDN -100841, and in the proleptic Gregorian calendar is 1582-10-14.
But that's not what the table shows.  The table incorrectly shows a date
ten days earlier than that: MJDN -100851, 1582-10-04 in the proleptic
Gregorian calendar.

The error has arisen by taking the expression of the correct day in
the *Julian* calendar, 1582-10-04, and reinterpreting it as a date in
the proleptic Gregorian calendar.  That reinterpretation is an error.
The numeric parts of that table entry are mutually consistent, but they
are inconsistent with the description "last day Julian".

>                                                         I think all the
>"Dates" are intended to be Gregorian and proleptic Gregorian,

The "1sh day Julian" entry is not consistent with that.  It's attempting
to describe the start of the day containing (at noon) the moment at
which JD=0.  It correctly gives MJD -2400001 for that time, and the
corresponding NTP scalar value.  But the date given as -4712-01-01 is not
correct, if interpreted according to the proleptic Gregorian calendar.
The correct date is actually -4713-11-24.  However, the date given is
correct for that day if interpreted according to the Julian calendar.
(It is no coincidence that JD=0 on the first day of a year of the Julian
calendar: the JD=0 epoch was chosen to be the coincidence of the starts
of several cycles of interest, one of which was the Julian calendar year,
and this is the source of the word "Julian" in "Julian Date".)

>                                                              that the NTP
>timestamp example values are on 86400-second-day midnights, and that MJD and
>"proleptic MJD" are treated as 86400-second-days.

No, they're silent about the lengths of days.  All the times described
are nominally at midnight UT.  (Notionally the time scale is UTC; it's not
real UTC.)  The NTP scalar values are all multiples of 86400, and the MJDs
all integral, simply because by definition they are always so at midnight.

>How should the MJD values in IERS Leap_Second_History.dat file be treated?

They describe times on the UTC time scale.  The integral values given
refer to midnight.  Every midnight has an integral MJD, but around leap
seconds such UTC MJD values are actually ambiguous: the way MJD-based
expressions work in UTC means that they're also integral at the start
of a leap second.  One must understand from the context of the table
that the MJDs given refer to the start of the new UTC day, and not to
the start of the preceding leap second.

-zefram


More information about the LEAPSECS mailing list