[ncl-talk] incorrect date using cd_calendar (and cd_string)?
Dennis Shea
shea at ucar.edu
Wed Nov 15 17:59:01 MST 2017
Ummm, I don't this is a bug.
I think the file does not adhere to the Climate and Forecast netCDF
convention
[1] CF Convention: calendar attribute
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.6/build/cf-conventions.html#calendar
[2] The recognized *calendar *attributes are all lower case. No mention is
made of 'case insensitivity.'
As an example: the *units *attribute is lower case; UNITS, Units etc
are **not* *recognized.
[3] See attached script.
%> ncl test_time_julian.ncl
------
Variable: C
Type: float
Total Size: 24 bytes
6 values
Number of Dimensions: 2
Dimensions and sizes: [1] x [6]
Coordinates:
Number Of Attributes: 1
*calendar : JULIAN(0,0) 2015(0,1) 5(0,2) 13(0,3) 12*
(0,4) 0
(0,5) 0
(0) =========
Variable: c
Type: float
Total Size: 24 bytes
6 values
Number of Dimensions: 2
Dimensions and sizes: [1] x [6]
Coordinates:
Number Of Attributes: 1
*calendar : julian(0,0) 2015(0,1) 4(0,2) 30(0,3) 12*
(0,4) 0
(0,5) 0
The latter matches ferret and (more important) DaveA's hand calculation.
On Wed, Nov 15, 2017 at 3:21 PM, Dave Allured - NOAA Affiliate <
dave.allured at noaa.gov> wrote:
> Denise,
>
> Your sample file uses the Julian calendar. In my experience the Julian
> calendar is rarely used in climate sciences, and software implementations
> are not well vetted. The best long term solution might be to switch to the
> Gregorian calendar, if that is not contrary to your current application.
>
> Also your time base is "hours since 0001-01-01 00:00:00". Using a base
> date before the Julian to Gregorian change in year 1582 exposes you to a
> particular kind of software problem. You might get better results if you
> can switch to a base date in the near past, such as 1900-1-1 or 2000-1-1,
> regardless of which calendar system is selected.
>
> For what it's worth, my hand calculation for Julian 17657580 hours since
> 1-1-1 0:0:0 gets 2015 April 30 12:00. This agrees with your ferret result.
>
> --Dave
>
>
> On Wed, Nov 15, 2017 at 1:00 PM, Denise Worthen - NOAA Affiliate <
> denise.worthen at noaa.gov> wrote:
>
>> Hi,
>>
>> I've used ncra to 'record average' a set of netcdf files. When I look at
>> the file using ferret, the date in each file is correctly interpreted.
>>
>> When I use ncl, the dates in the file are interpreted incorrectly, either
>> as a label (using cd_string) or just printing the value using cd_calendar.
>>
>> I've extracted out the time axis for a single timestep and attached it
>> here. The correct value in this case should be april 30 2015.
>>
>> Using the following commands, it shows the date as 5-13-2015. This is
>> also the label I get when using cd_string to label a plot in the original
>> file.
>>
>> What have I got wrong?
>> Denise.
>>
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/cd_string.ncl"
>>
>> begin
>>
>> f=addfile("timetest.nc","r")
>> timeval=f->time
>> timeUnits = f->time at units
>> timeCalendar = f->time at calendar
>> print(cd_calendar(timeval,0))
>> end
>>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171115/7279a35d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_time_julian.ncl
Type: application/octet-stream
Size: 533 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171115/7279a35d/attachment.obj>
More information about the ncl-talk
mailing list