On 10/22/2010 6:13 PM, John Caron wrote:
On 10/22/2010 9:46 AM, Julia Collins wrote:
Hello,

Benno's comment provides a convenient entry point for me to describe a
recent problem.

On Fri, 22 Oct 2010, Benno Blumenthal wrote:
Note: if the time zone is omitted the default is UTC, and if both time
and time zone are omitted the default is 00:00:00 UTC.

To clarify, this is the time zone interpretation used in the current CF
standard.

If we take that to constrain ISO8601 as well, we have made progress.
If we can do such a thing.

Actually, I would like to propose the opposite: that CF follow the ISO
standard of interpreting an omitted time zone as *local time*. I have some
raster data which represents values at 0400 local time across many time
zones. The time units that I think make intuitive sense are:

  time:units = "days since 1601-01-01T00:00:00" ;


Hi John,

I think the current interpretation in CF -- having time default to UTC -- is the better one (even without the added value that a change would be disruptive).

   * First -- stating the obvious as part of the baseline of
     discussions -- time *is* a simple linear progression -- hour after
     hour.  It is only Earth processes and human history that steer us
     towards encoding times with our complex calendars and peculiar
     time encodings.  (In this sense ISO date/time strings are a
     formatting convenience.)  As a generality, minimizing the degree
     to which earth processes and history bleed into our simple
     encodings of **coordinates** is going to serve our scientific
     goals best.
   * Formal time zones are a woefully inadequate encoding of solar
     positioning information for scientific purposes.  Your example of
     "raster data which represents values at 0400 local time across
     many time zones" (assuming I've understood you correctly) will
     have sharp artificial discontinuities at time zone boundaries --
     +1/2 hour error on one side and -1/2 hour to the other -- because
     time zones are such a crude representation of local (earth
     process) time.  As Benno pointed out the arbitrary human-defined
     squiggles in the time zone definitions make this problem even much
     worse.  (The fact that ISO 8601 defaults to local time is
     yet-another illustration of how most ISO and OGC standards were
     originally conceived for purposes OTHER THAN describing scientific
     processes that vary in both space and time.)

Should we craft a formal addition to CF that would deal properly with earth process local (solar) time encoding? A CF file could define a variable that precisely computed the offset in time based on longitude; give it a standard_name like "local_solar_time"; and point to it with an agreed attribute name from the corresponding time coordinate axis. Simple enough and might be worthwhile. On the other hand, since the calculation is so simple and identical in every case, maybe this should just be left to the client to compute.

    - Steve

==========================

No time zone is indicated, therefore according to the ISO standard I'm
referring to local time. An example time unit for this data set would be
one that decodes to 2007-07-19 04:00. From the ISO point of view, this
means 0400 at local time. From the CF point of view, since a time zone
omission implies UTC, my time value is interpreted as 0400+00:00 (0400
UTC), which is incorrect. The correct UTC value varies over the x axis. If
instead I want to indicate a local time in CF, what local time do I use?
The only place I see to indicate time zone is in the time units string
itself.  I haven't figured out a way in CF to describe the zone for each
data point. There's no doubt a way to do this using cells, but that comes at a cost of complexity. The most elegant solution I see is to follow the
ISO assumptions, which allows me to indicate a generic local time in the
time units string.

Part of my argument for following the ISO approach to time zone
specification is that it is the *ISO* approach. My guess is that when it
comes to time interpretation by a wide audience, ISO is perceived (and
known) as a more general standards body than CF. I don't think it's wise
for CF to constrain ISO. Rather, the established ISO standards should
be constraining CF.

I know that switching to the ISO convention for interpreting the meaning of an existing (or not) time zone indicator is an unpleasant suggestion, since
it's not backwards compatible in the least.  However, I think this is a
change that should be considered. For now, I've resigned myself to
creating files that are not quite CF-compliant.

Julia
--
Julia Collins
National Snow and Ice Data Center
http://nsidc.org/
[email protected]
+1 303.492.6405


This is a fairly unusual use case. Its more likely that someone will forget to add the time zone, or is relying on past behavior.

Perhaps we need a convention for your specific case?

John

_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

Reply via email to