NetCDF Decoders Status

Robb Kambic
Unidata Program Center
April 2009

NetCDF Decoders Status

The Java Grib Libraries have been completely refactored for performance reasons; the reading/parsing of the index files is now 1/4 of the old time. The changes are backward compatible, so the transition to the new binary index files should be seamless, but the recommendation is to rebuild with the new indexes to get the performance gains. There is also a grid branch in the tree separated from the grib branch so new service Providers for different type of grid products will not have to redo all the basic infrastructure coding. Also, the indexes have been changed to check the last modified files tags instead of the file sizes when the index needs to be rebuilt/extended. As usual, the parameter tables have been updated to the latest NCEP changes.

For the netcdf-java side the code was refactored to take advantage of the new Java Grib API. Actually the netcdf-java code was changed to use the grid Service Provider API, that's the same API that's used to read the GEMPAK and the McIDAS grid code. Again if a new grid product arrives, it will be able to take advantage of the infrastructure code instead of starting from scratch.

The Rotated Latitude Longitude projection was implemented in the Grib and in the netcdf-java libraries.

The Terminal Dopler Radars (TDR) was implemented into the netcdf-java libraries.

The Short Range Ensemble Forecasts (SREF) and the GFS Global 1 degree Ensemble grids have been implemented in the Grib and in the netcdf-java libraries.

The Java BUFR package has been completely integrated into the netcdf-java package, it was difficult to maintain the separation as a stand-alone package because reading BUFR files need the netcdf-java infrastructure.

by Robb Kambic