Changes the sizes of a dataset’s dimensions

H5D_SET_EXTENT(dset_id, size)


Edit each block below with the corresponding language signature for this function.

If there is no implementation for a given language, simply remove the entire block (left click --> Remove) for that language signature.

herr_t H5Dset_extenthid_t dset_idconst hsize_t size[] ) 
SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
  INTEGER(HID_T), INTENT(IN) :: dataset_id   ! Dataset identifier
                                             ! Array containing 
                                             ! dimensions’ sizes   
  INTEGER, INTENT(OUT) :: hdferr             ! Error code:
                                             ! 0 on success and -1 on failure
END SUBROUTINE h5dset_extent_f
hid_t dset_idIN: Dataset identifier
const hsize_t size[]    IN: Array containing the new magnitude of each dimension of the dataset

H5D_SET_EXTENT sets the current dimensions of the chunked dataset dset_id to the sizes specified in size.

size is a 1-dimensional array with n elements, where n is the rank of the dataset’s current dataspace.

This function can be applied to the following datasets:

  • A chunked dataset with unlimited dimensions
  • A chunked dataset with fixed dimensions if the new dimension sizes are less than the maximum sizes set with maxdims (see H5S_CREATE_SIMPLE)
  • An external dataset with unlimited dimensions
  • An external dataset with fixed dimensions if the new dimension sizes are less than the maximum sizes set with maxdims

    Note that external datasets are always contiguous and can be extended only along the first dimension.

Space on disk is immediately allocated for the new dataset extent if the dataset’s space allocation time is set to H5D_ALLOC_TIME_EARLY.

Fill values will be written to the dataset in either of the following situations, but not otherwise:

  • If the sizes specified in size are smaller than the dataset’s current dimension sizes, H5D_SET_EXTENT will reduce the dataset’s dimension sizes to the specified values. It is the user application’s responsibility to ensure that valuable data is not lost as H5D_SET_EXTENT does not check. 
  • Except for external datasets, H5D_SET_EXTENT  is for use with chunked datasets only, not contiguous datasets. 
  • If a dataset is open for either writing or reading data when H5D_SET_EXTENT is called, the dataset’s dataspace must be refreshed before more data is written to the dataset and should be refreshed before any further data is read. This can be accomplished with a call to H5D_GET_SPACE.

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


Coming Soon!

Release    Change
1.6.0Function implemented but not supported in this release.
1.8.0Function supported in this release.