This subpage illustrates the basic use of the .h5 hierarchical data format for use with Matlab, Python and C (C++) with command line inputs and links to useful files.
C:
From Power 7 (Beatrice) node:
module load hdf5/1.8.11_serial_adv
loads the C libraries for the .h5 file manipulations.
The following webpage has example C program to create and save data structures:
https://www.hdfgroup.org/HDF5/examples/intro.html
To compile from Beatrice (this creates an empty .h5 file called dset.h5):
gcc -Wall -o h5_crtdat h5_crtdat.c -Wl,-rpath=${HDF5LIB} -lhdf5
and to run it:
./h5_crtdat
To compile h5_rdwt to write an array to the file dset.h5
gcc -Wall -o h5_rdwt h5_rdwt.c -Wl,-rpath=${HDF5LIB} -lhdf5
And to run:
./h5_rdwt
Matlab:
To load data from a . h5 file with dataset name 'dset'
dset=h5read('dset.h5','/dset')
To find header information about the .h5 file (eg the datasetname and data type)
fileinfo=hdf5info('dset.h5')
To write an entire dataset:
h5write(FILENAME,DATASETNAME,DATA)
Python:
h5rw.py contains wrappers for .h5 reading and writing in Python. First, import this package:
import h5rw
To read in the .h5 file:
temp=h5rw.h5read('dset.h5')
temp is a dictionary. To see the keys in this dictionary:
temp.keys()
To access the 'dset' entry in the dictionary:
temp['dset']
To write a dictionary to file:
h5rw.h5write('test.h5',temp)