dm_hdf5 Module

Abstraction layer around HDF5. Has to be linked against -lhdf5 and -lhdf5_fortran.

The module provides wrapper procedures to HDF5 in order to read and write derived types as 1-dimensional compound data sets. Only nodes, observations, sensors, and targets are supported.

The following example writes and reads eight empty observations as group timeseries to and from file sample.hdf5:

integer, parameter :: NOBSERVS = 8

integer                        :: rc
type(hdf5_file_type)           :: file
type(hdf5_group_type)          :: group
type(observ_type), allocatable :: input(:), output(:)

allocate (output(N))

! Initialise HDF5, create file and group.
rc = dm_hdf5_init()
rc = dm_hdf5_open(file, 'sample.hdf5', create=.true.)
rc = dm_hdf5_open(file, group, 'timeseries', create=.true.)

! Write array to file, then read array back from file.
rc = dm_hdf5_write(group, output)
rc = dm_hdf5_read(group, input)

! Clean-up.
rc = dm_hdf5_close(group)
rc = dm_hdf5_close(file)
rc = dm_hdf5_destroy()

References


Used by

  • module~~dm_hdf5~~UsedByGraph module~dm_hdf5 dm_hdf5 module~dmpack dmpack module~dmpack->module~dm_hdf5