[LEAPSECS] leap seconds in POSIX
Brooks Harris
brooks at edlmax.com
Sat Feb 1 12:05:33 EST 2020
On 2020-02-01 3:01 AM, Hal Murray wrote:
> tvb at LeapSecond.com said:
>> I see some good comments; did you get the answer you wanted?
> Nothing off list, so you have seen everything that I saw.
>
> I was hoping that there would be a good white paper or blog that discussed all
> the possibilities that have been considered and explained why they were
> rejected.
>
> -------
>
> Probably crazy idea dept...
>
> Has anybody considered having time_t and the kernel keep smeared time?
>
> The idea is that you can convert from smeared time to TAI or UTC with leaps.
> So a few new library routines should be enough for the few people who care
> about leap seconds.
>
>
The inconvenient truth is that atomic time is a constant frequency
phenomenon and mean solar time is a variable frequency phenomenon.
It would be straight forward to define a variable frequency timescale
that represented mean solar time very closely based on UT1. Each day
would have 86400 "seconds" in its YMDhms representation. Such a scale's
frequency would diverge from UTC frequency by only 5 ppb, a precision
below most systems ability to discern. However, the "seconds" of the
YMDhms representation would not be SI seconds and would not match the
UTC YMDhms, placing the midnight day boundary very slightly different
from the UTC midnights. It would probably satisfy the purposes of
computer time, civil time, celestial navigation, many astronomers, and
it would preserve the age old tradition of timekeeping by the Sun.
But suggestion of such a variable frequency scale is anathema to the
timing community (BIPM, IERS, etc) and unacceptable for GNSS navigation
and many engineering purposes such as industrial control, including the
industry I come from, the television business. Timekeeping laws all over
the world presume adherence to UTC as defined by ITU-R Rec 460. It's not
so much a technical problem as a political argument, the same debate
that raged during the 1960s and resulted in the constant frequency
definition of UTC we have today. There are two parts to the insistence
on constant frequency dissemination; 1) there can be one and only one
timescale and 2) this timescale must disseminate constant frequency SI
seconds. These criteria are politically immovable objects. This leads
the 'great leap-second debate' ongoing and unresolved since 1999.
Google Smear (and others) work around the practical problem by slewing
the frequency of their NTP servers across a 24 hour period so the
receiving systems never 'see' the leap-second.
Leap Smear
https://developers.google.com/time/smear#example_of_the_standard_smear
This works to avoid potential failure due to possible faulty leap-second
implementations throughout the system but results in ambiguous
timestamps during the smear. Note they say "The long duration keeps the
frequency change small. The change for the smear is about 11.6 ppm. This
is within the manufacturing and thermal errors of most machines' quartz
oscillators, and well under NTP's 500 ppm maximum slew rate.". Note this
is 86400 / 86401 = 0.9999884, 1 - 0.9999884 = 0.0000116.
The frequency of a variable frequency timescale based on UT1 would vary
from UTC by 5 ppb worst case, currently running closer to 1 ppb, ~four
orders of magnitude lower that Google Smear, and traceable to UTC with a
precision <10 ns. It would be something very close to what was once
called GMT.
But, as one colleague has put it, anyone suggesting such a solution
would be sent home without dinner. So you didn't hear it from me.
-Brooks
More information about the LEAPSECS
mailing list