[LEAPSECS] How good could civil timekeeping be?

Rob Seaman seaman at noao.edu
Sat Feb 16 00:11:52 EST 2008

> Neither the ATC nor the nuclear control systems care about where the

> sun or the stars is in the sky.

They may not care for the same reasons that astronomers care, but
let's list a few of the many ways they might care:

1a) Systems may need a table of leap seconds (after all, that's what
all the kvetching has been about). Will this be required
indefinitely? Maintenance procedures and such?

1b) Or systems might benefit from removing such obsolete dependencies
after the UTCng change. Clearly an inventory will be needed to find

1c) Say that after UTCng is adopted, it is realized that a mistake was
made and the original UTC rules are restored. An inventory
distinguishing between class 1a and class 1b systems will be needed.
(One might assert that implementing any kind of policy that is
designed to be irreversible is unwise.)

2) Systems may be layered on libraries that require DUT1 or other
artifacts of the current UTC.

3) Interoperating systems from different countries may rely on civil
time as mean solar time (as with Denmark) or alternately as a flavor
of unsegmented atomic time. The interpretations may clash.

4) What are the procedures for setting the clocks? Will these change?

5) Many industries predate UTC. Internal interfaces may realize mean
solar time, rather than UTC.

6) Airplanes navigate the skies. Software systems to do this surely
both predate and postdate GPS. The internal models to realize this
likely diverge in their interpretation of UTC.

7) Power plants realize loads that vary diurnally. An insolation
model may be required (or a tide model for shipping, etc).

8) Navigational systems need to know the longitude, as may other
systems. As with astrometry software, a GIS application will need to
convert coordinates back and forth with timelike quantities mimicking
spatial transforms.

9) UTC - TAI = DUTC (or delta T or invert the sign) - which is to say
that the essence of UTC is to combine atomic time and mean solar time
into one tidy package. Which is to say that software may certainly
convert one to the other or the inverse (whether or not we think it
should have to).

10) It was said that: "any and all software that includes <time.h>
[is] candidate software that needs to be audited for correct leap
second handling". A system that needs auditing for some quasi-
periodic effect (even if an annoyance) will need auditing when such
time tested resets cease.

I assert an inventory similar to Y2K is required. For mission or
safety critical systems a risk assessment should be performed. One
might start with a couple of simple string searches:

find . -exec grep -l UTC {} \;
find . -exec grep -l DUT1 {} \;

(In practice, the list of search terms will be more extensive, as
those who performed Y2K inventories will confirm.)

"UTC" (and similar) string matching should reveal most modules that
(may) care about timekeeping. "DUT1" matching will reveal routines
that may suffer a Y2K-like failure when DUT1 exceeds 0.9s. Hits for
UTC that are not hits for DUT1 may represent modules that will have to
become DUT1 aware.

It may well be that code relying on the current civil time standard
being mean solar time (as it is and has recently been in many locales)
would be better layered on an unsegmented timebase like TAI, TI, GPS
or UTCng (even in astronomy). Making that happen would require
recoding. Alternately, perhaps mean solar time might have been what
was intended (as with astronomy) or it may simply be deemed easier to
remain with the old standard. In that case, recoding to support DUT1
> 0.9s may be required.

Finally (for this message), a feature of the ITU proposal is to cease
transmission of DUT1 signals. One can read between the lines (but
really shouldn't have to - that's part of my sermon on planning), and
presume that some other system will be commissioned to transmit DUT1.
However, any DUT1 aware code will have to be relayered on the new

Rob Seaman

More information about the LEAPSECS mailing list