⇐ ⇒

[CF-metadata] How to define time coordinate in GPS?

From: Karl Taylor <taylor13>
Date: Wed, 15 Jul 2015 13:30:52 -0700

Hi Jonathan and Jim,

Thanks for bearing with me as I educate myself and think about this
stuff. I rethought further about what I said yesterday and realized
that maybe we were still making this too complicated. Jonathan's
discussion helped me to come up with the following:

Starting with the following claims:

1) All model data stored under CF has been generated by models with
strict 86400 second mean sidereal days (and no leap seconds are necessary)

2) Up to now, the vast majority of all observational data stored under
CF has had reference times that can be associated with the UTC calendar
(or its predecessor GMT) and the elapsed times have been recorded
omitting leap seconds.

I make the second claim because, for example, folks doing daily
measurements or even 3-hourly measurements collected for synoptic
weather prediction record that data at certain times of day as dictated
by clocks that follow UTC. For example a measurement might be done
every day at 0Z and the person performing the measurement is probably
not even aware that every once in a while he had to wait 1 second longer
than usual because a leap second was inserted. When these measurements
are recorded as time series, I'd be surprised if anyone has inserted a
leap second in computing elapsed time.

This "sloppiness" in recording elapsed time actually is a blessing to
those of us comparing climate model output to observations. If we want
to compare monthly means, for example, we can specify exactly the same
time bounds for both observed data and model output and we will extract
the data of interest. If instead leap seconds had been accounted for in
calculating elapsed time under the UTC system, then the time bounds
would be different from models, certainly giving us headaches and likely
leading to mistakes.

I would therefore advocate to interpret "gregorian" as follows:

This calendar is based on the assumption that the length of the mean
solar day is exactly 86400 seconds. For observations, the assumption is
not in fact exactly correct. To facilitate comparisons between model
results and climate and weather observations, an adjustment in the true
elapsed time is required when calendar="gregorian". The reference time
should be specified according to the UTC time system, but leap seconds
should be omitted in converting from wall-clock time to elapsed time.
This means that elapsed time values will only be approximately correct,
but this is generally desirable because: 1) simple algorithms can be
used to convert from wall-clock time to elapsed time, 2) the mismatch
between the model's mean solar day and the actual mean solar day (about
.002 seconds) can be ignored in comparing models and observations;
observed elapsed times are effectively modified to yield a time series
that stays synced with the diurnal cycle we would find if the earth's
day were exactly 86400 seconds long. Note that although elapsed times
stored in the CF-conforming file will be only approximate, they will
differ by less than 17 seconds (as of July 2015) from the true elapsed time.

I think this definition means that there is no need for gregorian_utc_nls.

Although I can see why the two new calendars (gregorian_utc and
gregorian_gps) could be used for special cases, I would hope most
providers of climate and weather data will continue to use a "gregorian"
calendar as defined above. This will make it much easier for modelers
to compare their output to observations.

best regards,
Karl


On 7/15/15 1:34 AM, Jonathan Gregory wrote:
> PS. First, to repeat myself:
>
> So my conclusion (at present - but I suspect I haven't understood something
> you have said) is that gregorian is fine and sufficient (with the addition of
> gregorian_utc and gregorian_gps for the well-defined real-world systems) if
> we define it to mean that 86400-seconds are assumed to be used for conversion
> from clock time to elapsed time and elapsed time to clock time, that it is not
> defined whether the reference time and clock times are GPS and UTC, and that
> the elapsed times may not be exactly correct for the real world (due to the
> neglect of leap seconds).
>
> I also said, "This is then the same as gregorian_utc_nls, so we would not need
> that either, which was your final conclusion in your previous post." Actually
> it's not quite the same as gregorian_utc_nls, which asserts that clock times,
> if real-world, are UTC. Otherwise it's the same. If my conclusion above is
> correct, then I don't mind whether we introduce gregorian_utc_nls or not. No-
> one has definitely asked for it, as far as I remember; we discussed it because
> of anticipating the need, I believe. We could therefore follow the usual CF
> principle of omitting it until it's asked for.
>
> Cheers
>
> Jonathan
>
> ----- Forwarded message from Jonathan Gregory <j.m.gregory at reading.ac.uk-----
>
> Date: Wed, 15 Jul 2015 08:01:04 +0100
> From: Jonathan Gregory <j.m.gregory at reading.ac.uk>
> To: cf-metadata at cgd.ucar.edu
> Subject: [CF-metadata] How to define time coordinate in GPS?
> User-Agent: Mutt/1.5.21 (2010-09-15)
>
> Dear Karl
>
> I think the meaning of "gregorian" up to CF 1.6 is actually not clear, because
> we had not thought about these distinctions earlier. If we change the calendar
> definitions, it does not affect the interpretation of any existing data written
> with previous versions. However I agree that it would be inconvenient for data-
> users if they had to process "gregorian" times differently according to the
> setting of the Conventions version.
>
> I thought that the current proposal was that gregorian would be vague in
> future, like you wrote in your second option:
>
> 1) might or might not account for leap seconds, 2) might or might not assume
> the length of the solar day is exactly 86400 seconds long, and 3) might express
> the reference time according to either UTC or GPS
>
> and that is exactly the reason why, after agreeing with Jim last week, I
> changed my mind to argue that we needed gregorian_nls for model data, to
> preserve the exactness for times which really are always 86400-second days.
> You agree we would need gregorian_nls in that case. I agree that it means that
> models would use gregorian_nls in future, not gregorian.
>
> However in your first option you don't think this is necessary:
>
> Under the "gregorian" calendar the length of the solar day can be assumed to be
> exactly 86400 seconds long (i.e., there are no leap seconds). This means that
> for models where this assumption almost invariably is valid, conversion from
> elapsed time to clock time is straight-forward and exact, whereas for
> observations, conversion to clock time may introduce errors as large as 16
> seconds because it is unknown whether the UTC or GPS time system has been used
> in specifying the reference times (appearing in the time units attribute), and
> it is also unknown whether leap seconds have been properly accounted for in
> converting UTC clock times to elapsed time.
>
> I'm sorry, but I can't see what is the difference. In both cases you say it
> is unknown whether leap seconds have been included in converting from clock
> time to elapsed time. Is the crucial difference about the length of the day?
> Does "assume the solar day to be exactly 86400 seconds" mean "assume all days
> are 86400 seconds in converting elapsed time to clock time"?
>
> If that's what you mean, I think your first and preferred option is fine, and
> then I agree we do not need gregorian_nls. To spell it out, I think this is
> acceptable if "gregorian" means that you will recover the clock times (time-
> stamps) exactly by using an algorithm that assumes constant 86400-second days
> (i.e. with no leap seconds). If these clock times refer to the real world, it
> is undefined whether the reference time is GPS or UTC, and consequently it is
> undefined whether the decoded clock times are GPS or UTC.
>
> But my statement "you will recover the clock times (time-stamps) exactly by
> using an algorithm that assumes constant 86400-second days" is inconsistent
> with your statement "conversion to clock time may introduce errors ... because
> it is unknown whether ... leap seconds have been properly accounted for in
> converting UTC clock times to elapsed time". According to my statement,
> gregorian means that leap seconds were ignored when converting clock times to
> elapsed times i.e. 86400-second days were used. If that's not the case, you
> can't decode accurately. Thus the elapsed times may not be quite right for the
> real world. This is then the same as gregorian_utc_nls, so we would not need
> that either, which was your final conclusion in your previous post.
>
> So my conclusion (at present - but I suspect I haven't understood something
> you have said) is that gregorian is fine and sufficient (with the addition of
> gregorian_utc and gregorian_gps for the well-defined real-world systems) if
> we define it to mean that 86400-seconds are assumed to be used for conversion
> from clock time to elapsed time and elapsed time to clock time, that it is not
> defined whether the reference time and clock times are GPS and UTC, and that
> the elapsed times may not be exactly correct for the real world (due to the
> neglect of leap seconds).
>
> Best wishes
>
> Jonathan
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
Received on Wed Jul 15 2015 - 14:30:52 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:42 BST

⇐ ⇒