⇐ ⇒

[CF-metadata] CF calendars

From: Dave Allured - NOAA Affiliate <dave.allured>
Date: Mon, 10 Dec 2012 12:13:27 -0700

Cathy,

That you for posting the details of your use case. My recommendation
for accurate labeling of LTM's that do not map to any particular year
is to use the 365_day calendar for 365-day LTM's, and 366_day calendar
for 366-day LTM's (which may not exist). These calendars have been
part of CF since the beginning, and IMO they are the right choice for
statistical abstract years.

If you think it is really important to use exactly the same calendar
system for both normal time series and statistical grids such as
LTM's, then keep everything on the mixed Julian/Gregorian calendar,
just as you are doing now. My only request in this case would be that
you add an accurate calendar attribute such as "julian-gregorian" or
whatever we can agree on.

--Dave

On Mon, Dec 10, 2012 at 8:27 AM, Cathy Smith (NOAA Affiliate)
<cathy.smith at noaa.gov> wrote:
> Jonathon
>
> We have the issue that we store many long terms means (subdaily,daily,
> monthly...). These long terms means have no "years" per se though the
> rest of the date is an actual 'date'. We have been storing them as year
> 1 generally speaking (usually base 1-1-1) as we want to avoid using a
> date within the date range of the dataset as we feel it confuses people.
> So, in your proposal below, we couldn't use year 1 as the date because
> we couldn't use 1-1-1., We also couldn't use 1800-1-1- and year 1
> (negative dates). So, we would have to use some other year that didn't
> look like a real year but was >1800. We could use something like 9999
> would work but would lead to large values of the time variable and would
> be hard to read. We could switch the base date for the LTM's (instead of
> 1800-1-1 use 9999-1-1) but I'm not sure that is a good idea to switch
> base dates within a dataset. For us, the best thing for LTM's is to use
> 1-1-1 and year 1 as that is fairly easy to read and won't tend to
> confuse people. CF doesn't have a standard and looking at the doc page,
> the examples all show values that use a year from the range (something
> that really does confuse some users in our experience). We could also
> switch the default calendar and maybe that is sufficient but in my
> experience only people who care about calendars would notice any
> calendar attribute (e.g. not scientific users) so potentially that could
> prove an issue. If we did switch, I could see that possibly being a
> problem with applications as well, unless coded well.
>
> I'm really not sure the best solution to this problem but I do think any
> calender solution needs to take into account how to store climatological
> dates.
>
> Cathy
>
>
> On 12/9/12 8:45 AM, Jonathan Gregory wrote:
>> Dear Cecilia
>>
>> Thanks for your posting. Are we in agreement? I think that we are.
>>
>>> However, the current default is also problematic - reasons I see are:
>>> 1) it does send a message to modelers who find the default unusable,
>>> 2) because different calendar defaults are used on the modeling and
>>> data side, current tools are limited to particular calendars,
>>> affecting users,
>>> and 3) the mixed Julian-Gregorian calendar is an ugly beast to peg as the
>>> standard forevermore.
>> I agree with these drawbacks. If CF only dealt with the real world, obviously
>> the real-world calendar (mixed Julian-Gregorian) would be the default and only
>> calendar it had to deal with. However, at its outset CF was for models, many of
>> which do not use this calendar, which was nonetheless chosen as the default
>> because of udunits. I agree with you and others that providing such an
>> inconvenient default is unsatisfactory in retrospect. But here we are!
>>
>>> it is a good idea to add another, strict Gregorian (error before 1582).
>> Thanks for seeing it like that. Yes, perhaps we should define what I suggested
>> as a new calendar: strict_gregorian, which is not allowed to have a ref date
>> before 1582, or to use negative time coordinates, or to describe dates before
>> 1582 (which would be impossible given the first two conditions). (Note, I am
>> not personally the eponymous strict Gregory.)
>>
>> In that case, we could change the default in the next release from gregorian
>> or standard to strict_gregorian. For software which is careful about versions,
>> this would mean that dates in the default calendar before 1582 would give an
>> error. This would be a safe failure, rather than a wrong answer.
>>
>>> Some data sets would be CF compliant only under particular versions of CF.
>>> Is this the first time that a change to CF would have such an impact?
>> In the sense of old data becoming invalid in a *later* version, yes I think
>> it is. Of course new features always allow datasets which are invalid in an
>> *earlier* version.
>>
>> In the failing cases, I think we agree that tools might offer the facility
>>> to provide the calendar if none was found.
>>> However, I imagine most tools would continue to assume the current default.
>> Yes, I expect so. They would still be unsafe, if datasets have been wrongly
>> coded with the default, but it would be no worse than now.
>>
>>> This does not seem so bad to me. The removal of the default solution should
>>> not produce the nastier kinds of errors that you would get if you
>>> changed the default.
>> That's what I think, except that formally the above suggestion is a change to
>> to the default - one which installs a fail-safe mechanism.
>>
>> Best wishes
>>
>> Jonathan
Received on Mon Dec 10 2012 - 12:13:27 GMT

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

⇐ ⇒