transition from hdf4 to hdf5

32
1 HDF HDF Transition from HDF4 to HDF5: Transition from HDF4 to HDF5: status and goals status and goals Robert E. McGrath NCSA December 5, 2002

Upload: the-hdf-eos-tools-and-information-center

Post on 12-May-2015

57 views

Category:

Technology


0 download

DESCRIPTION

Source: http://hdfeos.org/workshops/ws06/presentations/McGrath/Trans_HDF4_to_5.ppt

TRANSCRIPT

Page 1: Transition from HDF4 to HDF5

1 HDFHDF

Transition from HDF4 to HDF5: Transition from HDF4 to HDF5: status and goalsstatus and goals

Robert E. McGrathNCSA

December 5, 2002

Page 2: Transition from HDF4 to HDF5

2 HDFHDF

HDF4 HDF4 vsvs HDF5HDF5

• HDF4 - Based on original 1988 version of HDF– Backwardly compatible with all earlier versions– Original HDF-EOS (terra, aqua)

• HDF5– New format & library - not compatible with HDF4– HDF-EOS5 (aura)

Page 3: Transition from HDF4 to HDF5

3 HDFHDF

Important NoteImportant Note

• Both HDF4 and HDF5 are supported by the NCSA HDF group.

• We will continue to maintain HDF4, as long as we are funded to do so.

• We recommend using HDF5, and that you consider migrating from HDF4 to HDF5 to take advantage of the improved features and performance of HDF5.

See: http://hdf.ncsa.uiuc.edu/h4-h5.html

Page 4: Transition from HDF4 to HDF5

4 HDFHDF

OverviewOverview

• Discuss status of transition• Suggestions for users and developers

Page 5: Transition from HDF4 to HDF5

5 HDFHDF

Thesis:Thesis:Most environments will be using Most environments will be using both HDF4 and HDF5 data and both HDF4 and HDF5 data and

software for many years.software for many years.

Page 6: Transition from HDF4 to HDF5

6 HDFHDF

NASA ESE Data Centers and Users NASA ESE Data Centers and Users will be using both HDF4 and HDF5will be using both HDF4 and HDF5

• NASA ESE holdings are HDF4-based data and software– Terra, Aqua, Landsat 7, etc.

• Near future will include HDF5-based data and software – Aura, possibly others

Page 7: Transition from HDF4 to HDF5

7 HDFHDF

Supporting Transition: Status and Supporting Transition: Status and DiscussionDiscussion

Page 8: Transition from HDF4 to HDF5

8 HDFHDF

Four Important Goals for NCSA (and Four Important Goals for NCSA (and NASA)NASA)

1. Support both formats and libraries2. Interoperation of data and libraries3. Conversion of data4. Conversion of software

Page 9: Transition from HDF4 to HDF5

9 HDFHDF

1. Support both formats and libraries1. Support both formats and libraries

• NCSA is committed to support both HDF4 and HDF5 as long as needed by NASA

• But expertise with HDF4 will erode• We need to get HDF4 software into a stable

“safe mode”.– Analogous to satellite systems: a stable,

dormant, well-known state, from which it can be awakened when needed.

• I assume these statements are true for HDF-EOS

Page 10: Transition from HDF4 to HDF5

10 HDFHDF

2. Interoperation of data and libraries2. Interoperation of data and libraries

• Must always be able to use HDF4 and HDF5 data and software in the same programs and environments

• This has largely been achieved at the data and library level (by virtue of separate name spaces)

• Many applications still need to work through this issue

Page 11: Transition from HDF4 to HDF5

11 HDFHDF

2. Interoperation of data and libraries2. Interoperation of data and libraries

• Likely to be increasingly difficult to ensure that HDF4 and HDF5 will work together on all platforms and compilers.– E.g., HDF4 has F77, HDF5 has F90: difficult

for a single Fortran program to use both.

Page 12: Transition from HDF4 to HDF5

12 HDFHDF

3. Conversion of Data3. Conversion of Data

• One approach to heterogeneity is to convert data, especially from HDF4 to HDF5.

• NCSA documents, utilities, and toolkit support default conversions– http://hdf.ncsa.uiuc.edu/h4-h5.html

• heconvert utility for HDF-EOS files

Page 13: Transition from HDF4 to HDF5

13 HDFHDF

Conversion of DataConversion of Data

• Generic conversion is not likely to be sufficient except in very simple cases– Default conversion may not produce desired

result, or may be non-optimal use of HDF5– Always most important to preserve application

and science meaning, not the details of HDF • Generally will need product-by-product

conversion

Page 14: Transition from HDF4 to HDF5

14 HDFHDF

Conversion of DataConversion of Data

• Data can be converted as needed, or wholesale, e.g., as part of a refresh or regeneration process

• It is not clear what needs to be done to validate converted data– Preserve the numbers– Preserve structure (e.g., Swath)– How to cross-validate the “same dataset” is

“same” when converted from HDF4 to HDF5?

Page 15: Transition from HDF4 to HDF5

15 HDFHDF

4. Conversion of Software4. Conversion of Software

• Adding HDF5 and HDF-EOS5 support to existing software will be a common and important task– Basically same as adding any new format

• Not difficult in any give case, unless the data is very complex

• But each case is different

Page 16: Transition from HDF4 to HDF5

16 HDFHDF

Conversion of SoftwareConversion of Software

• HDF-EOS metadata makes this much easier– Metadata is format independent– Tools that use the metadata don’t have to

change at all– The metadata makes it much easier to make the

new format work the same as the old• To the degree that these claims are true, this

is a strong validation of the value of the effort (specification and implementation) that went into the HDF-EOS metadata.

Page 17: Transition from HDF4 to HDF5

17 HDFHDF

Suggestions for UsersSuggestions for Users

Page 18: Transition from HDF4 to HDF5

18 HDFHDF

Suggestions for UsersSuggestions for Users

• If you haven’t started yet, use HDF5• In most cases, you need to support with

HDF4 and HDF5 (HDF-EOS4 and HDF-EOS5)

Page 19: Transition from HDF4 to HDF5

19 HDFHDF

Convert Data or Multiple Readers?Convert Data or Multiple Readers?

• In an environment with both HDF4- and HDF5-based data (HDF-EOS4 and HDF-EOS5), how should programs deal with the data?– Convert data– Write software to read/write either format

Page 20: Transition from HDF4 to HDF5

20 HDFHDF

Convert Data or Multiple Readers?Convert Data or Multiple Readers?

• Converting data (e.g., to HDF5) makes the software simpler– Only one reader/writer needed (data is

converted to suit the reader)– Need conversion software– Conversion may be costly and surely is ‘extra

work’– Multiple copies of the “same” data may exist

Page 21: Transition from HDF4 to HDF5

21 HDFHDF

Convert Data or Multiple Readers?Convert Data or Multiple Readers?• Reader/Writer for HDF4 and for HDF5

– A lot of software already supports multiple formats

– More software development– …and maintenance (bugs have to be fixed

twice, both libraries need to be upgraded, etc.)– Adding new data access methods is possible

only if the code can be modified• Proprietary code• Design prohibits extension• No programmers available

Page 22: Transition from HDF4 to HDF5

22 HDFHDF

Converting data or software from Converting data or software from HDF4 to HDF5:HDF4 to HDF5:

Three “Principles” Three “Principles”

Page 23: Transition from HDF4 to HDF5

23 HDFHDF

Three “Principles” Three “Principles”

1. Do what makes sense2. Think of HDF5 as a completely new file

format3. Anything you can do in HDF4, you can

do in HDF5

Page 24: Transition from HDF4 to HDF5

24 HDFHDF

1. Do what makes sense1. Do what makes sense

• The documentation and tools and talks are suggestions, not rules.

• Use HDF5 in ways that work best for your goals– Sometimes, it may not be best to exactly copy

or emulate the way HDF4 was used– HDF5 has many new features to exploit

Page 25: Transition from HDF4 to HDF5

25 HDFHDF

2. Think of HDF5 as a new Format2. Think of HDF5 as a new Format

• Despite the name, the HDF5 Format and Library are new and different.

• Shouldn’t expect things to work the same as HDF4 or earlier versions.

Page 26: Transition from HDF4 to HDF5

26 HDFHDF

3. Anything you can do in HDF4, 3. Anything you can do in HDF4, you can do in HDF5you can do in HDF5

• That said, HDF5 is conceptually compatible with HDF4

• It is reasonable to expect that whatever you did with HDF4 can be done with HDF5, usually better.

Page 27: Transition from HDF4 to HDF5

27 HDFHDF

Suggested Goals for NCSASuggested Goals for NCSA

• Get HDF4-based software into “safe mode”• Help for software developers

Page 28: Transition from HDF4 to HDF5

28 HDFHDF

““Safe ModeSafe Mode””

• Analogous to satellite systems: a stable, known, dormant state, from which it can be awakened when needed.– Document format and library*– Clean up and document source code– Porting guide for “temporal ports”

* Substantial progress in the last two years

Page 29: Transition from HDF4 to HDF5

29 HDFHDF

“Temporal Port”“Temporal Port”

• Most “normal” maintenance brings software forward continuously, version by version– E.g., when OS is upgraded, software is made to work

• When software is “dormant”, may be called upon to make it work on something several years and many versions later than the last maintenance

• This is much more like porting to a new platform, because of the temporal gap: hence my term “temporal port”

Page 30: Transition from HDF4 to HDF5

30 HDFHDF

Help for developersHelp for developers

• Given software that uses HDF4 (HDF-EOS4) add support for HDF5 (HDF-EOS5): – Need to perform this task over and over

• What might help:– Documents, training, and consulting for

developers– Toolkits to assist software conversion?

Page 31: Transition from HDF4 to HDF5

31 HDFHDF

PointersPointers

1. The HDF web site:http://hdf.ncsa.uicu.edu

2. The helpdesk: [email protected]

3. HDF4 to HDF5 information:

http://hdf.ncsa.uiuc.edu/h4toh5/

Page 32: Transition from HDF4 to HDF5

32 HDFHDF

AcknowledgementsAcknowledgements

This report is based upon work supported in part by a Cooperative Agreement with NASA under NASA grant NAG 5-2040 and NAG NCCS-599. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Aeronautics and Space Administration. Other support provided by NCSA and other sponsors and agencies (http://hdf.ncsa.uiuc.edu/acknowledge.html).