[gradsusr] Question: xdfopen error

Jennifer Adams jma at cola.iges.org
Thu Feb 10 11:33:21 EST 2011


Well, since a bug was just discovered when using xdfopen to read CAM  
output, I suggest you make small mods to your descriptor and use  
'open' instead. All you should have to do is remove the dimension  
names from your XDEF, YDEF, ZDEF, and TDEF statements, and add UNDEF.
--Jennifer



On Feb 10, 2011, at 11:24 AM, Steven Chan wrote:

> Hello All:
>
> I have been struggling to open a certain netCDF file with xdfopen.
>
> GRADS version used:  2.0.a9 & 2.0.a9.oga.1
> Error message:
>> ga-> xdfopen fqd000_nch.cam2.h1.2005-07-01-00000.xdf
>> Scanning Descriptor File:  fqd000_nch.cam2.h1.2005-07-01-00000.xdf
>> gadsdf: SDF file does not have any non-coordinate variables.
>> SDF Descriptor file fqd000_nch.cam2.h1.2005-07-01-00000.xdf was not
>> successfully opened & parsed.
>
> I am using the following "xdf control file":
>> DSET ^fqd000_nch.cam2.h1.2005-07-01-00000.nc
>> TITLE fqd000_nch.cam2.h1.2005-07-01-00000.nc
>> *
>> * Vertical = Hybrid
>> *
>> OPTIONS 365_day_calendar
>> DTYPE netcdf
>> XDEF lon 1152 linear   0.00 0.3125
>> YDEF lat 768  linear -90.00 0.2346805737
>> ZDEF lev  30  levels
>> 992.556095123291 976.325407391414 957.485479535535 936.198398470879
>> 912.64454694464  887.020248919726 859.53476652503  820.858368650079
>> 763.404481112957 691.389430314303 609.778694808483 524.687174707651
>> 445.992574095726 379.100903868675 322.241902351379 273.910816758871
>> 232.828618958592 197.908086702227 168.225079774857 142.994038760662
>> 121.547240763903 103.317126631737 87.8212302923203 72.0124505460262
>> 54.5954797416925 38.2682997733355 24.6122200042009 14.3566322512925
>> 7.59481964632869 3.64346569404006
>> TDEF time   1 linear 00Z01JUL2005 3hr
>> *
>> VARS 11
>> OMEGA=>omega    30 t,z,y,x   Vertical velocity (pressure) (Pa/s)
>> PBLH=>pblh       0   t,y,x   PBL Height (m)
>> PRECC=>precc     0   t,y,x   Convective precipitation rate (liq +  
>> ice)
>> (m/s)
>> PRECL=>precl     0   t,y,x   Large-scale (stable) precipitation rate
>> (liq + ice) (m/s)
>> PRECSH=>precsh   0   t,y,x   Shallow Convection precipitation rate  
>> (m/s)
>> PS=>ps           0   t,y,x   Surface pressure (Pa)
>> Q=>q            30 t,z,y,x   Specific humidity (kg/kg)
>> QFLX=>qflx       0   t,y,x   Surface water flux (kg/m2/s)
>> T=>tmpprs       30 t,z,y,x   Temperature (K)
>> U=>ugrdprs      30 t,z,y,x   Zonal Wind (m/s)
>> V=>vgrdprs      30 t,z,y,x   Meridonal Wind (m/s)
>> ENDVARS
>
> A netCDF file with the following  ncdump information:
>> netcdf fqd000_nch.cam2.h1.2005-07-01-00000 {
>> dimensions:
>>        lat = 768 ;
>>        lon = 1152 ;
>>        slat = 767 ;
>>        slon = 1152 ;
>>        lev = 30 ;
>>        ilev = 31 ;
>>        isccp_prs = 7 ;
>>        isccp_tau = 7 ;
>>        isccp_prstau = 49 ;
>>        time = UNLIMITED ; // (1 currently)
>>        tbnd = 2 ;
>>        chars = 8 ;
>> variables:
>>        double P0 ;
>>                P0:long_name = "reference pressure" ;
>>                P0:units = "Pa" ;
>>        double lat(lat) ;
>>                lat:long_name = "latitude" ;
>>                lat:units = "degrees_north" ;
>>        double lon(lon) ;
>>                lon:long_name = "longitude" ;
>>                lon:units = "degrees_east" ;
>>        double slat(slat) ;
>>                slat:long_name = "staggered latitude" ;
>>                slat:units = "degrees_north" ;
>>        double slon(slon) ;
>>                slon:long_name = "staggered longitude" ;
>>                slon:units = "degrees_east" ;
>>        double w_stag(slat) ;
>>                w_stag:long_name = "staggered latitude weights" ;
>>        double lev(lev) ;
>>                lev:long_name = "hybrid level at midpoints (1000*(A 
>> +B))" ;
>>                lev:units = "level" ;
>>                lev:positive = "down" ;
>>                lev:standard_name =
>> "atmosphere_hybrid_sigma_pressure_coordinate" ;
>>                lev:formula_terms = "a: hyam b: hybm p0: P0 ps: PS" ;
>>        double ilev(ilev) ;
>>                ilev:long_name = "hybrid level at interfaces
>> (1000*(A+B))" ;
>>                ilev:units = "level" ;
>>                ilev:positive = "down" ;
>>                ilev:standard_name =
>> "atmosphere_hybrid_sigma_pressure_coordinate" ;
>>                ilev:formula_terms = "a: hyai b: hybi p0: P0 ps: PS" ;
>>        double isccp_prs(isccp_prs) ;
>>                isccp_prs:long_name = "Mean ISCCP pressure" ;
>>                isccp_prs:units = "mb" ;
>>                isccp_prs:isccp_prs_bnds = 0., 180., 310., 440., 560.,
>> 680., 800., 1000. ;
>>        double isccp_tau(isccp_tau) ;
>>                isccp_tau:long_name = "Mean ISCCP optical depth" ;
>>                isccp_tau:units = "unitless" ;
>>                isccp_tau:isccp_tau_bnds = 0., 0.3, 1.3, 3.6, 9.4,
>> 23., 60., 379. ;
>>        double isccp_prstau(isccp_prstau) ;
>>                isccp_prstau:long_name = "Mean pressure (mb).mean
>> optical depth (unitless)/1000" ;
>>                isccp_prstau:units = "mixed" ;
>>        double time(time) ;
>>                time:long_name = "time" ;
>>                time:units = "days since 2005-01-01 00:00:00" ;
>>                time:calendar = "noleap" ;
>>                time:bounds = "time_bnds" ;
>>        double time_bnds(time, tbnd) ;
>>                time_bnds:long_name = "time interval endpoints" ;
>>        char date_written(time, chars) ;
>>        char time_written(time, chars) ;
>>        int ntrm ;
>>                ntrm:long_name = "spectral truncation parameter M" ;
>>        int ntrn ;
>>                ntrn:long_name = "spectral truncation parameter N" ;
>>        int ntrk ;
>>                ntrk:long_name = "spectral truncation parameter K" ;
>>        int ndbase ;
>>                ndbase:long_name = "base day" ;
>>        int nsbase ;
>>                nsbase:long_name = "seconds of base day" ;
>>        int nbdate ;
>>                nbdate:long_name = "base date (YYYYMMDD)" ;
>>        int nbsec ;
>>                nbsec:long_name = "seconds of base date" ;
>>        int mdt ;
>>                mdt:long_name = "timestep" ;
>>                mdt:units = "s" ;
>>        int nlon(lat) ;
>>                nlon:long_name = "number of longitudes" ;
>>        int wnummax(lat) ;
>>                wnummax:long_name = "cutoff Fourier wavenumber" ;
>>        double hyai(ilev) ;
>>                hyai:long_name = "hybrid A coefficient at layer
>> interfaces" ;
>>        double hybi(ilev) ;
>>                hybi:long_name = "hybrid B coefficient at layer
>> interfaces" ;
>>        double hyam(lev) ;
>>                hyam:long_name = "hybrid A coefficient at layer
>> midpoints" ;
>>        double hybm(lev) ;
>>                hybm:long_name = "hybrid B coefficient at layer
>> midpoints" ;
>>        double gw(lat) ;
>>                gw:long_name = "gauss weights" ;
>>        int ndcur(time) ;
>>                ndcur:long_name = "current day (from base day)" ;
>>        int nscur(time) ;
>>                nscur:long_name = "current seconds of current day" ;
>>        int date(time) ;
>>                date:long_name = "current date (YYYYMMDD)" ;
>>        double co2vmr(time) ;
>>                co2vmr:long_name = "co2 volume mixing ratio" ;
>>        double ch4vmr(time) ;
>>                ch4vmr:long_name = "ch4 volume mixing ratio" ;
>>        double n2ovmr(time) ;
>>                n2ovmr:long_name = "n2o volume mixing ratio" ;
>>        double f11vmr(time) ;
>>                f11vmr:long_name = "f11 volume mixing ratio" ;
>>        double f12vmr(time) ;
>>                f12vmr:long_name = "f12 volume mixing ratio" ;
>>        double sol_tsi(time) ;
>>                sol_tsi:long_name = "total solar irradiance" ;
>>                sol_tsi:units = "W/m2" ;
>>        int datesec(time) ;
>>                datesec:long_name = "current seconds of current  
>> date" ;
>>        int nsteph(time) ;
>>                nsteph:long_name = "current timestep" ;
>>        float OMEGA(time, lev, lat, lon) ;
>>                OMEGA:units = "Pa/s" ;
>>                OMEGA:long_name = "Vertical velocity (pressure)" ;
>>        float PBLH(time, lat, lon) ;
>>                PBLH:units = "m" ;
>>                PBLH:long_name = "PBL height" ;
>>        float PRECC(time, lat, lon) ;
>>                PRECC:units = "m/s" ;
>>                PRECC:long_name = "Convective precipitation rate (liq
>> + ice)" ;
>>        float PRECL(time, lat, lon) ;
>>                PRECL:units = "m/s" ;
>>                PRECL:long_name = "Large-scale (stable) precipitation
>> rate (liq + ice)" ;
>>        float PRECSH(time, lat, lon) ;
>>                PRECSH:units = "m/s" ;
>>                PRECSH:long_name = "Shallow Convection precipitation
>> rate" ;
>>        float PS(time, lat, lon) ;
>>                PS:units = "Pa" ;
>>                PS:long_name = "Surface pressure" ;
>>        float Q(time, lev, lat, lon) ;
>>                Q:units = "kg/kg" ;
>>                Q:long_name = "Specific humidity" ;
>>        float QFLX(time, lat, lon) ;
>>                QFLX:units = "kg/m2/s" ;
>>                QFLX:long_name = "Surface water flux" ;
>>        float T(time, lev, lat, lon) ;
>>                T:units = "K" ;
>>                T:long_name = "Temperature" ;
>>        float U(time, lev, lat, lon) ;
>>                U:units = "m/s" ;
>>                U:long_name = "Zonal wind" ;
>>        float V(time, lev, lat, lon) ;
>>                V:units = "m/s" ;
>>                V:long_name = "Meridional wind" ;
>> // global attributes:
>>                :Conventions = "CF-1.0" ;
>>                :source = "CAM" ;
>>                :case = "fqd000_nch" ;
>>                :title = "UNSET" ;
>>                :logname = "juliob" ;
>>                :host = "jaguarpf-batch8" ;
>>                :Version = "$Name$" ;
>>                :revision_Id = "$Id$" ;
>>                :initial_file =
>> "/tmp/work/juliob/init/qdLL05.cam2.i.1998-01-01-00000.nc" ;
>>                :topography_file =
>> "/tmp/proj/ccsm/inputdata/atm/cam/topo/ 
>> USGS_gtopo30_0.23x0.31_remap_c061107.nc"
>> ;
>> }
>
> If I remove VARS/ENDVARS from the xdf, the file can open, but the
> metadata information is erroneous and data cannot be displayed:
>> Scanning Descriptor File:  fqd000_nch.cam2.h1.2005-07-01-00000.xdf
>> SDF file fqd000_nch.cam2.h1.2005-07-01-00000.nc is open as file 1
>> LON set to 0 360
>> LAT set to -90 90
>> LEV set to 992.556 992.556
>> Time values set: 2005:7:1:0 2005:7:1:0
>> E set to 1 1
>> ga-> q file
>> File 1 : fqd000_nch.cam2.h1.2005-07-01-00000.nc
>>  Descriptor: fqd000_nch.cam2.h1.2005-07-01-00000.xdf
>>  Binary: fqd000_nch.cam2.h1.2005-07-01-00000.nc
>>  Type = Gridded
>>  Xsize = 1152  Ysize = 768  Zsize = 30  Tsize = 1  Esize = 1
>>  Number of Variables = 11
>>     omega  30  t,z,y,x  Vertical velocity (pressure)
>>     omega  0  t,y,x  PBL height
>>     omega  0  t,y,x  Convective precipitation rate (liq + ice)
>>     omega  0  t,y,x  Large-scale (stable) precipitation rate (liq +  
>> ice)
>>     omega  0  t,y,x  Shallow Convection precipitation rate
>>     omega  0  t,y,x  Surface pressure
>>     omega  30  t,z,y,x  Specific humidity
>>     omega  0  t,y,x  Surface water flux
>>     omega  30  t,z,y,x  Temperature
>>     omega  30  t,z,y,x  Zonal wind
>>     omega  30  t,z,y,x  Meridional wind
>
> I am fairly sure I am doing xdfopen correctly, but I may be there
> something silly that I am just not realizing.
> Thank you ahead for the responses.
>
> Steven Chan
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr

--
Jennifer M. Adams
IGES/COLA
4041 Powder Mill Road, Suite 302
Calverton, MD 20705
jma at cola.iges.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20110210/ec73b99b/attachment-0003.html 


More information about the gradsusr mailing list