⇐ ⇒

[CF-metadata] udunits handling of fuzzy time units

From: Steve Hankin <Steven.C.Hankin>
Date: Wed, 16 Mar 2011 14:06:36 -0700

On 3/16/2011 8:47 AM, John Caron wrote:
> On 3/16/2011 3:57 AM, Jon Blower wrote:
>> Hi all,
>>
>> There have been multiple interesting sub-threads of this
>> conversation, and I'm getting them a bit tangled, not helped by my
>> email client apparently not distinguishing clearly between quotes and
>> new material.
>>
>> John C. - are you in a position to make a summary and/or concrete
>> proposal to CF, based on all this?
>>
>> Cheers,
>> Jon
>> _______________________________________________
>> CF-metadata mailing list
>> CF-metadata at cgd.ucar.edu
>> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
>
> Heres the issues as I see them, and my proposed resolutions. Im being
> very brief, and not summarizing others' POV.
>
>
> 1. time instants vs time duration
> - *one must distinguish between dimensional time ("time duration",
> units="secs"), and calendar time ("time instant", or "point on the
> time continium") which is not dimensional. *

Hi John,

I hope there is still an opportunity to discuss and debate the
fundamentals here. In the end there are many ways of thinking through
the problem that will all lead to usable software. So this is not a
question of a "right or wrong" way to look at the problem. The question
is, for which purposes should the software be optimized. Since the
target in question is CF -- climate and forecast -- I'd argue that*the
software design should be optimized for quantitative earth science*, by
which I mean we expect to be doing calculations on the data on all four
axes. In many cases similar calculations across all axes --
derivatives, integrals, smoothers and other convolution filters, Fourier
transforms, gap-fillers, interpolations, regridding, .... Displaying
pictures and labeling coordinates is only the tip of the iceberg.

Here's where I differ on the foundation concept: _*All*_ units of
space-time measure have the same basic properties: _the units of measure
represent intervals, not positions._ _To define a position requires both
a unit of measure and a "zero reference point". _ Longitude units, in
particular, share the very same complexities that time has. Namely,
encodings of longitude may differ in their zero reference point
(Greenwhich meridian or dateline); and the human-friendly formatting of
longitudes (e.g. 140W) are not friendly to numerical software. The
formatting of longitudes is helpful to humans because it translates the
encoding unambiguously onto the modulo-360 coordinate system. There is
an exact analog to each of these issues when handling time. The
difference between handling time and handling longitude is the degree of
complexity in the formatting. Whereas formatted longitudes communicate
position on just one 360-degree cycle, date-time formatting is designed
to communicate the coordinates on two cycles -- a daily cycle and a
yearly cycle -- which (inconveniently) are not in synchronization with
each other.

Where does this lead? It leads to saying that the tools and procedure
for handling times should fall back on these solid, foundation concepts
of interval and position that are needed by quantitative earth science.
_This is what udunits already does and is one reason that it has been so
very successful._ This is an alternative viewpoint to saying that time
position and time interval are distinct concepts not found on other
axes, that must be handled by a separate framework.

> - calendar time always references a calendar, default calendar is
> gregorian, aka standard

agree. Each calendar represents a distinct way of formatting the dates
(and positioning the time values), despite having the same encodings.

>
> - udunits is a good reference library for dimensional time,*but not
> for calendar time *

Disagree. Can we translate this statement into "udunits as-is lacks the
functions needed to input and output formatted times"? Or in more
detail: udunits lacks the specific functionality needed to translate
between encoded time values and calendar-sensitive, formatted date-time
strings. That functionality, however, can be added in an incremental
fashion. _A fundamental rethinking of concepts is not needed._

I will stop comments at this point, because the difference in viewpoint
effects all of the conclusions below.

     - Steve

P.S. Together with enhancing udunits to handle the formatting of
date-time strings,it would be natural to add the same functionality for
longitudes, too. Ditto degrees of temperature -- degrees F, C and K.
Again -- the challenges of handling times are found in the other units,
too (admittedly with less complexity and MUCH less baggage attached).

------------------------------------------------------------------------

> 2. calendar time
> - time coordinates (CF section 4.4) are calendar times
> - time coordinate variables are instants in time. A bounds coordinate
> (CF section 7.1) should be used to clarify the actual time range of
> each coordinate. This is especially important when using cell measures
> (CF section 7.2) like mean, min, max, etc.
>
> - calendar time representation needs to be clarified
> - udunits should no longer be the reference library for calendar
> time. a new reference library is needed, which handles non-standard
> calendars.
> - udunit date representation ("n timeUnit since ISO_date") must be
> retained for backwards compatibility. "month" and "year" timeUnit
> should be redefined in CF version 1.x to refer to calendar fields, not
> fixed length time durations. For files using versions previous to CF
> 1.x, udunit fixed length semantics should be used.
> - the grammar for udunit date representations should be defined, so
> that multiple libraries can implement it
> - ISO date strings should be allowed
>
> 3. time resolution
> - any calendar fields not specified must be set to 0
>
> 4. time calculations
> - standard library functions for calculating time durations from
> time ranges (start, end) are needed. these are calendar dependent.
>
>
> _______________________________________________
> CF-metadata mailing list
> CF-metadata at cgd.ucar.edu
> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cgd.ucar.edu/pipermail/cf-metadata/attachments/20110316/3c248372/attachment-0001.html>
Received on Wed Mar 16 2011 - 15:06:36 GMT

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

⇐ ⇒