Re: [netcdf-java] problem with times in PSD dataset

Hi all:

Its probably the right thing to do to make gregorian ("Mixed Gregorian/Julian calendar") the default calendar for COARDS/CF, for backwards compatibility. However, CDM may leave proleptic_gregorian (ISO8601) as its default.

And I would strongly suggest that data writers stop using "time since 1-1-1". Ive never seen a dataset where "time since 1-1-1" using the mixed gregorian calendar was actually needed. If any one has a real example, Id like to hear about it.

If you really need "historical accuracy", then put in an ISO8601 formatted string, and an explicit calendar attribute. CDM handles those ok. CF should be upgraded to allow ISO strings also. "time since reference date" is not good for very large ranges of time.

Ill just add that udunits never wanted to be a calendaring library, and shouldnt be used anymore for that. Im relying on joda-time (and its successor threeten) to be the expert in calendering, so i dont have to. I think the netcdf-C library now uses some CDAT (?) code for its calendaring, but Im sure theres other standard libraries that could be used. Anyone have candidate libraries in C or Python for robust calendering>

In short, we should rely on clear encoding standards (eg ISO8601) with reference software, rather than implementations like udunits that eventually go away.


PS: I think ill cross post to cf, just to throw some gasoline on the fire ;), and maybe some broader viewpoints.

On 12/5/2012 10:24 AM, Don Murray (NOAA Affiliate) wrote:
Hi Gerry-

On 12/5/12 9:42 AM, Gerry Creager - NOAA Affiliate wrote:
There are other datasets with reference to 1-1-1. I've seen them most
recently in some ocean models.

And the ESRL/PSD NCEP reanalysis datasets use it.


On Wed, Dec 5, 2012 at 10:16 AM, Don Murray (NOAA Affiliate)
<don.murray@xxxxxxxx <mailto:don.murray@xxxxxxxx>> wrote:


    I meant to send this to support-netcdf-java, but perhaps  others on
    the list might have the same problem.

    On 12/4/12 4:51 PM, John Caron wrote:

        On 12/4/2012 4:09 PM, Don Murray (NOAA Affiliate) wrote:


            I was just trying to access the NOAA/ESRL/PSD  Outgoing
            Radiation (OLR) data using netCDF-Java 4.3 ToolsUI and
            noticed that the
            times are wrong.  If you open:



            in the ToolsUI grid viewer, the last time in the file is
            shown as
            2012-12-04 00Z.  However, the last time in the file is
            2012-12-02 00Z.  Here is the time variable in that file:

                 double time(time=3989);
                   :units = "hours since 1-1-1 00:00:0.0";
                   :long_name = "Time";
                   :actual_range = 1.7540448E7, 1.763616E7; // double
                   :delta_t = "0000-00-01 00:00:00";
                   :avg_period = "0000-00-01 00:00:00";
                   :standard_name = "time";
                   :axis = "T";

            netCDF-Java 4.2 and ncdump -t -v time (C version) show the

        hours from 1-1-1 is rather problematic, since you are crossing
        julian/gregorian weirdness line (i think thats the technical
term ;)

        Im guessing the trouble lies here:

        "Default calendar: for udunits, and therefore for CF, the default
        calendar is gregorian ("Mixed Gregorian/Julian calendar"). For
        CDM, the
        default calendar is proleptic_gregorian (ISO8601 standard). This
        matters for dates before 1582."

    Joda time supports the GJ calendar (Historically accurate calendar
    with Julian followed by Gregorian) which seems it would be backward
    compatible with the CF/udunits.  Perhaps that should be the default
    for backward compatibility.

        I have to say relying uncritically on a calendar
implementation like
        udunits is a mistake. putting the reference date unnecessarily to
        include the problem is, um, unnecessary.

    But it is historically accurate.  For climate datasets, this would
    be important.

        is there any way those files can be updated? specifying the
        calendar explicitly should do it, but changing to use a
        reference date
        after 1582 would be much better.

    How's your FORTRAN? ;-)  I'm not sure why this was chosen
    originally, but it doesn't seem reasonable to make people change
    their datasets.

    Does anyone else on the list know of datasets (other than
    climatologies) that might use a reference of 1-1-1 that will be
    affected by this change?

            BTW, is there an easier way to see human readable dates
            through toolsUI
            than loading it into the grid viewer (akin to ncdump -t)?

        open in coordSys tab; in bottom table, select time coord,
        and choose "show values as date"

    Thanks, that's easier.

    Don Murray
    303-497-3596 <tel:303-497-3596>

    netcdf-java mailing list
    netcdf-java@xxxxxxxxxxxxxxxx <mailto:netcdf-java@xxxxxxxxxxxxxxxx>
    For list information or to unsubscribe, visit:

  • 2012 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: