Re: [netcdfgroup] Viewing NetCDF CF-1.3 files in IDV version 2.5

Thanks for the suggestions Dave,

I fixed the points you noted, and also a couple of other small things. The file 
passes the CF-1.2 compliance checks at 
http://puma.nerc.ac.uk/cgi-bin/cf-checker.pl with no warnings or error 
messages, yet still does not display in IDV. 

I am wondering if IDV is getting confused by the use of two time-coordinate 
variables (one for the model basetime and one for the forecast lead time)? The 
IDV user's guide is rather vague on what meta-data are required for NetCDF 
files:

"Generally, the IDV requires that datasets in netCDF format use meta data 
conventions to be able to fully understand and geolocate the dataset. These 
conventions provide documented "best practices". The whole point of using 
netCDF is to insure your data is complete and self-describing, and can be used 
by others. Using conventions helps ensure this. We recommend you use CF, 
COARDS, or NUWG conventions for netCDF data files for the IDV, and be sure to 
follow the best practices noted above."

So here are a few extra questions which people on this list might be able to 
help with:

1) Is there a CF-1.3 compliance checker? I had to rename my Conventions 
attribute to CF-1.2 in order to test the file using the online compliance 
checker.

2) What is the standard way to store more than one NWP model run in a NetCDF 
file? I use one dimension for the model basetime, and a second dimension for 
the forecast lead time.

3) Has anyone had any success displaying NetCDF-CF files in the IDV, and if so, 
would you be able to post an example CDL for a file which is viewable?

For reference, I have attached a CDL from one of my problem files below:

netcdf ukgc_1p25deg_ocf_t2m_rtdb_opn {
dimensions:
        forecast = 10 ;
        basetime = UNLIMITED ; // (100 currently)
        latitude = 77 ;
        longitude = 97 ;
        bounds = 2 ;
variables:
        double forecast(forecast) ;
                forecast:long_name = "Time of model forecast, relative to the
                basetime" ;
                forecast:units = "hours" ;
                forecast:standard_name = "forecast_period" ;
                forecast:bounds = "forecast_bounds" ;
        double forecast_bounds(forecast, bounds) ;
                forecast_bounds:long_name = "forecast interval" ;
                forecast_bounds:units = "hours" ;
        int basetime(basetime) ;
                basetime:long_name = "Model basetime" ;
                basetime:units = "seconds since 1970-01-01 00:00:00.0 +00:00"
                ;
                basetime:standard_name = "forecast_reference_time" ;
                basetime:calendar = "gregorian" ;
                basetime:axis = "T" ;
        double latitude(latitude) ;
                latitude:long_name = "latitude" ;
                latitude:units = "degrees_north" ;
                latitude:bounds = "latitude_bounds" ;
                latitude:valid_min = -90. ;
                latitude:valid_max = 90. ;
                latitude:axis = "Y" ;
                latitude:standard_name = "latitude" ;
        double latitude_bounds(latitude, bounds) ;
                latitude_bounds:long_name = "grid cell latitude boundaries" ;
                latitude_bounds:units = "degrees_north" ;
                latitude_bounds:valid_min = -90. ;
                latitude_bounds:valid_max = 90. ;
        double longitude(longitude) ;
                longitude:long_name = "longitude" ;
                longitude:units = "degrees_east" ;
                longitude:bounds = "longitude_bounds" ;
                longitude:valid_min = -360. ;
                longitude:valid_max = 360. ;
                longitude:standard_name = "longitude" ;
                longitude:axis = "X" ;
        double longitude_bounds(longitude, bounds) ;
                longitude_bounds:long_name = "grid cell longitude boundaries"
                ;
                longitude_bounds:units = "degrees_east" ;
                longitude_bounds:valid_min = -360. ;
                longitude_bounds:valid_max = 360. ;
        float temperature_2m(basetime, forecast, latitude, longitude) ;
                temperature_2m:long_name = "2m temperature" ;
                temperature_2m:units = "K" ;
                temperature_2m:_FillValue = 9.96921e+36f ;
                temperature_2m:missing_value = 9.96921e+36f ;
                temperature_2m:valid_min = 180.f ;
                temperature_2m:valid_max = 330.f ;
                temperature_2m:standard_name = "air_temperature" ;
                temperature_2m:cell_methods = "lat: lon: mean (area
                weighted)" ;
                temperature_2m:coordinates = "level" ;
        double level ;
                level:long_name = "Height above the surface" ;
                level:units = "m" ;
                level:positive = "up" ;
                level:standard_name = "height" ;
                level:axis = "Z" ;

// global attributes:
                :Conventions = "CF-1.3" ;
                :history = "File created by the Gridded OCF data ingest
                system" ;
                :institution = "Australian Bureau of Meteorology" ;
                :source = "model" ;
                :title = "UKGC forecasts of temperature_2m; resolution: 1.25
                degree; source: rtdb" ;
}

-----Original Message-----
From: netcdfgroup-bounces@xxxxxxxxxxxxxxxx 
[mailto:netcdfgroup-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Dave Allured
Sent: Saturday, 29 November 2008 08:51
To: netcdfgroup@xxxxxxxxxxxxxxxx
Subject: Re: [netcdfgroup] Viewing NetCDF CF-1.3 files in IDV version 2.5 
[SEC=UNCLASSIFIED]

Tim,

Did you try the on-line CF compliance checker?

   http://cf-pcmdi.llnl.gov/conformance/compliance-checker/

One thing I noticed is that basetime:units contains two time-of-day 
strings after the date.  This is patently illegal, and it might be 
your whole problem.

Also, there are no standard_name or axis attributes on your 
coordinate variables.  I think these are optional by CF, but there 
is a chance that IDV has some dependency on them.

Did you check IDV documentation for a possible list of required 
metadata?  That may give you a more concise checklist than the 
entire CF spec.  HTH.

Dave Allured
CU/CIRES Climate Diagnostics Center (CDC)
http://cires.colorado.edu/science/centers/cdc/
NOAA/ESRL/PSD, Climate Analysis Branch (CAB)
http://www.cdc.noaa.gov/



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