hdf5/fortran/src/H5Aff.f90
Elena Pourmal c45a1d919a [svn-r3522]
Purpose:
    Windows port  and maintenance.
Description:
    Windows Fortran requires explicit interface block for each
    C function called from F90 stub.
    I also added comment block for each F90 function.
Solution:
    Added inteface block for each function.
Platforms tested:
    Linux (eiriene): checked that code is still compiles and runs correctly
    on UNIX.
2001-02-27 17:33:25 -05:00

2264 lines
94 KiB
Fortran

!
! This file contains Fortran90 interfaces for H5A functions.
!
MODULE H5A
USE H5GLOBAL
INTERFACE h5awrite_f
MODULE PROCEDURE h5awrite_integer_scalar
MODULE PROCEDURE h5awrite_integer_1
MODULE PROCEDURE h5awrite_integer_2
MODULE PROCEDURE h5awrite_integer_3
MODULE PROCEDURE h5awrite_integer_4
MODULE PROCEDURE h5awrite_integer_5
MODULE PROCEDURE h5awrite_integer_6
MODULE PROCEDURE h5awrite_integer_7
MODULE PROCEDURE h5awrite_char_scalar
MODULE PROCEDURE h5awrite_char_1
MODULE PROCEDURE h5awrite_char_2
MODULE PROCEDURE h5awrite_char_3
MODULE PROCEDURE h5awrite_char_4
MODULE PROCEDURE h5awrite_char_5
MODULE PROCEDURE h5awrite_char_6
MODULE PROCEDURE h5awrite_char_7
MODULE PROCEDURE h5awrite_real_scalar
MODULE PROCEDURE h5awrite_real_1
MODULE PROCEDURE h5awrite_real_2
MODULE PROCEDURE h5awrite_real_3
MODULE PROCEDURE h5awrite_real_4
MODULE PROCEDURE h5awrite_real_5
MODULE PROCEDURE h5awrite_real_6
MODULE PROCEDURE h5awrite_real_7
! Comment if on T3E
MODULE PROCEDURE h5awrite_double_scalar
MODULE PROCEDURE h5awrite_double_1
MODULE PROCEDURE h5awrite_double_2
MODULE PROCEDURE h5awrite_double_3
MODULE PROCEDURE h5awrite_double_4
MODULE PROCEDURE h5awrite_double_5
MODULE PROCEDURE h5awrite_double_6
MODULE PROCEDURE h5awrite_double_7
! End commnet if on T3E
END INTERFACE
INTERFACE h5aread_f
MODULE PROCEDURE h5aread_integer_scalar
MODULE PROCEDURE h5aread_integer_1
MODULE PROCEDURE h5aread_integer_2
MODULE PROCEDURE h5aread_integer_3
MODULE PROCEDURE h5aread_integer_4
MODULE PROCEDURE h5aread_integer_5
MODULE PROCEDURE h5aread_integer_6
MODULE PROCEDURE h5aread_integer_7
MODULE PROCEDURE h5aread_char_scalar
MODULE PROCEDURE h5aread_char_1
MODULE PROCEDURE h5aread_char_2
MODULE PROCEDURE h5aread_char_3
MODULE PROCEDURE h5aread_char_4
MODULE PROCEDURE h5aread_char_5
MODULE PROCEDURE h5aread_char_6
MODULE PROCEDURE h5aread_char_7
MODULE PROCEDURE h5aread_real_scalar
MODULE PROCEDURE h5aread_real_1
MODULE PROCEDURE h5aread_real_2
MODULE PROCEDURE h5aread_real_3
MODULE PROCEDURE h5aread_real_4
MODULE PROCEDURE h5aread_real_5
MODULE PROCEDURE h5aread_real_6
MODULE PROCEDURE h5aread_real_7
! Comment if on T3E
MODULE PROCEDURE h5aread_double_scalar
MODULE PROCEDURE h5aread_double_1
MODULE PROCEDURE h5aread_double_2
MODULE PROCEDURE h5aread_double_3
MODULE PROCEDURE h5aread_double_4
MODULE PROCEDURE h5aread_double_5
MODULE PROCEDURE h5aread_double_6
MODULE PROCEDURE h5aread_double_7
! End commnet if on T3E
END INTERFACE
CONTAINS
!----------------------------------------------------------------------
! Name: h5acreate_f
!
! Purpose: Creates a dataset as an attribute of a group, dataset,
! or named datatype
!
! Inputs:
! obj_id - identifier of an object (group, dataset,
! or named datatype) attribute is attached to
! name - attribute name
! type_id - attribute datatype identifier
! space_id - attribute dataspace identifier
!
! Outputs:
! attr_id - attribute identifier
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! creation_prp - creation property list identifier
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5acreate_f(obj_id, name, type_id, space_id, attr_id, &
hdferr, creation_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
INTEGER(HID_T), INTENT(IN) :: type_id
! Attribute datatype identifier
INTEGER(HID_T), INTENT(IN) :: space_id
! Attribute dataspace identifier
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp
! Attribute creation property
! list identifier
INTEGER :: creation_prp_default
INTEGER :: namelen
! INTEGER, EXTERNAL :: h5acreate_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5acreate_c(obj_id, name, namelen, type_id, &
space_id, creation_prp_default, attr_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5ACREATE_C'::h5acreate_c
!DEC$ATTRIBUTES reference :: name
INTEGER(HID_T), INTENT(IN) :: obj_id
CHARACTER(LEN=*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(HID_T), INTENT(IN) :: type_id
INTEGER(HID_T), INTENT(IN) :: space_id
INTEGER :: creation_prp_default
INTEGER(HID_T), INTENT(OUT) :: attr_id
END FUNCTION h5acreate_c
END INTERFACE
creation_prp_default = H5P_DEFAULT_F
namelen = LEN(NAME)
if (present(creation_prp)) creation_prp_default = creation_prp
hdferr = h5acreate_c(obj_id, name, namelen, type_id, space_id, &
creation_prp_default, attr_id)
END SUBROUTINE h5acreate_f
!----------------------------------------------------------------------
! Name: h5aopen_name_f
!
! Purpose: Opens an attribute specified by name.
!
! Inputs:
! obj_id - identifier of a group, dataset, or named
! datatype atttribute to be attached to
! name - attribute name
! Outputs:
! attr_id - attribute identifier
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: namelen
! INTEGER, EXTERNAL :: h5aopen_name_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aopen_name_c(obj_id, name, namelen, attr_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AOPEN_NAME_C'::h5aopen_name_c
!DEC$ATTRIBUTES reference :: name
INTEGER(HID_T), INTENT(IN) :: obj_id
CHARACTER(LEN=*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(HID_T), INTENT(OUT) :: attr_id
END FUNCTION h5aopen_name_c
END INTERFACE
namelen = LEN(name)
hdferr = h5aopen_name_c(obj_id, name, namelen, attr_id)
END SUBROUTINE h5aopen_name_f
!----------------------------------------------------------------------
! Name: h5aopen_idx_f
!
! Purpose: Opens the attribute specified by its index.
!
! Inputs:
! obj_id - identifier of a group, dataset, or named
! datatype an attribute to be attached to
! index - index of the attribute to open (zero-based)
! Outputs:
! attr_id - attribute identifier
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(IN) :: index ! Attribute index
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aopen_idx_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aopen_idx_c(obj_id, index, attr_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AOPEN_IDX_C'::h5aopen_idx_c
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(IN) :: index
INTEGER(HID_T), INTENT(OUT) :: attr_id
END FUNCTION h5aopen_idx_c
END INTERFACE
hdferr = h5aopen_idx_c(obj_id, index, attr_id)
END SUBROUTINE h5aopen_idx_f
!----------------------------------------------------------------------
! Name: h5awrite_f
!
! Purpose: Writes data to an attribute.
!
! Inputs:
! attr_id - attribute identifier
! memtype_id - attribute memory type identifier
! buf - data to write
! Outputs:
!
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
! Comment: This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions.
!
!----------------------------------------------------------------------
SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_scalar
SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_1
SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_2
SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_3
SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_4
SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_5
SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_6
SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_integer_7
SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_scalar
SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_1
SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(IN)::buf
REAL, DIMENSION(:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_2
SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_3
SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(IN)::buf
REAL, DIMENSION(:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_4
SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(IN)::buf
REAL, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_5
SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_6
SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_real_7
SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_scalar
SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_1
SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_2
SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_3
SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_4
SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_5
SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_6
SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
hdferr = h5awrite_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_double_7
SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*),INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_scalar
SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(*)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_1
SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_2
SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_3
SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_4
SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_5
SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_6
SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:,:)::buf
END FUNCTION h5awritec_c
END INTERFACE
hdferr = h5awritec_c(attr_id, memtype_id, buf)
END SUBROUTINE h5awrite_char_7
!----------------------------------------------------------------------
! Name: h5aread_f
!
! Purpose: Reads an attribute.
!
! Inputs:
! attr_id - attribute identifier
! memtype_id - attribute memory type identifier
! Outputs:
! buf - buffer to read attribute data in
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
! Comment: This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions.
!----------------------------------------------------------------------
SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_scalar
SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:), INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_1
SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:), INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_2
SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:), INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_3
SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_4
SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_5
SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_6
SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_integer_7
SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_scalar
SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_1
SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_2
SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_3
SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_4
SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_5
SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_6
SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_real_7
SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_scalar
SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_1
SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_2
SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_3
SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_4
SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_5
SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_6
SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
hdferr = h5aread_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_double_7
SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*) :: buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_scalar
SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(*)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_1
SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_2
SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_3
SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_4
SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_5
SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_6
SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5areadc_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:,:)::buf
END FUNCTION h5areadc_c
END INTERFACE
hdferr = h5areadc_c(attr_id, memtype_id, buf)
END SUBROUTINE h5aread_char_7
!----------------------------------------------------------------------
! Name: h5aget_space_f
!
! Purpose: Gets a copy of the dataspace for an attribute.
!
! Inputs:
! attr_id - attribute identifier
! Outputs:
! space_id - attribite dataspace identifier
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: space_id
! Attribute dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL:: h5aget_space_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aget_space_c(attr_id, space_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AGET_SPACE_C'::h5aget_space_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(OUT) :: space_id
END FUNCTION h5aget_space_c
END INTERFACE
hdferr = h5aget_space_c(attr_id, space_id)
END SUBROUTINE h5aget_space_f
!----------------------------------------------------------------------
! Name: h5aget_type_f
!
! Purpose: Gets an attribute datatype.
!
! Inputs:
! attr_id - attribute identifier
! Outputs:
! type_id - attribute datatype identifier
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: type_id
! Attribute datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aget_type_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aget_type_c(attr_id, type_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AGET_TYPE_C'::h5aget_type_c
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(OUT) :: type_id
END FUNCTION h5aget_type_c
END INTERFACE
hdferr = h5aget_type_c(attr_id, type_id)
END SUBROUTINE h5aget_type_f
!----------------------------------------------------------------------
! Name: h5aget_name_f
!
! Purpose: Gets an attribute name.
!
! Inputs:
! attr_id - attribute identifier
! size - size of a buffer to read name in
! Outputs:
! buf - buffer to read name in
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aget_name_f(attr_id, size, buf, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(SIZE_T), INTENT(IN) :: size ! Buffer size
CHARACTER(LEN=*), INTENT(INOUT) :: buf
! Buffer to hold attribute name
INTEGER, INTENT(OUT) :: hdferr ! Error code:
! name length is successful,
! -1 if fail
! INTEGER, EXTERNAL :: h5aget_name_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aget_name_c(attr_id, size, buf)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AGET_NAME_C'::h5aget_name_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER, INTENT(IN) :: size
CHARACTER(LEN=*), INTENT(OUT) :: buf
END FUNCTION h5aget_name_c
END INTERFACE
hdferr = h5aget_name_c(attr_id, size, buf)
END SUBROUTINE h5aget_name_f
!----------------------------------------------------------------------
! Name: h5aget_num_attrs_f
!
! Purpose: Determines the number of attributes attached to an object.
!
! Inputs:
! obj_id - object (group, dataset, or named datatype)
! identifier
! Outputs:
! attr_num - number of attributes attached to the object
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aget_num_attrs_f(obj_id, attr_num, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(OUT) :: attr_num ! Number of attributes of the
! object
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aget_num_attrs_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aget_num_attrs_c(obj_id, attr_num)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AGET_NUM_ATTRS_C'::h5aget_num_attrs_c
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: attr_num
END FUNCTION h5aget_num_attrs_c
END INTERFACE
hdferr = h5aget_num_attrs_c(obj_id, attr_num)
END SUBROUTINE h5aget_num_attrs_f
!----------------------------------------------------------------------
! Name: h5adelete_f
!
! Purpose: Deletes an attribute of an object (group, dataset or
! named datatype)
!
! Inputs:
! obj_id - object identifier
! name - attribute name
! Outputs:
!
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5adelete_f(obj_id, name, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: namelen
! INTEGER, EXTERNAL :: h5adelete_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5adelete_c(obj_id, name, namelen)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5ADELETE_C'::h5adelete_c
!DEC$ATTRIBUTES reference :: name
INTEGER(HID_T), INTENT(IN) :: obj_id
CHARACTER(LEN=*), INTENT(IN) :: name
INTEGER :: namelen
END FUNCTION h5adelete_c
END INTERFACE
namelen = LEN(name)
hdferr = h5adelete_c(obj_id, name, namelen)
END SUBROUTINE h5adelete_f
!----------------------------------------------------------------------
! Name: h5aclose_f
!
! Purpose: Closes the specified attribute.
!
! Inputs:
! attr_id - attribute identifier
! Outputs:
!
! hdferr: - error code
! Success: 0
! Failure: -1
! Optional parameters:
! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces are added for
! called C functions (it is needed for Windows
! port). February 27, 2001
!
!----------------------------------------------------------------------
SUBROUTINE h5aclose_f(attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code:
! INTEGER, EXTERNAL :: h5aclose_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5aclose_c(attr_id)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5ACLOSE_C'::h5aclose_c
INTEGER(HID_T), INTENT(IN) :: attr_id
END FUNCTION h5aclose_c
END INTERFACE
hdferr = h5aclose_c(attr_id)
END SUBROUTINE h5aclose_f
END MODULE H5A