[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: Re: Supporting other data formats -- BUFR and GRIB2] (fwd)


i'm sure your aware about the grib-java decoder that unidata has recently
released. it's located at:


it handles the template 5.4 for the GFS .5 degree grid. also ncep has
recently updated their on-line docs for grib2 at:

i read your note below about bufr format. actually i've been
investigating the possibility of creating a bufr decoder in java. the
acticles i've read show that it has extensive external tables used to
define the data. do you know of any source for the tables?  do they
follow any standard formats? do you have any thoughts about pitfalls or
pluses in designing a decoder?

thanks for your time,

-------- Original Message --------
Subject: Re: Supporting other data formats -- BUFR and GRIB2
Date: Tue, 19 Apr 2005 13:11:03 -0400
From: Jennifer Adams <address@hidden>
Organization: UCAR/Unidata
To: Tech DODS <address@hidden>, THREDDS <address@hidden>
CC: Brian Doty <address@hidden>, Jim Kinter <address@hidden>
References: <address@hidden> <address@hidden> <address@hidden> <address@hidden> 

Dear All Who Care --
Out of all the acronyms being tossed around in this thread, I can only
comment on two: BUFR and GRIB2.

1. BUFR:
BUFR is a WMO standard for storing station data (aka sequence data).
It's not the friendliest format in the world, but it can store a lot of
information in a small space with liberal use of look-up tables and
bit-by-bit packing. Some time ago, Joe Wielgosz, the guy who wrote the
GDS, also wrote a BUFR decoder -- it reads BUFR and spews out ascii.
After Joe wrote his decoder, I wrote an interface for GrADS, a client
that already has the ability to handle station data. Starting with
version 1.9, GrADS could read and display BUFR data from NCEP -- the
only BUFR data source we attempted to handle. BUFR is so complicated
and flexible -- it's a bit like netcdf in that you can probably stuff
any kind of crapola data into that format if you try hard enough --
there's just no way that we could write code to handle every possible
BUFR file out there. Oops, I digress...  Anyway, Joe then wrote some
code for the GDS to serve station data, and for GrADS to be a client
for station data served via GDS.  At that point, Joe left the
programming business, and I moved on to other development projects.

Since then, I have heard from more than a few BUFR users who needed
help in using the GrADS interface -- including Tennessee and the crew
at NCDC. I have explained how the BUFR decoder works, how to write
GrADS descriptor files, how to test with their own BUFR files, and (in
NCDC's case) how to patch the GrADS code so it would work with their
files. Working with BUFR is not that much fun, but much of the hard
work has already been done -- I'm a little dismayed to hear that both
Tennessee and Glenn's crew have given up on the GrADS interface and are
reinventing the wheel with perl and conversion to netcdf.

2. GRIB2:
Brian Doty and I have looked at one GRIB2 data sample: the GFS output
on a 0.5 degree grid, which uses data representation template number
5.4, and we haven't been able to find any documentation for this
template as yet. A simpler short-term solution is to uncompress and
read the GRIB2 data outside of GrADS (there are some libraries and code
samples available from NCEP to do this) and rewrite the data into a
format GrADS can read. Our impression is that GRIB2 is designed more
for storage and archival needs rather than access. We have plans to
support simple packing (template number 5.0) to take advantage of the
expanded header field options available with GRIB2. This will only
require changes to gribmap, an external GrADS utility, and not the
GrADS code itself.

-- Jennifer

Jennifer Miletta Adams
4041 Powder Mill Rd., Suite 302
Calverton, MD 20705

On Apr 15, 2005, at 12:31 PM, Glenn Rutledge wrote:

> From a users perspective (and not speaking for COLA), yes- they did
> BUFR w/ the latest 1.9, but we have some issues with a couple of
> required datasets and trying to figure a workaround (thus the perl
> bufr decoder).  But indeed, GDS handles plotting/decoding and gds
> serving of (most?) BUFR.  My pblm might be the data feed, the tables,
> or the  supplied metadata from eh originator.  Regards, Glenn
> James Gallagher wrote:
>> On Apr 15, 2005, at 6:52 AM, Glenn Rutledge wrote:
>>> Wow,
>>> This thread (pun intended) woke me up this Friday morning. WCS for
>>> OPeDNAP will be  a great leap forward for our shop and BUFR- the WMO
>>> standard format for model input ("the BUFR tanks" at NCEP,
>>> Upper-Air collectives, and other data near and dear to NWP, goes a
>>> long way toward the implementation of a long awaited single
>>> (virtual) interface to for anyone doing Model Intercomparison
>>> Projects, or grib/NetCDF/BUFR... data analysis.  We just wrote a
>>> BUFR decoder in perl to overcome some of our issues with BUFR (as
>>> listed below), so yes- NOMADS cares very much- more importantly
>>> users- last  month we had 4M downloads, serving over 3.6Tb of data
>>> and several emails requesting BUFR access.  NOAA has a requirement
>>> for BUFR decode/access and display as well.
>>> So, the NCDC NOMADS shop will gladly test or otherwise try to help
>>> in this endeavor.  Granted, we don't have the expertise to develop
>>> this- we do have some talent to install and flush out issues
>>> associated with these formats and interfaces thru OpeNDAP.   One
>>> final note:  Grib2 is on the horizon....COLA is very much aware of
>>> this but not a top priority.  Anyone working this for GDS? Just
>>> wondering......
>> On the GIS/WCS front: Dan Holloway is taking a short vacation, but
>> when he gets back he can provide first-hand information about the
>> MapServer-OPeNDAP gateway. Briefly, MapServer uses the GDAL library
>> to read from various sources. Frank Warmerdam and I have written a
>> GDAL-DAP driver, so GDAL can be used to read from DAP servers. There
>> are limits, but Frank took my driver code and spiffed it up quite a
>> bit. He also wrote an OGR driver; OGR is the point data equivalent to
>> GDAL (GDAL is designed to work with raster data). So OGR can be used
>> to read from 'DAP Sequences' like the EPIC-DAP server from PMEL.
>> Caveat: I haven't tested this myself.
>> On the BUFR front: There's been considerable interest in support for
>> BUFR for a long time. I though that COLA was working on this? Can
>> some one on DODS TEch comment?
>> James
>>> Thanks to all for your leadership and vision in all this....Glenn
>>> John Caron wrote:
>>>> Tennessee Leeuwenburg wrote:
>>>>> Hi guys,
>>>>> We're looking at phase two of the project I'm working on at the
>>>>> moment. Phase one involved hooking up our weirdo database to
>>>>> OpenDAP, and it looks that that will be a success. There's one
>>>>> thing that's not as wonderful as we might hope, and a couple of
>>>>> cool extra things we'd like to do.
>>>>> In order to cope with observational data stored in BUFR format,
>>>>> we've had to write scripts for conversion to NetCDF prior to
>>>>> serving it with thredds. I don't really like messing about in
>>>>> thredds code if I can help it, on account of it makes code
>>>>> maintainance that much harder. So we convert to NetCDF on a
>>>>> product-by-product basis. But it would be way cool if we could
>>>>> serve BUFR data more generally and without the conversion step. So
>>>>> my question is : does anyone on this list care much about BUFR
>>>>> data, and is anyone thinking much about how it might fit into an
>>>>> OpenDAP context?
>>>> What kind of data is stored in BUFR?
>>>> We have an "I/O service provider" framework in netcdf-java version
>>>> 2.2, where you can read non-native files as if they are netcdf
>>>> files. We have done GRIB files in this way, among others. It would
>>>> probably be very cool to be able to do that for BUFR files. If
>>>> you're interested i can tell you more.
>>>>> The other angle is from the GIS world rather than the data sharing
>>>>> world. We'd love to publish some of our data sets in such a way
>>>>> that GIS packages can read them. To the best of my knowledge, no
>>>>> GIS package reads OpenDAP or even NetCDF. This means we've either
>>>>> got to do a conversion step from NetCDF into something that the
>>>>> GIS packages can read, and then serve it out using a different
>>>>> server - like a shapefile server for instance. So we would have to
>>>>> choose specific products to make available, provide shapefile
>>>>> derivatives from our hi-res NetCDF data, and tell people to go
>>>>> look there. It's not the worst plan I've ever heard, but has
>>>>> anyone here heard about any efforts to integrate OpenDAP more
>>>>> tightly with GIS software?
>>>> The next version of the THREDDS server will have OpenDAP integrated
>>>> into it. It will also have an experimental WCS server for gridded
>>>> data.  The idea is that anything that can be read in through
>>>> netcdf-java version 2.2 can be served through opendap. If theres
>>>> enough georeferencing, these can also be served through WCS. Again
>>>> it would be cool to extend this to a WFS server for features,
>>>> although it would be a lot of work.
>>>> We are also working with ESRI on their project to read in netcdf
>>>> gridded files, and another project with GDAL/Cadcorp experimenting
>>>> with netcdf over WCS. Still both in research stage.
>>> --
>>> Glenn K. Rutledge
>>> NOMADS Program Manager
>>> NOAA Meteorologist / Physical Scientist
>>> National Oceanic and Atmospheric Administration
>>> National Climatic Data Center
>>> 151 Patton Ave
>>> Asheville, North Carolina 28801
>>> (828) 271-4097
>>> The contents of this message are mine personally and do not
>>> necessarily reflect any position of the Government or the National
>>> Oceanic and Atmospheric Administration."
>> --
>> James Gallagher                jgallagher at opendap.org
>> OPeNDAP, Inc                   406.783.8663
> --
> Glenn K. Rutledge
> NOMADS Program Manager
> NOAA Meteorologist / Physical Scientist
> National Oceanic and Atmospheric Administration
> National Climatic Data Center
> 151 Patton Ave
> Asheville, North Carolina 28801
> (828) 271-4097
> The contents of this message are mine personally and do not
> necessarily reflect any position of the Government or the National
> Oceanic and Atmospheric Administration."

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.