NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Dear Experts --I am new to this group but not to NetCDF or OPeNDAP. I have been testing netcdf-4.1 for use with GrADS. I had noticed some problems ncdump was having in getting the attribute metadata for the coordinate axes of an OPeNDAP data set. I tried it with the latest snapshot (dated 2009102000) and ncdump is working much better, but it is not yet getting it right. The data set in question is behind a GrADS Data Server, a 4-dimensional low-resolution demo data set used for the tutorial and testing. Before running ncdump, I followed the recommendation from an earlier post and set the environment variable OCLOGFILE to <blank>. Here is the output:
> ncdump -c http://monsoondata.org:9090/dods/model # ./ncdump -c http://cola51x:9090/dods/model Warning::USE_CACHE: not currently supported Warning::MAX_CACHE_SIZE: not currently supported Warning::MAX_CACHED_OBJ: not currently supported Warning::IGNORE_EXPIRES: not currently supported Warning::CACHE_ROOT: not currently supported Warning::DEFAULT_EXPIRES: not currently supported Warning::ALWAYS_VALIDATE: not currently supported netcdf model { dimensions: lat = 46 ; lev = 7 ; lon = 72 ; time = 5 ; variables: double lat(lat) ; lat:grads_dim = "y" ; lat:grads_mapping = "linear" ; lat:grads_size = "46" ; lat:units = "degrees_north" ; lat:long_name = "latitude" ; lat:minimum = -90. ; lat:maximum = 90. ; lat:resolution = 4.f ; float ua(time, lev, lat, lon) ; ua:_FillValue = 1.e+20f ; ua:missing_value = 1.e+20f ; ua:long_name = "eastward wind [m/s] " ; float ps(time, lat, lon) ; ps:_FillValue = 1.e+20f ; ps:missing_value = 1.e+20f ; ps:long_name = "surface pressure [hpa] " ; float va(time, lev, lat, lon) ; va:_FillValue = 1.e+20f ; va:missing_value = 1.e+20f ; va:long_name = "northward wind [m/s] " ; float zg(time, lev, lat, lon) ; zg:_FillValue = 1.e+20f ; zg:missing_value = 1.e+20f ; zg:long_name = "geopotential height [m] " ; float ta(time, lev, lat, lon) ; ta:_FillValue = 1.e+20f ; ta:missing_value = 1.e+20f ; ta:long_name = "air temperature [k] " ; float hus(time, lev, lat, lon) ; hus:_FillValue = 1.e+20f ; hus:missing_value = 1.e+20f ; hus:long_name = "specific humidity [kg/kg] " ; float ts(time, lat, lon) ; ts:_FillValue = 1.e+20f ; ts:missing_value = 1.e+20f ; ts:long_name = "surface (2m) air temperature [k] " ; float pr(time, lat, lon) ; pr:_FillValue = 1.e+20f ; pr:missing_value = 1.e+20f ;pr:long_name = "total precipitation rate [kg/(m^2*s)] " ;
// global attributes: :title = "Sample Model Data" ; :Conventions = "COARDSGrADS" ; :dataType = "Grid" ;:history = "Mon Oct 26 12:59:29 EDT 2009 : imported by GrADS Data Server 2.0" ;
data:Error: :oc_open: server error retrieving url: code=0 message="subset requests must include a constraint expression"
./ncdump: NetCDF: DAP server side error lat =Since I am the administrator of the server, I can look in the logs and see what went wrong. The request that failed and led to the error message above was:
...GET /model.dodsThe request from the client (ncdump) should have the ? varname[constraints] syntax following ".dods" , like this:
...GET /model.dods?time[0:1:4] ...GET /model.dods?lev[0:1:6] ...GET /model.dods?lat[0:1:45] ...GET /model.dods?lon[0:1:71]I also note that only 1 out of the 4 coordinate axes (lat) shows up as a data variable. I hope this is helpful information. The DAP interface in netcdf-4.1 is vital to GrADS, I am eager to adopt it as soon as it is working properly.
--Jennifer -- Jennifer M. Adams IGES/COLA 4041 Powder Mill Road, Suite 302 Calverton, MD 20705 jma@xxxxxxxxxxxxx
netcdfgroup
archives: