The HDF5 Tutorial was created to help users quickly learn the basics of using HDF5.
HDF5 is a file format and library for storing scientific data. See the What is HDF5? page for information on what it is and why it was created.
The Learning HDF5 with the HDFView Java Browser topic walks a user through creating HDF5 files and datasets using the HDFView Java Browser. NO programming is required.
The Learning The Basics, High Level , Advanced, and Parallel HDF5 Tutorial topics contain examples in C and Fortran 90. Following is a description of each of these topics:
Learning The Basics:This section covers the basic HDF5 data objects and file structure, the HDF5 programming model, and the API functions necessary for creating and modifying data objects. Also introduced are the available HDF5 tools for accessing HDF5 files. The topics are intended to be completed in order.
The high level HDF5 Lite API simplifies many of the steps needed to create HDF5 Files and objects and can be viewed in conjunction with other tutorial topics.
High Level APIs:These APIs are written on top of HDF5, and they simplify the steps and provide templates for creating simple objects, images and tables (compound datatypes), as well as dimension scales and packets.
Advanced:This section requires a basic understanding of HDF5. The topics can be viewed in any order. More complex datatypes, properties and selections are covered, as well as other more advanced topics.
Parallel:The parallel tutorial describes Parallel HDF5 design, using MPI with HDF5, accessing HDF5 files, using collective vs. independent I/O, and different ways of doing partial I/O.
Please note that the HDF5 source code is written in C, and also includes wrappers for Fortran 90 and C++.
Compile scripts are included in thebin/
directory of the HDF5 binaries for compiling
C (h5cc
), C++ (h5c++
) and Fortran 90
(h5fc
) applications.
Information on using the h5cc
, h5c++
, and h5fc
scripts can be found here.
The HDF5 source code includes C++ wrappers, but the HDF5 Tutorial does not include C++ examples. For examples of using C++, please refer to the C++ examples in the HDF5 source code.
HDF-Java APIs are available for HDF5, but are not included in the HDF5 source code. Please refer to the HDF Java Products page for obtaining the HDF-Java wrappers, and compiling and using HDF-Java.
For examples of using the HDF-Java APIs, see: