HDF5 FORTRAN Developer's Guide

## H5D

[ Top ] [ Modules ]

NAME

      MODULE H5D

FILE

      fortran/src/H5Dff.f90

PURPOSE

      This file contains Fortran interfaces for H5D functions. It includes
      all the functions that are independent on whether the Fortran 2003 functions
      are enabled or disabled.

NOTES

                             *** IMPORTANT ***
      If you add a new H5D function you must add the function name to the
      Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
      This is needed for Windows based operating systems.

## h5dclose_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dclose_f

PURPOSE

      Closes a dataset.

INPUTS

      dset_id       - dataset identifier

OUTPUTS

      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      Explicit Fortran interfaces were added for
      called C functions (it is needed for Windows
      port).  February 28, 2001

SOURCE

      SUBROUTINE h5dclose_f(dset_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
        INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5dcreate_anon_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dcreate_anon_f

PURPOSE

      Creates a dataset in a file without linking it into the file structure

INPUTS

      loc_id        - Identifier of the file or group within which to create the dataset.
      type_id       - Identifier of the datatype to use when creating the dataset.
      space_id      - Identifier of the dataspace to use when creating the dataset.

OUTPUTS

      dset_id       - dataset identifier
      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      dcpl_id       - Dataset creation property list identifier.
      dapl_id       - Dataset access property list identifier.

AUTHOR

      M. Scot Breitenfeld
      February 11, 2008

SOURCE

      SUBROUTINE h5dcreate_anon_f(loc_id, type_id, space_id, dset_id, hdferr, dcpl_id, dapl_id)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id   ! File or group identifier.
        INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier.
        INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier.
        INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier.
        INTEGER, INTENT(OUT) :: hdferr         ! Error code.
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id  ! Dataset creation property list identifier.
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id  ! Dataset access property list identifier.

## h5dcreate_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dcreate_f

PURPOSE

      Creates a dataset at the specified location

INPUTS

      loc_id        - file or group identifier
      name          - dataset name
      type_id       - dataset datatype identifier
      space_id      - dataset dataspace identifier

OUTPUTS

      dset_id       - dataset identifier
      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      creation_prp  - Dataset creation property list
      lcpl_id       - Link creation property list
      dapl_id       - Dataset access property list

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      - Explicit Fortran interfaces were added for
        called C functions (it is needed for Windows
        port).  February 28, 2001

      - Added version's 1.8 new optional parameters
        February, 2008

SOURCE

      SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
           hdferr, dcpl_id, lcpl_id, dapl_id)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id   ! File or group identifier
        CHARACTER(LEN=*), INTENT(IN) :: name   ! Name of the dataset
        INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
        INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
        INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
        INTEGER, INTENT(OUT) :: hdferr         ! Error code

## h5dget_access_plist_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_access_plist_f

PURPOSE

      Returns a copy of the dataset creation property list.

INPUTS

      dset_id       - Dataset identifier

OUTPUTS

      plist_id      - Dataset access property list identifier
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      April 13, 2009

SOURCE

    SUBROUTINE h5dget_access_plist_f(dset_id, plist_id, hdferr)
      IMPLICIT NONE
      INTEGER(HID_T), INTENT(IN)  :: dset_id
      INTEGER(HID_T), INTENT(OUT) :: plist_id
      INTEGER       , INTENT(OUT) :: hdferr

## h5dget_create_plist_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_create_plist_f

PURPOSE

      Returns an identifier for a copy of the dataset creation
      property list for a dataset.

INPUTS

      dataset_id    - dataset identifier

OUTPUTS

      plist_id      - creation property list identifier
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      Explicit Fortran interfaces were added for
      called C functions (it is needed for Windows
      port).  February 28, 2001

SOURCE

      SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dataset_id   ! Dataset identifier
        INTEGER(HID_T), INTENT(OUT) :: plist_id    ! Dataset creation
                                                   ! property list identifier
        INTEGER, INTENT(OUT) :: hdferr             ! Error code

## h5dget_space_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_space_f

PURPOSE

      Returns an identifier for a copy of the dataspace for a
      dataset.

INPUTS

      dataset_id    - dataset identifier

OUTPUTS

      dataspace_id  - dataspace identifier
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      Explicit Fortran interfaces were added for
      called C functions (it is needed for Windows
      port).  February 28, 2001

SOURCE

      SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dataset_id      ! Dataset identifier
        INTEGER(HID_T), INTENT(OUT) :: dataspace_id   ! Dataspace identifier
        INTEGER, INTENT(OUT) :: hdferr                ! Error code

## h5dget_space_status_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_space_status_f

PURPOSE

      Returns the status of data space allocation.

INPUTS

      dset_id       - dataset identifier

OUTPUTS

      flag          - status; may have one of the following values:
                       H5D_SPACE_STS_ERROR_F
                       H5D_SPACE_STS_NOT_ALLOCATED_F
                       H5D_SPACE_STS_PART_ALLOCATED_F
                       H5D_SPACE_STS_ALLOCATED_F
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      March 12, 2003

SOURCE

      SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dset_id  ! Dataspace identifier
        INTEGER, INTENT(IN)        :: flag     ! Memory buffer to fill in
        INTEGER, INTENT(OUT)       :: hdferr   ! Error code

## h5dget_storage_size_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_storage_size_f

PURPOSE

      Returns the amount of storage requires by a dataset

INPUTS

      dataset_id    - dataset identifier

OUTPUTS

      size          - datastorage size
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      October 15, 2002

SOURCE

      SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
        INTEGER(HSIZE_T),  INTENT(OUT)  :: size  ! Amount of storage
                                                 ! allocated for dataset
        INTEGER, INTENT(OUT) :: hdferr           ! Error code

## h5dget_type_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dget_type_f

PURPOSE

      Returns an identifier for a copy of the datatype for a
      dataset.

INPUTS

      dataset_id    - dataset identifier

OUTPUTS

      datatype_id   - dataspace identifier
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      Explicit Fortran interfaces were added for
      called C functions (it is needed for Windows
      port).  February 28, 2001

NOTES

SOURCE

      SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dataset_id      ! Dataset identifier
        INTEGER(HID_T), INTENT(OUT) :: datatype_id    ! Datatype identifier
        INTEGER, INTENT(OUT) :: hdferr                ! Error code

## h5dopen_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dopen_f

PURPOSE

      Opens an existing dataset.

INPUTS

      loc_id        - file or group identifier
      name          - dataset name

OUTPUTS

      dset_id       - dataset identifier
      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      dapl_id       - Dataset access property list

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      -Explicit Fortran interfaces were added for
       called C functions (it is needed for Windows
       port).  February 28, 2001

      -Added 1.8 (optional) parameter dapl_id
       February, 2008, M. Scot Breitenfeld

SOURCE

      SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr, dapl_id)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id   ! File or group identifier
        CHARACTER(LEN=*), INTENT(IN) :: name   ! Name of the dataset
        INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
        INTEGER, INTENT(OUT) :: hdferr         ! Error code
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list

## h5dset_extent

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dset_extent (instead of obsolete name: h5dextend_f)

PURPOSE

      Extends a dataset with unlimited dimension.

INPUTS

      dataset_id    - dataset identifier
      size          - array containing the new magnitude of
                      each dimension

OUTPUTS

      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

      Explicit Fortran interfaces were added for
      called C functions (it is needed for Windows
      port).  February 28, 2001

      Changed name from the now obsolete h5dextend_f
      to h5dset_extent_f. Provided interface to old name
      for backward compatability. -MSB- March 14, 2008

SOURCE

      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

## h5dvlen_get_max_len_f

[ Top ] [ H5D ] [ Subroutines ]

NAME

      h5dvlen_get_max_len_f

PURPOSE

      Returns maximum length of the VL array elements

INPUTS

      dataset_id    - dataset identifier
      type_id       - datatype identifier
      space_id      - dataspace identifier

OUTPUTS

      size          - buffer size
      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      NONE

AUTHOR

      Elena Pourmal
      October 15, 2002

SOURCE

      SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len,  hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dataset_id      ! Dataset identifier
        INTEGER(HID_T), INTENT(IN) :: type_id         ! Datatype identifier
        INTEGER(HID_T), INTENT(IN) :: space_id        ! Dataspace identifier
        INTEGER(SIZE_T),  INTENT(OUT)  :: len         ! Maximum length of the element
        INTEGER, INTENT(OUT) :: hdferr                ! Error code