[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #DAG-557381]: ncdump -t interprets attributes of inappropriate variables (needs to check for origin in units)



Hoop,

> I'll try to get a fix for it in the next release.

The issue is described here:

  https://www.unidata.ucar.edu/jira/browse/NCF-175

and I've just committed a fix (involving the files libdispatch/nctime.c, 
ncdump/nctime0.c, ncdump/nctime0.h, ncdump/ref_times.cdl, 
ncdump/tst_calendars.cdl)
to the trunk, so it will be in the snapshot tomorrow and in release 4.2.1 soon 
...

--Russ

> > Unidata support personnel,
> >
> > Here is the output from version 4.2 ncdump -th on the file:
> >
> > ftp://ftp.cdc.noaa.gov/Datasets/icoads/2degree/enh/air.mean_day.nc
> > http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/icoads/2degree/enh/air.mean_day.nc
> >
> > netcdf air.mean_day {
> > dimensions:
> > time = UNLIMITED ; // (2549 currently)
> > lat = 90 ;
> > lon = 180 ;
> > variables:
> > float lat(lat) ;
> > lat:long_name = "Latitude" ;
> > lat:units = "degrees_north" ;
> > lat:actual_range = 89.f, -89.f ;
> > lat:standard_name = "latitude" ;
> > lat:axis = "Y" ;
> > float lon(lon) ;
> > lon:long_name = "Longitude" ;
> > lon:units = "degrees_east" ;
> > lon:actual_range = 1.f, 359.f ;
> > lon:standard_name = "longitude" ;
> > lon:axis = "X" ;
> > double time(time) ;
> > time:units = "days since 1-1-1 00:00:0.0" ;
> > time:long_name = "Time" ;
> > time:delta_t = "0000-01-00 00:00:00" ;
> > time:avg_period = "0000-01-00 00:00:00" ;
> > time:actual_range = 657073., 734625. ; // "1800-01-01",
> > "2012-05-01"
> > time:standard_name = "time" ;
> > time:axis = "T" ;
> > short air(time, lat, lon) ;
> > air:unpacked_valid_range = 1.f, 31.f ; // "1979-01-02",
> > "1979-02-01"
> > air:actual_range = 2.f, 30.f ; // "1979-01-03", "1979-01-31"
> > air:units = "days" ;
> > air:precision = 0s ; // "1979-01-01"
> > air:missing_value = 32766s ; // "2068-09-16"
> > air:_FillValue = 32766s ; // "2068-09-16"
> > air:long_name = "Air Temperature Monthly Mean_day at Surface" ;
> > air:dataset = "ICOADS 2-degree Enhanced" ;
> > air:var_desc = "Air Temperature" ;
> > air:level_desc = "Surface" ;
> > air:statistic = "Mean Day of Month of Observations" ;
> > air:parent_stat = "Individual Obs" ;
> > air:add_offset = 32767.f ; // "2068-09-17"
> > air:scale_factor = 1.f ; // "1979-01-02"
> > air:valid_range = -32766s, -32736s ; // "1889-04-16", "1889-05-16"
> >
> > // global attributes:
> > :title = "ICOADS 2-degree Enhanced" ;
> > :history = "Release 2.5.2" ;
> > :Conventions = "COARDS" ;
> > :references =
> > "http://www.esrl.noaa.gov/psd/data/gridded/data.coads.2deg.html"; ;
> > }
> >
> >
> > The -t flag is causing inappropriate interpretations in the added comments 
> > for
> > the data variable "air", because the units string is a time unit.  The
> > criteria in CF says that the unit must also have an origin.  I know that
> > ncdump uses CDTime rather than Udunits, but in the Udunits package, there is
> > a single call to determine if a time unit has an origin.  I hope this is 
> > also
> > true for CDTime.
> >
> > -Hoop
> >
> >
> 
> Russ Rew                                         UCAR Unidata Program
> address@hidden                      http://www.unidata.ucar.edu
> 
> 
Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: DAG-557381
Department: Support netCDF
Priority: Normal
Status: Closed