[ntp:questions] Re: ntp servers reporting leap second erroneously?
Tom Van Baak
tvb at leapsecond.com
Sun Oct 23 16:24:23 UTC 2005
> There is no provision in the NIST WWV/H/B timecode for a leap deletion
This is not true. Let me explain in detail below.
> nor is ther provision in the hardware timecode generators for that. The
This is true.
> DUT1 is a signed adjustment to the current UTC to produce UTC1. The
Yes, and it's this same DUT1 sign bit that tells you
if the leap second is to be inserted or deleted. Think
about it... As DUT1 gradually goes from positive to
negative in 0.1 second increments over the months,
IERS announces a leap second, and the WWV* leap
second pending bit is lit. User software reading the
WWV* subcode can tell if the leap second is positive
by the fact that the DUT1 sign is negative.
By contrast if the Earth were to speed up for a while
DUT1 will be gradually increasing, and as it climbs
in 0.1 second increments into positive territory and
approaches +0.9 s, IERS will be forced to declare a
negative leap second, and WWV* will set the leap
second pending bit. User software reading the WWV*
subcode can tell if the leap second is negative by the
fact that the DUT1 sign is positive.
So it may be tricky, and not obvious on first reading,
but the WWV* timecode format, as defined by NIST,
is capable of handling negative leap seconds should
they ever occur.
You and I both know privately that the old transistor
TCG in Ft Collins can't handle dropping a second at
this time, but that's hardware. The point I'm trying to
make is that the timecode format can handle both
types of leap seconds.
Provision for negative leap seconds is implicit in any
timecode that contains both a boolean leap second
pending bit and a DUT1 sign bit.
> adjustment changes sign after a leap second to reflect the current
> offset of UTC1 from UTC. The DUT1 sign has nothing to do with the
> insertion/deletion of the leap.
Think about it - the only reason we need leap seconds
is that DUT1 is non-zero and has a sign. ;-)
Perhaps code speaks clearer than words. Take a look
at the WWVB TCG source code at:
Example of leap years, positive, and negative leap
seconds are posted there.
More information about the questions