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()