Re: will RSI support HDF5? [message #27452 is a reply to message #26527] |
Tue, 23 October 2001 07:44   |
Liam E. Gumley
Messages: 378 Registered: January 2000
|
Senior Member |
|
|
H C Pumphrey wrote:
[stuff deleted]
> Now, NASA's EOS program is (a) a Large IDL customer, and (b) is actively
> switching from HDF4 to HDF5. Do I have to go on?
I have been involved with the NASA EOS project for about 10 years, and I
can tell you there is a rather large existing code base (in IDL, Matlab,
C, FORTRAN, Java, etc.) that assumes HDF4 will be supported by NCSA for
many years to come. To say that EOS is switching to HDF5 is overstating
the case. Some background may be in order.
In the early 1990s the EOS project chose to develop a wrapper API for
HDF4 that was named HDF-EOS. The intent was to provide an API targeted
towards earth science datasets that came in three flavors: Swaths (e.g.,
satellite images), Grids (e.g., numerical weather prediction
input/output), and Points (e.g., profiles of temperature through the
atmosphere). However it is important to realize that a HDF-EOS file is
just a specialized instance of a HDF4 file. Any HDF-EOS file can be read
using HDF4, because HDF-EOS files are built by combining various HDF4
objects (SDS and Vdata arrays) in a special way.
Because of this fact, many EOS developers chose to develop code that
*reads* HDF-EOS product files (from MODIS for example) using the HDF4
API, because the HDF4 API allows more flexibility in how EOS product
files are interpreted. For example, the MODIS Level-1B HDF-EOS product
reader I developed (available at
ftp://origin.ssec.wisc.edu/pub/MODIS/IDL/) reads the input file using
HDF4 calls *only*. I know many other developers who have used this
approach successfully in IDL, Matlab, C, FORTRAN, Java, and other
languages.
The EOS project is now *suggesting* that developers may wish to use a
new version of HDF-EOS that uses HDF5 as the underlying format (the API
remains unchanged). I believe it will be up to the individual EOS
instrument teams to decide whether they wish to use the new HDF-EOS
version. I expect the MODIS team will continue to use the HDF4 version
of HDF-EOS for the lifetime of the Terra and Aqua spacecraft.
The impact on IDL is that I expect RSI to continue to support HDF4
indefinitely. I also expect IDL to support a new HDF5 API in the future,
in addition to, and *not* instead of, the current HDF4 API. With regard
to HDF-EOS support in IDL, I think it's possible to envision a smart API
that checks the format of the input file to see if it's written in HDF4
or HDF5 flavor, and then handling it appropriately.
Cheers,
Liam.
Practical IDL Programming
http://www.gumley.com/
|
|
|