[LEAPSECS] Civil timekeeping before 1 January 1972

Brooks Harris brooks at edlmax.com
Thu Mar 12 13:07:18 EDT 2015


Hi Tom,

On 2015-03-12 02:57 AM, Tom Van Baak wrote:
> Brooks,
>
> A couple more comments on your questions.
>
>> Many timekeeping systems seem to be designed for only indicating "now"
>> counting forward, including NTP, POSIX, and PTP, taking short-cuts to
>> avoid supplying full Leap Second and local-time metadata.
> I'm not clear why you call that a "short-cut". It's just how clocks works.
Right, that's how a traditional clock works but that's fundamentally 
inadequate when the UTC counting methods are in use. What I meant by 
"short-cut" is that the UTC metadata (Leap Second announce and table) 
are generally not provided or accounted for. NTP and POSIX drop the 
23:59:60 count. They work like a traditional clock, not like a "UTC clock".
> They tick forward and there is no requirement that they keep a record of time in the past.
Right, Thats' the traditional concept of a clock. But we very much need 
to calculate durations - "how long ago did an event happen?", "how long 
was it between event A and event B?", "when is event A scheduled to occur?"

Traditionally, days were 86400 long, so calculating durations was 
simple. Days are 86400 long in NTP and POSIX, so calculating durations 
is simple BUT it doesn't match UTC! How many seconds between 
1972-06-30T23:59:59Z (UTC) and 1972-01-01T00:00:00Z (UTC)? Two, not one, 
because in NTP and POSIX 1972-06-30T23:59:60Z (UTC) went missing.

> Furthermore, any clock keeping UTC has no need for local time metadata. So you should not lump the tz mess into the simplicity of keeping UTC.

Right, well, typically the objective is to indicate "local civil time". 
Only those jurisdictions at -00:00 offset from the UTC can use UTC, and 
even then might observe Daylight. Humans care about "local civil time" - 
only the timekeepers care about UTC who use it as the reference 
timescale from which "local civil time" is derived. Yes, of course, the 
whole topic of the tz mess is dragged into the calculation, which is 
outside of UTC timekeeping discussion proper, but still required for 
practical purpose of indicating "local civil time" and coordinating 
activities by those time representations.

> The only thing a UTC clock requires is advanced notice of the length of the current minute.
In principle the announce could be even faster than that to keep 
counting forward, but to schedule an event in the future you need either 
the next upcoming Leap Second or how long in the future *we are sure* 
there will not be a Leap Second.

> This is required by no later than second 58 in the minute.
Right.
> But for practical reasons a UTC clock typically gets more notice than that, as you know.

The more notice you have, the further in the future you can confidently 
schedule, or predict.

Currently the announcements are essentially done by humans. ITU-R Rec 
460 says "The IERS should decide upon and announce the introduction of a 
leap-second, such an announcement to be made at least eight weeks in 
advance". That gives the humans at IERS time to create and publish 
Bulletin C and presumably all the timekeeper humans enough time to 
implement the upcoming Leap Second into their time servers or protocols.

IERS has done this "at least eight weeks in advance". The most recent 
Bulletin C was issued nearly six months in advance. Note, however, its 
not clear *exactly when* it was issued. I became aware of it like on Jan 
2, but you'd really like to know *exactly* when it was issued.

Of course you'd really like to have this notification *automatically* 
issued and taken up by all time servers, protocols, and applications 
everywhere.


>> I've never
>> been able to understand why that practice persists despite the obvious
>> need to be able to fully represent the entire post-1972 UTC timescale.
>> The policy and forms of the announce signals and Leap Seconds table are
>> obvious missing links, and its regrettable no official attempt has been
>> made since 1972 to rectify those inadequacies.
> I don't know what you mean by represent the entire post-1972 timescale. Or why such a need is "obvious".
As Warner said in another LEAPSEECS post -

"A clock doesn’t need to know its past. But a time scale is more than 
just how many seconds the current minute will have. It has a history and 
to compute elapsed time in that time scale, you need to know its history."

You don't have a definition of what your clock means if you don't have a 
specification of the timescale its representing. For the UTC timescale 
you need the Leap Second metadata - all of it.

>
> A clock does not need to represent the infinite past, present, and future of a timescale. In the case of UTC the near future is unknowable anyway. The present is the requirement. And the past may or may not be a requirement depending on the user. Certainly a stand-alone RTC or time code generator or data logger or cesium clock keeping UTC does not need to know the past. So a historical table is not important. Only the leap second notification is needed.
>
> That's why the time codes you see broadcast, like WWVB or GPS only include a leap second notification and not a full table.
>
> By the way, the downside of WWVB's format is that it is not possible to obtain TAI. With GPS, at least, TAI is not only possible but easier and more reliable than UTC.

Long ago it was decided to disseminate time as UTC. This to maintain 
continuity with the tradition of representing time as the "solar day", 
or "mean solar day". I think that's the right approach, but the 
specifications are unclear and incomplete, not to mention the "local 
civil time" difficulties, which really overwhelms the TAI/UTC trouble as 
far as accuracy is concerned.

If you have all the metadata (Leap Second announce, expiration, and 
table) its easy to convert between UTC and TAI. With that you can 
calculate accurate elapsed times and schedule as far in the future as 
the upcoming Leap Second and expiration allow.

Conceptually you could think of UTC as really a dissemination of TAI, 
but *encoded* with the "UTC counting method". But the broadcast UTC time 
stamps don't have the metadata to make the conversion, so its incomplete 
by itself, and there's no way to reliably, officially, and automatically 
obtain the metadata.

Meantime there are the widely used NTP and POSIX timescales which are 
obviously flawed in their counting of UTC, but these too can be 
converted to TAI or UTC if the metadata is available.

Imagine BIPM, IERS, and ITU had originally done it the other way round - 
disseminate TAI together with metadata to convert to UTC. Then you could 
represent the timescales. But that's not what happened - they 
distributed a UTC "clock", not the whole timescale.

In my opinion the central problem is the missing UTC Leap Second 
metadata. Of course that by itself doesn't address the "local civil 
time" challenge, but it would at least help eliminate the problems of UTC.

Simply "eliminating Leap Seconds" from the UTC time dissemination values 
might help some faulty implementations from crashing or hanging, but it 
could also evoke new unknown problems and bugs in other implementations. 
By itself it doesn't eliminate the timekeeping difficulties in general. 
It would only muddy the waters and disconnect us from the centuries old 
tradition and goal of timekeeping by the Sun's position. From a 
standard's point of view I think its just too dangerous to change the 
procedures.

I think we're stuck with UTC, and UTU-R should add a forth option to 
their agenda - go about defining a new modern way to distribute the 
official UTC metadata.

-Brooks

>
> /tvb
> _______________________________________________
> LEAPSECS mailing list
> LEAPSECS at leapsecond.com
> https://pairlist6.pair.net/mailman/listinfo/leapsecs
>
>



More information about the LEAPSECS mailing list