Page tree

The license could not be verified: License Certificate has expired!









Adds an external file to the list of external files


H5P_SET_EXTERNAL ( plist, name, offset, size )


herr_t H5Pset_external(hid_t plist,
        const char *name,
        off_t offset,
        hsize_t size


Fortran90 Interface: h5pset_external_f
SUBROUTINE h5pset_external_f(prp_id, name, offset,bytes, hdferr)
  INTEGER(HID_T), INTENT(IN) :: prp_id  ! Property list identifier
  CHARACTER(LEN=*), INTENT(IN) :: name  ! Name of an external file
  INTEGER, INTENT(IN) :: offset         ! Offset, in bytes, from the 
                                        ! beginning of the file to the 
                                        ! location in the file where 
                                        ! the data starts
  INTEGER(HSIZE_T), INTENT(IN) :: bytes ! Number of bytes reserved in 
                                        ! the file for the data
  INTEGER, INTENT(OUT) :: hdferr        ! Error code
                                        ! 0 on success and -1 on failure
END SUBROUTINE h5pset_external_f

hid_t plistIN: Identifier of a dataset creation property list
const char *name    IN: Name of an external file
off_t offsetIN: Offset, in bytes, from the beginning of the file to the location in the file where the data starts
hsize_t sizeIN: Number of bytes reserved in the file for the data


The first call to H5P_SET_EXTERNAL sets the external storage property in the property list, thus designating that the dataset will be stored in one or more non-HDF5 file(s) external to the HDF5 file. This call also adds the file name as the first file in the list of external files. Subsequent calls to the function add the named file as the next file in the list.

If a dataset is split across multiple files, then the files should be defined in order. The total size of the dataset is the sum of the size arguments for all the external files. If the total size is larger than the size of a dataset then the dataset can be extended (provided the data space also allows the extending).

The size argument specifies the number of bytes reserved for data in the external file. If size is set to H5F_UNLIMITED, the external file can be of unlimited size and no more files can be added to the external files list. If size is set to 0 (zero), no external file will actually be created.

All of the external files for a given dataset must be specified with H5P_SET_EXTERNAL before H5D_CREATE is called to create the dataset. If one these files does not exist on the system when H5D_WRITE is called to write data to it, the library will create the file.


Returns a non-negative value if successful; otherwise returns a negative value.


    dcpl = H5Pcreate (H5P_DATASET_CREATE);
    status = H5Pset_external (dcpl, EXTERNAL, 0, H5F_UNLIMITED);

  CALL h5pcreate_f(H5P_DATASET_CREATE_F, dcpl, hdferr)
  ! for HDF5 versions <= 1.8.2 use:
  CALL h5tget_size_f(H5T_NATIVE_INTEGER, int_size, hdferr)
  bytes = int_size*dim0*dim1
  ! else use:
  !   bytes = INT(H5F_UNLIMITED_F,HSIZE_T)
  CALL h5pset_external_f(dcpl, externalname, INT(0,OFF_T), bytes, hdferr)



--- Last Modified: August 07, 2019 | 01:01 PM