Hi Ethan-
Ethan Davis wrote:
I just wanted to dig a bit deeper into the BUFR issue.
Does anyone know of a Java library for reading BUFR data?
No. I thought the nj22 team was going to write one. ;-)
I looked
around a bit but didn't find anything. The reason I ask is that the
netCDF-java 2.2 library (nj22) has an interface for allowing other data
formats to be read through the nj22 API. We've used this to add reading
of several non-netcdf formats to nj22 (GRIB-1, GRIB-2, GINI, NIDS,
NEXRAD level II, e.g.). If there is a java library out there it might
not be too hard to add BUFR reading to nj22.
There are a couple of issues with BUFR. One is that it is not like
GRIB in that a BUFR file may have point observations, trajectories,
winds, etc. I'm not sure how the IOServiceProvider interface does at
figuring out which type of data type to create.
A second, major problem with BUFR is that it is like GML. Although
there is a standard format, there are no standard vocabularies
for what the data look like. One of the biggest problems is getting
all the tables for a particular dataset (worse than GRIB).
The interface is ucar.nc2.IOServiceProvider. We probably need to work on
the documentation but there are several example implementations in the
nj22 code. If anyone wants to take a look at this, we could advise and
(as time permits) assist. Once an IOSP was done, the TDS could serve the
data out through OPeNDAP.
Would the IOSP layer allow you to read in one BUFR file as
point data and another as a trajectory or is it "datatype"
specific?
Since the NWS is moving toward sending METARs in BUFR format,
we'll need something soon.
Don
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
"Time makes everyone interesting, even YOU!"
*************************************************************