[gradsusr] units on vertical coordinate causing problems
James T. Potemra
jimp at hawaii.edu
Tue Jan 10 14:32:59 EST 2012
Probably for the developers...
I've noticed that GrADS seems to care about the units attributed to the
vertical co-ordinate in netCDF files. In particular, I am having
problems accessing a file via OPeNDAP that has a vertical co-ordinate of
"lev" with units of "1". I believe this is ok with respect to CF
compliance (this is for model output on non-z vertical levels), however
GrADS will not show variables that have such a unit on the vertical
dimension.
As an example, I've created two netCDF files with dimensions lat, lon,
time and lev; and three variables ssh(time,lat,lon), u(time,lev,lat,lon)
and v(time,lev,lat,lon). In one file the units of "lev" are "1", and
using sdfopen to read this file gives only one variable, ssh, which is
not dependent on the vertical co-ordinate. In the other file, with
units of "meters", I can see all three variables. The particulars are
included below. My question is whether this can be overcome without use
of a control file and xdfopen? Thanks,
Jim
----------------------------------------------------
Config: v2.0.a9 little-endian readline printim grib2 netcdf hdf4-sds
hdf5 opendap-grids,stn geotiff shapefile
(running on Linux lii 2.6.18-274.3.1.el5 #1 SMP Fri Aug 26 18:49:02 EDT
2011 x86_64 x86_64 x86_64 GNU/Linux)
same issue using
Config: v2.0.a9.oga.1 little-endian readline printim grib2 netcdf
hdf4-sds hdf5 opendap-grids,stn athena geotiff shapefile
----------------------------------------------------
sample file 1 with dimensions of "1" on vertical co-ordinate:
ga-> sdfopen sample_tide1.nc
Scanning self-describing file: sample_tide1.nc
SDF file sample_tide1.nc is open as file 1
LON set to 118 290
LAT set to -66 66
LEV set to 0 0
Time values set: 2012:1:1:0 2012:1:1:0
E set to 1 1
ga-> q file
File 1 :
Descriptor: sample_tide1.nc
Binary: sample_tide1.nc
Type = Gridded
Xsize = 87 Ysize = 67 Zsize = 1 Tsize = 24 Esize = 1
Number of Variables = 1
ssh 0 t,y,x tidal elevation
ga->
----------------------------------------------------
sample file 2 with dimensions of "meters" on vertical co-ordinate:
ga-> sdfopen sample_tide2.nc
Scanning self-describing file: sample_tide2.nc
SDF file sample_tide2.nc is open as file 1
LON set to 118 290
LAT set to -66 66
LEV set to 0 0
Time values set: 2012:1:1:0 2012:1:1:0
E set to 1 1
ga-> q file
File 1 :
Descriptor: sample_tide2.nc
Binary: sample_tide2.nc
Type = Gridded
Xsize = 87 Ysize = 67 Zsize = 1 Tsize = 24 Esize = 1
Number of Variables = 3
ssh 0 t,y,x tidal elevation
u 1 t,z,y,x u-velocity component
v 1 t,z,y,x v-velocity component
ga->
----------------------------------------------------
ncdump on file 1:
netcdf sample_tide1 {
dimensions:
lon = 87 ;
lat = 67 ;
time = 24 ;
lev = 1 ;
variables:
double lon(lon) ;
lon:units = "degrees_east" ;
lon:long_name = "Longitude" ;
lon:standard_name = "longitude" ;
double lat(lat) ;
lat:units = "degrees_north" ;
lat:long_name = "Latitude" ;
lat:standard_name = "latitude" ;
double time(time) ;
time:long_name = "Time" ;
time:units = "minutes since 2012-01-01 00:00" ;
double ssh(time, lat, lon) ;
ssh:_FillValue = -999.99 ;
ssh:units = "meters" ;
ssh:long_name = "tidal elevation" ;
ssh:standard_name = "sea_surface_height" ;
ssh:missing_value = -999.99f ;
double lev(lev) ;
lev:units = "1" ;
lev:long_name = "Level" ;
lev:positive = "down" ;
double u(time, lev, lat, lon) ;
u:_FillValue = -999.99 ;
u:units = "meter second-1" ;
u:long_name = "u-velocity component" ;
u:standard_name = "eastward_sea_water_velocity" ;
u:missing_value = -999.99f ;
double v(time, lev, lat, lon) ;
v:_FillValue = -999.99 ;
v:units = "meter second-1" ;
v:long_name = "v-velocity component" ;
v:standard_name = "northward_sea_water_velocity" ;
v:missing_value = -999.99f ;
----------------------------------------------------
ncdump on file 2:
netcdf sample_tide2 {
dimensions:
lon = 87 ;
lat = 67 ;
time = 24 ;
lev = 1 ;
variables:
double lon(lon) ;
lon:units = "degrees_east" ;
lon:long_name = "Longitude" ;
lon:standard_name = "longitude" ;
double lat(lat) ;
lat:units = "degrees_north" ;
lat:long_name = "Latitude" ;
lat:standard_name = "latitude" ;
double time(time) ;
time:long_name = "Time" ;
time:units = "minutes since 2012-01-01 00:00" ;
double ssh(time, lat, lon) ;
ssh:_FillValue = -999.99 ;
ssh:units = "meters" ;
ssh:long_name = "tidal elevation" ;
ssh:standard_name = "sea_surface_height" ;
ssh:missing_value = -999.99f ;
double lev(lev) ;
lev:units = "meters" ;
lev:long_name = "Level" ;
lev:positive = "down" ;
lev:standard_name = "model_level_number" ;
double u(time, lev, lat, lon) ;
u:_FillValue = -999.99 ;
u:units = "meter second-1" ;
u:long_name = "u-velocity component" ;
u:standard_name = "eastward_sea_water_velocity" ;
u:missing_value = -999.99f ;
double v(time, lev, lat, lon) ;
v:_FillValue = -999.99 ;
v:units = "meter second-1" ;
v:long_name = "v-velocity component" ;
v:standard_name = "northward_sea_water_velocity" ;
v:missing_value = -999.99f ;
,
More information about the gradsusr
mailing list