HDF5 requires you to use chunking to define extendible datasets. This makes it possible to extend datasets efficiently without having to excessively reorganize storage.
The following operations are required in order to write an extendible dataset:
h5_extend.c
chunk.f90
H5Pcreate
/ h5pcreate_f
creates a new property as an instance of
a property list. The signature is as follows:
C:
hid_t H5Pcreate (H5P_class_t classtype)
FORTRAN:
h5pcreate_f (classtype, prp_id, hdferr) classtype IN: INTEGER prp_id OUT: INTEGER(HID_T) hdferr OUT: INTEGER
C | FORTRAN |
|
|
H5Pset_chunk
/ h5pset_chunk_f
sets the size of the chunks used
to store a chunked layout dataset.
The signature of this routine is as follows:
C:
herr_t H5Pset_chunk (hid_t prp_id, int ndims, const hsize_t * dims)
FORTRAN:
h5pset_chunk_f (prp_id, ndims, dims, hdferr) prp_id IN: INTEGER(HID_T) ndims IN: INTEGER dims IN: INTEGER(HSIZE_T), DIMENSION(ndims) hdferr OUT: INTEGER
H5Dextend
/ h5dextend_f
routine
extends a dataset that has an unlimited
dimension. The signature is as follows:
C:
herr_t H5Dextend (hid_t dset_id, const hsize_t * size)
FORTRAN:
h5dextend_f (dset_id, size, hdferr) dset_id IN: INTEGER(HID_T) size IN: INTEGER(HSIZE_T), DIMENSION(*) hdferr OUT: INTEGER
H5Dget_create_plist
/ h5dget_create_plist_f
routine returns an identifier for a
copy of the dataset creation property list for a dataset.
H5Pget_layout
, returns the layout of the raw data for a
dataset. Valid types are H5D_CONTIGUOUS
and
H5D_CHUNKED
.
A FORTRAN routine for H5Pget_layout
does not yet exist.
H5Pget_chunk
/ h5pget_chunk_f
routine retrieves the size of chunks
for the raw data of a chunked layout dataset.
The signature is as follows:
C:
int H5Pget_chunk (hid_t prp_id, int ndims, hsize_t * dims)
FORTRAN:
h5pget_chunk_f (prp_id, ndims, dims, hdferr) prp_id IN: INTEGER(HID_T) ndims IN: INTEGER dims OUT: INTEGER(HSIZE_T), DIMENSION(ndims) hdferr OUT: INTEGER
H5Pclose
/ h5pclose_f
routine
terminates access to a property list.
The signature is as follows:
C:
herr_t H5Pclose (hid_t prp_id)
FORTRAN:
h5pclose_f (prp_id, hdferr) prp_id IN: INTEGER(HID_T) hdferr OUT: INTEGER