Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5D_SET_EXTENT

Changes the sizes of a dataset’s dimensions

Procedure:

H5D_SET_EXTENT(dset_id, size)

Signature:

herr_t H5Dset_extenthid_t dset_idconst hsize_t size[] ) 

SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
  IMPLICIT NONE 
  INTEGER(HID_T), INTENT(IN) :: dataset_id   ! Dataset identifier
  INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size 
                                             ! Array containing 
                                             ! dimensions’ sizes   
  INTEGER, INTENT(OUT) :: hdferr             ! Error code:
                                             ! 0 on success and -1 on failure
END SUBROUTINE h5dset_extent_f

Parameters:
hid_t dset_idIN: Dataset identifier
const hsize_t size[]    IN: Array containing the new magnitude of each dimension of the dataset

Description:

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. 
  • A call to H5D_SET_EXTENT affects the dataspace of a dataset. If a dataspace handle was open for a dataset prior to a call to H5D_SET_EXTENT then that dataspace handle will no longer reflect the correct dataspace extent of the dataset. H5D_GET_SPACE must be called (after closing the previous handle) to obtain the current dataspace extent.

Returns:

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

Example:

Coming Soon!

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

--- Last Modified: July 15, 2019 | 12:27 PM