Robb,
FYI, the grid #3 AVN is a 1x1 degree global rectilinear grid
(eg do not use -q since it is not a thinned grid).
We get this grid in the CONDUIT feed if you want to test it).
Chiz
------- Forwarded Message
>To: Robb Kambic <rkambic@xxxxxxxxxxxxxxxx>
>cc: decoders <support-decoders@xxxxxxxxxxxxxxxx>
>From: Tiziana Cherubini <tiziana@xxxxxxxxxx>
>Subject: Re: 20020410: gribtonc CDLs for AVN and could CDL for LAPS work
>Organization: UCAR/Unidata
>Keywords: 200204122046.g3CKkoa24477
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@xxxxxxxxxxxxxxxxxxxxxxxxxxxx for more info.
--Boundary_(ID_lgUV/O3FeJe5arDcPgEkew)
Content-type: TEXT/PLAIN; charset=US-ASCII
Hi Robb,
thanks for your cooperation. I trying to modify the CDL
file but there are still some problems. I attached the
CDL files I modified following your suggestions and
taking into account the grid descriptions for grid #3 as in:
http://www.nco.ncep.noaa.gov/pmb/docs/on388/tableb.html#GRID3
I defined "grid_number = 3" in the navigation section
at the end of the CDL but, then, executing:
gribtonc -v -l log -q "lin,dlat=1.0,dlon=1.0" avn_1.0x1.0.cdl
out.nc < avn
I obtained the following error in the log file:
Apr 12 20:28:18 gribtonc[5614]: Starting Up
Apr 12 20:28:18 gribtonc[5614]: HTKC85 KWBC 090000 grid 255 not in
grid_number list in out.nc
........
Leaving "grid_number = 255" the out.nc file is created but all
the fields are filled with missing values and the log file
appears like:
Apr 12 20:31:15 gribtonc[5625]: Starting Up
Apr 12 20:31:16 gribtonc[5625]: ncvarput failed, ncerr=-40, ndims=4
Apr 12 20:31:16 gribtonc[5625]: corn[0] = 0, edge[0] = 1
Apr 12 20:31:16 gribtonc[5625]: corn[1] = 1, edge[1] = 1
Apr 12 20:31:16 gribtonc[5625]: corn[2] = -89, edge[2] = 91
Apr 12 20:31:16 gribtonc[5625]: corn[3] = 150, edge[3] = 91
Apr 12 20:31:16 gribtonc[5625]: HTKC85 KWBC 090000: error writing T
variable in out.nc
...........
Any clue about how I could proceed?
Lastly, what does exactly stand for the navigation variable:
grid_center = 7 ; // NMC
I attached also part of the file (basicly the header) out.dump from
"ncdump out.nc".
Thank you very much,
Tiziana.
-------------------------------------
Tiziana Cherubini
Department of Meteorology
University of Hawaii
2525 Correa Rd. HIG 367
Honolulu, Hawaii 96822
(808) 956-4593, (808) 956-2877 fax
On Fri, 12 Apr 2002, Robb Kambic wrote:
>
> 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: support-decoders@xxxxxxxxxxxxxxxx
> > > >From: Tiziana Cherubini <tiziana@xxxxxxxxxx>
> > > >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
> rkambic@xxxxxxxxxxxxxxxx WWW: http://www.unidata.ucar.edu/
> ==============================================================================
>
>