//-------------------------------------------------------------------------
// 
// Open Source License/Disclaimer, Forecast Systems Laboratory NOAA/OAR/FSL, 
// 325 Broadway Boulder, CO 80305
// 
// This software is distributed under the Open Source Definition, which may 
// be found at http://www.opensource.org/osd.html.
// 
// In particular, redistribution and use in source and binary forms, with or 
// without modification, are permitted provided that the following conditions
// are met:
// 
//     . Redistributions of source code must retain this notice, this list 
//     of conditions and the following disclaimer. 
// 
//     . Redistributions in binary form must provide access to this notice,
//     this list of conditions and the following disclaimer, and the 
//     underlying source code. 
// 
//     . All modifications to this software must be clearly documented, and
//     are solely the responsibility of the agent making the modifications. 
// 
//     . If significant modifications or enhancements are made to this 
//     software, the FSL Software Policy Manager (softwaremgr@fsl.noaa.gov)
//     should be notified. 
// 
//-------------------------------------------------------------------------
// 
// THIS SOFTWARE AND ITS DOCUMENTATION ARE IN THE PUBLIC DOMAIN AND ARE 
// FURNISHED "AS IS." THE AUTHORS, THE UNITED STATES GOVERNMENT, ITS 
// INSTRUMENTALITIES, OFFICERS, EMPLOYEES, AND AGENTS MAKE NO WARRANTY, 
// EXPRESS OR IMPLIED, AS TO THE USEFULNESS 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.
// 
//-------------------------------------------------------------------------
//
// ruc_hyb_A236_ITS.cdl
//
// WARNING: This is OPAQUE Facility Division (FD) Software. All OPAQUE FD 
// Software is subject to change without notice.
//
// 04.17.02  Paul Hamer      v1.1  Original Version
// 04.18.02  Paul Hamer      v1.1  Query string
//-------------------------------------------------------------------------
netcdf ruc_hyb_A236_ITS
{
dimensions:
        record = unlimited;
        namelen = 132;
        nav = 1;
        x = 100,
        y = 100,
        z = 21,

variables:

	//  Geopotential Height

	float
            hgt(record, z, y, x) ;
            hgt:long_name = "geopotential height" ;
            hgt:units = "gp m";
	    hgt:z = "z_dim";
            hgt:record = "reftime, valtime" ;
            hgt:valid_range = -1000.f, 50000.f ;
            hgt:_FillValue = -9999.f ;
            hgt:navigation_var = "nav";
	    //	
            hgt:nimbus_name = "GH";
            hgt:nimbus_level = "Hybrid";


	//	u wind component

	float
	    u(record, z, y, x);
	    u:navigation_dim = "nav";
	    u:z = "z_dim";
	    u:record = "valtime, reftime";
  	    u:long_name = "u-component of wind";
	    u:units = "meters / second";
	    u:valid_range = -200.f, 200.f;
	    u:_FillValue = -99999.f;
	    //	
            u:nimbus_name = "uW";
            u:nimbus_level = "Hybrid";

	//	v wind component

	float
	    v(record, z, y, x);
	    v:navigation_dim = "nav";
	    v:z = "z_dim";
	    v:record = "valtime, reftime";
	    v:long_name = "v-component of wind";
	    v:units = "meters / second";
	    v:valid_range = -200.f, 200.f;
	    v:_FillValue = -99999.f;
	    //	
            v:nimbus_name = "vW";
            v:nimbus_level = "Hybrid";

	//	montgomery stream function

	float
	    msg(record, z, y, x);
	    msg:navigation_dim = "nav";
	    msg:z = "z_dim";
	    msg:record = "valtime, reftime";
	    msg:long_name = "montgomery stream function / gravity";
	    msg:units = "meters";
	    msg:valid_range = 20000.f, 50000.f;
	    msg:_FillValue = -99999.f;
	    //	
            msg:nimbus_name = "MSG";
            msg:nimbus_level = "Hybrid";

	// 	atmospheric pressure

  	float
	    p(record, z, y, x);
	    p:navigation_dim = "nav";
	    p:z = "z_dim";
	    p:record = "valtime, reftime";
	    p:long_name = "pressure";
	    p:units = "pascals";
	    p:valid_range = 0.f, 110000.f;
	    p:_FillValue = -99999.f;
	    //	
            p:nimbus_name = "P";
            p:nimbus_level = "Hybrid";

	//	virtual potential temperature 	

  	float
	    vpt(record, z, y, x);
	    vpt:navigation_dim = "nav";
	    vpt:z = "z_dim";
	    vpt:record = "valtime, reftime";
	    vpt:long_name = "virtual potential temperature";
	    vpt:units = "degrees kelvin";
	    vpt:valid_range = 0.f, 600.f;
	    vpt:_FillValue = -99999.f;
	    //	
            vpt:nimbus_name = "VPT";
            vpt:nimbus_level = "Hybrid";

	//	water vapor mixing ratio

	float
	    qv(record, z, y, x);
	    qv:navigation_dim = "nav";
	    qv:z = "z_dim";
	    qv:record = "valtime, reftime";
	    qv:long_name = "water vapor mixing ratio";
	    qv:units = "kg / kg";
	    qv:valid_range = 0.f, 100.f;
	    qv:_FillValue = -99999.f;
	    //	
            qv:nimbus_name = "MIXR";
            qv:nimbus_level = "Hybrid";

	//	cloud water mixing ratio

	float
	    qc(record, z, y, x);
	    qc:navigation_dim = "nav";
	    qc:z = "z_dim";
	    qc:record = "valtime, reftime";
	    qc:long_name = "cloud water mixing ratio";
	    qc:units = "kg / kg";
	    qc:valid_range = 0.f, 100.f;
	    qc:_FillValue = -99999.f;
	    //	
            qc:nimbus_name = "CW";
            qc:nimbus_level = "Hybrid";

	//	rain water mixing ratio

	float
	    qr(record, z, y, x);
	    qr:navigation_dim = "nav";
	    qr:z = "z_dim";
	    qr:record = "valtime, reftime";
	    qr:long_name = "rain water mixing ratio";
	    qr:units = "kg / kg";
	    qr:valid_range = 0.f, 100.f;
	    qr:_FillValue = -99999.f;
	    //	
            qr:nimbus_name = "RWMR";
            qr:nimbus_level = "Hybrid";

	//	ice mixing ratio

	float
	    qi(record, z, y, x);
	    qi:navigation_dim = "nav";
	    qi:z = "z_dim";
	    qi:record = "valtime, reftime";
	    qi:long_name = "ice mixing ratio";
	    qi:units = "kg / kg";
	    qi:valid_range = 0.f, 100.f;
	    qi:_FillValue = -99999.f;
	    //	
            qi:nimbus_name = "ICMR";
            qi:nimbus_level = "Hybrid";

	//	snow mixing ratio

	float
	    qs(record, z, y, x);
	    qs:navigation_dim = "nav";
	    qs:z = "z_dim";
	    qs:record = "valtime, reftime";
	    qs:long_name = "snow mixing ratio";
	    qs:units = "kg / kg";
	    qs:valid_range = 0.f, 100.f;
	    qs:_FillValue = -99999.f;
	    //	
            qs:nimbus_name = "SNMR";
            qs:nimbus_level = "Hybrid";

	//	graupel mixing ratio

	float
	    qg(record, z, y, x);
	    qg:navigation_dim = "nav";
	    qg:z = "z_dim";
	    qg:record = "valtime, reftime";
	    qg:long_name = "graupel mixing ratio";
	    qg:units = "kg / kg";
	    qg:valid_range = 0.f, 100.f;
	    qg:_FillValue = -99999.f;
	    //	
            qg:nimbus_name = "GRMR";
            qg:nimbus_level = "Hybrid";

	//	number concentration for ice particles

	float
	    qin(record, z, y, x);
	    qin:navigation_dim = "nav";
	    qin:z = "z_dim";
	    qin:record = "valtime, reftime";
	    qin:long_name = "number concentration for ice particles";
	    qin:units = "1 / m**3";
	    qin:valid_range = 0.f, 100.f;
	    qin:_FillValue = -99999.f;
	    //	
            qin:nimbus_name = "NCIP";
            qin:nimbus_level = "Hybrid";

	//	turbulent kinetic energy

	float
	    tke(record, z, y, x);
	    tke:navigation_dim = "nav";
	    tke:z = "z_dim";
	    tke:record = "valtime, reftime";
	    tke:long_name = "turbulent kinetic energy";
	    tke:units = "m**2 / s**2";
	    tke:valid_range = 0.f, 10000.f;
	    tke:_FillValue = -99999.f;
	    //	
            tke:nimbus_name = "TKE";
            tke:nimbus_level = "Hybrid";


	//	vertical velocity

	float
	    w(record, z, y, x);
	    w:navigation_dim = "nav";
	    w:z = "z_dim";
	    w:record = "valtime, reftime";
	    w:long_name = "vertical velocity";
	    w:units = "Pascals / second";
	    w:valid_range = -10000.f, 10000.f;
	    w:_FillValue = -99999.f;
	    //	
            w:nimbus_name = "PVV";
            w:nimbus_level = "Hybrid";

	// 	MAPS Mean Sea Level Pressure

  	float
	    MMSP(record, y, x);
	    MMSP:navigation_dim = "nav";
	    MMSP:record = "valtime, reftime";
	    MMSP:long_name = "MAPS mean sea level pressure";
	    MMSP:units = "pascals";
	    MMSP:valid_range = 80000.f, 110000.f;
	    MMSP:_FillValue = -99999.f;
	    //
            MMSP:nimbus_name = "MMSP";
            MMSP:nimbus_level = "MSL";

	// 	Soil Temperature at surface

  	float
	    ST(record, y, x);
	    ST:navigation_dim = "nav";
	    ST:record = "valtime, reftime";
	    ST:long_name = "soil temperature at surface";
	    ST:units = "degrees kelvin";
	    ST:valid_range = 150.f, 400.f;
	    ST:_FillValue = -99999.f;
	    //
            ST:nimbus_name = "ST";
            ST:nimbus_level = "Surface";

	// 	Snow Temperature - snow or soil top level

  	float
	    STsnow(record, y, x);
	    STsnow:navigation_dim = "nav";
	    STsnow:record = "valtime, reftime";
	    STsnow:long_name = "snow temperature - snow or top soil level";
	    STsnow:units = "degrees kelvin";
	    STsnow:valid_range = 150.f, 400.f;
	    STsnow:_FillValue = -99999.f;
	    //
            STsnow:nimbus_name = "SNOWT";
            STsnow:nimbus_level = "0mb_to_5mb_LBL";

	// 	Soil Temperature at level 1 below surface

  	float
	    ST1(record, y, x);
	    ST1:navigation_dim = "nav";
	    ST1:record = "valtime, reftime";
	    ST1:long_name = "soil temperature at level 1 below surface";
	    ST1:units = "degrees kelvin";
	    ST1:valid_range = 150.f, 400.f;
	    ST1:_FillValue = -99999.f;
	    //
            ST1:nimbus_name = "ST";
            ST1:nimbus_level = "5cm_BLS";

	// 	Soil Temperature at level 2 below surface

  	float
	    ST2(record, y, x);
	    ST2:navigation_dim = "nav";
	    ST2:record = "valtime, reftime";
	    ST2:long_name = "soil temperature at level 2 below surface";
	    ST2:units = "degrees kelvin";
	    ST2:valid_range = 150.f, 400.f;
	    ST2:_FillValue = -99999.f;
	    //
            ST2:nimbus_name = "ST";
            ST2:nimbus_level = "20cm_BLS";

	// 	Soil Temperature at level 3 below surface

  	float
	    ST3(record, y, x);
	    ST3:navigation_dim = "nav";
	    ST3:record = "valtime, reftime";
	    ST3:long_name = "soil temperature at level 3 below surface";
	    ST3:units = "degrees kelvin";
	    ST3:valid_range = 150.f, 400.f;
	    ST3:_FillValue = -99999.f;
	    //
            ST3:nimbus_name = "ST";
            ST3:nimbus_level = "40cm_BLS";

	// 	Soil Temperature at level 4 below surface

  	float
	    ST4(record, y, x);
	    ST4:navigation_dim = "nav";
	    ST4:record = "valtime, reftime";
	    ST4:long_name = "soil temperature at level 4 below surface";
	    ST4:units = "degrees kelvin";
	    ST4:valid_range = 150.f, 400.f;
	    ST4:_FillValue = -99999.f;
	    //
            ST4:nimbus_name = "ST";
            ST4:nimbus_level = "160cm_BLS";

        //      Soil Temperature at the bottom

        float
            ST5(record, y, x);
            ST5:navigation_dim = "nav";
            ST5:record = "valtime, reftime";
            ST5:long_name = "soil temperature at the bottom";
            ST5:units = "degrees kelvin";
            ST5:valid_range = 150.f, 400.f;
            ST5:_FillValue = -99999.f;
	    //
            ST5:nimbus_name = "ST";
            ST5:nimbus_level = "300cm_BLS";

	// 	Soil volumetric moisture content at surface

  	float
	    SM(record, y, x);
	    SM:navigation_dim = "nav";
	    SM:record = "valtime, reftime";
	    SM:long_name = "soil volumetric moisture content at surface";
	    SM:units = "m**3 / m**3";
	    SM:valid_range = 0.f, 1.f;
	    SM:_FillValue = -99999.f;
	    //
            SM:nimbus_name = "SOILW";
            SM:nimbus_level = "Surface";

	// 	Soil volumetric moisture content at level 1 below surface

  	float
	    SM1(record, y, x);
	    SM1:navigation_dim = "nav";
	    SM1:record = "valtime, reftime";
	    SM1:long_name = "soil volumetric moisture content at level 1";
	    SM1:units = "m**3 / m**3";
	    SM1:valid_range = 0.f, 1.f;
	    SM1:_FillValue = -99999.f;
	    //
            SM1:nimbus_name = "SOILW";
            SM1:nimbus_level = "5cm_BLS";

	// 	Soil volumetric moisture content at level 2 below surface

  	float
	    SM2(record, y, x);
	    SM2:navigation_dim = "nav";
	    SM2:record = "valtime, reftime";
	    SM2:long_name = "soil volumetric moisture content at level 2";
	    SM2:units = "m**3 / m**3";
	    SM2:valid_range = 0.f, 1.f;
	    SM2:_FillValue = -99999.f;
	    //
            SM2:nimbus_name = "SOILW";
            SM2:nimbus_level = "20cm_BLS";

	// 	Soil volumetric moisture content at level 3 below surface

  	float
	    SM3(record, y, x);
	    SM3:navigation_dim = "nav";
	    SM3:record = "valtime, reftime";
	    SM3:long_name = "soil volumetric moisture content at level 3";
	    SM3:units = "m**3 / m**3";
	    SM3:valid_range = 0.f, 1.f;
	    SM3:_FillValue = -99999.f;
	    //
            SM3:nimbus_name = "SOILW";
            SM3:nimbus_level = "40cm_BLS";

	// 	Soil volumetric moisture content at level 4 below surface

  	float
	    SM4(record, y, x);
	    SM4:navigation_dim = "nav";
	    SM4:record = "valtime, reftime";
	    SM4:long_name = "soil volumetric moisture content at level 4";
	    SM4:units = "m**3 / m**3";
	    SM4:valid_range = 0.f, 1.f;
	    SM4:_FillValue = -99999.f;
 	    //
            SM4:nimbus_name = "SOILW";
            SM4:nimbus_level = "160cm_BLS";

       //      Soil volumetric moisture content at the bottom

        float
            SM5(record, y, x);
            SM5:navigation_dim = "nav";
            SM5:record = "valtime, reftime";
            SM5:long_name = "soil volumetric moisture content at the bottom";
            SM5:units = "m**3 / m**3";
            SM5:valid_range = 0.f, 1.f;
            SM5:_FillValue = -99999.f;
	    //
            SM5:nimbus_name = "SOILW";
            SM5:nimbus_level = "300cm_BLS";

	// 	Sensible heat flux

  	float
	    SHF(record, y, x);
	    SHF:navigation_dim = "nav";
	    SHF:record = "valtime, reftime";
	    SHF:long_name = "sensible heat flux";
	    SHF:units = "W / m**2";
	    SHF:valid_range = -10000.f, 10000.f;
	    SHF:_FillValue = -99999.f;
	    //
            SHF:nimbus_name = "SHTFL";
            SHF:nimbus_level = "Surface";

	// 	Latent heat flux

  	float
	    LHF(record, y, x);
	    LHF:navigation_dim = "nav";
	    LHF:record = "valtime, reftime";
	    LHF:long_name = "latent heat flux";
	    LHF:units = "W / m**2";
	    LHF:valid_range = -10000.f, 10000.f;
	    LHF:_FillValue = -99999.f;
	    //
            LHF:nimbus_name = "LHTFL";
            LHF:nimbus_level = "Surface";

	// 	Ground or water surface soil type (as in Zobler) [(0-9)] 

  	int
	    soiltyp(record, y, x);
	    soiltyp:navigation_dim = "nav";
	    soiltyp:record = "valtime, reftime";
	    soiltyp:long_name = "surface soil type";
	    soiltyp:units = "undim";
	    soiltyp:valid_range = 0, 9;
	    soiltyp:_FillValue = -99999;
	    //
            soiltyp:nimbus_name = "SOTYP";
            soiltyp:nimbus_level = "Surface";

	// 	Ground or water surface vegitation type (as in SiB) [(0-13)] 

  	int
	    vgtyp(record, y, x);
	    vgtyp:navigation_dim = "nav";
	    vgtyp:record = "valtime, reftime";
	    vgtyp:long_name = "surface vegetation type";
	    vgtyp:units = "undim";
	    vgtyp:valid_range = 0, 13;
	    vgtyp:_FillValue = -99999;
	    //
            vgtyp:nimbus_name = "VGTYP";
            vgtyp:nimbus_level = "Surface";

	// 	Ground or water surface icing SIGMET/AIRMET

  	int
	    icing(record, y, x);
	    icing:navigation_dim = "nav";
	    icing:record = "valtime, reftime";
	    icing:long_name = "Ground or water surface icing";
	    icing:units = "undim";
	    icing:_FillValue = -99999;
	    //
            icing:nimbus_name = "ICNG";
            icing:nimbus_level = "Surface";

	// 	Direct evaporation from bare soil

  	float
	    EDIR(record, y, x);
	    EDIR:navigation_dim = "nav";
	    EDIR:record = "valtime, reftime";
	    EDIR:long_name = "direct evaporation from bare soil";
	    EDIR:units = "W / m**2";
	    EDIR:valid_range = -10000.f, 10000.f;
	    EDIR:_FillValue = -99999.f;
	    //
            EDIR:nimbus_name = "EVBS";
            EDIR:nimbus_level = "Surface";

	// 	Evaporation of canopy water

  	float
	    EC(record, y, x);
	    EC:navigation_dim = "nav";
	    EC:record = "valtime, reftime";
	    EC:long_name = "evaporation of canopy water";
	    EC:units = "W / m**2";
	    EC:valid_range = -10000.f, 10000.f;
	    EC:_FillValue = -99999.f;
	    //
            EC:nimbus_name = "EVCW";
            EC:nimbus_level = "Surface";

	// 	Canopy water

  	float
	    CANWAT(record, y, x);
	    CANWAT:navigation_dim = "nav";
	    CANWAT:record = "valtime, reftime";
	    CANWAT:long_name = "canopy water";
	    CANWAT:units = "m";
	    CANWAT:valid_range = 0.f, 1.f;
	    CANWAT:_FillValue = -99999.f;
	    //
            CANWAT:nimbus_name = "CNWAT";
            CANWAT:nimbus_level = "Surface";

	// 	Evapotranspiration flux

 	float
	    ETT(record, y, x);
	    ETT:navigation_dim = "nav";
	    ETT:record = "valtime, reftime";
	    ETT:long_name = "evapotranspiration flux";
	    ETT:units = "W / m**2";
	    ETT:valid_range = -10000.f, 10000.f;
	    ETT:_FillValue = -99999.f;

	// 	Water condensation rate near surface

  	float
	    DEW(record, y, x);
	    DEW:navigation_dim = "nav";
	    DEW:record = "valtime, reftime";
	    DEW:long_name = "water condensation rate near surface";
	    DEW:units = "m / s";
	    DEW:valid_range = -10000.f, 10000.f;
	    DEW:_FillValue = -99999.f;

	// 	Rate of water dropping from canopy to ground

  	float
	    DRIP(record, y, x);
	    DRIP:navigation_dim = "nav";
	    DRIP:record = "valtime, reftime";
	    DRIP:long_name = "rate of water dropping from canopy to ground";
	    DRIP:units = "m / s";
	    DRIP:valid_range = -10000.f, 10000.f;
	    DRIP:_FillValue = -99999.f;
	    //
            DRIP:nimbus_name = "WDROP";
            DRIP:nimbus_level = "Surface";


	// 	Net Longwave Radiation at Surface

  	float
	    LWNR(record, y, x);
	    LWNR:navigation_dim = "nav";
	    LWNR:record = "valtime, reftime";
	    LWNR:long_name = "net longwave radiation at surface";
	    LWNR:units = "W / m**2";
	    LWNR:valid_range = -10000.f, 10000.f;
	    LWNR:_FillValue = -99999.f;
	    //
            LWNR:nimbus_name = "NLRS";
            LWNR:nimbus_level = "Surface";

	// 	Net Shortwave Radiation at Surface

  	float
	    SWNR(record, y, x);
	    SWNR:navigation_dim = "nav";
	    SWNR:record = "valtime, reftime";
	    SWNR:long_name = "net shortwave radiation at surface";
	    SWNR:units = "W / m**2";
	    SWNR:valid_range = -10000.f, 10000.f;
	    SWNR:_FillValue = -99999.f;
	    //
            SWNR:nimbus_name = "NSWRS";
            SWNR:nimbus_level = "Surface";

	// 	precipitation rate

  	float
	    PR(record, y, x);
	    PR:navigation_dim = "nav";
	    PR:record = "valtime, reftime";
	    PR:long_name = "precipitation rate";
	    PR:units = "kg / m**2 / s";
	    PR:valid_range = 0.f, 0.1f;
	    PR:_FillValue = -99999.f;
	    //
            PR:nimbus_name = "PR";
            PR:nimbus_level = "Surface";

	// 	resolvable scale precipitation - 1 hour

  	float
	    LgSP1h(record, y, x);
	    LgSP1h:navigation_dim = "nav";
	    LgSP1h:record = "valtime, reftime";
	    LgSP1h:long_name = "resolvable scale precipitation - 1h";
	    LgSP1h:units = "kg / m**2";
	    LgSP1h:valid_range = 0.f, 1000.f;
	    LgSP1h:_FillValue = -99999.f;
	    //
            LgSP1h:nimbus_name = "LgSP_1Hour_Acc";
            LgSP1h:nimbus_level = "Surface";

// 	resolvable scale precipitation - 2 hour

  	float
	    LgSP2h(record, y, x);
	    LgSP2h:navigation_dim = "nav";
	    LgSP2h:record = "valtime, reftime";
	    LgSP2h:long_name = "resolvable scale precipitation - 2h";
	    LgSP2h:units = "kg / m**2";
	    LgSP2h:valid_range = 0.f, 1000.f;
	    LgSP2h:_FillValue = -99999.f;
	    //
            LgSP2h:nimbus_name = "LgSP_2Hour_Acc";
            LgSP2h:nimbus_level = "Surface";

// 	resolvable scale precipitation - 3 hour

  	float
	    LgSP3h(record, y, x);
	    LgSP3h:navigation_dim = "nav";
	    LgSP3h:record = "valtime, reftime";
	    LgSP3h:long_name = "resolvable scale precipitation - 3h";
	    LgSP3h:units = "kg / m**2";
	    LgSP3h:valid_range = 0.f, 1000.f;
	    LgSP3h:_FillValue = -99999.f;
	    //
            LgSP3h:nimbus_name = "LgSP_3Hour_Acc";
            LgSP3h:nimbus_level = "Surface";

       // sub-grid scale precipitation - 1h

  	float
	    ConvP1h(record, y, x);
	    ConvP1h:navigation_dim = "nav";
	    ConvP1h:record = "valtime, reftime";
	    ConvP1h:long_name = "sub-grid scale precipitation - 1h";
	    ConvP1h:units = "kg / m**2";
	    ConvP1h:valid_range = 0.f, 1000.f;
	    ConvP1h:_FillValue = -99999.f;
	    //
            ConvP1h:nimbus_name = "CP_1Hour_Acc";
            ConvP1h:nimbus_level = "Surface";

	      // sub-grid scale precipitation - 2h

  	float
	    ConvP2h(record, y, x);
	    ConvP2h:navigation_dim = "nav";
	    ConvP2h:record = "valtime, reftime";
	    ConvP2h:long_name = "sub-grid scale precipitation - 2h";
	    ConvP2h:units = "kg / m**2";
	    ConvP2h:valid_range = 0.f, 1000.f;
	    ConvP2h:_FillValue = -99999.f;
	    //
            ConvP2h:nimbus_name = "CP_2Hour_Acc";
            ConvP2h:nimbus_level = "Surface";
    
   // sub-grid scale precipitation - 3h

  	float
	    ConvP3h(record, y, x);
	    ConvP3h:navigation_dim = "nav";
	    ConvP3h:record = "valtime, reftime";
	    ConvP3h:long_name = "sub-grid scale precipitation - 3h";
	    ConvP3h:units = "kg / m**2";
	    ConvP3h:valid_range = 0.f, 1000.f;
	    ConvP3h:_FillValue = -99999.f;
	    //
            ConvP3h:nimbus_name = "CP_3Hour_Acc";
            ConvP3h:nimbus_level = "Surface";

	
     //      Water equivalent of snow depth - 1h

        float
            SnwAcc1h(record, y, x);
            SnwAcc1h:navigation_dim = "nav";
            SnwAcc1h:record = "valtime, reftime";
            SnwAcc1h:long_name = "water equivalent of snow depth - 1h";
            SnwAcc1h:units = "kg / m**2";
            SnwAcc1h:valid_range = 0.f, 1000.f;
            SnwAcc1h:_FillValue = -99999.f;
	    //
            SnwAcc1h:nimbus_name = "WEASD_1Hour_Acc";
            SnwAcc1h:nimbus_level = "Surface";

        //      Water equivalent of snow depth - 2h

        float
            SnwAcc2h(record, y, x);
            SnwAcc2h:navigation_dim = "nav";
            SnwAcc2h:record = "valtime, reftime";
            SnwAcc2h:long_name = "water equivalent of snow depth - 2h";
            SnwAcc2h:units = "kg / m**2";
            SnwAcc2h:valid_range = 0.f, 1000.f;
            SnwAcc2h:_FillValue = -99999.f;
	    //
            SnwAcc2h:nimbus_name = "WEASD_2Hour_Acc";
            SnwAcc2h:nimbus_level = "Surface";

        //      Water equivalent of snow depth - 3h

        float
            SnwAcc3h(record, y, x);
            SnwAcc3h:navigation_dim = "nav";
            SnwAcc3h:record = "valtime, reftime";
            SnwAcc3h:long_name = "water equivalent of snow depth - 3h";
            SnwAcc3h:units = "kg / m**2";
            SnwAcc3h:valid_range = 0.f, 1000.f;
            SnwAcc3h:_FillValue = -99999.f;
	    //
            SnwAcc3h:nimbus_name = "WEASD_3Hour_Acc";
            SnwAcc3h:nimbus_level = "Surface";

       //      snow accumulation since last output

        float
            SnwAcc(record, y, x);
            SnwAcc:navigation_dim = "nav";
            SnwAcc:record = "valtime, reftime";
            SnwAcc:long_name = "snow accumulation";
            SnwAcc:units = "centimeters";
            SnwAcc:valid_range = 0.f, 1000.f;
            SnwAcc:_FillValue = -99999.f;
	    //
            SnwAcc:nimbus_name = "WEASD";
            SnwAcc:nimbus_level = "Surface";


	// 	surface runoff since last output

  	float
	    Rnoff(record, y, x);
	    Rnoff:navigation_dim = "nav";
	    Rnoff:record = "valtime, reftime";
	    Rnoff:long_name = "surface runoff";
	    Rnoff:units = "kg / m**2";
	    Rnoff:valid_range = 0.f, 1000.f;
	    Rnoff:_FillValue = -99999.f;
  	    //
            Rnoff:nimbus_name = "BGRUN";
            Rnoff:nimbus_level = "300cm_BLS";

	// 	sub-surface runoff since last output

  	float
	    SubRnoff(record, y, x);
	    SubRnoff:navigation_dim = "nav";
	    SubRnoff:record = "valtime, reftime";
	    SubRnoff:long_name = "sub-surface runoff";
	    SubRnoff:units = "kg / m**2";
	    SubRnoff:valid_range = 0.f, 1000.f;
	    SubRnoff:_FillValue = -99999.f;
	    //
            SubRnoff:nimbus_name = "SSRUN";
            SubRnoff:nimbus_level = "Surface";

	// 	precipitable water

  	float
	    PW(record, y, x);
	    PW:navigation_dim = "nav";
	    PW:record = "valtime, reftime";
	    PW:long_name = "precipitable water";
	    PW:units = "kg / m**2";
	    PW:valid_range = 0.f, 100.f;
	    PW:_FillValue = -99999.f;
	    //
            PW:nimbus_name = "PW";
            PW:nimbus_level = "EA";

	// 	atmospheric pressure at tropopause

  	float
	    Tp(record, y, x);
	    Tp:navigation_dim = "nav";
	    Tp:record = "valtime, reftime";
	    Tp:long_name = "pressure at tropopause";
	    Tp:units = "pascals";
	    Tp:valid_range = 0.f, 110000.f;
	    Tp:_FillValue = -99999.f;
	    //
            Tp:nimbus_name = "P";
            Tp:nimbus_level = "Tropopause";

	// 	potential temperature at tropopause

  	float
	    Tpot(record, y, x);
	    Tpot:navigation_dim = "nav";
	    Tpot:record = "valtime, reftime";
	    Tpot:long_name = "potential temperature at tropopause";
	    Tpot:units = "degrees kelvin";
	    Tpot:valid_range = 200.f, 500.f;
	    Tpot:_FillValue = -99999.f;
	    //
            Tpot:nimbus_name = "PoT";
            Tpot:nimbus_level = "Tropopause";

	//	u wind component at tropopause

	float
	    Tu(record, y, x);
	    Tu:navigation_dim = "nav";
	    Tu:record = "valtime, reftime";
	    Tu:long_name = "u-component of wind at tropopause";
	    Tu:units = "meters / second";
	    Tu:valid_range = -200.f, 200.f;
	    Tu:_FillValue = -99999.f;
	    //	
            Tu:nimbus_name = "uW";
            Tu:nimbus_level = "Tropopause";

	//	v wind component at tropopause

	float
	    Tv(record, y, x);
	    Tv:navigation_dim = "nav";
	    Tv:record = "valtime, reftime";
	    Tv:long_name = "v-component of wind at tropopause";
	    Tv:units = "meters / second";
	    Tv:valid_range = -200.f, 200.f;
	    Tv:_FillValue = -99999.f;
	    //	
            Tv:nimbus_name = "vW";
            Tv:nimbus_level = "Tropopause";

	// 	convective available potential energy - max parcel

  	float
	    CAPE(record, y, x);
	    CAPE:navigation_dim = "nav";
	    CAPE:record = "valtime, reftime";
	    CAPE:long_name = "convective available potential energy";
	    CAPE:units = "J / kg";
	    CAPE:valid_range = 0.f, 20000.f;
	    CAPE:_FillValue = -99999.f;
	    //
            CAPE:nimbus_name = "CAPE";
            CAPE:nimbus_level = "Surface";

	// 	convective inhibition for max parcel

  	float
	    CIn(record, y, x);
	    CIn:navigation_dim = "nav";
	    CIn:record = "valtime, reftime";
	    CIn:long_name = "convective inhibition";
	    CIn:units = "J / kg";
	    CIn:valid_range = 0.f, 20000.f;
	    CIn:_FillValue = -99999.f;
	    //
            CIn:nimbus_name = "CIn";
            CIn:nimbus_level = "Surface";

	// 	storm-relative helicity

  	float
	    Helic(record, y, x);
	    Helic:navigation_dim = "nav";
	    Helic:record = "valtime, reftime";
	    Helic:long_name = "storm-relative helicity";
	    Helic:units = "m**2/s**2";
	    Helic:valid_range = 0.f, 20000.f;
	    Helic:_FillValue = -99999.f;
	    //
            Helic:nimbus_name = "Heli";
            Helic:nimbus_level = "Surface";

	// 	snow depth

  	float
	    SnD(record, y, x);
	    SnD:navigation_dim = "nav";
	    SnD:record = "valtime, reftime";
	    SnD:long_name = "snow depth";
	    SnD:units = "meters";
	    SnD:valid_range = 0.f, 20000.f;
	    SnD:_FillValue = -99999.f;
	    //
            SnD:nimbus_name = "SnD";
            SnD:nimbus_level = "Surface";


        //      storm surface runoff

        float
            SSR(record, y, x);
            SSR:navigation_dim = "nav";
            SSR:record = "valtime, reftime";
            SSR:long_name = "storm surface runoff";
            SSR:units = "kg/m2";
            SSR:_FillValue = -99999.f;
	    //
            SSR:nimbus_name = "SSRUN";
            SSR:nimbus_level = "Surface";


        double
            valtime(record);
            valtime:long_name = "valid time";
            valtime:units = "seconds since (1970-1-1 00:00:00.0)";
                                      
        //      reference time of the process

        double
            reftime(record);
            reftime:long_name = "reference time";
            reftime:units = "seconds since (1970-1-1 00:00:00.0)";

        //      nice name for originating center

        char
            origin_name(namelen);
            origin_name:long_name = " ";

        //      nice name for process

        char
            process_name(namelen);
            process_name:long_name = " ";

        //      nice name for grid description instance
        char
            grid_name(namelen);
            grid_name:long_name = " ";

        //      basic assumption about earth shape
        char
            earth_shape(namelen);
            earth_shape:long_name = " ";

        // navigation variables using 
        // WMO FM 92-VIII Ext.GRIB specification names
  
        char    grid_type(nav, namelen);
                grid_type:long_name = "GRIB-1 grid type";
  
        char    x_dim(nav, namelen);
                x_dim:long_name = "longitude dimension";
  
        char    y_dim(nav, namelen);
                y_dim:long_name = "latitude dimension";
  
        int     z_dim(z);
                z_dim:long_name = "hybrid B level";
  
        short   Nx(nav);
                Nx:long_name = "number of x points";
  
        short   Ny(nav);
                Ny:long_name =  "number of y points";
  
        short   Nz(nav);
                Nz:long_name =  "number of z points";
  
        float   La1(nav);
                La1:long_name = "first latitude";
                La1:units = "degrees_north";
  
        float   Lo1(nav);
                Lo1:long_name = "first longitude";
                Lo1:units = "degrees_east" ;
    
        float   Lov(nav);
                Lov:long_name = "orientation of grid" ;
                Lov:units = "degrees_east";
  
        float   Latin(nav);
                Latin:long_name = "conic tangent latitude" ;
                Latin:units = "degrees_north";
  
        float   Dx(nav);
                Dx:long_name = "x grid increment";
                Dx:units = "kilometers";
  
        float   Dy(nav);
                Dy:long_name = "y grid increment";
                Dy:units = "kilometers";
  
        // end of navigation variables

        long    center_id;
                center_id:long_name = "center ID";
                center_id:units = "WMO centers table";
  
        long    process_id;
                process_id:long_name = "process ID";
                process_id:units = "(allocated by center)";
  
        :Conventions = "NUWG";
        :history = "created by FSL Data Systems from the RUC2 Model Grids";
        :record = "valtime, reftime";
        :title = "Hybrid-B 40km Rapid Update Cycle";
        :version = 1.0;
  
        //--------------------------------------------------------------------
	// Specific to FSL data management systems
        //--------------------------------------------------------------------
 	:query = "GRIB.(FSL|NCEP).RUC2?.A236.*";

    data:

        Dx              = 40.63525;
        Dy              = 40.63525;
        La1             = 16.2810;
        Lo1             = 126.1378;
        Lov             = 265.0;
        Latin		= 25.0;
        Nx              = 151;
        Ny              = 113;
        Nz              = 40;
        center_id       = 7;                   // NMC
        earth_shape     = "oblate spheroid";
        grid_name       = "FSL Conus 40km";
        grid_type       = "lambert conformal";
        process_id      = 105;                    // RUC
        process_name    = "RUC Hybrid-b 3-d/2-d Grids";
        origin_name     = "National Weather Service";
        x_dim           = "x";
        y_dim           = "y";
	z_dim		=  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 
			  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
			  21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
			  31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
			  41, 42, 43, 44, 45, 46, 47, 48, 49, 50;

    }