NOAA / NWS's Meteorological Development Laboratory
| |||
Degrib (NDFD GRIB2 Decoder) |
NDFD Home | Verification | News | Organization |
|
Subject: Degrib 1.44
Date: Tue, 17 Feb 2004 11:38:16 -0500 From: Arthur Taylor To: arthur.taylor@noaa.gov Hi everyone, You all have the unique distinction of being registered on my degrib (aka NDFD_GRIB2Decoder) mailing list (all 326 of us) (I'd like to welcome: heinzman00, tepnol, hlectra, jomara, david, tmurray, steve_colbert, nasir, forrest.systems, james.mcmullen, rod_zerla, cwoodlief, jdowell, therainboxes, bione, brad.green, chet.johnson, drice57, doustt, steves, jacole, jeffrey.lorens, Russll31, andy, george-r-paterson, seggins, willi.dennerlohr, paul.iniguez, chrism) Please let me know (email me) if you want to unregister. The latest version of the program is on: www.nws.noaa.gov/mdl/NDFD_GRIB2Decoder/ ----------- General News. 1) Thanks to Tim Boyer, the official NDFD specifications has been updated (mainly to take care of some typos). Of particular note is the update to the "Weather Type Codes" in section 2. See "http://www.nws.noaa.gov/datamgmt/doc/GRIB2_encoding.html" ----------- News about this release: I have just finished putting together version "1.44" (last one that I announced was "1.42" on 1/23/2003). This release is mainly focused on being able to convert a subgrid of the original grid to GRIB2. Also on being able to interact with stdin/stdout. The combination could allow someone to develop web services based on degrib and GRIB2. 1a) Created the ability to read a GRIB2 message, and write the same message out in GRIB2 form. 1b) Created the ability to read from the "Data Cube", and write that out to GRIB2. This only works for NDFD Data Cubes, as the Data Cube Index did not hold onto enough information to be able to reverse the process (in particular the surface level), hence some hardwiring of options was required. 2) Created the ability to select a subregion of a GRIB2 or Data Cube that one was interested in. This is done by using the new options: -lwlf, and -uprt. They require a lat/lon for the lower left corner and upper right corner. 3a) Started writing to stdout. (Note: to do binary writes to stdout, the code is no longer "ANSI" C. I did find and implement the system specific code to make it work on MS-Windows, and it works fine on Linux, but I haven't tried it on a Mac (should be similar to the linux solution). 3b) Started reading from stdin. A while ago, some people from Unidata suggested that degrib should read from stdin. I had rearranged the code to be able to do this, but hadn't completed the effort partly because I wasn't sure how to turn the stdin stream from ASCII to Binary. It only appears to matter on MS-Windows machines, but ANSI C specifies that stdin and stdout are ASCII, not binary, so the code is no longer "ANSI C". Hopefully my delay in solving the problem hasn't affected Unidata's efforts? 4a) Removed all dependence (I think) on Automatic arrays in the FORTRAN 77 unpacker library. This was mainly because someone was having issues compiling on Debian Linux. I think it should work now, but I haven't had it confirmed (I don't have access to a Debian Linux machine). 4b) Reduced some of the extra memory allocation (and non-usage). Hopefully this will make it work faster. 5) Learned about HTTP Proxy servers. There is now an option in "tkdegrib" to allow one to configure it to use an HTTP Proxy server. "File->Configure", "Extra Tab" (thanks to thealy for helping me experiment). 6) Bug fixes... a) For GRIB2 messages that have multiple grids in the same GRIB2 message, the inventory had been seg-faulting (because I tried optimizing a fread, and didn't do a memswap). b) Did not properly anticipate locally defined surface level tables... c) For submessages when using NCEP's library, I did too many memswaps, and got the data stream confused. d) Although I handled non-meteo / non-ocean products, the logic in metaparse restricted one to just meteo / ocean products (ie I can now handle soil forecasts) e) "-msg all". If a message contained a subgrid (see u/v components of wind in NCEP's ETA GRIB2 messages), then -msg all only converted the first grid (ie u component of wind). 7) Created the ability to output to CSV format. This is a comma / column delimited ASCII format which may be easier to work with in Excel and FORTRAN, then the .dbf files. 8) Created a primitive ability to go from a simple ASCII .ini file to a Data Cube index file. This is was originally used for working with constant geographic fields such as timezone, but could have future uses. ----------- Please let me know if you have problems. Regards, Arthur (Art in MDT (Mountain Daylight Time) :-) ) ("Big A" for Glasgow's WCM :-) )
|