HDF5 FORTRAN Developer's Guide

## H5T

[ Top ] [ Modules ]

NAME

      MODULE H5T

PURPOSE

      This file contains Fortran interfaces for H5T 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 H5T 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.

## h5tarray_create_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tarray_create_f

PURPOSE

      Creates an array datatype object.

INPUTS

      base_id       - datatype identifier for the array
                      base datatype
      rank          - rank of the array
      dims          - array dimension sizes

OUTPUTS

      type_id       - array datatype 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).  March 7, 2001

SOURCE

      SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: base_id ! identifier of array base datatype
                INTEGER, INTENT(IN) ::  rank ! Rank of the array
                INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims !Sizes of each array dimension
                INTEGER(HID_T), INTENT(OUT) :: type_id ! identifier of the array datatype
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tclose_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tclose_f

PURPOSE

      Releases a datatype.

INPUTS

      type_id       - datatype 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).  March 7, 2001

SOURCE

      SUBROUTINE h5tclose_f(type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tcommit_anon_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcommit_anon_f

PURPOSE

      Commits a transient datatype to a file,
      creating a new named datatype,
      but does not link it into the file structure.

INPUTS

      loc_id        - A file or group identifier specifying the file
                      in which the new named datatype is to be created.
      dtype_id      - A datatype identifier.

OUTPUTS

      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      tcpl_id       - A datatype creation property list identifier.
                      (H5P_DEFAULT_F for the default property list.)
      tapl_id       - A datatype access property list identifier.
                      should always be passed as the value H5P_DEFAULT_F.

AUTHOR

      M. Scot Breitenfeld
      February 25, 2008

SOURCE

      SUBROUTINE h5tcommit_anon_f(loc_id, dtype_id, hdferr, tcpl_id, tapl_id)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id  ! A file or group identifier specifying
                                              ! the file in which the new named datatype
                                              ! is to be created.
        INTEGER(HID_T), INTENT(IN) :: dtype_id  ! Datatype identifier
        INTEGER, INTENT(OUT) :: hdferr          ! Error code
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id ! A datatype creation property
                                                        ! list identifier.
                                                        ! (H5P_DEFAULT_F for the default property list.)
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! A datatype access property list identifier.
                                                        ! should always be passed as the value H5P_DEFAULT_F.

## h5tcommit_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcommit_f

PURPOSE

      Commits a transient datatype to a file, creating a
      new named datatype.

INPUTS

      loc_id        - location identifier
      name          - name of the datatype to be stored
                      at the specified location
      type_id       - identifier of a datatype to be stored

OUTPUTS

      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      lcpl_id       - Link creation property list
      tcpl_id       - Datatype creation property list
      tapl_id       - Datatype 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).  March 7, 2001

            - Added optional parameters introduced in version 1.8
              M. Scot Breitenfeld

SOURCE

      SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr, &
           lcpl_id, tcpl_id, tapl_id  )
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id  ! File or group identifier
        CHARACTER(LEN=*), INTENT(IN) :: name
                                      ! Datatype name within file or group
        INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
        INTEGER, INTENT(OUT) :: hdferr          ! Error code
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id ! Datatype creation property list
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! Datatype access property list

## h5tcommitted_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcommitted_f

PURPOSE

      Determines whether a datatype is a named type or a transient type.

INPUTS

      dtype_id      - A datatype identifier.

OUTPUTS

      committed     - .TRUE., if the datatype has been committed
                      .FALSE., if the datatype has not been committed.
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      February 25, 2008

SOURCE

      SUBROUTINE h5tcommitted_f(dtype_id, committed, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dtype_id  ! A datatype identifier
        LOGICAL, INTENT(OUT) :: committed ! .TRUE., if the datatype has been committed
                                          !.FALSE., if the datatype has not been committed.
        INTEGER, INTENT(OUT) :: hdferr     ! Error code:
    !  Success:  0
    !  Failure: -1

## h5tcompiler_conv_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcompiler_conv_f

PURPOSE

      Check whether the library’s default conversion is hard conversion.R

INPUTS

      src_id        - Identifier for the source datatype.
      dst_id        - Identifier for the destination datatype.

OUTPUTS

      flag          - TRUE for compiler conversion, FALSE for library conversion
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      April 9, 2008

SOURCE

      SUBROUTINE h5tcompiler_conv_f( src_id, dst_id, flag, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: src_id ! Identifier for the source datatype.
        INTEGER(HID_T), INTENT(IN) :: dst_id ! Identifier for the destination datatype.
        LOGICAL, INTENT(OUT) :: flag  ! .TRUE. for compiler conversion, .FALSE. for library conversion
        INTEGER, INTENT(OUT) :: hdferr  ! Error code:
                                        ! 0 on success and -1 on failure

## h5tcopy_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcopy_f

PURPOSE

      Creates a copy of exisiting datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      new_type_id   - identifier of datatype's copy
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(HID_T), INTENT(OUT) :: new_type_id
                                     ! Identifier of datatype's copy
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tcreate_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tcreate_f

PURPOSE

      Creates a new dataype

INPUTS

      class         - datatype class, possible values are:
                        H5T_COMPOUND_F
                        H5T_ENUM_F
                        H5T_OPAQUE_F
      size          - datattype size

OUTPUTS

      type_id       - datatype 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).  March 7, 2001

SOURCE

      SUBROUTINE h5tcreate_f(class, size, type_id, hdferr)
                IMPLICIT NONE
                INTEGER, INTENT(IN) :: class ! Datatype class can be one of
                                             ! H5T_COMPOUND_F
                                             ! H5T_ENUM_F
                                             ! H5T_OPAQUE_F
                INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the datatype
                INTEGER(HID_T), INTENT(OUT) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## H5Tdecode_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      H5Tdecode_f

PURPOSE

      Decode a binary object description of data type and return a new object handle.

INPUTS

      buf           -  Buffer for the data space object to be decoded.
      obj_id        - Object ID

OUTPUTS

      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      April 9, 2008

SOURCE

      SUBROUTINE h5tdecode_f(buf, obj_id, hdferr)
        IMPLICIT NONE
        CHARACTER(LEN=*), INTENT(IN) :: buf ! Buffer for the data space object to be decoded.
        INTEGER(HID_T), INTENT(OUT) :: obj_id  ! Object ID
        INTEGER, INTENT(OUT) :: hdferr     ! Error code

## h5tenaum_insert_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tenaum_insert_f

PURPOSE

      Inserts a new enumeration datatype member.

INPUTS

      type_id       - datatype 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).  March 7, 2001

SOURCE

      SUBROUTINE h5tenum_insert_f(type_id,  name, value, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(IN) :: name  !Name of  the new member
                INTEGER, INTENT(IN) :: value !value of the new member
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## H5Tencode_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      H5Tencode_f

PURPOSE

      Encode a data type object description into a binary buffer.

INPUTS

      obj_id        - Identifier of the object to be encoded.
      buf           - Buffer for the object to be encoded into.
      nalloc        - The size of the allocated buffer.

OUTPUTS

      nalloc        - The size of the buffer needed.
      hdferr        - Returns 0 if successful and -1 if fails.

AUTHOR

      M. Scot Breitenfeld
      April 9, 2008

SOURCE

      SUBROUTINE h5tencode_f(obj_id, buf, nalloc, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: obj_id ! Identifier of the object to be encoded.
        CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer for the object to be encoded into.
        INTEGER(SIZE_T), INTENT(INOUT) :: nalloc ! The size of the allocated buffer.
        INTEGER, INTENT(OUT) :: hdferr     ! Error code

## h5tenum_create_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tenum_create_f

PURPOSE

      Creates a new enumeration datatype.

INPUTS

      parent_id     - datatype identifier for base datatype

OUTPUTS

      new_type_id   - datatype identifier for the enumeration datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: parent_id  ! Datatype identifier for
                                                         ! the  base datatype
                INTEGER(HID_T), INTENT(OUT) :: new_type_id
                                                         !datatype identifier for the
                                                         ! new enumeration datatype
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tenum_nameof_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tenum_nameof_f

PURPOSE

      Returns the symbol name corresponding to a specified
      member of an enumeration datatype.

INPUTS

      type_id       - datatype identifier
      value         - value of the enumeration datatype
      namelen       - name buffer size

OUTPUTS

      name          - buffer to hold symbol name
      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).  March 7, 2001

     NOTE
       According to the standard: Because an INTENT(OUT) variable is considered undefined
       on entry to the procedure, any default initialization specified for its type will
       be applied. So we need to blank out the "name" to be portable and eliminate any
       characters the "name' may contain upon entry, depending on compiler implementation.

SOURCE

      SUBROUTINE h5tenum_nameof_f(type_id,  value, namelen, name, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(OUT) :: name  !Name of the  enumeration datatype.
                INTEGER(SIZE_T), INTENT(IN) :: namelen !length of the name
                INTEGER, INTENT(IN) :: value !value of the  enumeration datatype.
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tenum_valuof_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tenum_valuof_f

PURPOSE

      Returns the value corresponding to a specified
      member of an enumeration datatype.

INPUTS

      type_id       - datatype identifier
      name          - symbol name

OUTPUTS

      value         - value of the enumeration datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tenum_valueof_f(type_id,  name, value, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(IN) :: name  !Name of the  enumeration datatype.
                INTEGER, INTENT(OUT) :: value !value of the  enumeration datatype.
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tequal_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tequal_f

PURPOSE

      Determines whether two datatype identifiers refer
      to the same datatype.

INPUTS

      type1_id      - datatype identifier
      type2_id      - datatype identifier

OUTPUTS

      flag          - TRUE/FALSE flag to indicate
                      if two datatypes are equal
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type1_id ! Datatype identifier
                INTEGER(HID_T), INTENT(IN) :: type2_id ! Datatype identifier
                LOGICAL, INTENT(OUT) :: flag ! TRUE/FALSE flag to indicate if two
                                             ! datatypes are equal
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_array_dims_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_array_dims_f

PURPOSE

      Returns sizes of array dimensions.

INPUTS

      type_id       - array datatype identifier

OUTPUTS

      dims          - buffer to store array datatype dimensions
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
                INTEGER(HSIZE_T),DIMENSION(*), INTENT(OUT) ::  dims !buffer to store array datatype
                                                                    ! dimensions
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_array_ndims_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_array_ndims_f

PURPOSE

      Returns the rank of an array datatype.

INPUTS

      type_id       - array datatype identifier

OUTPUTS

      ndims         - number of array dimensions
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
                INTEGER, INTENT(OUT) ::  ndims ! number of array dimensions
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_class_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_class_f

PURPOSE

      Returns the datatype class identifier.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      class         - class, possible values are:
                       H5T_NO_CLASS_F (-1)
                       H5T_INTEGER_F  (0)
                       H5T_FLOAT_F (1)
                       H5T_TIME_F  (2)
                       H5T_STRING_F (3)
                       H5T_BITFIELD_F (4)
                       H5T_OPAQUE_F (5)
                       H5T_COMPOUND_F (6)
                       H5T_REFERENCE_F (7)
                       H5T_ENUM_F (8)
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_class_f(type_id, class, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: class
                               ! Datatype class, possible values are:
                                              ! H5T_NO_CLASS_F (-1)
                                              ! H5T_INTEGER_F  (0)
                                              ! H5T_FLOAT_F (1)
                                              ! H5T_TIME_F  (2)
                                              ! H5T_STRING_F (3)
                                              ! H5T_BITFIELD_F (4)
                                              ! H5T_OPAQUE_F (5)
                                              ! H5T_COMPOUND_F (6)
                                              ! H5T_REFERENCE_F (7)
                                              ! H5T_ENUM_F (8)
              INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_create_plist_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_create_plist_f

PURPOSE

      Returns a copy of a datatype creation property list.

INPUTS

      dtype_id      - Datatype identifier

OUTPUTS

      dtpl_id       - Datatype property list identifier
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      April 9, 2008

SOURCE

      SUBROUTINE h5tget_create_plist_f(dtype_id, dtpl_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dtype_id  ! Datatype identifier
        INTEGER(HID_T), INTENT(OUT) :: dtpl_id  ! Datatype property list identifier.
        INTEGER, INTENT(OUT) :: hdferr       ! Error code:
                                             ! 0 on success and -1 on failure

## h5tget_cset_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_cset_f

PURPOSE

      Retrieves the character set type of a string datatype.

INPUTS

      type_id  - Datatype identifier

OUTPUTS

      cset     - Character set type of a string datatype
                  Possible values are:
                  H5T_CSET_ASCII_F = 0
                  H5T_CSET_UTF8_F
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_cset_f(type_id, cset, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: cset   ! character set type of a string datatype
                                               !  Possible values are:
                                               !  H5T_CSET_ASCII_F = 0
                                               !  H5T_CSET_UTF8_F
                INTEGER, INTENT(OUT) :: hdferr ! Error code

## h5tget_ebias_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_ebias_f

PURPOSE

      Retrieves the exponent bias of a floating-point type.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      ebias         - datatype exponent bias
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(OUT) :: ebias ! Datatype exponent bias of a floating-point type
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_fields_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_fields_f

PURPOSE

      Retrieves floating point datatype bit field information.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      spos          - sign bit-position
      epos          - exponent bit-position
      esize         - size of exponent in bits
      mpos          - mantissa position
      msize         - size of mantissa in bits
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(OUT) :: spos   ! sign bit-position
                INTEGER(SIZE_T), INTENT(OUT) :: epos   ! exponent bit-position
                INTEGER(SIZE_T), INTENT(OUT) :: esize  ! size of exponent in bits
                INTEGER(SIZE_T), INTENT(OUT) :: mpos   ! mantissa bit-position
                INTEGER(SIZE_T), INTENT(OUT) :: msize  ! size of mantissa in bits
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_inpad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_inpad_f

PURPOSE

      Retrieves the internal padding type for unused bits
      in floating-point datatypes.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      padtype       - padding type for unused bits
                      Possible values of padding type are:
                        H5T_PAD_ZERO_F = 0
                        H5T_PAD_ONE_F = 1
                        H5T_PAD_BACKGROUND_F = 2
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: padtype ! padding type for unused bits
                                                ! in floating-point datatypes.
                                                ! Possible values of padding type are:
                                                ! H5T__PAD_ZERO_F = 0
                                                ! H5T__PAD_ONE_F = 1
                                                ! H5T__PAD_BACKGROUND_F = 2

                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_member_class_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_class_f

PURPOSE

      Returns datatype class of compound datatype member.

INPUTS

      type_id       - datartpe identifier
      member_no     - index of compound datatype member

OUTPUTS

      class         - class type for compound dadtype member
                      Valid classes:
                        H5T_NO_CLASS_F (error)
                        H5T_INTEGER_F
                        H5T_FLOAT_F
                        H5T_TIME_F
                        H5T_STRING_F
                        H5T_BITFIELD_F
                        H5T_OPAQUE_F
                        H5T_COMPOUND_F
                        H5T_REFERENCE_F
                        H5T_ENUM_F
                        H5T_VLEN_F
                        H5T_ARRAY_F
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      April 6, 2005

SOURCE

      SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
                INTEGER, INTENT(IN)       :: member_no  ! Member number
                INTEGER, INTENT(OUT)     :: class      ! Member class
                INTEGER, INTENT(OUT) :: hdferr      ! Error code

## h5tget_member_index_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_index_f

PURPOSE

      Retrieves the index of a compound or enumeration datatype member.

INPUTS

      type_id       - datatype identifier
      name          - name of the field or member whose index to
      to be retrieved from the datatype.

OUTPUTS

      index         - 0-based index of the filed or member (0 to N-1)
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      September 26, 2002

SOURCE

      SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
                CHARACTER(LEN=*), INTENT(IN) :: name   ! Field or member name
                INTEGER, INTENT(OUT) :: index          ! Field or member index
                INTEGER, INTENT(OUT) :: hdferr          ! Error code

## h5tget_member_name_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_name_f

PURPOSE

      Retrieves the name of a field of a compound datatype.

INPUTS

      type_id       - datatype identifier
      index         - filed index (0-based)

OUTPUTS

      member_name   - buffer to hold member's name
      namelen       - name length
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_member_name_f(type_id, index, member_name,  namelen, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: index !Field index (0-based) of the field name to retrieve
                CHARACTER(LEN=*), INTENT(OUT) :: member_name !name of a field of
                                                             !a compound datatype
                INTEGER, INTENT(OUT) :: namelen ! Length of the name
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_member_offset_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_offset_f

PURPOSE

      Retrieves the offset of a field of a compound datatype.

INPUTS

      type_id       - datatype identifier
      member_no     - number of the field

OUTPUTS

      offset        - byte offset of the requested field
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: member_no !Number of the field
                                                           !whose offset is requested
                INTEGER(SIZE_T), INTENT(OUT) :: offset !byte offset of the beginning of the field
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_member_type_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_type_f

PURPOSE

      Returns the datatype of the specified member.

INPUTS

      type_id       - compound datatype identifier
      field_idx     - field index (0-based)

OUTPUTS

      datatype      - idnetifier of the member's datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_member_type_f(type_id,  field_idx, datatype, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of the field type to retrieve
                INTEGER(HID_T), INTENT(OUT) :: datatype !identifier of a copy of
                                                        !the datatype of the field
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_member_value_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_member_value_f

PURPOSE

      Returns the value of an enumeration datatype member.

INPUTS

      type_id       - datatype identifier
      member_no     - number of the enumeration datatype member

OUTPUTS

      value         - value of the enumeration datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_member_value_f(type_id,  member_no, value, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: member_no !Number of the enumeration datatype member
                INTEGER, INTENT(OUT) :: value !value of the  enumeration datatype.
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_native_type_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_native_type_f

PURPOSE

      Returns the native datatype of a specified datatype.

INPUTS

      dtype_id      - Datatype identifier for the dataset datatype.

      direction     - Direction of search:
                      H5T_DIR_DEFAULT     = 0,    /*default direction is inscendent */
                      H5T_DIR_ASCEND      = 1,    /*in inscendent order             */
                      H5T_DIR_DESCEND     = 2     /*in descendent order             */
      * NOTE: In C it is defined as a structure: H5T_direction_t

OUTPUTS

      native_dtype_id - The native datatype identifier for the specified dataset datatype
      hdferr          - Returns 0 if successful and -1 if fails

AUTHOR

      M. Scot Breitenfeld
      June 18, 2008

SOURCE

      SUBROUTINE h5tget_native_type_f(dtype_id, direction, native_dtype_id, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: dtype_id  ! Datatype identifier
        INTEGER, INTENT(IN) :: direction  ! Direction of search:
                                          ! H5T_DIR_ASCEND_F      = 1  in inscendent order
                                          ! H5T_DIR_DESCEND_F     = 2  in descendent order
        INTEGER(HID_T), INTENT(OUT) :: native_dtype_id  ! The native datatype identifier
        INTEGER, INTENT(OUT) :: hdferr    ! Error code:
                                          ! 0 on success and -1 on failure

## h5tget_nmembers_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_nmembers_f

PURPOSE

      Retrieves the number of fields in a compound datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      num_members   - number of members
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: num_members !number of fields in a compound datatype
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_norm_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_norm_f

PURPOSE

      Retrieves mantissa normalization of a floating-point
      datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      norm          - normalization types, valid values are:
                        H5T_NORM_IMPLIED_F(0)
                        H5T_NORM_MSBSET_F(1)
                        H5T_NORM_NONE_F(2)
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_norm_f(type_id, norm, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: norm !mantissa normalization of a floating-point datatype
                                             !Valid normalization types are:
                                             !H5T_NORM_IMPLIED_F(0),MSB of mantissa is not
                                             !stored, always 1,  H5T_NORM_MSBSET_F(1), MSB of
                                             !mantissa is always 1, H5T_NORM_NONE_F(2)
                                             !Mantissa is not normalize
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_offset_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_offset_f

PURPOSE

      Retrieves the bit offset of the first significant bit.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      offset        - offset value
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_offset_f(type_id, offset, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(OUT) :: offset ! Datatype bit offset of the
                                               ! first significant bit
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_order_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_order_f

PURPOSE

      Returns the byte order of an atomic datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      order         - byte order for the datatype, possible
                      values are:
                        H5T_ORDER_LE_F
                        H5T_ORDER_BE_F
                        H5T_ORDER_VAX_F (not implemented yet)
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_order_f(type_id, order, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
        INTEGER, INTENT(OUT) :: order
                                        ! Datatype byte order, possible values are:
                                        ! H5T_ORDER_LE_F
                                        ! H5T_ORDER_BE_F
                                        ! H5T_ORDER_VAX_F
        INTEGER, INTENT(OUT) :: hdferr  ! Error code

## h5tget_pad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_pad_f

PURPOSE

      Retrieves the padding type of the least and
      most          -significant bit padding.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      lsbpad        - least-significant bit padding type
      msbpad        - most-significant bit padding type
                      Possible values of padding type are:
                        H5T_PAD_ERROR_F      = -1
                        H5T_PAD_ZERO_F = 0
                        H5T_PAD_ONE_F = 1
                        H5T_PAD_BACKGROUND_F = 2
                        H5T_PAD_NPAD_F      = 3
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: lsbpad ! padding type of the
                                               ! least significant bit
                INTEGER, INTENT(OUT) :: msbpad ! padding type of the
                                               ! most significant bit
                                               ! Possible values of padding type are:
                                               ! H5T__PAD_ZERO_F = 0
                                               ! H5T__PAD_ONE_F = 1
                                               ! H5T__PAD_BACKGROUND_F = 2
                                               ! H5T_PAD_ERROR_F      = -1
                                               ! H5T_PAD_NPAD_F      = 3

                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_precision_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_precision_f

PURPOSE

      Returns the precision of an atomic datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      precision     - precision of the datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_precision_f(type_id, precision, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(OUT) :: precision ! Datatype precision
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_sign_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_sign_f

PURPOSE

      Retrieves the sign type for an integer type.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      sign          - sign type
                      Possible values are:
                        - Unsigned integer type
                            H5T_SGN_NONE_F = 0
                        - Two's complement signed integer type
                            H5T_SGN_2_F = 1
                        - error value: H5T_SGN_ERROR_F=-1
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_sign_f(type_id, sign, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: sign ! sign type for an integer type
                                             !possible values are:
                                             !Unsigned integer type H5T_SGN_NONE_F = 0
                                             !Two's complement signed integer type
                                             !H5T_SGN_2_F = 1
                                             !or error value: H5T_SGN_ERROR_F=-1
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_size_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_size_f

PURPOSE

      Returns the size of a datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      size          - datatype size
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_size_f(type_id, size, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_strpad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_strpad_f

PURPOSE

      Retrieves the storage mechanism for a string datatype.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      strpad        - storage method for a string datatype
                      Possible values are:
                        H5T_STR_NULLTERM_F,
                        H5T_STR_NULLPAD_F,
                        H5T_STR_SPACEPAD_F
                        H5T_STR_ERROR_F
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: strpad
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_super_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_super_f

PURPOSE

      Returns the base datatype from which a datatype is derived.

INPUTS

      type_id       - datatype identifier

OUTPUTS

      base_type_id          - identifier of the base type
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier
                INTEGER(HID_T), INTENT(OUT) :: base_type_id ! identifier of the datatype
                                               ! from which datatype (type_id) was derived
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tget_tag_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tget_tag_f

PURPOSE

      Gets the tag associated with an opaque datatype.

INPUTS

      type_id       - identifier for opaque datatype

OUTPUTS

      tag           - unique ASCII string associated with opaque
                      datatype
      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).  March 7, 2001

SOURCE

      SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(OUT) :: tag  ! Unique ASCII string with which
                                                      !  the opaque datatype is to be tagged
                INTEGER, INTENT(OUT) :: taglen        ! Length of tag
                INTEGER(SIZE_T)      :: tag_size      ! Declared character length of tab
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tinsert_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tinsert_f

PURPOSE

      Adds a new member to a compound datatype.

INPUTS

      type_id       - compound dattype identifier
      name          - name of the field to insert
      offset        - start of the member in an instance of
                      the compound datatype
      field_id      - datatype identifier of the field to insert

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tinsert_f(type_id,  name, offset, field_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(IN) :: name !Name of the field to insert
                INTEGER(SIZE_T), INTENT(IN) :: offset !start of the member in an instance of
                                                       !the compound datatype
                INTEGER(HID_T), INTENT(IN) :: field_id !datatype identifier of the new member

                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tis_variable_str_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tis_variable_str_f

PURPOSE

      Determines whether a dattype is a variable string.

INPUTS

      type_id       - datartpe identifier

OUTPUTS

      status        - flag to indicate if datatype
                      is a variable string
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      March 12, 2003

SOURCE

      SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
                LOGICAL, INTENT(OUT) :: status      ! Flag, idicates if datatype
                                                    ! is a variable string or not ( TRUE or
                                                    ! FALSE)
                INTEGER, INTENT(OUT) :: hdferr      ! Error code

## h5topen_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5topen_f

PURPOSE

      Opens named datatype.

INPUTS

      loc_id        - location identifier
      name          - a datatype name

OUTPUTS

      type_id       - datatype identifier
      hdferr        - Returns 0 if successful and -1 if fails

OPTIONAL PARAMETERS

      tapl_id       - datatype access property list identifier.

AUTHOR

      Elena Pourmal
      August 12, 1999

HISTORY

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

      Added optional parameter 'tapl_id' for compatability
      with H5Topen2. April 9, 2009.

SOURCE

      SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr, tapl_id)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id  ! File or group identifier
        CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or group
        INTEGER(HID_T), INTENT(OUT) :: type_id  ! Datatype identifier
        INTEGER, INTENT(OUT) :: hdferr ! Error code
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! datatype access property list identifier

## h5tpack_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tpack_f

PURPOSE

      Recursively removes padding from within a compound datatype.

INPUTS

      type_id       - compound datatype 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).  March 7, 2001

SOURCE

      SUBROUTINE h5tpack_f(type_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_cset_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_cset_f

PURPOSE

      Sets character set to be used.

INPUTS

      type_id       - datatype identifier
      cset          - character set type of a string datatype
                        Possible values are:
                         H5T_CSET_ASCII_F = 0
                         H5T_CSET_UTF8_F

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_cset_f(type_id, cset, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: cset !character set type of a string datatype
                                               ! Possible values of padding type are:
                                               ! H5T_CSET_ASCII_F = 0
                                               ! H5T_CSET_UTF8_F
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_ebias_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_ebias_f

PURPOSE

      Sets the exponent bias of a floating-point type.

INPUTS

      type_id       - datatype identifier
      ebias         - datatype exponent bias

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(IN) :: ebias !Datatype exponent bias of a floating-point type
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_fields_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_fields_f

PURPOSE

      Sets locations and sizes of floating point bit fields.

INPUTS

      type_id       - datatype identifier
      spos          - sign bit-position
      epos          - exponent bit-position
      esize         - size of exponent in bits
      mpos          - mantissa position
      msize         - size of mantissa in bits

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(IN) :: spos   ! sign bit-position
                INTEGER(SIZE_T), INTENT(IN) :: epos   ! exponent bit-position
                INTEGER(SIZE_T), INTENT(IN) :: esize  ! size of exponent in bits
                INTEGER(SIZE_T), INTENT(IN) :: mpos   ! mantissa bit-position
                INTEGER(SIZE_T), INTENT(IN) :: msize  ! size of mantissa in bits
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_inpad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_inpad_f

PURPOSE

      Fills unused internal floating point bits.

INPUTS

      type_id       - datatype identifier
      padtype       - padding type for unused bits
                      Possible values of padding type are:
                        H5T_PAD_ZERO_F = 0
                        H5T_PAD_ONE_F = 1
                        H5T_PAD_BACKGROUND_F = 2

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: padtype ! padding type for unused bits
                                               ! in floating-point datatypes.
                                               ! Possible values of padding type are:
                                               ! H5T__PAD_ZERO_F = 0
                                               ! H5T__PAD_ONE_F = 1
                                               ! H5T__PAD_BACKGROUND_F = 2
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_norm_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_norm_f

PURPOSE

      Sets the mantissa normalization of a floating-point datatype.

INPUTS

      type_id       - datatype identifier
      norm          - normalization types, valid values are:
                        H5T_NORM_IMPLIED_F(0)
                        H5T_NORM_MSBSET_F(1)
                        H5T_NORM_NONE_F(2)

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_norm_f(type_id, norm, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: norm !mantissa normalization of a floating-point datatype
                                             !Valid normalization types are:
                                             !H5T_NORM_IMPLIED_F(0),MSB of mantissa is not
                                             !stored, always 1,  H5T_NORM_MSBSET_F(1), MSB of
                                             !mantissa is always 1, H5T_NORM_NONE_F(2)
                                             !Mantissa is not normalize
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_offset_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_offset_f

PURPOSE

      Sets the bit offset of the first significant bit.

INPUTS

      type_id       - datatype identifier
      offset        - offset value

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_offset_f(type_id, offset, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(IN) :: offset ! Datatype bit offset of the
                                               ! first significant bit
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_order_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_order_f

PURPOSE

      Sets the byte ordering of an atomic datatype.

INPUTS

      type_id       - datatype identifier
      order         - datatype byte order Possible values are:
                        H5T_ORDER_LE_F
                        H5T_ORDER_BE_F
                        H5T_ORDER_VAX_F (not implemented yet)

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_order_f(type_id, order, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
        INTEGER, INTENT(IN) :: order   ! Datatype byte order, possible values
                                       ! are:
                                       ! H5T_ORDER_LE_F
                                       ! H5T_ORDER_BE_F
                                       ! H5T_ORDER_VAX_F
        INTEGER, INTENT(OUT) :: hdferr ! Error code

## h5tset_pad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_pad_f

PURPOSE

      Sets the least and most-significant bits padding types.

INPUTS

      type_id       - datatype identifier
      lsbpad        - least-significant bit padding type
      msbpad        - most-significant bit padding type
                      Possible values of padding type are:
                        H5T_PAD_ERROR_F      = -1
                        H5T_PAD_ZERO_F = 0
                        H5T_PAD_ONE_F = 1
                        H5T_PAD_BACKGROUND_F = 2
                        H5T_PAD_NPAD_F      = 3

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: lsbpad ! padding type of the
                                               ! least significant bit
                INTEGER, INTENT(IN) :: msbpad ! padding type of the
                                               ! most significant bit
                                               ! Possible values of padding type are:
                                               ! H5T_PAD_ZERO_F = 0
                                               ! H5T_PAD_ONE_F = 1
                                               ! H5T_PAD_BACKGROUND_F = 2
                                               ! H5T_PAD_ERROR_F      = -1
                                               ! H5T_PAD_NPAD_F      = 3
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_precision_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_precision_f

PURPOSE

      Sets the precision of an atomic datatype.

INPUTS

      type_id       - datatype identifier
      precision     - datatype precision

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_precision_f(type_id, precision, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(IN) :: precision ! Datatype precision
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_sign_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_sign_f

PURPOSE

      Sets the sign proprety for an integer type.

INPUTS

      type_id       - datatype identifier
      sign          - sign type
                      Possible values are:
                        - Unsigned integer type
                            H5T_SGN_NONE_F = 0
                        - Two's complement signed integer type
                            H5T_SGN_2_F = 1
                        - error value: H5T_SGN_ERROR_F=-1

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_sign_f(type_id, sign, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: sign !sign type for an integer type
                                             !possible values are:
                                             !Unsigned integer type H5T_SGN_NONE_F = 0
                                             !Two's complement signed integer type
                                             !H5T_SGN_2_F = 1
                                             !or error value: H5T_SGN_ERROR_F=-1
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_size_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_size_f

PURPOSE

      Sets the total size for an atomic datatype.

INPUTS

      type_id       - datatype identifier
      size          - size of the datatype

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_size_f(type_id, size, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_strpad_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_strpad_f

PURPOSE

      Defines the storage mechanism for character strings.

INPUTS

      type_id       - datatype identifier
      strpad        - storage method for a string datatype
                      Possible values are:
                        H5T_STR_NULLTERM_F,
                        H5T_STR_NULLPAD_F,
                        H5T_STR_SPACEPAD_F
                        H5T_STR_ERROR_F

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                INTEGER, INTENT(IN) :: strpad ! string padding method for a string datatype
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tset_tag_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tset_tag_f

PURPOSE

      Tags an opaque datatype.

INPUTS

      type_id       - identifier for opaque datatype
      tag           - unique ASCII string with which the opaque
                      datatype is to be tagged.

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).  March 7, 2001

SOURCE

      SUBROUTINE h5tset_tag_f(type_id, tag, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
                CHARACTER(LEN=*), INTENT(IN) :: tag !Unique ASCII string with which
                                                    !the opaque datatype is to be tagged
                INTEGER, INTENT(OUT) :: hdferr        ! Error code

## h5tvlen_create_f

[ Top ] [ H5T ] [ Subroutines ]

NAME

      h5tvlen_create_f

PURPOSE

      Creates a new variable-length datatype.

INPUTS

      type_id       - identifier iof base datatype

OUTPUTS

      vltype_id     - identifier for VL datatype
      hdferr        - Returns 0 if successful and -1 if fails

AUTHOR

      Elena Pourmal
      Wednesday, October 23, 2002

NOTES

      Only basic Fortran base datatypes are supported

SOURCE

      SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr)
                IMPLICIT NONE
                INTEGER(HID_T), INTENT(IN)  :: type_id    ! Datatype identifier
                INTEGER(HID_T), INTENT(OUT) :: vltype_id  ! VL datatype identifier
                INTEGER, INTENT(OUT) :: hdferr            ! Error code