//------------------------------------------------------------------------- // // 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; }