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

Re: 20020410: gribtonc CDLs for AVN and could CDL for LAPS work



Tiziana,

I forgot to ask if you could let me know what you find out about the avn 
1 degree resolution model.  If I get the information then  I could add it
to the rest of the cdl files and relay it on to the rest of the decoders
group.  I would be willing to help create the cdl or if you already have
done so, I would add it to the list.  Of course giving you credit for the
work.

Thanks,
Robb...



On Thu, 11 Apr 2002, Robb Kambic wrote:

> On Wed, 10 Apr 2002, Unidata Support wrote:
> 
> > 
> > ------- Forwarded Message
> > 
> > >To: address@hidden
> > >From: Tiziana Cherubini <address@hidden>
> > >Subject: CDL for LAPS
> > >Organization: University of Hawaii
> > >Keywords: 200204110028.g3B0STa23345 gribtonc
> > 
> > Hi,
> > 
> > I'm trying to  use the gribtonc decoders to convert avn model
> > output files (grid 3, 65160 point) in netcdf, but I'm having
> > hard time. It seems that no one of the CDLs files coming with
> > the decoders.tar files (avn-1.25x1.25.cdl, avn-a.cdl,
> > avn-q.cdl, avn-x.cdl) are good for them, unless I use the -q
> > option, i.e. changing the data resolution.
> > What should I do to convert the grib files in netcdf mantaining
> > the 1.0x1.0 degrees resolution?
> > 
> > Again, do you think it would be possible to use the gribtonc
> > decoder with the LAPS CDLs files (one of them is in attachment to
> > this mail)?
> 
> Tiziana,
> 
> Since I not familar with the avn (grid 3, 65160 point) model in
> particular I can't give a direct answer but I will the give procedure on
> how to get the correct CDL.  If the LAPS cdl file works by all means use
> it. But I would check the output using ncdump to make sure all the fields
> are being populated.  NetCDF allocates the space before the input is
> actually processed so reserving variable space without using it is wasted.
> At this time, the status of the LAPS gribtonc code is not known.  It's
> possible they have modified the code so Unidata's gribtonc will not work
> with their cdl. 
> 
> Another approach would be to use the would be to use the closest fit avn
> cdl file from the tar files and then modify the x and y parameters or lat 
> and lon parameters, using avn-1.25x1.25 as a template then it would look
> like this at the bottom of the file. ie
> 
> At top:
> 
>         lat = 181 ;             // latitude
>         lon = 360 ; 
> 
> At bottom:
> 
> lon =  -30, -29, -28 ....
> 
> lat = -90.0, -89.0 -88.0   ....
>   
> I would run the newing created cdl from the command line to check out your
> progress.
> 
> % gribtonc -vl - avn-1.0x1.0.cdl test.nc < avn.input
> 
> 
> Hopes this helps,
> Robb...
> 
> > 
> > Thank you very much for any help you could give to me.
> > I really appreciate your work.
> > 
> > Cheers,
> > 
> >             Tiziana.
> > 
> > -------------------------------------
> > Tiziana Cherubini
> > Department of Meteorology
> > University of Hawaii
> > 2525 Correa Rd. HIG 350
> > Honolulu, Hawaii 96822
> > (808) 956-4593, (808) 956-2877 fax
> > 
> > 
> > //------------------------------------------------------------------------------
> > //  NOAA/ERL
> > //  Forecast Systems Laboratory
> > //  Facility Division
> > //  Data Acquisition Branch
> > //  Posix Data Services Software
> > //
> > //  This software and its documentation are in the public domain and are 
> > //  furnished "as is".  The United Stated government, its instrumentalities,
> > //  officers, employees, and agents make no warranty, express or implied, 
> > as to
> > //  the usefullness of the software and documentation for any purpose.  
> > They 
> > //  assume no responsibility (1) for the use of the software and 
> > documentation;
> > //  or (2) to provide technical support to users.
> > //
> > //  avn_global_complete_list.cdl
> > //
> > //  netCDF data file definition for aviation model NPS grids
> > //
> > //  latitude and longitude information for grid:
> > //  lon x lat = 1.0 x 1.0
> > //  
> > //------------------------------------------------------------------------------
> > netcdf AvnGlobal 
> >     {
> > 
> >     dimensions:
> >         record = unlimited;
> >     namelen = 132;
> >     y = 181; 
> >     x = 360;
> >     numIsoLevel = 26;
> >         fixedHeight = 3;
> > 
> >     variables:
> > 
> >         //      geopotential height at Isobaric Levels
> > 
> >         float
> >             GH(record, numIsoLevel, y, x);
> >             GH:record = "valtime, reftime";
> >             GH:_Navigation_var = "nav";
> >             GH:numIsoLevel = "isoLevel";
> >             GH:long_name = "geopotential height";
> >             GH:units = "meters";
> >             GH:valid_range = -800.f, 100000.f;
> >             GH:_FillValue = -99999.f;
> > 
> >     //      temperature at Isobaric Levels
> > 
> >     float
> >         T(record, numIsoLevel, y, x);
> >         T:record = "valtime, reftime";
> >         T:_Navigation_var = "nav";
> >             T:numIsoLevel = "isoLevel";
> >         T:long_name = "temperature";
> >         T:units = "kelvin";
> >         T:valid_range = 160.f, 340.f;
> >         T:_FillValue = -99999.f;
> > 
> >         //     VVEL=pressure vertical velocity
> > 
> >         float
> >             PVV(record, numIsoLevel, y, x);
> >             PVV:record = "valtime, reftime";
> >             PVV:_Navigation_var = "nav";
> >             PVV:numIsoLevel = "isoLevel";
> >             PVV:long_name = "pressure vertical velocity";
> >             PVV:units = "Pa/s";
> >             PVV:valid_range = -10.f, 10.f;
> >             PVV:_FillValue = -99999.f;
> > 
> >         //      relative humidity at isobaric levels
> > 
> >         float
> >             RH(record, numIsoLevel, y, x);
> >             RH:record = "valtime, reftime";
> >             RH:_Navigation_var = "nav";
> >             RH:numIsoLevel = "isoLevel";
> >             RH:long_name = "relative humidity";
> >             RH:units = "percent";
> >             RH:valid_range = -5.f, 110.f;
> >             RH:_FillValue = -99999.f;
> > 
> >         //     Absolute vorticity
> > 
> >         float
> >             AV(record, numIsoLevel, y, x);
> >             AV:record = "valtime, reftime";
> >             AV:_Navigation_var = "nav";
> >             AV:numIsoLevel = "isoLevel";
> >             AV:long_name = "absolute vorticity";
> >             AV:units = "/second";
> >             AV:valid_range = -300.f, 300.f;
> >             AV:_FillValue = -99999.f;
> > 
> >         //     ozone mixing ratio
> > 
> >         float
> >             O3MR(record, numIsoLevel, y, x);
> >             O3MR:record = "valtime, reftime";
> >             O3MR:_Navigation_var = "nav";
> >             O3MR:numIsoLevel = "isoLevel";
> >             O3MR:long_name = "ozone mixing ratio";
> >             O3MR:units = "kg/kg";
> >             O3MR:_FillValue = -99999.f;
> > 
> >         //     5-wave geopotential height
> > 
> >         float
> >             WAVH5(record, y, x);
> >             WAVH5:record = "valtime, reftime";
> >             WAVH5:_Navigation_var = "nav";
> >             WAVH5:long_name = "5-wave geopotential height";
> >             WAVH5:units = "GpM";
> >             WAVH5:_FillValue = -99999.f;
> > 
> >         //      UGRD=u wind component at Isobaric Levels
> > 
> >         float
> >             uW(record, numIsoLevel, y, x);
> >             uW:record = "valtime, reftime";
> >             uW:_Navigation_var = "nav";
> >             uW:numIsoLevel = "isoLevel";
> >             uW:long_name = "eastward wind";
> >             uW:units = "meters/second";
> >             uW:valid_range = -150.f, 150.f;
> >             uW:_FillValue = -99999.f;
> > 
> >         //      VGRD=v wind component at Isobaric Levels
> > 
> >         float
> >             vW(record, numIsoLevel, y, x);
> >             vW:record = "valtime, reftime";
> >             vW:_Navigation_var = "nav";
> >             vW:numIsoLevel = "isoLevel";
> >             vW:long_name = "northward wind";
> >             vW:units = "meters/second";
> >             vW:valid_range = -150.f, 150.f;
> >             vW:_FillValue = -99999.f;
> > 
> >         //     temperature 30-0 mb above ground
> > 
> >         float
> >             T_30(record, y, x);
> >             T_30:record = "valtime, reftime";
> >             T_30:_Navigation_var = "nav";
> >             T_30:long_name = "temperature 30-0 mb above ground";
> >             T_30:units = "kelvin";
> >             T_30:valid_range = 160.f, 340.f;
> >             T_30:_FillValue = -99999.f;
> > 
> >         //     relative humidity 30-0 mb above ground
> > 
> >         float
> >             RH_30(record, y, x);
> >             RH_30:record = "valtime, reftime";
> >             RH_30:_Navigation_var = "nav";
> >             RH_30:long_name = "relative humidity 30-0 mb above ground";
> >             RH_30:units = "percent";
> >             RH_30:valid_range = -10.f, 110.f;
> >             RH_30:_FillValue = -99999.f;
> > 
> >         //     specific humidity 30-0 mb above ground
> > 
> >         float
> >             SH_30(record, y, x);
> >             SH_30:record = "valtime, reftime";
> >             SH_30:_Navigation_var = "nav";
> >             SH_30:long_name = "specific humidity 30-0 mb above ground";
> >             SH_30:units = "percent";
> >             SH_30:valid_range = -10.f, 110.f;
> >             SH_30:_FillValue = -99999.f;
> > 
> >         //     u wind component 30-0 mb above ground
> > 
> >         float
> >             uW_30(record, y, x);
> >             uW_30:record = "valtime, reftime";
> >             uW_30:_Navigation_var = "nav";
> >             uW_30:long_name = "eastward wind 30-0 mb above ground";
> >             uW_30:units = "meters/second";
> >             uW_30:valid_range = -300.f, 300.f;
> >             uW_30:_FillValue = -99999.f;
> > 
> >         //     v wind component 30-0 mb above ground
> > 
> >         float
> >             vW_30(record, y, x);
> >             vW_30:record = "valtime, reftime";
> >             vW_30:_Navigation_var = "nav";
> >             vW_30:long_name = "northward wind 30-0 mb above ground";
> >             vW_30:units = "meters/second";
> >             vW_30:valid_range = -300.f, 300.f;
> >             vW_30:_FillValue = -99999.f;
> > 
> >         //     temperature at fixed height above MSL
> > 
> >         float
> >             T_FH(record, fixedHeight, y, x);
> >             T_FH:record = "valtime, reftime";
> >             T_FH:_Navigation_var = "nav";
> >             T_FH:fixedHeight = "fixed height level";
> >             T_FH:long_name = "temperature at fixed height above MSL";
> >             T_FH:units = "kelvin";
> >             T_FH:valid_range = 160.f, 340.f;
> >             T_FH:_FillValue = -99999.f;
> > 
> >         //     u wind component at fixed height above MSL
> > 
> >         float
> >             uW_FH(record, fixedHeight, y, x);
> >             uW_FH:record = "valtime, reftime";
> >             uW_FH:_Navigation_var = "nav";
> >             uW_FH:fixedHeight = "fixed height level";
> >             uW_FH:long_name = "eastward wind at fixed height above MSL";
> >             uW_FH:units = "meters/second";
> >             uW_FH:valid_range = -300.f, 300.f;
> >             uW_FH:_FillValue = -99999.f;
> > 
> >         //     v wind component at fixed height above MSL
> > 
> >         float
> >             vW_FH(record, fixedHeight, y, x);
> >             vW_FH:record = "valtime, reftime";
> >             vW_FH:_Navigation_var = "nav";
> >             vW_FH:fixedHeight = "fixed height level";
> >             vW_FH:long_name = "northward wind at fixed height above MSL";
> >             vW_FH:units = "meters/second";
> >             vW_FH:valid_range = -300.f, 300.f;
> >             vW_FH:_FillValue = -99999.f;
> > 
> >         //     surface pressure
> > 
> >         float
> >             P(record, y, x);
> >             P:record = "valtime, reftime";
> >             P:_Navigation_var = "nav";
> >             P:long_name = "pressure at surface";
> >             P:units = "pascals";
> >             P:valid_range = 30000.f, 110000.f;
> >             P:_FillValue = -99999.f;
> > 
> >         //     precipitable water
> > 
> >         float
> >             PW(record, y, x);
> >             PW:record = "valtime, reftime";
> >             PW:_Navigation_var = "nav";
> >             PW:long_name = "precipitable water";
> >             PW:units = "kg/m2";
> >             PW:valid_range = 0.f, 100.f;
> >             PW:_FillValue = -99999.f;
> > 
> >         //     relative humidity (atmos col)
> > 
> >         float
> >             RH_AC(record, y, x);
> >             RH_AC:record = "valtime, reftime";
> >             RH_AC:_Navigation_var = "nav";
> >             RH_AC:long_name = "relative humidity (atmos col)";
> >             RH_AC:units = "percent";
> >             RH_AC:valid_range = -10.f, 110.f;
> >             RH_AC:_FillValue = -99999.f;
> > 
> >         //      geopotential height at tropopause
> > 
> >         float
> >             GH_T(record, y, x);
> >             GH_T:record = "valtime, reftime";
> >             GH_T:_Navigation_var = "nav";
> >             GH_T:long_name = "geopotential height at tropopause";
> >             GH_T:units = "meters";
> >             GH_T:valid_range = -300.f, 100000.f;
> >             GH_T:_FillValue = -99999.f;
> > 
> >     //      temperature at tropopause
> > 
> >     float
> >         T_T(record, y, x);
> >         T_T:record = "valtime, reftime";
> >         T_T:_Navigation_var = "nav";
> >         T_T:long_name = "temperature at tropopause";
> >         T_T:units = "kelvin";
> >         T_T:valid_range = 160.f, 340.f;
> >         T_T:_FillValue = -99999.f;
> > 
> >         //      atmospheric pressure at tropopause
> > 
> >         float
> >             P_T(record, y, x);
> >             P_T:record = "valtime, reftime";
> >             P_T:_Navigation_var = "nav";
> >             P_T:long_name = "pressure at tropopause";
> >             P_T:units = "pascals";
> >             P_T:valid_range = 0.f, 150000.f;
> >             P_T:_FillValue = -99999.f;
> > 
> >         //     vertical speed shear at tropopause
> > 
> >         float
> >             VSS_T(record, y, x);
> >             VSS_T:record = "valtime, reftime";
> >             VSS_T:_Navigation_var = "nav";
> >             VSS_T:long_name = "vertical speed shear at tropopause";
> >             VSS_T:units = "1/s";
> >             VSS_T:_FillValue = -99999.f;
> > 
> >         //     surface lifted index
> > 
> >         float
> >             LI(record, y, x);
> >             LI:record = "valtime, reftime";
> >             LI:_Navigation_var = "nav";
> >             LI:long_name = "surface lifted index";
> >             LI:units = "kelvin";
> >             LI:_FillValue = -99999.f;
> > 
> >         //     surface convective available potential energy
> > 
> >         float
> >             CAPE(record, y, x);
> >             CAPE:record = "valtime, reftime";
> >             CAPE:_Navigation_var = "nav";
> >             CAPE:long_name = "surface convective available potential 
> > energy";
> >             CAPE:units = "J/kg";
> >             CAPE:valid_range = 0.f, 20000.f;
> >             CAPE:_FillValue = -99999.f;
> > 
> >         //     surface convective inhibition
> > 
> >         float
> >             CIN(record, y, x);
> >             CIN:record = "valtime, reftime";
> >             CIN:_Navigation_var = "nav";
> >             CIN:long_name = "surface convective inhibition";
> >             CIN:units = "J/kg";
> >             CIN:valid_range = 0.f, 20000.f;
> >             CIN:_FillValue = -99999.f;
> > 
> >         //     Best (4-layer) lifted index [K] (Surface)
> > 
> >         float
> >             LFTX4(record, y, x);
> >             LFTX4:record = "valtime, reftime";
> >             LFTX4:_Navigation_var = "nav";
> >             LFTX4:long_name = "Best (4-layer) lifted index";
> >             LFTX4:units = "K";
> >             LFTX4:_FillValue = -99999.f;
> > 
> > 
> >         //     Best (4-layer) lifted index [K] (180-0 mb above gnd)
> > 
> >         float
> >             LFTX4180(record, y, x);
> >             LFTX4180:record = "valtime, reftime";
> >             LFTX4180:_Navigation_var = "nav";
> >             LFTX4180:long_name = "Best (4-layer) lifted index";
> >             LFTX4180:units = "K";
> >             LFTX4180:_FillValue = -99999.f;
> > 
> >         //     convective available potential energy
> > 
> >         float
> >             CAPE180(record, y, x);
> >             CAPE180:record = "valtime, reftime";
> >             CAPE180:_Navigation_var = "nav";
> >             CAPE180:long_name = "convective available potential energy 
> > 180-0 mb";
> >             CAPE180:units = "J/kg";
> >             CAPE180:valid_range = 0.f, 20000.f;
> >             CAPE180:_FillValue = -99999.f;
> > 
> >         //     convective inhibition
> > 
> >         float
> >             CIN180(record, y, x);
> >             CIN180:record = "valtime, reftime";
> >             CIN180:_Navigation_var = "nav";
> >             CIN180:long_name = "convective inhibition 180-0 mb";
> >             CIN180:units = "J/kg";
> >             CIN180:valid_range = 0.f, 20000.f;
> >             CIN180:_FillValue = -99999.f;
> > 
> >         //      geopotential height at maximum wind
> > 
> >         float
> >             GH_WMAX(record, y, x);
> >             GH_WMAX:record = "valtime, reftime";
> >             GH_WMAX:_Navigation_var = "nav";
> >             GH_WMAX:long_name = "geopotential height at maximum wind";
> >             GH_WMAX:units = "meters";
> >             GH_WMAX:valid_range = -300.f, 100000.f;
> >             GH_WMAX:_FillValue = -99999.f;
> > 
> >         //      temperature at maximum wind
> > 
> >         float
> >             T_WMAX(record, y, x);
> >             T_WMAX:record = "valtime, reftime";
> >             T_WMAX:_Navigation_var = "nav";
> >             T_WMAX:long_name = "temperature at maximum wind";
> >             T_WMAX:units = "kelvin";
> >             T_WMAX:valid_range = 160.f, 340.f;
> >             T_WMAX:_FillValue = -99999.f;
> > 
> >         //      atmospheric pressure at max wind
> > 
> >         float
> >             P_WMAX(record, y, x);
> >             P_WMAX:record = "valtime, reftime";
> >             P_WMAX:_Navigation_var = "nav";
> >             P_WMAX:long_name = "pressure at maximum wind";
> >             P_WMAX:units = "pascals";
> >             P_WMAX:valid_range = 0.f, 150000.f;
> >             P_WMAX:_FillValue = -99999.f;
> > 
> >         //      geopotential height of surface
> > 
> >         float
> >             GH_S(record, y, x);
> >             GH_S:record = "valtime, reftime";
> >             GH_S:_Navigation_var = "nav";
> >             GH_S:long_name = "geopotential height of surface";
> >             GH_S:units = "meters";
> >             GH_S:valid_range = -500.f, 10000.f;
> >             GH_S:_FillValue = -99999.f;
> > 
> >         //      atmospheric pressure at mean sea level
> > 
> >         float
> >             PMSL(record, y, x);
> >             PMSL:record = "valtime, reftime";
> >             PMSL:_Navigation_var = "nav";
> >             PMSL:long_name = "pressure at mean sea level";
> >             PMSL:units = "pascals";
> >             PMSL:valid_range = 85000.f, 110000.f;
> >             PMSL:_FillValue = -99999.f;
> > 
> >         //      relative humidity at sigma 0.44-1.00
> > 
> >         float
> >             RH_SONE(record, y, x);
> >             RH_SONE:record = "valtime, reftime";
> >             RH_SONE:_Navigation_var = "nav";
> >             RH_SONE:long_name = "relative humidity - sigma 0.44-1.00";
> >             RH_SONE:units = "percent";
> >             RH_SONE:valid_range = -10.f, 110.f;
> >             RH_SONE:_FillValue = -99999.f;
> > 
> >         //      relative humidity at sigma 0.72-0.94
> > 
> >         float
> >             RH_STWO(record, y, x);
> >             RH_STWO:record = "valtime, reftime";
> >             RH_STWO:_Navigation_var = "nav";
> >             RH_STWO:long_name = "relative humidity - sigma 0.72-0.94";
> >             RH_STWO:units = "percent";
> >             RH_STWO:valid_range = -10.f, 110.f;
> >             RH_STWO:_FillValue = -99999.f;
> > 
> >         //      relative humidity at sigma 0.44-0.72
> > 
> >         float
> >             RH_STRE(record, y, x);
> >             RH_STRE:record = "valtime, reftime";
> >             RH_STRE:_Navigation_var = "nav";
> >             RH_STRE:long_name = "relative humidity - sigma 0.44-0.72";
> >             RH_STRE:units = "percent";
> >             RH_STRE:valid_range = -10.f, 110.f;
> >             RH_STRE:_FillValue = -99999.f;
> > 
> >         //      relative humidity at sigma 0.33-1.00
> > 
> >         float
> >             RH_SFOUR(record, y, x);
> >             RH_SFOUR:record = "valtime, reftime";
> >             RH_SFOUR:_Navigation_var = "nav";
> >             RH_SFOUR:long_name = "relative humidity - sigma 0.33-1.00";
> >             RH_SFOUR:units = "percent";
> >             RH_SFOUR:valid_range = -10.f, 110.f;
> >             RH_SFOUR:_FillValue = -99999.f;
> > 
> >         //      potential temperature, sigma=0.9950
> > 
> >         float
> >             PT_SIG(record, y, x);
> >             PT_SIG:record = "valtime, reftime";
> >             PT_SIG:_Navigation_var = "nav";
> >             PT_SIG:long_name = "potential temperature at sigma=0.9950";
> >             PT_SIG:units = "kelvin";
> >             PT_SIG:valid_range = 160.f, 340.f;
> >             PT_SIG:_FillValue = -99999.f;
> > 
> >         //      temperature, sigma=0.9950
> > 
> >         float
> >             T_SIG(record, y, x);
> >             T_SIG:record = "valtime, reftime";
> >             T_SIG:_Navigation_var = "nav";
> >             T_SIG:long_name = "temperature at sigma=0.9950";
> >             T_SIG:units = "kelvin";
> >             T_SIG:valid_range = 160.f, 340.f;
> >             T_SIG:_FillValue = -99999.f;
> > 
> >         //     pressure vertical velocity, sigma=0.9950
> > 
> >         float
> >             PVV_SIG(record, y, x);
> >             PVV_SIG:record = "valtime, reftime";
> >             PVV_SIG:_Navigation_var = "nav";
> >             PVV_SIG:long_name = "pressure vertical velocity, sigma=0.9950";
> >             PVV_SIG:units = "Pa/s";
> >             PVV_SIG:valid_range = -10.f, 10.f;
> >             PVV_SIG:_FillValue = -99999.f;
> > 
> >         //      relative humidity, sigma=0.9950
> > 
> >         float
> >             RH_SIG(record, y, x);
> >             RH_SIG:record = "valtime, reftime";
> >             RH_SIG:_Navigation_var = "nav";
> >             RH_SIG:long_name = "relative humidity, sigma=0.9950";
> >             RH_SIG:units = "percent";
> >             RH_SIG:valid_range = -10.f, 110.f;
> >             RH_SIG:_FillValue = -99999.f;
> > 
> >         //      TOZNE - Total ozone [Dobson]
> > 
> >         float
> >             TOZNE(record, y, x);
> >             TOZNE:record = "valtime, reftime";
> >             TOZNE:_Navigation_var = "nav";
> >             TOZNE:long_name = "total ozone";
> >             TOZNE:units = "dobson";
> >             TOZNE:_FillValue = -99999.f;
> > 
> >     //      u wind component at tropopause
> > 
> >     float
> >         uW_T(record, y, x);
> >         uW_T:record = "valtime, reftime";
> >         uW_T:_Navigation_var = "nav";
> >         uW_T:long_name = "eastward wind at tropopause";
> >         uW_T:units = "meters/second";
> >         uW_T:valid_range = -300.f, 300.f;
> >         uW_T:_FillValue = -99999.f;
> > 
> >         //      u wind component at max wind
> > 
> >         float
> >             uW_WMAX(record, y, x);
> >             uW_WMAX:record = "valtime, reftime";
> >             uW_WMAX:_Navigation_var = "nav";
> >             uW_WMAX:long_name = "eastward wind at maximum wind";
> >             uW_WMAX:units = "meters/second";
> >             uW_WMAX:valid_range = -300.f, 300.f;
> >             uW_WMAX:_FillValue = -99999.f;
> > 
> >         //      eastward wind at sigma=0.9950
> > 
> >         float
> >             uW_SIG(record, y, x);
> >             uW_SIG:record = "valtime, reftime";
> >             uW_SIG:_Navigation_var = "nav";
> >             uW_SIG:long_name = "eastward wind at sigma=0.9950";
> >             uW_SIG:units = "meters/second";
> >             uW_SIG:valid_range = -300.f, 300.f;
> >             uW_SIG:_FillValue = -99999.f;
> > 
> >     //      v wind component at tropopause
> > 
> >     float
> >         vW_T(record, y, x);
> >         vW_T:record = "valtime, reftime";
> >         vW_T:_Navigation_var = "nav";
> >         vW_T:long_name = "northward wind at tropopause";
> >         vW_T:units = "meters/second";
> >         vW_T:valid_range = -300.f, 300.f;
> >         vW_T:_FillValue = -99999.f;
> > 
> >     //      v wind component at maximum
> > 
> >     float
> >         vW_WMAX(record, y, x);
> >         vW_WMAX:record = "valtime, reftime";
> >         vW_WMAX:_Navigation_var = "nav";
> >         vW_WMAX:long_name = "northward wind at maximum wind";
> >         vW_WMAX:units = "meters/second";
> >         vW_WMAX:valid_range = -300.f, 300.f;
> >         vW_WMAX:_FillValue = -99999.f;
> > 
> >         //      northward wind at sigma=0.9950
> > 
> >         float
> >             vW_SIG(record, y, x);
> >             vW_SIG:record = "valtime, reftime";
> >             vW_SIG:_Navigation_var = "nav";
> >             vW_SIG:long_name = "northward wind at sigma=0.9950";
> >             vW_SIG:units = "meters/second";
> >             vW_SIG:valid_range = -300.f, 300.f;
> >             vW_SIG:_FillValue = -99999.f;
> > 
> >         //      sensible heat flux at surface
> > 
> >         float
> >             SHTFL(record, y, x);
> >             SHTFL:record = "valtime, reftime";
> >             SHTFL:_Navigation_var = "nav";
> >             SHTFL:long_name = "sensible heat flux at surface";
> >             SHTFL:units = "W/m2";
> >             SHTFL:_FillValue = -99999.f;
> > 
> >         //      latent heat flux at surface
> > 
> >         float
> >             LHTFL(record, y, x);
> >             LHTFL:record = "valtime, reftime";
> >             LHTFL:_Navigation_var = "nav";
> >             LHTFL:long_name = "latent heat flux at surface";
> >             LHTFL:units = "W/m2";
> >             LHTFL:_FillValue = -99999.f;
> > 
> >         //     temperature at surface
> > 
> >         float
> >             T_S(record, y, x);
> >             T_S:record = "valtime, reftime";
> >             T_S:_Navigation_var = "nav";
> >             T_S:long_name = "temperature at surface";
> >             T_S:units = "kelvin";
> >             T_S:valid_range = 160.f, 340.f;
> >             T_S:_FillValue = -99999.f;
> > 
> >         //     volumetric soil moisture 0-10cm down from surface
> > 
> >         float
> >             USOILW(record, y, x);
> >             USOILW:record = "valtime, reftime";
> >             USOILW:_Navigation_var = "nav";
> >             USOILW:long_name = "volumetric soil moisture 0-10cm down from 
> > surface";
> >             USOILW:units = "fraction";
> >             USOILW:_FillValue = -99999.f;
> > 
> >         //     volumetric soil moisture 10-200cm down from surface
> > 
> >         float
> >             LSOILW(record, y, x);
> >             LSOILW:record = "valtime, reftime";
> >             LSOILW:_Navigation_var = "nav";
> >             LSOILW:long_name = "volumetric soil moisture 10-200cm down from 
> > surface";
> >             LSOILW:units = "fraction";
> >             LSOILW:_FillValue = -99999.f;
> > 
> >         //     temperature 0-10 cm down from surface
> > 
> >         float
> >             T_10D(record, y, x);
> >             T_10D:record = "valtime, reftime";
> >             T_10D:_Navigation_var = "nav";
> >             T_10D:long_name = "temperature 0-10 cm down from surface";
> >             T_10D:units = "kelvin";
> >             T_10D:valid_range = 160.f, 340.f;
> >             T_10D:_FillValue = -99999.f;
> > 
> >         //     temperature 10-200 cm down from surface
> > 
> >         float
> >             T_200D(record, y, x);
> >             T_200D:record = "valtime, reftime";
> >             T_200D:_Navigation_var = "nav";
> >             T_200D:long_name = "temperature 10-200 cm down from surface";
> >             T_200D:units = "kelvin";
> >             T_200D:valid_range = 160.f, 340.f;
> >             T_200D:_FillValue = -99999.f;
> > 
> >         //      accumulated snow
> > 
> >         float
> >             ACCS(record, y, x);
> >             ACCS:record = "valtime, reftime";
> >             ACCS:_Navigation_var = "nav";
> >             ACCS:long_name = "accumulated snow";
> >             ACCS:units = "kg/m2";
> >             ACCS:_FillValue = -99999.f;
> > 
> >         //     downward long wave flux at surface
> > 
> >         float
> >             DLWF_S(record, y, x);
> >             DLWF_S:record = "valtime, reftime";
> >             DLWF_S:_Navigation_var = "nav";
> >             DLWF_S:long_name = "downward long wave flux at surface";
> >             DLWF_S:units = "W/m2";
> >             DLWF_S:_FillValue = -99999.f;
> > 
> >         //     upward long wave flux at surface
> > 
> >         float
> >             ULWF_S(record, y, x);
> >             ULWF_S:record = "valtime, reftime";
> >             ULWF_S:_Navigation_var = "nav";
> >             ULWF_S:long_name = "upward long wave flux at surface";
> >             ULWF_S:units = "W/m2";
> >             ULWF_S:_FillValue = -99999.f;
> > 
> >         //     upward long wave flux at nom. top
> > 
> >         float
> >             ULWF_NT(record, y, x);
> >             ULWF_NT:record = "valtime, reftime";
> >             ULWF_NT:_Navigation_var = "nav";
> >             ULWF_NT:long_name = "upward long wave flux at nom. top";
> >             ULWF_NT:units = "W/m2";
> >             ULWF_NT:_FillValue = -99999.f;
> > 
> >         //     upward short wave flux at nom. top
> > 
> >         float
> >             USWF_NT(record, y, x);
> >             USWF_NT:record = "valtime, reftime";
> >             USWF_NT:_Navigation_var = "nav";
> >             USWF_NT:long_name = "upward short wave flux at nom. top";
> >             USWF_NT:units = "W/m2";
> >             USWF_NT:_FillValue = -99999.f;
> > 
> >         //     upward short wave flux at surface
> > 
> >         float
> >             USWF_S(record, y, x);
> >             USWF_S:record = "valtime, reftime";
> >             USWF_S:_Navigation_var = "nav";
> >             USWF_S:long_name = "upward short wave flux at surface";
> >             USWF_S:units = "W/m2";
> >             USWF_S:_FillValue = -99999.f;
> > 
> >         //     downward short wave flux at surface
> > 
> >         float
> >             DSWF_S(record, y, x);
> >             DSWF_S:record = "valtime, reftime";
> >             DSWF_S:_Navigation_var = "nav";
> >             DSWF_S:long_name = "downward short wave flux at surface";
> >             DSWF_S:units = "W/m2";
> >             DSWF_S:_FillValue = -99999.f;
> > 
> >         //      total cloud cover - high cloud layer
> > 
> >         float
> >             TCC_HCLD(record, y, x);
> >             TCC_HCLD:record = "valtime, reftime";
> >             TCC_HCLD:_Navigation_var = "nav";
> >             TCC_HCLD:long_name = "total cloud cover - high cloud layer";
> >             TCC_HCLD:units = "percent";
> >             TCC_HCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at top of high cloud layer
> > 
> >         float
> >             P_THCLD(record, y, x);
> >             P_THCLD:record = "valtime, reftime";
> >             P_THCLD:_Navigation_var = "nav";
> >             P_THCLD:long_name = "pressure at top of high cloud layer";
> >             P_THCLD:units = "pascals";
> >             P_THCLD:valid_range = 0.f, 150000.f;
> >             P_THCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at bottom of high cloud layer
> > 
> >         float
> >             P_BHCLD(record, y, x);
> >             P_BHCLD:record = "valtime, reftime";
> >             P_BHCLD:_Navigation_var = "nav";
> >             P_BHCLD:long_name = "pressure at bottom of high cloud layer";
> >             P_BHCLD:units = "pascals";
> >             P_BHCLD:valid_range = 0.f, 150000.f;
> >             P_BHCLD:_FillValue = -99999.f;
> > 
> >         //     temperature at top of high cloud layer
> > 
> >         float
> >             T_THCLD(record, y, x);
> >             T_THCLD:record = "valtime, reftime";
> >             T_THCLD:_Navigation_var = "nav";
> >             T_THCLD:long_name = "temperature at top of high cloud layer";
> >             T_THCLD:units = "kelvin";
> >             T_THCLD:valid_range = 160.f, 340.f;
> >             T_THCLD:_FillValue = -99999.f;
> > 
> >         //      total cloud cover - medium cloud layer
> > 
> >         float
> >             TCC_MCLD(record, y, x);
> >             TCC_MCLD:record = "valtime, reftime";
> >             TCC_MCLD:_Navigation_var = "nav";
> >             TCC_MCLD:long_name = "total cloud cover - medium cloud layer";
> >             TCC_MCLD:units = "percent";
> >             TCC_MCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at top of medium cloud layer
> > 
> >         float
> >             P_TMCLD(record, y, x);
> >             P_TMCLD:record = "valtime, reftime";
> >             P_TMCLD:_Navigation_var = "nav";
> >             P_TMCLD:long_name = "pressure at top of medium cloud layer";
> >             P_TMCLD:units = "pascals";
> >             P_TMCLD:valid_range = 0.f, 150000.f;
> >             P_TMCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at bottom of medium cloud layer
> > 
> >         float
> >             P_BMCLD(record, y, x);
> >             P_BMCLD:record = "valtime, reftime";
> >             P_BMCLD:_Navigation_var = "nav";
> >             P_BMCLD:long_name = "pressure at bottom of medium cloud layer";
> >             P_BMCLD:units = "pascals";
> >             P_BMCLD:valid_range = 0.f, 150000.f;
> >             P_BMCLD:_FillValue = -99999.f;
> > 
> >         //     temperature at top of medium cloud layer
> > 
> >         float
> >             T_TMCLD(record, y, x);
> >             T_TMCLD:record = "valtime, reftime";
> >             T_TMCLD:_Navigation_var = "nav";
> >             T_TMCLD:long_name = "temperature at top of medium cloud layer";
> >             T_TMCLD:units = "kelvin";
> >             T_TMCLD:valid_range = 160.f, 340.f;
> >             T_TMCLD:_FillValue = -99999.f;
> > 
> >         //      total cloud cover - low cloud layer
> > 
> >         float
> >             TCC_LCLD(record, y, x);
> >             TCC_LCLD:record = "valtime, reftime";
> >             TCC_LCLD:_Navigation_var = "nav";
> >             TCC_LCLD:long_name = "total cloud cover - low cloud layer";
> >             TCC_LCLD:units = "percent";
> >             TCC_LCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at top of low cloud layer
> > 
> >         float
> >             P_TLCLD(record, y, x);
> >             P_TLCLD:record = "valtime, reftime";
> >             P_TLCLD:_Navigation_var = "nav";
> >             P_TLCLD:long_name = "pressure at top of low cloud layer";
> >             P_TLCLD:units = "pascals";
> >             P_TLCLD:valid_range = 0.f, 150000.f;
> >             P_TLCLD:_FillValue = -99999.f;
> > 
> >         //     pressure at bottom of low cloud layer
> > 
> >         float
> >             P_BLCLD(record, y, x);
> >             P_BLCLD:record = "valtime, reftime";
> >             P_BLCLD:_Navigation_var = "nav";
> >             P_BLCLD:long_name = "pressure at bottom of low cloud layer";
> >             P_BLCLD:units = "pascals";
> >             P_BLCLD:valid_range = 0.f, 150000.f;
> >             P_BLCLD:_FillValue = -99999.f;
> > 
> >         //     temperature at top of low cloud layer
> > 
> >         float
> >             T_TLCLD(record, y, x);
> >             T_TLCLD:record = "valtime, reftime";
> >             T_TLCLD:_Navigation_var = "nav";
> >             T_TLCLD:long_name = "temperature at top of low cloud layer";
> >             T_TLCLD:units = "kelvin";
> >             T_TLCLD:valid_range = 160.f, 340.f;
> >             T_TLCLD:_FillValue = -99999.f;
> > 
> >         //      precipitation rate
> > 
> >         float
> >             PRATE(record, y, x);
> >             PRATE:record = "valtime, reftime";
> >             PRATE:_Navigation_var = "nav";
> >             PRATE:long_name = "precipitation rate";
> >             PRATE:units = "kg/m2/s";
> >             PRATE:_FillValue = -99999.f;
> > 
> >         //      convective precipitation rate
> > 
> >         float
> >             CPRAT(record, y, x);
> >             CPRAT:record = "valtime, reftime";
> >             CPRAT:_Navigation_var = "nav";
> >             CPRAT:long_name = "convective precipitation rate";
> >             CPRAT:units = "kg/m2/s";
> >             CPRAT:_FillValue = -99999.f;
> > 
> >         //      ground heat flux
> > 
> >         float
> >             GHF(record, y, x);
> >             GHF:record = "valtime, reftime";
> >             GHF:_Navigation_var = "nav";
> >             GHF:long_name = "ground heat flux";
> >             GHF:units = "W/m2";
> >             GHF:_FillValue = -99999.f;
> > 
> >         //      land cover
> > 
> >         float
> >             LAND(record, y, x);
> >             LAND:record = "valtime, reftime";
> >             LAND:_Navigation_var = "nav";
> >             LAND:long_name = "land cover (1=land, 0=sea)";
> >             LAND:units = "fraction";
> >             LAND:valid_range = 0.f, 1.f;
> >             LAND:_FillValue = -99999.f;
> > 
> >         //      ice concentration
> > 
> >         float
> >             ICEC(record, y, x);
> >             ICEC:record = "valtime, reftime";
> >             ICEC:_Navigation_var = "nav";
> >             ICEC:long_name = "ice concentration (1=ice, 0=no ice)";
> >             ICEC:units = "fraction";
> >             ICEC:valid_range = 0.f, 1.f;
> >             ICEC:_FillValue = -99999.f;
> > 
> >         //     temperature 2m above the ground
> > 
> >         float
> >             T_2M(record, y, x);
> >             T_2M:record = "valtime, reftime";
> >             T_2M:_Navigation_var = "nav";
> >             T_2M:long_name = "temperature 2m above the ground";
> >             T_2M:units = "kelvin";
> >             T_2M:valid_range = 160.f, 340.f;
> >             T_2M:_FillValue = -99999.f;
> > 
> >         //     specific humidity 2m above ground
> > 
> >         float
> >             SH_2M(record, y, x);
> >             SH_2M:record = "valtime, reftime";
> >             SH_2M:_Navigation_var = "nav";
> >             SH_2M:long_name = "specific humidity 2m above ground";
> >             SH_2M:units = "kg/kg";
> >             SH_2M:_FillValue = -99999.f;
> > 
> >         //     maximum temperature 2m above the ground
> > 
> >         float
> >             TMAX_2M(record, y, x);
> >             TMAX_2M:record = "valtime, reftime";
> >             TMAX_2M:_Navigation_var = "nav";
> >             TMAX_2M:long_name = "maximum temperature 2m above the ground";
> >             TMAX_2M:units = "kelvin";
> >             TMAX_2M:valid_range = 160.f, 340.f;
> >             TMAX_2M:_FillValue = -99999.f;
> > 
> >         //     minimum temperature 2m above the ground
> > 
> >         float
> >             TMIN_2M(record, y, x);
> >             TMIN_2M:record = "valtime, reftime";
> >             TMIN_2M:_Navigation_var = "nav";
> >             TMIN_2M:long_name = "minimum temperature 2m above the ground";
> >             TMIN_2M:units = "kelvin";
> >             TMIN_2M:valid_range = 160.f, 340.f;
> >             TMIN_2M:_FillValue = -99999.f;
> > 
> >         //     water runoff
> > 
> >         float
> >             WATR(record, y, x);
> >             WATR:record = "valtime, reftime";
> >             WATR:_Navigation_var = "nav";
> >             WATR:long_name = "water runoff";
> >             WATR:units = "kg/m2";
> >             WATR:_FillValue = -99999.f;
> > 
> >         //     potential evaporation rate
> > 
> >         float
> >             PEVPR(record, y, x);
> >             PEVPR:record = "valtime, reftime";
> >             PEVPR:_Navigation_var = "nav";
> >             PEVPR:long_name = "potential evaporation rate";
> >             PEVPR:units = "W/m2";
> >             PEVPR:_FillValue = -99999.f;
> > 
> >         //     cloud work function
> > 
> >         float
> >             CWF(record, y, x);
> >             CWF:record = "valtime, reftime";
> >             CWF:_Navigation_var = "nav";
> >             CWF:long_name = "cloud work function";
> >             CWF:units = "J/kg";
> >             CWF:_FillValue = -99999.f;
> > 
> >         //     planetary boundary layer height
> > 
> >         float
> >             PBLH(record, y, x);
> >             PBLH:record = "valtime, reftime";
> >             PBLH:_Navigation_var = "nav";
> >             PBLH:long_name = "planetary boundary layer height";
> >             PBLH:units = "meters";
> >             PBLH:_FillValue = -99999.f;
> > 
> >         //     albedo at the surface
> > 
> >         float
> >             ALBDO(record, y, x);
> >             ALBDO:record = "valtime, reftime";
> >             ALBDO:_Navigation_var = "nav";
> >             ALBDO:long_name = "albedo at the surface";
> >             ALBDO:units = "percent";
> >             ALBDO:_FillValue = -99999.f;
> > 
> >         //      total cloud cover - atmos col
> > 
> >         float
> >             TCC_HAC(record, y, x);
> >             TCC_HAC:record = "valtime, reftime";
> >             TCC_HAC:_Navigation_var = "nav";
> >             TCC_HAC:long_name = "total cloud cover - atmos col";
> >             TCC_HAC:units = "percent";
> >             TCC_HAC:_FillValue = -99999.f;
> > 
> >         //     total cloud cover - convective cloud
> > 
> >         float
> >             TCC_CON(record, y, x);
> >             TCC_CON:record = "valtime, reftime";
> >             TCC_CON:_Navigation_var = "nav";
> >             TCC_CON:long_name = "total cloud cover - convective cloud";
> >             TCC_CON:units = "percent";
> >             TCC_CON:_FillValue = -99999.f;
> > 
> >         //     pressure at top of convective cloud
> > 
> >         float
> >             P_TLCON(record, y, x);
> >             P_TLCON:record = "valtime, reftime";
> >             P_TLCON:_Navigation_var = "nav";
> >             P_TLCON:long_name = "pressure at top of convective cloud";
> >             P_TLCON:units = "pascals";
> >             P_TLCON:valid_range = 0.f, 150000.f;
> >             P_TLCON:_FillValue = -99999.f;
> > 
> >         //     pressure at bottom of convective cloud
> > 
> >         float
> >             P_BLCON(record, y, x);
> >             P_BLCON:record = "valtime, reftime";
> >             P_BLCON:_Navigation_var = "nav";
> >             P_BLCON:long_name = "pressure at bottom of convective cloud";
> >             P_BLCON:units = "pascals";
> >             P_BLCON:valid_range = 0.f, 150000.f;
> >             P_BLCON:_FillValue = -99999.f;
> > 
> >         //     total cloud cover - boundary cloud layer
> > 
> >         float
> >             TCC_BND(record, y, x);
> >             TCC_BND:record = "valtime, reftime";
> >             TCC_BND:_Navigation_var = "nav";
> >             TCC_BND:long_name = "total cloud cover - boundary cloud layer";
> >             TCC_BND:units = "percent";
> >             TCC_BND:_FillValue = -99999.f;
> > 
> >         //     total precipitation at surface
> > 
> >         float
> >             APCP(record, y, x);
> >             APCP:record = "valtime, reftime";
> >             APCP:_Navigation_var = "nav";
> >             APCP:long_name = "total precipitation";
> >             APCP:units = "kg/m2";
> >             APCP:valid_range = 0.f, 1000.f;
> >             APCP:_FillValue = -99999.f;
> > 
> > 
> >         //     convective precipitation
> > 
> >         float
> >             ACPCP(record, y, x);
> >             ACPCP:record = "valtime, reftime";
> >             ACPCP:_Navigation_var = "nav";
> >             ACPCP:long_name = "convective precipitation";
> >             ACPCP:units = "kg/m2";
> >             ACPCP:valid_range = 0.f, 1000.f;
> >             ACPCP:_FillValue = -99999.f;
> > 
> >         //     categorical rain at the surface
> > 
> >         float
> >             CRAIN(record, y, x);
> >             CRAIN:record = "valtime, reftime";
> >             CRAIN:_Navigation_var = "nav";
> >             CRAIN:long_name = "categorical rain at the surface (1=yes, 
> > 0=no)";
> >             CRAIN:units = "flag";
> >             CRAIN:_FillValue = -99999.f;
> > 
> >         //     categorical freezing rain
> > 
> >         float
> >             CFR(record, y, x);
> >             CFR:record = "valtime, reftime";
> >             CFR:_Navigation_var = "nav";
> >             CFR:long_name = "categorical freezing rain at the surface 
> > (1=yes, 0=no)";
> >             CFR:units = "flag";
> >             CFR:_FillValue = -99999.f;
> > 
> >         //     categorical ice pellets
> > 
> >         float
> >             CIP(record, y, x);
> >             CIP:record = "valtime, reftime";
> >             CIP:_Navigation_var = "nav";
> >             CIP:long_name = "categorical ice pellets at the surface (1=yes, 
> > 0=no)";
> >             CIP:units = "flag";
> >             CIP:_FillValue = -99999.f;
> > 
> >         //     categorical snow
> > 
> >         float
> >             CS(record, y, x);
> >             CS:record = "valtime, reftime";
> >             CS:_Navigation_var = "nav";
> >             CS:long_name = "categorical snow at the surface (1=yes, 0=no)";
> >             CS:units = "flag";
> >             CS:_FillValue = -99999.f;
> > 
> >         //      relative humidity 2m above ground
> > 
> >         float
> >             RH_2M(record, y, x);
> >             RH_2M:record = "valtime, reftime";
> >             RH_2M:_Navigation_var = "nav";
> >             RH_2M:long_name = "relative humidity 2m above ground";
> >             RH_2M:units = "percent";
> >             RH_2M:valid_range = -10.f, 110.f;
> >             RH_2M:_FillValue = -99999.f;
> > 
> >         //      zonal momentum flux at the surface
> > 
> >         float
> >             ZMF_S(record, y, x);
> >             ZMF_S:record = "valtime, reftime";
> >             ZMF_S:_Navigation_var = "nav";
> >             ZMF_S:long_name = "zonal momentum flux at the surface";
> >             ZMF_S:units = "N/m2";
> >             ZMF_S:_FillValue = -99999.f;
> > 
> >         //      eastward wind at 10m above ground
> > 
> >         float
> >             uW_10M(record, y, x);
> >             uW_10M:record = "valtime, reftime";
> >             uW_10M:_Navigation_var = "nav";
> >             uW_10M:long_name = "eastward wind at 10m above ground";
> >             uW_10M:units = "meters/second";
> >             uW_10M:valid_range = -300.f, 300.f;
> >             uW_10M:_FillValue = -99999.f;
> > 
> >         //      zonal gravity wave stress
> > 
> >         float
> >             ZGWS(record, y, x);
> >             ZGWS:record = "valtime, reftime";
> >             ZGWS:_Navigation_var = "nav";
> >             ZGWS:long_name = "zonal gravity wave stress";
> >             ZGWS:units = "N/m2";
> >             ZGWS:_FillValue = -99999.f;
> > 
> >         //      meridional momentum flux
> > 
> >         float
> >             MMF(record, y, x);
> >             MMF:record = "valtime, reftime";
> >             MMF:_Navigation_var = "nav";
> >             MMF:long_name = "meridional momentum flux";
> >             MMF:units = "N/m2";
> >             MMF:_FillValue = -99999.f;
> > 
> >         //      northward wind at 10m above ground
> > 
> >         float
> >             vW_10M(record, y, x);
> >             vW_10M:record = "valtime, reftime";
> >             vW_10M:_Navigation_var = "nav";
> >             vW_10M:long_name = "northward wind at 10m above ground";
> >             vW_10M:units = "meters/second";
> >             vW_10M:valid_range = -300.f, 300.f;
> >             vW_10M:_FillValue = -99999.f;
> > 
> >         //      meridional gravity wave stress
> > 
> >         float
> >             MGWS(record, y, x);
> >             MGWS:record = "valtime, reftime";
> >             MGWS:_Navigation_var = "nav";
> >             MGWS:long_name = "meridional gravity wave stress";
> >             MGWS:units = "N/m2";
> >             MGWS:_FillValue = -99999.f;
> > 
> >         //      geopotential height anomaly
> > 
> >         float
> >             GHA(record, numIsoLevel, y, x);
> >             GHA:record = "valtime, reftime";
> >             GHA:_Navigation_var = "nav";
> >             GHA:numIsoLevel = "isoLevel";
> >             GHA:long_name = "geopotential height anomaly";
> >             GHA:units = "gpm";
> >             GHA:_FillValue = -99999.f;
> > 
> >         //      5-wave geopotential height anomaly
> > 
> >         float
> >             WAV5(record, y, x);
> >             WAV5:record = "valtime, reftime";
> >             WAV5:_Navigation_var = "nav";
> >             WAV5:long_name = "5-wave geopotential height anomaly - 500 mb";
> >             WAV5:units = "gpm";
> >             WAV5:_FillValue = -99999.f;
> > 
> >     //      time the data is valid at
> > 
> >     double  
> >         valtime(record);
> >         valtime:long_name = "valid time";
> >         valtime:units = "seconds since (1970-1-1 00:00:00.0)";
> > 
> >     //      reference time of the model
> > 
> >     double  
> >         reftime(record);
> >         reftime:long_name = "reference time";
> >         reftime:units = "seconds since (1970-1-1 00:00:00.0)";
> > 
> >     //      vertical levels
> >     
> >     double
> >         isoLevel(numIsoLevel);
> >         isoLevel:long_name = "isobaric levels";
> >         isoLevel:units = "millibars";
> > 
> >         double
> >             fixedHeightLevels(fixedHeight);
> >             fixedHeightLevels:long_name = "fixed height levels";
> >             fixedHeightLevels:units = "meters";
> > 
> >     //      nice name for originating center
> > 
> >     char
> >         origin(namelen);
> > 
> >     //      nice name for model
> > 
> >     char
> >         model(namelen);
> > 
> >     //      nice name for grid
> > 
> >     char
> >         grid(namelen);
> > 
> >     //----------------------------------------------------------------------
> >     //      navigation information
> >     //----------------------------------------------------------------------
> > 
> >     //      projection type
> > 
> >     char 
> >         nav(namelen);
> >         nav:long_name = "projection type";
> > 
> >     //      version number of cdl definition
> > 
> >     int
> >         version;
> > 
> >     :history = "created by FSL Data Systems";
> >     :title = "Global 26 layer spectral Aviation Model";
> >     :query = "GDAM.NMC.AVN126.65160PointGlobalLatLon.*";
> >     :age = 21600;
> >  
> >     data:
> > 
> >     version         = 1;
> >     origin          = "NOAA/ERL Forecast Systems Laboratory, Boulder CO";
> >     model           = "126 wave triangular, 26 layer spectral aviation run";
> >     grid            = "global";
> >     nav             = "Latitude/Longitude";
> >     isoLevel        = 1000.0, 975.0, 950.0, 925.0, 900.0, 850.0, 800.0,
> >                       750.0, 700.0, 650.0, 600.0, 550.0, 500.0, 450.0,
> >                           400.0, 350.0, 300.0, 250.0, 200.0, 150.0, 100.0,
> >                           70.0, 50.0, 30.0, 20.0, 10.0;
> >         fixedHeightLevels = 1829.0, 2743.0, 3658.0;
> >     }
> > 
> > 
> > ------- End of Forwarded Message
> > 
> > 
> 
> ===============================================================================
> Robb Kambic                              Unidata Program Center
> Software Engineer III                    Univ. Corp for Atmospheric Research
> address@hidden                   WWW: http://www.unidata.ucar.edu/
> ===============================================================================
> 
> 

===============================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
===============================================================================