The Fortran APIs are organized in modules parallel to the HDF5 Interfaces. Each module is in a separate file with the name
H5*ff.f. Corresponding C stubs are in the
H5*f.c files. For example, the Fortran File APIs are in the file
H5Fff.f and the corresponding C stubs are in the file
Each module contains Fortran definitions of the constants, interfaces to the subroutines if needed, and the subroutines themselves.
Users must use constant names in their programs instead of the numerical values, as the numerical values are subject to change without notice.
The Fortran APIs come in the form of Fortran subroutines with the following characteristics:
"_f"to the name. For example, the name of the C function to create an HDF5 file is
H5Fcreate; the corresponding Fortran subroutine is
For example, the C function to create a dataset has the following prototype:
hid_t H5Dcreate(hid_it loc_id, char *name, hid_t type_id, hid_t space_id, hid_t creation_prp);
The corresponding Fortran subroutine has the following form:
SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, hdferr, creation_prp)
The first four parameters of the Fortran subroutine correspond to the C function parameters. The fifth parameter,
dset_id, is an output parameter and contains a valid dataset identifier if the value of the sixth output parameter hdferr indicates successful completion. (Error code descriptions are provided with the subroutine descriptions in the Reference Manual.) The seventh input parameter,
creation_prp, is optional, and may be omitted when the default creation property list is used.
hid_tdatatype in the HDF5 C APIs.
hsize_tin the HDF5 C APIs.
hssize_tin the HDF5 C APIs.
INTEGER(SIZE_T)compares with the C
hobj_ref_tin the HDF5 C API.
hdset_reg_ref_tin the HDF5 C API.
h5open_fsubroutine to initialize the Fortran interface before calling any HDF5 Fortran subroutine. It is a good practice to call the
h5close_fsubroutine after all calls to the HDF5 Fortran library to close the Fortran interface.