NOTE: The decoders
mailing list is no longer active. The list archives are made available for historical reasons.
============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research rkambic@xxxxxxxxxxxxxxxx WWW: http://www.unidata.ucar.edu/ ============================================================================== ---------- Forwarded message ---------- Date: Wed, 14 May 2003 15:33:41 -0600 (MDT) From: Robb Kambic <rkambic@xxxxxxxxxxxxxxxx> To: "Jacques, Rodney" <jacquesr@xxxxxxxxxxxxxxxxx> Cc: "''support-decoders@xxxxxxxxxxxxxxxx'" <'support-decoders@xxxxxxxxxxxxxxxx> Subject: Re: NOGAPS: GRIB to netCDF decoder for GFE On Wed, 14 May 2003, Jacques, Rodney wrote:
Hello, We are trying to decode the NOGAPS and COAMPS grib files to netCDF for ingest into GFE. I was reading thru past Unidata archives and found that this work (NOGAPS) has been accomplished. Can we obtain the necessary documentation and decoder to help our organization?
Rodney, Yes, the decoders package can decode the NOGAPS and COAMPS grib files to NetCDF. Of course one has to install the decoders package, NetCDF and udunits packages. The decoders page is located at: http://www.unidata.ucar.edu/packages/decoders The decoders package can be obtained via ftp www.unidata.ucar.edu at pub/decoders. Latest package is decoders-2.4.4.tar.Z I did a test case on the nogaps data, it worked ok. One needs to create a NetCDF cdl file before running the decoder gribtonc. % gribtocdl -v "nogaps Grib file" > nogaps.cdl to decode the data % gribtonc -l - nogaps.cdl nogaps.nc < "nogaps Grib file" There are man pages for the programs in the release. A couple hints: combine nogaps files into one to get all the variables you want, add the value valtime_offset = 0, 3, 6, 9, 12, 15 ,18, 21, 24, 30, 36, 42, 48, 54, 60, 66, 72, 84, 96, 108, 120, 132, 144 to the cdl if it complains. I'll include a sample cdl file as a attachment. Robb...
Thanks in advance, Rodney Jacques Meteorological Sciences Officer (MSO) NAVPACMETOCCEN San Diego, N5 jacquesr@xxxxxxxxxxxxxxxxx Comm (619) 545-2211/ DSN 735-2211 FAX (619) 545-0291
============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research rkambic@xxxxxxxxxxxxxxxx WWW: http://www.unidata.ucar.edu/ ==============================================================================
netcdf Replace_with_model_name{ dimensions: record = UNLIMITED ; // (reference time, forecast time) lat = 181 ; // latitude lon = 360 ; // longitude level = 1 ; // isobaric levels datetime_len = 21 ; // string length for datetime strings valtime_offset = 23 ; // number of offset times nmodels = 1 ; // number of models ngrids = 1 ; // number of grids nav = 1 ; // for navigation nav_len = 100 ; // max string length for navigation strings variables: double reftime(record) ; // reference time of the model reftime:long_name = "reference time" ; reftime:units = "hours since 1992-1-1" ; double valtime(record) ; // forecast time ("valid" time) valtime:long_name = "valid time" ; valtime:units = "hours since 1992-1-1" ; :record = "reftime, valtime" ; // "dimension attribute" -- means // (reftime, valtime) uniquely // determine record char datetime(record, datetime_len) ; // derived from reftime datetime:long_name = "reference date and time" ; // units YYYY-MM-DD hh:mm:ssZ (ISO 8601) double valtime_offset(valtime_offset) ; // valtime - reftime valtime_offset:long_name = "hours from reference time" ; valtime_offset:units = "hours" ; float level(level) ; level:long_name = "isobaric level" ; level:units = "hectopascals" ; // The following lat and lon coordinate variables are redundant, // since the navigation variables provide the necessary information. // The extra information is included here for human readability. float lat(lat) ; lat:long_name = "latitude" ; lat:units = "degrees_north" ; float lon(lon) ; lon:long_name = "longitude" ; lon:units = "degrees_east" ; long model_id(nmodels) ; model_id:long_name = "generating process ID number" ; // navigation variables all use nav dimension char nav_model(nav, nav_len) ; // navigation parameterization nav_model:long_name = "navigation model name" ; int grid_type_code(nav) ; grid_type_code:long_name = "GRIB-1 GDS data representation type" ; char grid_type(nav, nav_len) ; grid_type:long_name = "GRIB-1 grid type" ; char grid_name(nav, nav_len) ; grid_name:long_name = "grid name" ; int grid_center(nav) ; grid_center:long_name = "GRIB-1 originating center ID" ; int grid_number(nav, ngrids) ; grid_number:long_name = "GRIB-1 catalogued grid numbers" ; grid_number:_FillValue = -9999 ; char i_dim(nav, nav_len) ; i_dim:long_name = "longitude dimension name" ; char j_dim(nav, nav_len) ; j_dim:long_name = "latitude dimension name" ; int Ni(nav) ; Ni:long_name = "number of points along a latitude circle" ; int Nj(nav) ; Nj:long_name = "number of points along a longitude circle" ; float La1(nav) ; La1:long_name = "latitude of first grid point" ; La1:units = "degrees_north" ; float Lo1(nav) ; Lo1:long_name = "longitude of first grid point" ; Lo1:units = "degrees_east" ; float La2(nav) ; La2:long_name = "latitude of last grid point" ; La2:units = "degrees_north" ; float Lo2(nav) ; Lo2:long_name = "longitude of last grid point" ; Lo2:units = "degrees_east" ; float Di(nav) ; Di:long_name = "longitudinal direction increment" ; Di:units = "degrees" ; float Dj(nav) ; Dj:long_name = "latitudinal direction increment" ; Dj:units = "degrees" ; byte ResCompFlag(nav) ; ResCompFlag:long_name = "resolution and component flags" ; // end of navigation variables float omega(record,level,lat,lon) ; omega:long_name = "Pressure vertical velocity at isobaric levels" ; omega:GRIB_parameter_number = 39 ; omega:GRIB_level_flag = 100 ; omega:units = "Pa/s" ; omega:_FillValue = -9999.f ; omega:navigation = "nav" ; // global attributes :history = "2003-05-14 15:05:14 - created by gribtocdl" ; :title = "Enter model definition here" ; :Conventions = "NUWG" ; :GRIB_reference = "Office Note 388 GRIB" ; :GRIB_URL = "http://www.nco.ncep.noaa.gov/pmb/docs/on388/" ; :version = 0.0 ; data: level = 250.0 ; model_id = 58 ; valtime_offset = 0, 3, 6, 9, 12, 15 ,18, 21, 24, 30, 36, 42, 48, 54, 60, 66, 72, 84, 96, 108, 120, 132, 144 ; // Navigation nav_model = "GRIB1" ; grid_type_code = 0 ; grid_type = "Latitude/Longitude" ; grid_name = " " ; grid_center = 58 ; grid_number = 240 ; i_dim = "lon" ; j_dim = "lat" ; Ni = 360 ; Nj = 181 ; La1 = -90.000000 ; Lo1 = 0.000000 ; La2 = 90.000000 ; Lo2 = 359.000000 ; Di = 1.000000 ; Dj = 1.000000 ; ResCompFlag = 128 ; lon = 0.00, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.00, 11.00, 12.00, 13.00, 14.00, 15.00, 16.00, 17.00, 18.00, 19.00, 20.00, 21.00, 22.00, 23.00, 24.00, 25.00, 26.00, 27.00, 28.00, 29.00, 30.00, 31.00, 32.00, 33.00, 34.00, 35.00, 36.00, 37.00, 38.00, 39.00, 40.00, 41.00, 42.00, 43.00, 44.00, 45.00, 46.00, 47.00, 48.00, 49.00, 50.00, 51.00, 52.00, 53.00, 54.00, 55.00, 56.00, 57.00, 58.00, 59.00, 60.00, 61.00, 62.00, 63.00, 64.00, 65.00, 66.00, 67.00, 68.00, 69.00, 70.00, 71.00, 72.00, 73.00, 74.00, 75.00, 76.00, 77.00, 78.00, 79.00, 80.00, 81.00, 82.00, 83.00, 84.00, 85.00, 86.00, 87.00, 88.00, 89.00, 90.00, 91.00, 92.00, 93.00, 94.00, 95.00, 96.00, 97.00, 98.00, 99.00,100.00,101.00,102.00,103.00, 104.00,105.00,106.00,107.00,108.00,109.00,110.00,111.00, 112.00,113.00,114.00,115.00,116.00,117.00,118.00,119.00, 120.00,121.00,122.00,123.00,124.00,125.00,126.00,127.00, 128.00,129.00,130.00,131.00,132.00,133.00,134.00,135.00, 136.00,137.00,138.00,139.00,140.00,141.00,142.00,143.00, 144.00,145.00,146.00,147.00,148.00,149.00,150.00,151.00, 152.00,153.00,154.00,155.00,156.00,157.00,158.00,159.00, 160.00,161.00,162.00,163.00,164.00,165.00,166.00,167.00, 168.00,169.00,170.00,171.00,172.00,173.00,174.00,175.00, 176.00,177.00,178.00,179.00,180.00,181.00,182.00,183.00, 184.00,185.00,186.00,187.00,188.00,189.00,190.00,191.00, 192.00,193.00,194.00,195.00,196.00,197.00,198.00,199.00, 200.00,201.00,202.00,203.00,204.00,205.00,206.00,207.00, 208.00,209.00,210.00,211.00,212.00,213.00,214.00,215.00, 216.00,217.00,218.00,219.00,220.00,221.00,222.00,223.00, 224.00,225.00,226.00,227.00,228.00,229.00,230.00,231.00, 232.00,233.00,234.00,235.00,236.00,237.00,238.00,239.00, 240.00,241.00,242.00,243.00,244.00,245.00,246.00,247.00, 248.00,249.00,250.00,251.00,252.00,253.00,254.00,255.00, 256.00,257.00,258.00,259.00,260.00,261.00,262.00,263.00, 264.00,265.00,266.00,267.00,268.00,269.00,270.00,271.00, 272.00,273.00,274.00,275.00,276.00,277.00,278.00,279.00, 280.00,281.00,282.00,283.00,284.00,285.00,286.00,287.00, 288.00,289.00,290.00,291.00,292.00,293.00,294.00,295.00, 296.00,297.00,298.00,299.00,300.00,301.00,302.00,303.00, 304.00,305.00,306.00,307.00,308.00,309.00,310.00,311.00, 312.00,313.00,314.00,315.00,316.00,317.00,318.00,319.00, 320.00,321.00,322.00,323.00,324.00,325.00,326.00,327.00, 328.00,329.00,330.00,331.00,332.00,333.00,334.00,335.00, 336.00,337.00,338.00,339.00,340.00,341.00,342.00,343.00, 344.00,345.00,346.00,347.00,348.00,349.00,350.00,351.00, 352.00,353.00,354.00,355.00,356.00,357.00,358.00,359.00 ; lat =-90.00,-89.00,-88.00,-87.00,-86.00,-85.00,-84.00,-83.00, -82.00,-81.00,-80.00,-79.00,-78.00,-77.00,-76.00,-75.00, -74.00,-73.00,-72.00,-71.00,-70.00,-69.00,-68.00,-67.00, -66.00,-65.00,-64.00,-63.00,-62.00,-61.00,-60.00,-59.00, -58.00,-57.00,-56.00,-55.00,-54.00,-53.00,-52.00,-51.00, -50.00,-49.00,-48.00,-47.00,-46.00,-45.00,-44.00,-43.00, -42.00,-41.00,-40.00,-39.00,-38.00,-37.00,-36.00,-35.00, -34.00,-33.00,-32.00,-31.00,-30.00,-29.00,-28.00,-27.00, -26.00,-25.00,-24.00,-23.00,-22.00,-21.00,-20.00,-19.00, -18.00,-17.00,-16.00,-15.00,-14.00,-13.00,-12.00,-11.00, -10.00, -9.00, -8.00, -7.00, -6.00, -5.00, -4.00, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.00, 11.00, 12.00, 13.00, 14.00, 15.00, 16.00, 17.00, 18.00, 19.00, 20.00, 21.00, 22.00, 23.00, 24.00, 25.00, 26.00, 27.00, 28.00, 29.00, 30.00, 31.00, 32.00, 33.00, 34.00, 35.00, 36.00, 37.00, 38.00, 39.00, 40.00, 41.00, 42.00, 43.00, 44.00, 45.00, 46.00, 47.00, 48.00, 49.00, 50.00, 51.00, 52.00, 53.00, 54.00, 55.00, 56.00, 57.00, 58.00, 59.00, 60.00, 61.00, 62.00, 63.00, 64.00, 65.00, 66.00, 67.00, 68.00, 69.00, 70.00, 71.00, 72.00, 73.00, 74.00, 75.00, 76.00, 77.00, 78.00, 79.00, 80.00, 81.00, 82.00, 83.00, 84.00, 85.00, 86.00, 87.00, 88.00, 89.00, 90.00 ; }
decoders
archives: