NOTE: The decoders
mailing list is no longer active. The list archives are made available for historical reasons.
Dave, I am just starting to look at this, it might take a couple of days. I'm busy getting an LDM workshop together. I just looked at the new GRIB documentation, it has info on ruc2. It's located at:
I noticed there is a new version of the GRIB document (Office Note 388)
dated >March 10, 1998 in ftp://nic.fb4.noaa.gov/pub/doc/nws/nmc/gribed1. Thought you >might be interested. There might need to be some changes to the gribtonc source code. I would use gribdump and the comment out method of the offending variables in the cdl file until gribtonc can process the file. Since I'm not a meteorologist, I have to depend on help from my cohorts. Keep me abreast of your progress also. Thanks, Robb... On Mon, 24 Aug 1998 laps@xxxxxxxxxxxxxxxxxxxxx wrote:
robb, i am trying to use 'gribtonc' to convert the ruc2 native 40km model from the oso server to netcdf. fsl gave me a cdl file they use for this model. i dont know why this is so difficult. i am not sure that they us the gribtonc program to accomplish their convertion, but this cdl convention should work with this model. right? here is my command line stuff: cyclone[bennett]291>ncgen -o ruc2.nc ruc2.cdl cyclone[bennett]292>gribtonc -l log -v ruc2.nc < ruc2.T12Z.bgrbanl cyclone[bennett]293>more log Aug 24 20:15:54 gribtonc[19142]: Starting Up Aug 24 20:15:54 gribtonc[19142]: Error parsing units: Pascals / second Aug 24 20:15:54 gribtonc[19142]: ruc2.nc: can't get units attribute for variable w Aug 24 20:15:54 gribtonc[19142]: GRIB units `degK' not conformable with variable Tv:units Aug 24 20:15:54 gribtonc[19142]: Error parsing units: WMO centers table Aug 24 20:15:54 gribtonc[19142]: ruc2.nc: can't get units attribute for variable center_id Aug 24 20:15:54 gribtonc[19142]: ruc2.nc: no datetimeid variable Aug 24 20:15:54 gribtonc[19142]: make_ncfile failed Aug 24 20:15:54 gribtonc[19142]: can't create output netCDF file ruc2.nc, exiting Aug 24 20:15:54 gribtonc[19142]: Exiting Aug 24 20:15:54 gribtonc[19142]: 0 WMO msgs, 0 GRIBs decoded, 0 written i added the datetime variable but that didn't matter. the center_id is actually in the cdl file so that doesn't make sense to me. the error about Tv:units is also a mystery. Tv is tropopause v-winds which has units m/s so where does 'degK' come from? your help here would be great if you have the time. thanks... dave bennett ================================== CDL FILE ================================== netcdf ruc2_40km_hybridb.cdl { dimensions: record = unlimited; namelen = 132; nav = 1;x = 151; y = 113;z = 40; variables: // Geopotential Height float hgt(record, z, y, x) ; hgt:long_name = "geopotential height" ; hgt:units = "gp m" ; hgt:z = "isoLevel"; hgt:record = "reftime, valtime" ; hgt:valid_range = -1000.f, 50000.f ; hgt:_FillValue = -9999.f ; hgt:navigation_var = "nav"; // u wind component float u(record, z, y, x); u:navigation_dim = "nav"; u:z_dim = "vpt, p"; 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; // v wind component float v(record, z, y, x); v:navigation_dim = "nav"; v:z_dim = "vpt, p"; 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; // montgomery stream function float msg(record, z, y, x); msg:navigation_dim = "nav"; msg:z_dim = "vpt, p"; 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; // atmospheric pressure float p(record, z, y, x); p:navigation_dim = "nav"; p:z_dim = "vpt"; p:record = "valtime, reftime"; p:long_name = "pressure"; p:units = "pascals"; p:valid_range = 0.f, 110000.f; p:_FillValue = -99999.f; // virtual potential temperature float vpt(record, z, y, x); vpt:navigation_dim = "nav"; vpt:z_dim = "p"; 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; // water vapor mixing ratio float qv(record, z, y, x); qv:navigation_dim = "nav"; qv:z_dim = "vpt, p"; 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; // cloud water mixing ratio float qc(record, z, y, x); qc:navigation_dim = "nav"; qc:z_dim = "vpt, p"; 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; // rain water mixing ratio float qr(record, z, y, x); qr:navigation_dim = "nav"; qr:z_dim = "vpt, p"; 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; // ice mixing ratio float qi(record, z, y, x); qi:navigation_dim = "nav"; qi:z_dim = "vpt, p"; 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; // snow mixing ratio float qs(record, z, y, x); qs:navigation_dim = "nav"; qs:z_dim = "vpt, p"; 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; // graupel mixing ratio float qg(record, z, y, x); qg:navigation_dim = "nav"; qg:z_dim = "vpt, p"; 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; // number concentration for ice particles float qin(record, z, y, x); qin:navigation_dim = "nav"; qin:z_dim = "vpt, p"; 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; // turbulent kinetic energy float tke(record, z, y, x); tke:navigation_dim = "nav"; tke:z_dim = "vpt, p"; 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; // vertical velocity float w(record, z, y, x); w:navigation_dim = "nav"; w:z_dim = "vpt, p"; w:record = "valtime, reftime"; w:long_name = "vertical velocity"; w:units = "Pascals / second"; w:valid_range = -10000.f, 10000.f; w:_FillValue = -99999.f; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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;// sub-grid scale precipitation - 3hfloat 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; // 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; double valtime(record); valtime:long_name = "valid time"; valtime:units = "seconds since (1970-1-1 00:00:00.0)";// reference time of the processdouble 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";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 variableslong 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;//----------------------------------------------------------------------// overhead information used to query the NIMBUS data pool for data // this is specific to FSL data management systems //---------------------------------------------------------------------- :query = "GDAM.NMC.RUC2.RUC240kmHyB.*"; :age = 10800; 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; // RUC2 40km process_name = "RUC2 40km Hybrid-b 3-d/2-d Grids"; origin_name = "National Weather Service"; x_dim = "x"; y_dim = "y"; }
============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research rkambic@xxxxxxxxxxxxxxxx WWW: http://www.unidata.ucar.edu/ ==============================================================================
decoders
archives: