diff options
Diffstat (limited to 'fortran/src')
-rw-r--r-- | fortran/src/H5Aff.f90 | 762 | ||||
-rw-r--r-- | fortran/src/H5Df.c | 1 | ||||
-rw-r--r-- | fortran/src/H5Dff.f90 | 1177 | ||||
-rw-r--r-- | fortran/src/H5Eff.f90 | 12 | ||||
-rw-r--r-- | fortran/src/H5Fff.f90 | 45 | ||||
-rw-r--r-- | fortran/src/H5Gff.f90 | 58 | ||||
-rw-r--r-- | fortran/src/H5Iff.f90 | 23 | ||||
-rw-r--r-- | fortran/src/H5Lff.f90 | 59 | ||||
-rw-r--r-- | fortran/src/H5Off.f90 | 6 | ||||
-rw-r--r-- | fortran/src/H5Pff.f90 | 792 | ||||
-rw-r--r-- | fortran/src/H5Rff.f90 | 32 | ||||
-rw-r--r-- | fortran/src/H5Sf.c | 60 | ||||
-rw-r--r-- | fortran/src/H5Sff.f90 | 276 | ||||
-rw-r--r-- | fortran/src/H5Tf.c | 3 | ||||
-rw-r--r-- | fortran/src/H5Tff.f90 | 248 | ||||
-rw-r--r-- | fortran/src/H5Zff.f90 | 14 | ||||
-rw-r--r-- | fortran/src/H5_DBLE_InterfaceExclude.f90 | 27 | ||||
-rw-r--r-- | fortran/src/H5_DBLE_InterfaceInclude.f90 | 1863 | ||||
-rw-r--r-- | fortran/src/H5_ff.f90 | 14 | ||||
-rw-r--r-- | fortran/src/H5test_kind.f90 | 242 | ||||
-rw-r--r-- | fortran/src/H5test_kind_SIZEOF.f90 | 100 | ||||
-rw-r--r-- | fortran/src/HDF5.f90 | 1 | ||||
-rw-r--r-- | fortran/src/HDF5mpio.f90 | 1 | ||||
-rw-r--r-- | fortran/src/Makefile.am | 33 | ||||
-rw-r--r-- | fortran/src/Makefile.in | 54 | ||||
-rw-r--r-- | fortran/src/hdf5_fortrandll.def | 81 |
26 files changed, 2662 insertions, 3322 deletions
diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.f90 index 3531d79..891a39c 100644 --- a/fortran/src/H5Aff.f90 +++ b/fortran/src/H5Aff.f90 @@ -51,16 +51,6 @@ MODULE H5A MODULE PROCEDURE h5awrite_real_5 MODULE PROCEDURE h5awrite_real_6 MODULE PROCEDURE h5awrite_real_7 -! Comment if on Crays - 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 Crays END INTERFACE @@ -90,17 +80,7 @@ MODULE H5A MODULE PROCEDURE h5aread_real_5 MODULE PROCEDURE h5aread_real_6 MODULE PROCEDURE h5aread_real_7 -! Comment if on Crays - 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 Crays -! + END INTERFACE CONTAINS @@ -136,8 +116,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5acreate_f(loc_id, name, type_id, space_id, attr_id, & - hdferr, acpl_id, aapl_id ) -!This definition is needed for Windows DLLs + hdferr, acpl_id, aapl_id ) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name @@ -214,8 +193,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -271,8 +249,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -298,8 +275,7 @@ CONTAINS END SUBROUTINE h5aopen_idx_f - SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -327,8 +303,7 @@ CONTAINS hdferr = h5awrite_integer_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5awrite_integer_scalar - SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -360,8 +335,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_1 - SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -392,8 +366,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_2 - SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -423,8 +396,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_3 - SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -455,8 +427,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_4 - SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -486,8 +457,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_5 - SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -519,8 +489,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_6 - SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -552,8 +521,7 @@ CONTAINS END SUBROUTINE h5awrite_integer_7 - SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -581,8 +549,7 @@ CONTAINS hdferr = h5awrite_real_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5awrite_real_scalar - SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -614,8 +581,7 @@ CONTAINS END SUBROUTINE h5awrite_real_1 - SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -647,8 +613,7 @@ CONTAINS END SUBROUTINE h5awrite_real_2 - SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -680,8 +645,7 @@ CONTAINS END SUBROUTINE h5awrite_real_3 - SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -713,8 +677,7 @@ CONTAINS END SUBROUTINE h5awrite_real_4 - SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -746,8 +709,7 @@ CONTAINS END SUBROUTINE h5awrite_real_5 - SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -779,8 +741,7 @@ CONTAINS END SUBROUTINE h5awrite_real_6 - SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -812,266 +773,7 @@ CONTAINS END SUBROUTINE h5awrite_real_7 - SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_s_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_s_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_S_C'::h5awrite_double_s_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN)::buf - END FUNCTION h5awrite_double_s_c - END INTERFACE - - hdferr = h5awrite_double_s_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_scalar - - SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1)) :: buf ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_1_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_1_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_1_C'::h5awrite_double_1_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1)) :: buf - END FUNCTION h5awrite_double_1_c - END INTERFACE - - hdferr = h5awrite_double_1_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_1 - - - SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_2_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_2_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_2_C'::h5awrite_double_2_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2)) :: buf - END FUNCTION h5awrite_double_2_c - END INTERFACE - - hdferr = h5awrite_double_2_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_2 - - - SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_3_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_3_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_3_C'::h5awrite_double_3_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - END FUNCTION h5awrite_double_3_c - END INTERFACE - - hdferr = h5awrite_double_3_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_3 - - - SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_4_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_4_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_4_C'::h5awrite_double_4_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - END FUNCTION h5awrite_double_4_c - END INTERFACE - - hdferr = h5awrite_double_4_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_4 - - - SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_5_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_5_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_5_C'::h5awrite_double_5_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - END FUNCTION h5awrite_double_5_c - END INTERFACE - - hdferr = h5awrite_double_5_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_5 - - - SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_6_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_6_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_6_C'::h5awrite_double_6_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - END FUNCTION h5awrite_double_6_c - END INTERFACE - - hdferr = h5awrite_double_6_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_6 - - - SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5awrite_double_7_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5awrite_double_7_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_7_C'::h5awrite_double_7_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - END FUNCTION h5awrite_double_7_c - END INTERFACE - - hdferr = h5awrite_double_7_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5awrite_double_7 - - SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1100,8 +802,7 @@ CONTAINS hdferr = h5awritec_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5awrite_char_scalar - SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1132,8 +833,7 @@ CONTAINS END SUBROUTINE h5awrite_char_1 - SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1166,8 +866,7 @@ CONTAINS END SUBROUTINE h5awrite_char_2 - SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1199,8 +898,7 @@ CONTAINS END SUBROUTINE h5awrite_char_3 - SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1232,8 +930,7 @@ CONTAINS END SUBROUTINE h5awrite_char_4 - SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1265,8 +962,7 @@ CONTAINS END SUBROUTINE h5awrite_char_5 - SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1298,8 +994,7 @@ CONTAINS END SUBROUTINE h5awrite_char_6 - SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1368,8 +1063,7 @@ CONTAINS ! up to 7 dimensions. !---------------------------------------------------------------------- - SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1396,8 +1090,7 @@ CONTAINS hdferr = h5aread_integer_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5aread_integer_scalar - SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1426,8 +1119,7 @@ CONTAINS END SUBROUTINE h5aread_integer_1 - SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1456,8 +1148,7 @@ CONTAINS END SUBROUTINE h5aread_integer_2 - SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1488,8 +1179,7 @@ CONTAINS END SUBROUTINE h5aread_integer_3 - SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1521,8 +1211,7 @@ CONTAINS END SUBROUTINE h5aread_integer_4 - SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1554,8 +1243,7 @@ CONTAINS END SUBROUTINE h5aread_integer_5 - SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1587,8 +1275,7 @@ CONTAINS END SUBROUTINE h5aread_integer_6 - SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1620,8 +1307,7 @@ CONTAINS END SUBROUTINE h5aread_integer_7 - SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1649,8 +1335,7 @@ CONTAINS hdferr = h5aread_real_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5aread_real_scalar - SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1682,8 +1367,7 @@ CONTAINS END SUBROUTINE h5aread_real_1 - SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1715,8 +1399,7 @@ CONTAINS END SUBROUTINE h5aread_real_2 - SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1748,8 +1431,7 @@ CONTAINS END SUBROUTINE h5aread_real_3 - SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1781,8 +1463,7 @@ CONTAINS END SUBROUTINE h5aread_real_4 - SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1814,8 +1495,7 @@ CONTAINS END SUBROUTINE h5aread_real_5 - SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1847,8 +1527,7 @@ CONTAINS END SUBROUTINE h5aread_real_6 - SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -1879,269 +1558,7 @@ CONTAINS hdferr = h5aread_real_7_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5aread_real_7 - - SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT) :: buf ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_s_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_s_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_S_C'::h5aread_double_s_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT)::buf - END FUNCTION h5aread_double_s_c - END INTERFACE - - hdferr = h5aread_double_s_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_scalar - - SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_1_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_1_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_1_C'::h5aread_double_1_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1)) :: buf - END FUNCTION h5aread_double_1_c - END INTERFACE - - hdferr = h5aread_double_1_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_1 - - - SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_2_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_2_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_2_C'::h5aread_double_2_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2)) :: buf - END FUNCTION h5aread_double_2_c - END INTERFACE - - hdferr = h5aread_double_2_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_2 - - - SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_3_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_3_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_3_C'::h5aread_double_3_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - END FUNCTION h5aread_double_3_c - END INTERFACE - - hdferr = h5aread_double_3_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_3 - - - SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_4_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_4_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_4_C'::h5aread_double_4_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - END FUNCTION h5aread_double_4_c - END INTERFACE - - hdferr = h5aread_double_4_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_4 - - - SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_5_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_5_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_5_C'::h5aread_double_5_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - END FUNCTION h5aread_double_5_c - END INTERFACE - - hdferr = h5aread_double_5_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_5 - - - SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_6_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_6_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_6_C'::h5aread_double_6_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - END FUNCTION h5aread_double_6_c - END INTERFACE - - hdferr = h5aread_double_6_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_6 - - - SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier - INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype - ! identifier (in memory) - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - ! Attribute data - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5aread_double_7_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5aread_double_7_c(attr_id, memtype_id, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_7_C'::h5aread_double_7_c - !DEC$ ENDIF - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes - INTEGER(HID_T), INTENT(IN) :: attr_id - INTEGER(HID_T), INTENT(IN) :: memtype_id - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - END FUNCTION h5aread_double_7_c - END INTERFACE - - hdferr = h5aread_double_7_c(attr_id, memtype_id, buf, dims) - END SUBROUTINE h5aread_double_7 - - - SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2171,8 +1588,7 @@ CONTAINS hdferr = h5areadc_s_c(attr_id, memtype_id, buf, dims) END SUBROUTINE h5aread_char_scalar - SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2205,8 +1621,7 @@ CONTAINS END SUBROUTINE h5aread_char_1 - SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2239,8 +1654,7 @@ CONTAINS END SUBROUTINE h5aread_char_2 - SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2273,8 +1687,7 @@ CONTAINS END SUBROUTINE h5aread_char_3 - SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2307,8 +1720,7 @@ CONTAINS END SUBROUTINE h5aread_char_4 - SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2341,8 +1753,7 @@ CONTAINS END SUBROUTINE h5aread_char_5 - SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2375,8 +1786,7 @@ CONTAINS END SUBROUTINE h5aread_char_6 - SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype @@ -2433,8 +1843,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -2482,8 +1891,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -2533,8 +1941,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5aget_name_f(attr_id, size, buf, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -2604,8 +2011,7 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5aget_name_by_idx_f(loc_id, obj_name, idx_type, order, & - n, name, hdferr, size, lapl_id) -!This definition is needed for Windows DLLs + n, name, hdferr, size, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location, @@ -2700,8 +2106,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_num_attrs_f(obj_id, attr_num, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -2751,8 +2156,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5adelete_f(obj_id, name, hdferr) -!This definition is needed for Windows DLLs + 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 @@ -2803,8 +2207,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aclose_f(attr_id, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aclose_f(attr_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER, INTENT(OUT) :: hdferr ! Error code: @@ -2847,8 +2250,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_storage_size_f(attr_id, size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aget_storage_size_f(attr_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier INTEGER(HSIZE_T), INTENT(OUT) :: size ! Attribute storage requirement @@ -2892,8 +2294,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_create_plist_f(attr_id, creation_prop_id, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aget_create_plist_f(attr_id, creation_prop_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Identifier of the attribute INTEGER(HID_T), INTENT(OUT) :: creation_prop_id ! Identifier for the attribute’s creation property @@ -2942,9 +2343,7 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5arename_by_name_f(loc_id, obj_name, old_attr_name, new_attr_name, & - hdferr, lapl_id) - -!This definition is needed for Windows DLLs + hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location, @@ -3021,8 +2420,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aopen_f(obj_id, attr_name, attr_id, hdferr, aapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5aopen_f(obj_id, attr_name, attr_id, hdferr, aapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: attr_name ! Attribute name @@ -3098,8 +2496,7 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE h5adelete_by_idx_f(loc_id, obj_name, idx_type, order, n, hdferr, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5adelete_by_idx_f(loc_id, obj_name, idx_type, order, n, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location, @@ -3175,8 +2572,7 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE h5adelete_by_name_f(loc_id, obj_name, attr_name, hdferr, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5adelete_by_name_f(loc_id, obj_name, attr_name, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location, @@ -3244,8 +2640,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, hdferr, aapl_id, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, hdferr, aapl_id, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object to which attribute is attached @@ -3334,8 +2729,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier @@ -3404,8 +2798,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5aget_info_by_idx_f(loc_id, obj_name, idx_type, order, n, & - f_corder_valid, corder, cset, data_size, hdferr, lapl_id) -!This definition is needed for Windows DLLs + f_corder_valid, corder, cset, data_size, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object to which attribute is attached @@ -3499,8 +2892,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5aget_info_by_name_f(loc_id, obj_name, attr_name, & - f_corder_valid, corder, cset, data_size, hdferr, lapl_id) -!This definition is needed for Windows DLLs + f_corder_valid, corder, cset, data_size, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object to which attribute is attached @@ -3587,9 +2979,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5acreate_by_name_f(loc_id, obj_name, attr_name, type_id, space_id, attr, hdferr, & acpl_id, aapl_id, lapl_id) - -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object to which attribute is attached @@ -3676,9 +3065,6 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5aexists_f(obj_id, attr_name, attr_exists, hdferr) - -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: attr_name ! Attribute name @@ -3737,9 +3123,6 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5aexists_by_name_f(loc_id, obj_name, attr_name, attr_exists, hdferr, lapl_id) - -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id, @@ -3811,9 +3194,6 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5aopen_by_name_f(loc_id, obj_name, attr_name, attr_id, hdferr, aapl_id, lapl_id) - -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id, @@ -3887,9 +3267,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5arename_f(loc_id, old_attr_name, new_attr_name, hdferr) - -!This definition is needed for Windows DLLs + SUBROUTINE h5arename_f(loc_id, old_attr_name, new_attr_name, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier CHARACTER(LEN=*), INTENT(IN) :: old_attr_name ! Prior attribute name diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c index 84c92c3..58f3ce2 100644 --- a/fortran/src/H5Df.c +++ b/fortran/src/H5Df.c @@ -1291,6 +1291,7 @@ nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims) H5Sclose(c_space_id); if(rank < 0 ) return ret_value; + /* * Reverse dimensions due to C-FORTRAN storage order. */ diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90 index b3e7c84..b9b9f7b 100644 --- a/fortran/src/H5Dff.f90 +++ b/fortran/src/H5Dff.f90 @@ -47,16 +47,6 @@ MODULE H5D MODULE PROCEDURE h5dwrite_real_5 MODULE PROCEDURE h5dwrite_real_6 MODULE PROCEDURE h5dwrite_real_7 - ! Comment if on Crays - MODULE PROCEDURE h5dwrite_double_scalar - MODULE PROCEDURE h5dwrite_double_1 - MODULE PROCEDURE h5dwrite_double_2 - MODULE PROCEDURE h5dwrite_double_3 - MODULE PROCEDURE h5dwrite_double_4 - MODULE PROCEDURE h5dwrite_double_5 - MODULE PROCEDURE h5dwrite_double_6 - MODULE PROCEDURE h5dwrite_double_7 - ! End comment if on Crays END INTERFACE INTERFACE h5dread_f @@ -87,17 +77,6 @@ MODULE H5D MODULE PROCEDURE h5dread_real_5 MODULE PROCEDURE h5dread_real_6 MODULE PROCEDURE h5dread_real_7 - ! Comment if on Crays - MODULE PROCEDURE h5dread_double_scalar - MODULE PROCEDURE h5dread_double_1 - MODULE PROCEDURE h5dread_double_2 - MODULE PROCEDURE h5dread_double_3 - MODULE PROCEDURE h5dread_double_4 - MODULE PROCEDURE h5dread_double_5 - MODULE PROCEDURE h5dread_double_6 - MODULE PROCEDURE h5dread_double_7 - ! End comment if on Crays - END INTERFACE INTERFACE h5dwrite_vl_f @@ -115,7 +94,6 @@ MODULE H5D INTERFACE h5dfill_f MODULE PROCEDURE h5dfill_integer MODULE PROCEDURE h5dfill_real - MODULE PROCEDURE h5dfill_double MODULE PROCEDURE h5dfill_char END INTERFACE @@ -162,8 +140,6 @@ CONTAINS SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, & hdferr, dcpl_id, lcpl_id, dapl_id) - -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset @@ -250,7 +226,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr, dapl_id) -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset @@ -312,8 +287,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dclose_f(dset_id, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -337,8 +310,6 @@ CONTAINS SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -404,8 +375,6 @@ CONTAINS SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -475,8 +444,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -532,8 +499,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -591,8 +556,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -650,8 +613,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -710,8 +671,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -769,8 +728,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -830,8 +787,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -890,8 +845,6 @@ CONTAINS SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -950,8 +903,6 @@ CONTAINS SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1008,8 +959,6 @@ CONTAINS SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1068,8 +1017,6 @@ CONTAINS SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1128,8 +1075,6 @@ CONTAINS SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1188,8 +1133,6 @@ CONTAINS SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1248,8 +1191,6 @@ CONTAINS SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1308,8 +1249,6 @@ CONTAINS SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1368,8 +1307,6 @@ CONTAINS SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1427,8 +1364,6 @@ CONTAINS SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1482,8 +1417,6 @@ CONTAINS SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1541,8 +1474,6 @@ CONTAINS SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1600,8 +1531,6 @@ CONTAINS SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1658,8 +1587,6 @@ CONTAINS SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1716,8 +1643,6 @@ CONTAINS SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1774,8 +1699,6 @@ CONTAINS SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1832,8 +1755,6 @@ CONTAINS SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -1887,478 +1808,6 @@ CONTAINS END SUBROUTINE h5dwrite_real_7 - - SUBROUTINE h5dwrite_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN) :: buf ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_s_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_s_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_S_C'::h5dwrite_double_s_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN) :: buf - END FUNCTION h5dwrite_double_s_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_s_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_scalar - - SUBROUTINE h5dwrite_double_1(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_1_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_1_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_1_C'::h5dwrite_double_1_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1)) :: buf - END FUNCTION h5dwrite_double_1_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_1_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_1 - - SUBROUTINE h5dwrite_double_2(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_2_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_2_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_2_C'::h5dwrite_double_2_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2)) :: buf - END FUNCTION h5dwrite_double_2_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_2_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_2 - - SUBROUTINE h5dwrite_double_3(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_3_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_3_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_3_C'::h5dwrite_double_3_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - END FUNCTION h5dwrite_double_3_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_3_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_3 - - SUBROUTINE h5dwrite_double_4(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_4_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_4_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_4_C'::h5dwrite_double_4_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - END FUNCTION h5dwrite_double_4_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_4_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_4 - - SUBROUTINE h5dwrite_double_5(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_5_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_5_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_5_C'::h5dwrite_double_5_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - END FUNCTION h5dwrite_double_5_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_5_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_5 - - SUBROUTINE h5dwrite_double_6(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_6_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_6_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_6_C'::h5dwrite_double_6_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - END FUNCTION h5dwrite_double_6_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_6_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_6 - - SUBROUTINE h5dwrite_double_7(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dwrite_double_7_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dwrite_double_7_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_7_C'::h5dwrite_double_7_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(IN), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - END FUNCTION h5dwrite_double_7_c - END INTERFACE - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dwrite_double_7_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dwrite_double_7 - !---------------------------------------------------------------------- ! Name: h5dread_f ! @@ -2401,8 +1850,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2468,8 +1915,6 @@ CONTAINS SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2539,8 +1984,6 @@ CONTAINS SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2596,8 +2039,6 @@ CONTAINS SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2655,8 +2096,6 @@ CONTAINS SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2715,8 +2154,6 @@ CONTAINS SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2775,8 +2212,6 @@ CONTAINS SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2835,8 +2270,6 @@ CONTAINS SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2895,8 +2328,6 @@ CONTAINS SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -2955,8 +2386,6 @@ CONTAINS SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3014,8 +2443,6 @@ CONTAINS SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3072,8 +2499,6 @@ CONTAINS SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3132,8 +2557,6 @@ CONTAINS SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3192,8 +2615,6 @@ CONTAINS SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3252,8 +2673,6 @@ CONTAINS SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3312,8 +2731,6 @@ CONTAINS SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3372,8 +2789,6 @@ CONTAINS SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3432,8 +2847,6 @@ CONTAINS SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3491,8 +2904,6 @@ CONTAINS SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3547,8 +2958,6 @@ CONTAINS SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3605,8 +3014,6 @@ CONTAINS SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3663,8 +3070,6 @@ CONTAINS SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3721,8 +3126,6 @@ CONTAINS SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3779,8 +3182,6 @@ CONTAINS SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3837,8 +3238,6 @@ CONTAINS SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3895,8 +3294,6 @@ CONTAINS SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, dims, hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -3951,478 +3348,6 @@ CONTAINS END SUBROUTINE h5dread_real_7 - SUBROUTINE h5dread_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT) :: buf ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_s_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_s_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_S_C'::h5dread_double_s_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(OUT) :: buf - END FUNCTION h5dread_double_s_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_s_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_scalar - - SUBROUTINE h5dread_double_1(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_1_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_1_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_1_C'::h5dread_double_1_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1)) :: buf - END FUNCTION h5dread_double_1_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_1_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_1 - - SUBROUTINE h5dread_double_2(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_2_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_2_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_2_C'::h5dread_double_2_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2)) :: buf - END FUNCTION h5dread_double_2_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_2_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_2 - - SUBROUTINE h5dread_double_3(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_3_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_3_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_3_C'::h5dread_double_3_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3)) :: buf - END FUNCTION h5dread_double_3_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_3_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_3 - - SUBROUTINE h5dread_double_4(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_4_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_4_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_4_C'::h5dread_double_4_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf - END FUNCTION h5dread_double_4_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_4_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_4 - - SUBROUTINE h5dread_double_5(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_5_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_5_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_5_C'::h5dread_double_5_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf - END FUNCTION h5dread_double_5_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_5_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_5 - - SUBROUTINE h5dread_double_6(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_6_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_6_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_6_C'::h5dread_double_6_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf - END FUNCTION h5dread_double_6_c - END INTERFACE - - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_6_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_6 - - SUBROUTINE h5dread_double_7(dset_id, mem_type_id, buf, dims, hdferr, & - mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier - INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - ! Data buffer - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id - ! Memory dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id - ! File dataspace identfier - INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp - ! Transfer property list identifier - - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - -! INTEGER, EXTERNAL :: h5dread_double_7_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dread_double_7_c(dset_id, mem_type_id, & - mem_space_id_default, & - file_space_id_default, & - xfer_prp_default, buf, dims) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_7_C'::h5dread_double_7_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: dset_id - INTEGER(HID_T), INTENT(IN) :: mem_type_id - INTEGER(HID_T) :: mem_space_id_default - INTEGER(HID_T) :: file_space_id_default - INTEGER(HID_T) :: xfer_prp_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - DOUBLE PRECISION, INTENT(INOUT), & - DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf - END FUNCTION h5dread_double_7_c - END INTERFACE - - xfer_prp_default = H5P_DEFAULT_F - mem_space_id_default = H5S_ALL_F - file_space_id_default = H5S_ALL_F - - if (present(xfer_prp)) xfer_prp_default = xfer_prp - if (present(mem_space_id)) mem_space_id_default = mem_space_id - if (present(file_space_id)) file_space_id_default = file_space_id - - hdferr = h5dread_double_7_c(dset_id, mem_type_id, mem_space_id_default, & - file_space_id_default, xfer_prp_default, buf, dims) - - END SUBROUTINE h5dread_double_7 - !---------------------------------------------------------------------- ! Name: h5dget_space_f ! @@ -4448,8 +3373,7 @@ CONTAINS ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier @@ -4498,8 +3422,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier @@ -4552,8 +3475,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size @@ -4606,8 +3528,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation @@ -4655,8 +3576,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HSIZE_T), INTENT(OUT) :: size @@ -4704,8 +3624,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier @@ -4732,8 +3651,6 @@ CONTAINS SUBROUTINE h5dwrite_vl_integer(dset_id, mem_type_id, buf, dims, len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -4794,8 +3711,6 @@ CONTAINS SUBROUTINE h5dread_vl_integer(dset_id, mem_type_id, buf, dims, len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -4859,8 +3774,6 @@ CONTAINS SUBROUTINE h5dwrite_vl_real(dset_id, mem_type_id, buf, dims, len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -4921,8 +3834,6 @@ CONTAINS SUBROUTINE h5dread_vl_real(dset_id, mem_type_id, buf, dims, len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -4986,8 +3897,6 @@ CONTAINS SUBROUTINE h5dwrite_vl_string(dset_id, mem_type_id, buf, dims, str_len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -5059,8 +3968,6 @@ CONTAINS SUBROUTINE h5dread_vl_string(dset_id, mem_type_id, buf, dims, str_len, & hdferr, & mem_space_id, file_space_id, xfer_prp) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier @@ -5155,8 +4062,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER, INTENT(IN) :: fill_value ! Fill value INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier @@ -5216,8 +4121,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dfill_real(fill_valuer, space_id, buf, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE REAL, INTENT(IN) :: fill_valuer ! Fill value INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier @@ -5252,68 +4155,6 @@ CONTAINS END SUBROUTINE h5dfill_real !---------------------------------------------------------------------- -! Name: h5dfill_double -! -! Purpose: Fills dataspace elements with a fill value in a memory buffer. -! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes -! of the fillvalues and buffers are supported. Buffer and fillvalue -! are assumed to have the same datatype. -! Only one-dimesional buffers are supported. -! -! Inputs: -! fill_value - fill value -! space_id - memory space selection identifier -! buf - data buffer iin memory ro apply selection to -! - of k-th dimension of the buf array -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! -! Programmer: Elena Pourmal -! March 12, 2003 -! -!---------------------------------------------------------------------- - - SUBROUTINE h5dfill_double(fill_value, space_id, buf, hdferr) -!This definition is needed for Windows DLLs - - IMPLICIT NONE - DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value - INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier - DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier - INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier - -! INTEGER, EXTERNAL :: h5dfill_double_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5dfill_double_c(fill_value, fill_type_id, space_id, & - buf, mem_type_id) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DFILL_DOUBLE_C'::h5dfill_double_c - !DEC$ ENDIF - DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value - INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier - INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier - DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in - INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier - END FUNCTION h5dfill_double_c - END INTERFACE - fill_type_id = H5T_NATIVE_DOUBLE - mem_type_id = H5T_NATIVE_DOUBLE - - hdferr = h5dfill_double_c(fill_value, fill_type_id, space_id, & - buf, mem_type_id) - - - END SUBROUTINE h5dfill_double - -!---------------------------------------------------------------------- ! Name: h5dfill_char ! ! Purpose: Fills dataspace elements with a fill value in a memory buffer. @@ -5338,8 +4179,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE CHARACTER, INTENT(IN) :: fill_value ! Fill value INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier @@ -5397,8 +4236,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr) -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataspace identifier INTEGER, INTENT(IN) :: flag ! Memory buffer to fill in @@ -5448,8 +4285,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dcreate_anon_f(loc_id, type_id, space_id, dset_id, hdferr, dcpl_id, dapl_id) - -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier. INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier. diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90 index 319d939..5489a07 100644 --- a/fortran/src/H5Eff.f90 +++ b/fortran/src/H5Eff.f90 @@ -47,9 +47,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5eclear_f(hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5eclear_f(hdferr) IMPLICIT NONE INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -92,8 +90,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5eprint_f(hdferr, name) -! -!This definition is needed for Windows DLLs CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5eprint_c1, h5eprint_c2 @@ -157,8 +153,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5eget_major_f(error_no, name, namelen, hdferr) -! -!This definition is needed for Windows DLLs INTEGER, INTENT(IN) :: error_no !Major error number CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing ! the error. @@ -213,8 +207,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5eget_minor_f(error_no, name, hdferr) -! -!This definition is needed for Windows DLLs INTEGER, INTENT(IN) :: error_no !Major error number CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing ! the error @@ -267,8 +259,6 @@ SUBROUTINE h5eset_auto_f(printflag, hdferr) -! -!This definition is needed for Windows DLLs INTEGER, INTENT(IN) :: printflag !flag to turn automatic error !printing on or off !possible values are: diff --git a/fortran/src/H5Fff.f90 b/fortran/src/H5Fff.f90 index 14a4ac1..86d9c0e 100644 --- a/fortran/src/H5Fff.f90 +++ b/fortran/src/H5Fff.f90 @@ -51,9 +51,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, & creation_prp, access_prp) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file INTEGER, INTENT(IN) :: access_flags ! File access flags @@ -130,9 +127,6 @@ ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5fflush_f(object_id, scope, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: object_id !identifier for any object !associate with a file, @@ -199,9 +193,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr, access_prp) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group ! in which dsetname is defined @@ -269,9 +260,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5funmount_f(loc_id, name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group ! at which the specified file @@ -330,9 +318,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, & access_prp) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file INTEGER, INTENT(IN) :: access_flags ! File access flags @@ -398,9 +383,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5freopen_f(file_id, ret_file_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER(HID_T), INTENT(OUT) :: ret_file_id ! New File identifier @@ -451,9 +433,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_create_plist_f(file_id, prop_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER(HID_T), INTENT(OUT) :: prop_id ! File creation property @@ -505,9 +484,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_access_plist_f(file_id, access_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER(HID_T), INTENT(OUT) :: access_id ! File access property @@ -559,9 +535,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fis_hdf5_f(name, status, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file LOGICAL, INTENT(OUT) :: status ! Indicates if file @@ -619,9 +592,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fclose_f(file_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -674,9 +644,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER, INTENT(IN) :: obj_type ! Object type @@ -735,9 +702,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_obj_ids_f(file_id, obj_type, max_objs, obj_ids, hdferr, num_objs) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER, INTENT(IN) :: obj_type ! Object type @@ -792,9 +756,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5fget_freespace_f(file_id, free_space, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier INTEGER(HSSIZE_T), INTENT(OUT) :: free_space @@ -838,8 +799,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5fget_name_f(obj_id, buf, size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5fget_name_f(obj_id, buf, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier CHARACTER(LEN=*), INTENT(INOUT) :: buf @@ -888,8 +848,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5fget_filesize_f(file_id, size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5fget_filesize_f(file_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id ! file identifier INTEGER(HSIZE_T), INTENT(OUT) :: size ! Size of the file diff --git a/fortran/src/H5Gff.f90 b/fortran/src/H5Gff.f90 index fa3dfea..5852e4a 100644 --- a/fortran/src/H5Gff.f90 +++ b/fortran/src/H5Gff.f90 @@ -63,8 +63,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5gcreate_f(loc_id, name, grp_id, hdferr, size_hint, lcpl_id, gcpl_id, gapl_id) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group @@ -156,13 +154,7 @@ CONTAINS !!$!---------------------------------------------------------------------- !!$ !!$ SUBROUTINE h5gcreate2_f(name, loc_id, grp_id, hdferr, & -!!$ lcpl_id, gcpl_id, gapl_id) -!!$! -!!$!This definition is needed for Windows DLLs -!!$!DEC$if defined(BUILD_HDF5_DLL) -!!$!DEC$attributes dllexport :: h5gcreate_f -!!$!DEC$endif -!!$! +!!$ lcpl_id, gcpl_id, gapl_id) !!$ IMPLICIT NONE !!$ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group !!$ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier @@ -247,8 +239,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5gopen_f(loc_id, name, grp_id, hdferr, gapl_id) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group @@ -309,9 +299,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5gclose_f(grp_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: grp_id ! Group identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -364,9 +351,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gget_obj_info_idx_f(loc_id, name, idx, & obj_name, obj_type, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group @@ -435,9 +419,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gn_members_f(loc_id, name, nmembers, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group @@ -503,9 +484,6 @@ CONTAINS SUBROUTINE h5glink_f(loc_id, link_type, current_name, & new_name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier INTEGER, INTENT(IN) :: link_type ! link type @@ -581,9 +559,6 @@ CONTAINS SUBROUTINE h5glink2_f(cur_loc_id, cur_name, link_type, new_loc_id, & new_name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: cur_loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: cur_name @@ -655,9 +630,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gunlink_f(loc_id, name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of an object @@ -713,9 +685,6 @@ CONTAINS SUBROUTINE h5gmove_f(loc_id, name, new_name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Current name of an object @@ -774,9 +743,6 @@ CONTAINS SUBROUTINE h5gmove2_f(src_loc_id, src_name, dst_loc_id, dst_name, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: src_loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: src_name ! Original name of an object @@ -845,9 +811,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gget_linkval_f(loc_id, name, size, buffer, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Current name of an object @@ -910,9 +873,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gset_comment_f(loc_id, name, comment, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Current name of an object @@ -975,9 +935,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gget_comment_f(loc_id, name, size, buffer, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Current name of an object @@ -1036,8 +993,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5Gcreate_anon_f(loc_id, grp_id, hdferr, gcpl_id, gapl_id) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier @@ -1093,8 +1048,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5gget_create_plist_f(grp_id, gcpl_id, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: grp_id ! Group identifier INTEGER(HID_T), INTENT(OUT) :: gcpl_id ! Property list for group creation @@ -1149,8 +1102,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5gget_info_f(group_id, storage_type, nlinks, max_corder, hdferr, mounted) -!This definition is needed for Windows DLLs + SUBROUTINE h5gget_info_f(group_id, storage_type, nlinks, max_corder, hdferr, mounted) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: group_id ! Group identifier @@ -1232,8 +1184,7 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gget_info_by_idx_f(loc_id, group_name, index_type, order, n, & - storage_type, nlinks, max_corder, hdferr, lapl_id, mounted) -!This definition is needed for Windows DLLs + storage_type, nlinks, max_corder, hdferr, lapl_id, mounted) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of group containing group for which information is to be retrieved @@ -1334,8 +1285,7 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5gget_info_by_name_f(loc_id, group_name, & - storage_type, nlinks, max_corder, hdferr, lapl_id, mounted) -!This definition is needed for Windows DLLs + storage_type, nlinks, max_corder, hdferr, lapl_id, mounted) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of group containing group for which information is to be retrieved diff --git a/fortran/src/H5Iff.f90 b/fortran/src/H5Iff.f90 index 8b33d0a..07b6d29 100644 --- a/fortran/src/H5Iff.f90 +++ b/fortran/src/H5Iff.f90 @@ -52,9 +52,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5iget_type_f(obj_id, type, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5iget_type_f(obj_id, type, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier INTEGER, INTENT(OUT) :: type !type of an object. @@ -110,8 +108,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5iget_name_f(obj_id, buf, buf_size, name_size, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5iget_name_f(obj_id, buf, buf_size, name_size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier INTEGER(SIZE_T), INTENT(IN) :: buf_size ! Buffer size @@ -161,9 +158,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5iinc_ref_f(obj_id, ref_count, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5iinc_ref_f(obj_id, ref_count, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier INTEGER, INTENT(OUT) :: ref_count !Current reference count of ID @@ -206,9 +201,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5idec_ref_f(obj_id, ref_count, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5idec_ref_f(obj_id, ref_count, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier INTEGER, INTENT(OUT) :: ref_count !Current reference count of ID @@ -251,9 +244,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5iget_ref_f(obj_id, ref_count, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5iget_ref_f(obj_id, ref_count, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier INTEGER, INTENT(OUT) :: ref_count !Current reference count of ID @@ -296,9 +287,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5iget_file_id_f(obj_id, file_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5iget_file_id_f(obj_id, file_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier diff --git a/fortran/src/H5Lff.f90 b/fortran/src/H5Lff.f90 index 1bd73c0..5d5433b 100644 --- a/fortran/src/H5Lff.f90 +++ b/fortran/src/H5Lff.f90 @@ -51,9 +51,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5lcopy_f(src_loc_id, src_name, dest_loc_id, dest_name, hdferr, & - lcpl_id, lapl_id) -! -!This definition is needed for Windows DLLs + lcpl_id, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: src_loc_id ! Location identifier of the source link CHARACTER(LEN=*), INTENT(IN) :: src_name ! Name of the link to be copied @@ -130,9 +128,7 @@ CONTAINS ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5ldelete_f(loc_id, name, hdferr, lapl_id) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5ldelete_f(loc_id, name, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier of the file or group containing the object CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the link to delete @@ -192,9 +188,7 @@ CONTAINS ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5lcreate_soft_f(target_path, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5lcreate_soft_f(target_path, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: target_path ! Path to the target object, which is not required to exist. INTEGER(HID_T), INTENT(IN) :: link_loc_id ! The file or group identifier for the new link. @@ -272,9 +266,7 @@ CONTAINS ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5lcreate_hard_f(obj_loc_id, obj_name, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5lcreate_hard_f(obj_loc_id, obj_name, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: obj_loc_id ! The file or group identifier for the target object. CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of the target object, which must already exist. @@ -354,9 +346,7 @@ CONTAINS ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5lcreate_external_f(file_name, obj_name, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5lcreate_external_f(file_name, obj_name, link_loc_id, link_name, hdferr, lcpl_id, lapl_id) IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: file_name ! Name of the file containing the target object. Neither ! the file nor the target object is required to exist. @@ -449,8 +439,7 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE h5ldelete_by_idx_f(loc_id, group_name, index_field, order, n, hdferr, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5ldelete_by_idx_f(loc_id, group_name, index_field, order, n, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of object, relative to location, @@ -525,9 +514,6 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5lexists_f(loc_id, name, link_exists, hdferr, lapl_id) - -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier of the file or group to query. CHARACTER(LEN=*), INTENT(IN) :: name ! Link name to check. @@ -605,8 +591,7 @@ CONTAINS SUBROUTINE h5lget_info_f(link_loc_id, link_name, & cset, corder, f_corder_valid, link_type, address, val_size, & - hdferr, lapl_id) -!This definition is needed for Windows DLLs + hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: link_loc_id ! File or group identifier. @@ -699,8 +684,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5lget_info_by_idx_f(loc_id, group_name, index_field, order, n, & - f_corder_valid, corder, cset, data_size, hdferr, lapl_id) -!This definition is needed for Windows DLLs + f_corder_valid, corder, cset, data_size, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier specifying location of subject group CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of subject group @@ -785,8 +769,7 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE h5lis_registered_f(link_cls_id, registered, hdferr) -!This definition is needed for Windows DLLs + SUBROUTINE h5lis_registered_f(link_cls_id, registered, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: link_cls_id ! User-defined link class identifier LOGICAL, INTENT(OUT) :: registered ! .TRUE. - if the link class has been registered and @@ -841,8 +824,7 @@ CONTAINS ! Modifications: N/A ! !---------------------------------------------------------------------- - SUBROUTINE h5lmove_f(src_loc_id, src_name, dest_loc_id, dest_name, hdferr, lcpl_id, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5lmove_f(src_loc_id, src_name, dest_loc_id, dest_name, hdferr, lcpl_id, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: src_loc_id ! Original file or group identifier. CHARACTER(LEN=*), INTENT(IN) :: src_name ! Original link name. @@ -927,8 +909,7 @@ CONTAINS ! !---------------------------------------------------------------------- SUBROUTINE h5lget_name_by_idx_f(loc_id, group_name, index_field, order, n, & - name, hdferr, size, lapl_id) -!This definition is needed for Windows DLLs + name, hdferr, size, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier specifying location of subject group CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of subject group @@ -1026,11 +1007,7 @@ CONTAINS !!$! !!$!---------------------------------------------------------------------- !!$ SUBROUTINE h5lget_val_by_idx_f(loc_id, group_name, index_field, order, n, & -!!$ f_corder_valid, corder, cset, data_size, hdferr, lapl_id) -!!$!This definition is needed for Windows DLLs -!!$!DEC$if defined(BUILD_HDF5_DLL) -!!$!DEC$attributes dllexport :: h5lget_val_by_idx_f -!!$!DEC$endif +!!$ f_corder_valid, corder, cset, data_size, hdferr, lapl_id) !!$ IMPLICIT NONE !!$ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier specifying location of subject group !!$ CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of subject group @@ -1120,11 +1097,7 @@ CONTAINS !---------------------------------------------------------------------- !!$ SUBROUTINE h5lget_val_f(link_loc_id, link_name, size, linkval_buff, & -!!$ hdferr, lapl_id) -!!$!This definition is needed for Windows DLLs -!!$!DEC$if defined(BUILD_HDF5_DLL) -!!$!DEC$attributes dllexport :: h5lget_val_f -!!$!DEC$endif +!!$ hdferr, lapl_id) !!$ IMPLICIT NONE !!$ INTEGER(HID_T), INTENT(IN) :: link_loc_id ! File or group identifier. !!$ CHARACTER(LEN=*), INTENT(IN) :: link_name ! Link whose value is to be returned. @@ -1206,11 +1179,7 @@ CONTAINS ! !---------------------------------------------------------------------- !!$ SUBROUTINE H5Lregistered_f(version, class_id, comment, create_func, & -!!$ move_func, copy_func, trav_func, del_func, query_func, hdferr) -!!$!This definition is needed for Windows DLLs -!!$!DEC$if defined(BUILD_HDF5_DLL) -!!$!DEC$attributes dllexport :: H5Lregistered_f -!!$!DEC$endif +!!$ move_func, copy_func, trav_func, del_func, query_func, hdferr) !!$ IMPLICIT NONE !!$ INTEGER, INTENT(IN) :: version ! Version number of this struct !!$ INTEGER, INTENT(IN) :: class_id ! Link class identifier diff --git a/fortran/src/H5Off.f90 b/fortran/src/H5Off.f90 index 4e7a3be..b79dbf2 100644 --- a/fortran/src/H5Off.f90 +++ b/fortran/src/H5Off.f90 @@ -46,8 +46,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5olink_f(object_id, new_loc_id, new_link_name, hdferr, lcpl_id, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5olink_f(object_id, new_loc_id, new_link_name, hdferr, lcpl_id, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: object_id ! Object to be linked INTEGER(HID_T), INTENT(IN) :: new_loc_id ! File or group identifier specifying @@ -114,8 +113,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5oopen_f(loc_id, name, obj_id, hdferr, lapl_id) -!This definition is needed for Windows DLLs + SUBROUTINE h5oopen_f(loc_id, name, obj_id, hdferr, lapl_id) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Path to the object, relative to loc_id diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90 index a7dae95..b0b9933 100644 --- a/fortran/src/H5Pff.f90 +++ b/fortran/src/H5Pff.f90 @@ -23,54 +23,36 @@ INTERFACE h5pset_fill_value_f MODULE PROCEDURE h5pset_fill_value_integer MODULE PROCEDURE h5pset_fill_value_real -! Comment if on Crays - MODULE PROCEDURE h5pset_fill_value_double -! End comment if on Crays MODULE PROCEDURE h5pset_fill_value_char END INTERFACE INTERFACE h5pget_fill_value_f MODULE PROCEDURE h5pget_fill_value_integer MODULE PROCEDURE h5pget_fill_value_real -! Comment if on Crays - MODULE PROCEDURE h5pget_fill_value_double -! End comment if on Crays MODULE PROCEDURE h5pget_fill_value_char END INTERFACE INTERFACE h5pset_f MODULE PROCEDURE h5pset_integer MODULE PROCEDURE h5pset_real -! Comment if on Crays - MODULE PROCEDURE h5pset_double -! End comment if on Crays MODULE PROCEDURE h5pset_char END INTERFACE INTERFACE h5pget_f MODULE PROCEDURE h5pget_integer MODULE PROCEDURE h5pget_real -! Comment if on Crays - MODULE PROCEDURE h5pget_double -! End comment if on Crays MODULE PROCEDURE h5pget_char END INTERFACE INTERFACE h5pregister_f MODULE PROCEDURE h5pregister_integer MODULE PROCEDURE h5pregister_real -! Comment if on Crays - MODULE PROCEDURE h5pregister_double -! End comment if on Crays MODULE PROCEDURE h5pregister_char END INTERFACE INTERFACE h5pinsert_f MODULE PROCEDURE h5pinsert_integer MODULE PROCEDURE h5pinsert_real -! Comment if on Crays - MODULE PROCEDURE h5pinsert_double -! End comment if on Crays MODULE PROCEDURE h5pinsert_char END INTERFACE @@ -113,9 +95,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pcreate_f(class, prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pcreate_f(class, prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! The type of the property list ! to be created. Possible values @@ -176,9 +156,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_preserve_f(prp_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_preserve_f(prp_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier LOGICAL, INTENT(IN) :: flag ! TRUE/FALSE flag to set the dataset @@ -233,9 +211,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_preserve_f(prp_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_preserve_f(prp_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier LOGICAL, INTENT(OUT) :: flag ! TRUE/FALSE flag. Shows status of the dataset's @@ -295,9 +271,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: classtype ! The type of the property list @@ -355,9 +329,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pcopy_f(prp_id, new_prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pcopy_f(prp_id, new_prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(OUT) :: new_prp_id @@ -408,9 +380,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pclose_f(prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pclose_f(prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -459,9 +429,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_chunk_f(prp_id, ndims, dims, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_chunk_f(prp_id, ndims, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions @@ -516,9 +484,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_chunk_f(prp_id, ndims, dims, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_chunk_f(prp_id, ndims, dims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions to @@ -574,9 +540,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_deflate_f(prp_id, level, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_deflate_f(prp_id, level, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: level ! Compression level @@ -630,9 +594,7 @@ SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -661,9 +623,7 @@ SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -692,9 +652,7 @@ SUBROUTINE h5pset_fill_value_real(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -723,9 +681,7 @@ SUBROUTINE h5pget_fill_value_real(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -753,71 +709,9 @@ END SUBROUTINE h5pget_fill_value_real - SUBROUTINE h5pset_fill_value_double(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of - ! of fillvalue datatype - ! (in memory) - DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5pset_fill_value_double_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5pset_fill_value_double_c(prp_id, type_id, fillvalue) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUE_DOUBLE_C'::h5pset_fill_value_double_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: prp_id - INTEGER(HID_T), INTENT(IN) :: type_id - DOUBLE PRECISION, INTENT(IN) :: fillvalue - END FUNCTION h5pset_fill_value_double_c - END INTERFACE - - hdferr = h5pset_fill_value_double_c(prp_id, type_id, fillvalue) - END SUBROUTINE h5pset_fill_value_double - - - SUBROUTINE h5pget_fill_value_double(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of - ! of fillvalue datatype - ! (in memory) - DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5pget_fill_value_double_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5pget_fill_value_double_c(prp_id, type_id, fillvalue) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUE_DOUBLE_C'::h5pget_fill_value_double_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: prp_id - INTEGER(HID_T), INTENT(IN) :: type_id - DOUBLE PRECISION :: fillvalue - END FUNCTION h5pget_fill_value_double_c - END INTERFACE - - hdferr = h5pget_fill_value_double_c(prp_id, type_id, fillvalue) - END SUBROUTINE h5pget_fill_value_double SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -846,9 +740,7 @@ END SUBROUTINE h5pset_fill_value_char SUBROUTINE h5pget_fill_value_char(prp_id, type_id, fillvalue, & - hdferr) -! -!This definition is needed for Windows DLLs + hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of @@ -907,9 +799,6 @@ SUBROUTINE h5pget_version_f(prp_id, boot, freelist, & stab, shhdr, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, DIMENSION(:), INTENT(OUT) :: boot !array to put boot @@ -968,9 +857,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_userblock_f (prp_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_userblock_f (prp_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(IN) :: size !Size of the user-block in bytes @@ -1019,9 +906,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_userblock_f(prp_id, block_size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_userblock_f(prp_id, block_size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: block_size !Size of the @@ -1071,9 +956,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_sizes_f (prp_id, sizeof_addr, sizeof_size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_sizes_f (prp_id, sizeof_addr, sizeof_size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(SIZE_T), INTENT(IN) :: sizeof_addr !Size of an object @@ -1128,9 +1011,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_sizes_f(prp_id, sizeof_addr, sizeof_size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_sizes_f(prp_id, sizeof_addr, sizeof_size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(SIZE_T), INTENT(OUT) :: sizeof_addr !Size of an object @@ -1185,9 +1066,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_sym_k_f (prp_id, ik, lk, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_sym_k_f (prp_id, ik, lk, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: ik ! Symbol table tree rank @@ -1241,9 +1120,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_sym_k_f(prp_id, ik, lk, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_sym_k_f(prp_id, ik, lk, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: ik !Symbol table tree rank @@ -1294,9 +1171,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_istore_k_f (prp_id, ik, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_istore_k_f (prp_id, ik, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: ik ! 1/2 rank of chunked storage B-tree @@ -1346,9 +1221,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_istore_k_f(prp_id, ik, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_istore_k_f(prp_id, ik, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: ik !1/2 rank of chunked storage B-tree @@ -1397,9 +1270,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_driver_f(prp_id, driver, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_driver_f(prp_id, driver, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(OUT) :: driver !low-level file driver identifier @@ -1446,9 +1317,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_stdio_f (prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_stdio_f (prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -1492,9 +1361,8 @@ ! Comment: !---------------------------------------------------------------------- -! SUBROUTINE h5pget_stdio_f (prp_id, io, hdferr) +! SUBROUTINE h5pget_stdio_f (prp_id, io, hdferr) ! -!This definition is needed for Windows DLLs ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier ! INTEGER, INTENT(OUT) :: io ! value indicates that the file @@ -1529,9 +1397,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_sec2_f (prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_sec2_f (prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -1612,9 +1478,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_alignment_f(prp_id, threshold, alignment, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_alignment_f(prp_id, threshold, alignment, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(IN) :: threshold ! Threshold value @@ -1666,9 +1530,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_alignment_f(prp_id, threshold, alignment, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_alignment_f(prp_id, threshold, alignment, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: threshold ! Threshold value @@ -1720,9 +1582,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_core_f(prp_id, increment, backing_store, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_core_f(prp_id, increment, backing_store, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(SIZE_T), INTENT(IN) :: increment ! File block size in bytes. @@ -1778,9 +1638,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_fapl_core_f(prp_id, increment, backing_store, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_fapl_core_f(prp_id, increment, backing_store, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(SIZE_T), INTENT(OUT) :: increment ! File block size in bytes. @@ -1837,9 +1695,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_family_f(prp_id, memb_size, memb_plist , hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_family_f(prp_id, memb_size, memb_plist , hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(IN) :: memb_size ! Logical size, in bytes, @@ -1895,9 +1751,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_fapl_family_f(prp_id, memb_size, memb_plist , hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_fapl_family_f(prp_id, memb_size, memb_plist , hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: memb_size ! Logical size, in bytes, @@ -1956,9 +1810,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_cache_f(prp_id, mdc_nelmts,rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_cache_f(prp_id, mdc_nelmts,rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: mdc_nelmts !Number of elements (objects) @@ -2024,9 +1876,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_cache_f(prp_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_cache_f(prp_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: mdc_nelmts !Number of elements (objects) @@ -2089,9 +1939,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_split_f(prp_id, meta_ext, meta_plist, raw_ext, raw_plist, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_split_f(prp_id, meta_ext, meta_plist, raw_ext, raw_plist, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: meta_ext !Name of the extension for @@ -2204,9 +2052,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_gc_references_f (prp_id, gc_reference, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_gc_references_f (prp_id, gc_reference, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: gc_reference !the flag for garbage collecting @@ -2256,9 +2102,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_gc_references_f (prp_id, gc_reference, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_gc_references_f (prp_id, gc_reference, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: gc_reference !the flag for garbage collecting @@ -2312,9 +2156,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_layout_f (prp_id, layout, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_layout_f (prp_id, layout, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: layout !Type of storage layout for raw data @@ -2370,9 +2212,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_layout_f (prp_id, layout, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_layout_f (prp_id, layout, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: layout !Type of storage layout for raw data @@ -2427,9 +2267,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: filter !Filter to be added to the pipeline. @@ -2486,9 +2324,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_nfilters_f (prp_id, nfilters, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_nfilters_f (prp_id, nfilters, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: nfilters !the number of filters in the pipeline @@ -2544,9 +2380,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_filter_f(prp_id, filter_number, flags, cd_nelmts, cd_values, namelen, name, filter_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_filter_f(prp_id, filter_number, flags, cd_nelmts, cd_values, namelen, name, filter_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: filter_number !Sequence number within the filter @@ -2618,9 +2452,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_external_f(prp_id, name, offset,bytes, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_external_f(prp_id, name, offset,bytes, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name !Name of an external file @@ -2681,9 +2513,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_external_count_f (prp_id, count, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_external_count_f (prp_id, count, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: count !number of external files for the @@ -2739,9 +2569,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_external_f(prp_id, idx, name_size, name, offset,bytes, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_external_f(prp_id, idx, name_size, name, offset,bytes, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: idx !External file index. @@ -2805,9 +2633,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_btree_ratios_f(prp_id, left, middle, right, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_btree_ratios_f(prp_id, left, middle, right, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier REAL, INTENT(IN) :: left !The B-tree split ratio for left-most nodes. @@ -2864,9 +2690,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_btree_ratios_f(prp_id, left, middle, right, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_btree_ratios_f(prp_id, left, middle, right, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier REAL, INTENT(OUT) :: left !The B-tree split ratio for left-most nodes. @@ -2924,9 +2748,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_fclose_degree_f(fapl_id, degree, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_fclose_degree_f(fapl_id, degree, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fapl_id ! File Access Property list identifier INTEGER, INTENT(OUT) :: degree ! Possible values @@ -2983,9 +2805,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fclose_degree_f(fapl_id, degree, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fclose_degree_f(fapl_id, degree, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fapl_id ! File Access Property list identifier INTEGER, INTENT(IN) :: degree ! Possible values @@ -3036,9 +2856,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pequal_f(plist1_id, plist2_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pequal_f(plist1_id, plist2_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist1_id ! Property list identifier INTEGER(HID_T), INTENT(IN) :: plist2_id ! Property list identifier @@ -3086,9 +2904,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_buffer_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_buffer_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Data transfer property list identifier INTEGER(HSIZE_T), INTENT(IN) :: size ! Buffer size in bytes; @@ -3133,9 +2949,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_buffer_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_buffer_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Data transfer property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: size ! Buffer size in bytes; @@ -3185,9 +2999,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pfill_value_defined_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pfill_value_defined_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER, INTENT(OUT) :: flag @@ -3236,9 +3048,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_alloc_time_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_alloc_time_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER, INTENT(IN) :: flag @@ -3287,9 +3097,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_alloc_time_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_alloc_time_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER, INTENT(OUT) :: flag @@ -3336,9 +3144,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_fill_time_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fill_time_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER, INTENT(IN) :: flag @@ -3385,9 +3191,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_fill_time_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_fill_time_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id INTEGER, INTENT(OUT) :: flag @@ -3430,9 +3234,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_meta_block_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_meta_block_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(HSIZE_T), INTENT(IN) :: size ! Block size in bytes; @@ -3475,9 +3277,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_meta_block_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_meta_block_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: size ! Block size in bytes; @@ -3520,9 +3320,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_sieve_buf_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_sieve_buf_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(SIZE_T), INTENT(IN) :: size ! Buffer size in bytes; @@ -3565,9 +3363,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_sieve_buf_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_sieve_buf_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(SIZE_T), INTENT(OUT) :: size ! Buffer size in bytes @@ -3610,9 +3406,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_small_data_block_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_small_data_block_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(HSIZE_T), INTENT(IN) :: size ! Small raw data block size @@ -3655,9 +3449,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_small_data_block_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_small_data_block_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list identifier INTEGER(HSIZE_T), INTENT(OUT) :: size ! Small raw data block size @@ -3700,9 +3492,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_hyper_vector_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_hyper_vector_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer property list identifier INTEGER(SIZE_T), INTENT(IN) :: size ! Vector size @@ -3745,9 +3535,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_hyper_vector_size_f(plist_id, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_hyper_vector_size_f(plist_id, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset transfer property list identifier INTEGER(SIZE_T), INTENT(OUT) :: size ! Vector size @@ -3791,9 +3579,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_integer(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_integer(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -3843,9 +3629,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_real(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_real(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -3871,57 +3655,6 @@ hdferr = h5pset_real_c(prp_id, name , name_len, value) END SUBROUTINE h5pset_real -!---------------------------------------------------------------------- -! Name: h5pset_double -! -! Purpose: Sets a property list value -! -! Inputs: -! prp_id - iproperty list identifier to modify -! name - name of property to modify -! value - value to set property to -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! NONE -! -! Programmer: Elena Pourmal -! October 9, 2002 -! -! Modifications: -! -! Comment: -!---------------------------------------------------------------------- - - SUBROUTINE h5pset_double(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify - DOUBLE PRECISION, INTENT(IN) :: value ! Property value - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER :: name_len - - INTERFACE - INTEGER FUNCTION h5pset_double_c(prp_id, name, name_len, value) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PSET_DOUBLE_C'::h5pset_double_c - !DEC$ ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: prp_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: name_len - DOUBLE PRECISION, INTENT(IN) :: value - END FUNCTION h5pset_double_c - END INTERFACE - - name_len = LEN(name) - hdferr = h5pset_double_c(prp_id, name , name_len, value) - END SUBROUTINE h5pset_double !---------------------------------------------------------------------- ! Name: h5pset_char @@ -3947,9 +3680,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_char(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_char(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -4003,9 +3734,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_integer(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_integer(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -4055,9 +3784,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_real(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_real(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -4083,57 +3810,6 @@ hdferr = h5pget_real_c(prp_id, name , name_len, value) END SUBROUTINE h5pget_real -!---------------------------------------------------------------------- -! Name: h5pget_double -! -! Purpose: Gets a property list value -! -! Inputs: -! prp_id - iproperty list identifier to modify -! name - name of property to modify -! Outputs: -! value - value of property -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! NONE -! -! Programmer: Elena Pourmal -! October 9, 2002 -! -! Modifications: -! -! Comment: -!---------------------------------------------------------------------- - - SUBROUTINE h5pget_double(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify - DOUBLE PRECISION, INTENT(OUT) :: value ! Property value - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER :: name_len - - INTERFACE - INTEGER FUNCTION h5pget_double_c(prp_id, name, name_len, value) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_DOUBLE_C'::h5pget_double_c - !DEC$ ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: prp_id - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: name_len - DOUBLE PRECISION, INTENT(OUT) :: value - END FUNCTION h5pget_double_c - END INTERFACE - - name_len = LEN(name) - hdferr = h5pget_double_c(prp_id, name , name_len, value) - END SUBROUTINE h5pget_double !---------------------------------------------------------------------- ! Name: h5pget_char @@ -4159,9 +3835,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_char(prp_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_char(prp_id, name, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -4215,9 +3889,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pexist_f(prp_id, name, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pexist_f(prp_id, name, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify @@ -4271,9 +3943,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_size_f(prp_id, name, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_size_f(prp_id, name, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to query @@ -4321,9 +3991,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_nprops_f(prp_id, nprops, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_nprops_f(prp_id, nprops, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(SIZE_T), INTENT(OUT) :: nprops ! iNumber of properties @@ -4369,9 +4037,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_class_name_f(prp_id, name, size, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_class_name_f(prp_id, name, size, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier CHARACTER(LEN=*), INTENT(OUT) :: name ! Buffer to retireve class name @@ -4425,9 +4091,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_class_parent_f(prp_id, parent_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_class_parent_f(prp_id, parent_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HID_T), INTENT(OUT) :: parent_id ! Parent class property list @@ -4472,9 +4136,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pisa_class_f(plist, pclass, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pisa_class_f(plist, pclass, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier INTEGER(HID_T), INTENT(IN) :: pclass ! Class identifier @@ -4524,9 +4186,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pcopy_prop_f(dst_id, src_id, name, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pcopy_prop_f(dst_id, src_id, name, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dst_id ! Destination property list ! identifier @@ -4577,9 +4237,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5premove_f(plid, name, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5premove_f(plid, name, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plid ! property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! name of property to remove @@ -4627,9 +4285,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5punregister_f(class, name, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5punregister_f(class, name, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! property list class identifier CHARACTER(LEN=*), INTENT(IN) :: name ! name of property to remove @@ -4676,9 +4332,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pclose_class_f(class, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pclose_class_f(class, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! property list class identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -4728,9 +4382,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: parent ! parent property list class ! identifier @@ -4785,9 +4437,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pregister_integer(class, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pregister_integer(class, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register @@ -4842,9 +4492,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pregister_real(class, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pregister_real(class, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register @@ -4873,63 +4521,6 @@ END SUBROUTINE h5pregister_real !---------------------------------------------------------------------- -! Name: h5pregister_double -! -! Purpose: Registers a permanent property with a property list class. -! -! Inputs: -! class - property list class to register -! permanent property within -! name - name of property to register -! size - size of property in bytes -! value - default value for property in newly -! created property lists -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! NONE -! -! Programmer: Elena Pourmal -! October 10, 2002 -! -! Modifications: -! -! Comment: -!---------------------------------------------------------------------- - - SUBROUTINE h5pregister_double(class, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register - INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value - DOUBLE PRECISION, INTENT(IN) :: value ! Property value - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER :: name_len - - INTERFACE - INTEGER FUNCTION h5pregister_double_c(class, name, name_len, size, value) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PREGISTER_DOUBLE_C'::h5pregister_double_c - !DEC$ ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: class - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: name_len - INTEGER(SIZE_T), INTENT(IN) :: size - DOUBLE PRECISION, INTENT(IN) :: value - END FUNCTION h5pregister_double_c - END INTERFACE - - name_len = LEN(name) - hdferr = h5pregister_double_c(class, name , name_len, size, value) - END SUBROUTINE h5pregister_double - -!---------------------------------------------------------------------- ! Name: h5pregister_char ! ! Purpose: Registers a permanent property with a property list class. @@ -4956,9 +4547,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pregister_char(class, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pregister_char(class, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register @@ -5016,9 +4605,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert @@ -5072,9 +4659,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pinsert_real(plist, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pinsert_real(plist, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert @@ -5102,61 +4687,6 @@ hdferr = h5pinsert_real_c(plist, name , name_len, size, value) END SUBROUTINE h5pinsert_real -!---------------------------------------------------------------------- -! Name: h5pinsert_double -! -! Purpose: Registers a temporary property with a property list class. -! -! Inputs: -! plist - property list identifier -! permanent property within -! name - name of property to insert -! size - size of property in bytes -! value - initial value for the property -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! NONE -! -! Programmer: Elena Pourmal -! October 10, 2002 -! -! Modifications: -! -! Comment: -!---------------------------------------------------------------------- - - SUBROUTINE h5pinsert_double(plist, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert - INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value - DOUBLE PRECISION, INTENT(IN) :: value ! Property value - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER :: name_len - - INTERFACE - INTEGER FUNCTION h5pinsert_double_c(plist, name, name_len, size, value) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PINSERT_DOUBLE_C'::h5pinsert_double_c - !DEC$ ENDIF - !DEC$ATTRIBUTES reference :: name - INTEGER(HID_T), INTENT(IN) :: plist - CHARACTER(LEN=*), INTENT(IN) :: name - INTEGER, INTENT(IN) :: name_len - INTEGER(SIZE_T), INTENT(IN) :: size - DOUBLE PRECISION, INTENT(IN) :: value - END FUNCTION h5pinsert_double_c - END INTERFACE - - name_len = LEN(name) - hdferr = h5pinsert_double_c(plist, name , name_len, size, value) - END SUBROUTINE h5pinsert_double !---------------------------------------------------------------------- ! Name: h5pinsert_char @@ -5184,9 +4714,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert @@ -5241,9 +4769,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_shuffle_f(prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_shuffle_f(prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -5290,9 +4816,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_edc_check_f(prp_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_edc_check_f(prp_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: flag ! Checksum filter flag @@ -5338,9 +4862,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_edc_check_f(prp_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_edc_check_f(prp_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset transfer property list identifier INTEGER, INTENT(OUT) :: flag ! Checksum filter flag @@ -5391,9 +4913,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_fletcher32_f(prp_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fletcher32_f(prp_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -5438,9 +4958,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_family_offset_f(prp_id, offset, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_family_offset_f(prp_id, offset, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER(HSIZE_T), INTENT(IN) :: offset ! Offset in bytes @@ -5490,9 +5008,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_multi_l(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_multi_l(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map @@ -5562,9 +5078,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pset_fapl_multi_s(prp_id, relax, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_fapl_multi_s(prp_id, relax, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier LOGICAL, INTENT(IN) :: relax @@ -5616,9 +5130,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pget_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr, maxlen_out) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr, maxlen_out) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_map @@ -5692,8 +5204,6 @@ SUBROUTINE h5pset_szip_f(prp_id, options_mask, pixels_per_block, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property ! list identifier @@ -5745,9 +5255,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5pall_filters_avail_f(prp_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pall_filters_avail_f(prp_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property ! list identifier @@ -5804,9 +5312,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_filter_by_id_f(prp_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_filter_by_id_f(prp_id, filter_id, flags, cd_nelmts, cd_values, namelen, name, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier @@ -5874,9 +5380,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pmodify_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pmodify_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier INTEGER, INTENT(IN) :: filter !Filter to be modified @@ -5932,8 +5436,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5premove_filter_f(prp_id, filter, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: prp_id ! Dataset creation property list ! identifier @@ -5984,8 +5486,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocpl_id ! Object (dataset or group) creation property list identifier INTEGER, INTENT(OUT) :: max_compact ! Maximum number of attributes to be stored in compact storage @@ -6036,8 +5536,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_attr_creation_order_f(ocpl_id, crt_order_flags , hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocpl_id ! Object (dataset or group) creation property list identifier INTEGER, INTENT(IN) :: crt_order_flags ! Flags specifying whether to track and index attribute creation order @@ -6086,8 +5584,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_shared_mesg_nindexes_f( plist_id, nindexes, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! file creation property list INTEGER, INTENT(IN) :: nindexes ! Number of shared object header message indexes @@ -6140,8 +5636,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_shared_mesg_index_f(fcpl_id, index_num, mesg_type_flags, min_mesg_size, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fcpl_id ! file creation property list INTEGER, INTENT(IN) :: index_num ! Index being configured. @@ -6196,8 +5690,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_attr_creation_order_f(ocpl_id, crt_order_flags, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocpl_id ! Object (group or dataset) creation property list identifier INTEGER, INTENT(OUT) :: crt_order_flags ! Flags specifying whether to track and index attribute creation order @@ -6248,8 +5740,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_libver_bounds_f(fapl_id, low, high, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fapl_id ! File access property list identifier INTEGER, INTENT(IN) :: low ! The earliest version of the library that will be used for writing objects. @@ -6306,8 +5796,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_link_creation_order_f(gcpl_id, crt_order_flags, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! File access property list identifier INTEGER, INTENT(IN) :: crt_order_flags ! Creation order flag(s) @@ -6357,8 +5845,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_link_phase_change_f(gcpl_id, max_compact, min_dense, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER, INTENT(OUT) :: max_compact ! Maximum number of attributes to be stored in compact storage @@ -6407,9 +5893,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_obj_track_times_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_obj_track_times_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property ! list identifier @@ -6473,9 +5957,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_obj_track_times_f(plist_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_obj_track_times_f(plist_id, flag, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property ! list identifier @@ -6529,9 +6011,7 @@ ! so had to shorten the name !-------------------------------------------------------------------------------------- - SUBROUTINE h5pset_create_inter_group_f(lcpl_id, crt_intermed_group, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_create_inter_group_f(lcpl_id, crt_intermed_group, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: lcpl_id ! Link creation property list identifier INTEGER, INTENT(IN) :: crt_intermed_group ! specifying whether to create intermediate groups @@ -6580,8 +6060,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_link_creation_order_f(gcpl_id, crt_order_flags, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER, INTENT(OUT) :: crt_order_flags ! Creation order flag(s) @@ -6633,8 +6111,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_char_encoding_f(plist_id, encoding, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Property list identifier @@ -6689,8 +6165,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_char_encoding_f(plist_id, encoding, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Property list identifier @@ -6741,9 +6215,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_copy_object_f(ocp_plist_id, copy_options, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_copy_object_f(ocp_plist_id, copy_options, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocp_plist_id ! Object copy property list identifier INTEGER, INTENT(IN) :: copy_options ! Copy option(s) to be set, valid options are: @@ -6793,9 +6265,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_copy_object_f(ocp_plist_id, copy_options, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_copy_object_f(ocp_plist_id, copy_options, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocp_plist_id ! Object copy property list identifier INTEGER, INTENT(OUT) :: copy_options ! valid copy options returned are: @@ -6848,9 +6318,7 @@ ! Comment: Should hdferr return just 0 or 1 and add another arguement for the size? !---------------------------------------------------------------------- - SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Identifier of the property list or class CHARACTER(LEN=*), INTENT(OUT) :: expression ! Buffer to hold transform expression @@ -6909,9 +6377,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_data_transform_f(plist_id, expression, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_data_transform_f(plist_id, expression, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Identifier of the property list or class CHARACTER(LEN=*), INTENT(IN) :: expression ! Buffer to hold transform expression @@ -6960,9 +6426,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER(SIZE_T), INTENT(OUT) :: size_hint ! Hint for size of local heap @@ -7009,9 +6473,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER, INTENT(OUT) :: est_num_entries ! Estimated number of links to be inserted into group @@ -7059,9 +6521,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_local_heap_size_hint_f(gcpl_id, size_hint, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER(SIZE_T), INTENT(IN) :: size_hint ! Hint for size of local heap @@ -7108,9 +6568,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_est_link_info_f(gcpl_id, est_num_entries, est_name_len, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER, INTENT(IN) :: est_num_entries ! Estimated number of links to be inserted into group @@ -7160,8 +6618,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_link_phase_change_f(gcpl_id, max_compact, min_dense, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: gcpl_id ! Group creation property list identifier INTEGER, INTENT(IN) :: max_compact ! Maximum number of attributes to be stored in compact storage @@ -7212,8 +6668,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_fapl_direct_f(fapl_id, alignment, block_size, cbuf_size, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fapl_id ! File access property list identifier INTEGER(SIZE_T), INTENT(IN) :: alignment ! Required memory alignment boundary! @@ -7265,8 +6719,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pget_fapl_direct_f(fapl_id, alignment, block_size, cbuf_size, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: fapl_id ! File access property list identifier INTEGER(SIZE_T), INTENT(OUT) :: alignment ! Required memory alignment boundary! @@ -7319,8 +6771,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: ocpl_id ! Object (dataset or group) creation property list identifier INTEGER, INTENT(IN) :: max_compact ! Maximum number of attributes to be stored in compact storage @@ -7371,9 +6821,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_nbit_f(plist_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_nbit_f(plist_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property list identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -7418,9 +6866,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_scaleoffset_f(plist_id, scale_type, scale_factor, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_scaleoffset_f(plist_id, scale_type, scale_factor, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: plist_id ! Dataset creation property list identifier INTEGER, INTENT(IN) :: scale_type ! Flag indicating compression method. @@ -7469,9 +6915,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pset_nlinks_f(lapl_id, nlinks, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pset_nlinks_f(lapl_id, nlinks, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: lapl_id ! File access property list identifier INTEGER(SIZE_T), INTENT(IN) :: nlinks ! Maximum number of links to traverse @@ -7518,9 +6962,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5pget_nlinks_f(lapl_id, nlinks, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_nlinks_f(lapl_id, nlinks, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: lapl_id ! File access property list identifier INTEGER(SIZE_T), INTENT(OUT) :: nlinks ! Maximum number of links to traverse @@ -7568,9 +7010,7 @@ ! so had to shorten the name !-------------------------------------------------------------------------------------- - SUBROUTINE h5pget_create_inter_group_f(lcpl_id, crt_intermed_group, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5pget_create_inter_group_f(lcpl_id, crt_intermed_group, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: lcpl_id ! Link creation property list identifier INTEGER, INTENT(IN) :: crt_intermed_group ! Flag specifying whether to create intermediate groups diff --git a/fortran/src/H5Rff.f90 b/fortran/src/H5Rff.f90 index 7da8d20..de4f5f0 100644 --- a/fortran/src/H5Rff.f90 +++ b/fortran/src/H5Rff.f90 @@ -94,9 +94,7 @@ ! subroutine. !---------------------------------------------------------------------- - SUBROUTINE h5rcreate_object_f(loc_id, name, ref, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rcreate_object_f(loc_id, name, ref, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location specified @@ -159,9 +157,7 @@ ! subroutine. !---------------------------------------------------------------------- - SUBROUTINE h5rcreate_region_f(loc_id, name, space_id, ref, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rcreate_region_f(loc_id, name, space_id, ref, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location specified @@ -228,9 +224,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5rdereference_object_f(dset_id, ref, obj_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rdereference_object_f(dset_id, ref, obj_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference @@ -289,9 +283,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5rdereference_region_f(dset_id, ref, obj_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rdereference_region_f(dset_id, ref, obj_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Object reference @@ -351,9 +343,7 @@ - SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference @@ -417,9 +407,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5rget_object_type_obj_f(dset_id, ref, obj_type, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rget_object_type_obj_f(dset_id, ref, obj_type, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference @@ -481,9 +469,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5rget_name_object_f(loc_id, ref, name, hdferr, size) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rget_name_object_f(loc_id, ref, name, hdferr, size) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for the dataset containing the reference ! or for the group that dataset is in. @@ -548,9 +534,7 @@ !---------------------------------------------------------------------- - SUBROUTINE h5rget_name_region_f(loc_id, ref, name, hdferr, size) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5rget_name_region_f(loc_id, ref, name, hdferr, size) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for the dataset containing the reference ! or for the group that dataset is in. diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c index 5cf5b51..82e760c 100644 --- a/fortran/src/H5Sf.c +++ b/fortran/src/H5Sf.c @@ -210,7 +210,9 @@ nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points) * Returns: 0 on success, -1 on failure * Programmer: Xiangyang Su * Monday, November 15, 1999 - * Modifications: + * Modifications: + * Transpose dimension arrays because of C-FORTRAN storage order + * M.S. Breitenfeld *---------------------------------------------------------------------------*/ int_f @@ -222,6 +224,7 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, hsize_t c_num_blocks; hsize_t i; + int j,k,m,n; int rank; hsize_t c_startblock, *c_buf; @@ -237,10 +240,23 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, ret_value = H5Sget_select_hyper_blocklist(c_space_id, c_startblock, c_num_blocks, c_buf); - for(i = 0; i < c_num_blocks*2*rank; i++) - { - buf[i] = (hsize_t_f)c_buf[i] +1; + + /* + * Transpose dimension arrays because of C-FORTRAN storage order and add 1 + */ + n = 0; + m = 0; + for (i=0; i < c_num_blocks; i++) { + for (j=0; j < rank; j++) { + for (k=0; k < rank; k++) { + int t= (m + rank - k - 1); + buf[n] = (hsize_t_f)c_buf[t]+1; + n = n + 1; + } + m = m + rank; + } } + HDfree(c_buf); if (ret_value >= 0 ) ret_value = 0; return ret_value; @@ -258,7 +274,9 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, * Returns: 0 on success, -1 on failure * Programmer: Xiangyang Su * Wednesday, November 17, 1999 - * Modifications: + * Modifications: swapped array bounds to account for C and Fortran reversed + * matrix notation. + * M.S. Breitenfeld *---------------------------------------------------------------------------*/ int_f @@ -282,8 +300,8 @@ nh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end) ret_value = H5Sget_select_bounds(c_space_id, c_start, c_end); for(i = 0; i < rank; i++) { - start[i] = (hsize_t_f)(c_start[i]+1); - end[i] = (hsize_t_f)(c_end[i]+1); + start[i] = (hsize_t_f)(c_start[rank-i-1]+1); + end[i] = (hsize_t_f)(c_end[rank-i-1]+1); } if (ret_value >= 0 ) ret_value = 0; @@ -321,8 +339,9 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hid_t c_space_id; hsize_t c_num_points; hsize_t c_startpoint,* c_buf; + hsize_t i, i1; int rank; - hssize_t i; + int j,i2; c_space_id = *space_id; c_num_points = (hsize_t)* numpoints; @@ -335,10 +354,23 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, if (!c_buf) return ret_value; ret_value = H5Sget_select_elem_pointlist(c_space_id, c_startpoint, c_num_points, c_buf); - for (i = (c_num_points*rank)-1; i >= 0; i--) { - buf[i] = (hsize_t_f)(c_buf[i]+1); + + /* re-arrange the return buffer to account for Fortran ordering of 2D arrays */ + /* and add 1 to account for array's starting at one in Fortran */ + i2 = 0; + for( i = 0; i < c_num_points; i++) { + i1 = rank*(i+1); + for(j = 0; j < rank; j++) { + buf[i2] = (hsize_t_f)(c_buf[i1-1]+1); + i2 = i2 + 1; + i1 = i1 - 1; + } } +/* for( i = 0; i < c_num_points*rank; i++) { */ +/* printf("%i \n", (int)c_buf[i]+1); */ +/* } */ + if (ret_value >= 0 ) ret_value = 0; HDfree(c_buf); @@ -464,7 +496,7 @@ nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints ) c_space_id = *space_id; c_npoints = H5Sget_select_npoints(c_space_id); - if ( c_npoints == 0 ) ret_value = -1; + if ( c_npoints < 0 ) ret_value = -1; *npoints = (hssize_t_f)c_npoints; return ret_value; } @@ -1006,8 +1038,10 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsi /* if (*op != H5S_SELECT_SET_F) return ret_value; */ - if (*op != H5S_SELECT_SET) return ret_value; - c_op = H5S_SELECT_SET; +/* if (*op != H5S_SELECT_SET) return ret_value; */ +/* c_op = H5S_SELECT_SET; */ + + c_op = (H5S_seloper_t)*op; c_space_id = *space_id; rank = H5Sget_simple_extent_ndims(c_space_id); diff --git a/fortran/src/H5Sff.f90 b/fortran/src/H5Sff.f90 index e8c5b21..f7feca2 100644 --- a/fortran/src/H5Sff.f90 +++ b/fortran/src/H5Sff.f90 @@ -47,9 +47,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims) IMPLICIT NONE INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions @@ -119,9 +117,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5sclose_f(space_id, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -168,10 +163,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5screate_f(classtype, space_id, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5screate_f(classtype, space_id, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: classtype ! The type of the dataspace ! to be created. @@ -225,10 +217,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HID_T), INTENT(OUT) :: new_space_id @@ -278,10 +267,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks @@ -336,10 +322,7 @@ !---------------------------------------------------------------------- SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, & - num_blocks, buf, hdferr) -! -!This definition is needed for Windows DLLs - + num_blocks, buf, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSIZE_T), INTENT(IN) :: startblock @@ -403,38 +386,32 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_select_bounds_f(space_id, start, end, hdferr) -! -!This definition is needed for Windows DLLs - - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start - !Starting coordinates of the bounding box. - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: end - !Ending coordinates of the bounding box, - !i.e., the coordinates of the diagonally - !opposite corner - INTEGER, INTENT(OUT) :: hdferr ! Error code - -! INTEGER, EXTERNAL :: h5sget_select_bounds_c -! MS FORTRAN needs explicit interface for C functions called here. -! - INTERFACE - INTEGER FUNCTION h5sget_select_bounds_c(space_id, start, end) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) -!DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_BOUNDS_C'::h5sget_select_bounds_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: space_id - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start - INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: end - END FUNCTION h5sget_select_bounds_c - END INTERFACE + SUBROUTINE h5sget_select_bounds_f(space_id, start, END, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start + ! Starting coordinates of the bounding box. + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END + !Ending coordinates of the bounding box, + !i.e., the coordinates of the diagonally + !opposite corner + INTEGER, INTENT(OUT) :: hdferr ! Error code - hdferr = h5sget_select_bounds_c(space_id, start, end) + INTERFACE + INTEGER FUNCTION h5sget_select_bounds_c(space_id, start, END) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_BOUNDS_C'::h5sget_select_bounds_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: space_id + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start + INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END + END FUNCTION h5sget_select_bounds_c + END INTERFACE + + hdferr = h5sget_select_bounds_c(space_id, start, END) - END SUBROUTINE h5sget_select_bounds_f + END SUBROUTINE h5sget_select_bounds_f !---------------------------------------------------------------------- ! Name: h5sget_select_elem_npoints_f @@ -461,10 +438,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSSIZE_T), INTENT(OUT) :: num_points @@ -519,9 +493,7 @@ !---------------------------------------------------------------------- SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, & - num_points, buf, hdferr) -! -!This definition is needed for Windows DLLs + num_points, buf, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSIZE_T), INTENT(IN) :: startpoint @@ -532,9 +504,6 @@ !List of element points selected INTEGER, INTENT(OUT) :: hdferr ! Error code -! INTEGER, EXTERNAL :: h5sget_select_elem_pointlist_c -! MS FORTRAN needs explicit interface for C functions called here. -! INTERFACE INTEGER FUNCTION h5sget_select_elem_pointlist_c(space_id, startpoint, & num_points, buf ) @@ -551,6 +520,7 @@ hdferr = h5sget_select_elem_pointlist_c(space_id, startpoint, & num_points, buf ) + END SUBROUTINE h5sget_select_elem_pointlist_f !---------------------------------------------------------------------- @@ -584,57 +554,61 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sselect_elements_f(space_id, operator, rank, & - num_elements, coord, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier - INTEGER, INTENT(IN) :: operator ! Flag, valid values are: - ! H5S_SELECT_SET_F (0) - ! H5S_SELECT_OR_F (1) - INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions - INTEGER(SIZE_T), INTENT(IN) :: num_elements ! Number of elements to be + SUBROUTINE h5sselect_elements_f(space_id, OPERATOR, rank, & + num_elements, coord, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier + INTEGER, INTENT(IN) :: OPERATOR ! Flag, valid values are: + ! H5S_SELECT_SET_F (0) + ! H5S_SELECT_OR_F (1) + INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions + INTEGER(SIZE_T), INTENT(IN) :: num_elements ! Number of elements to be ! selected - INTEGER(HSIZE_T), & - DIMENSION(rank,num_elements), INTENT(IN) :: coord + INTEGER(HSIZE_T), DIMENSION(rank,num_elements), INTENT(IN) :: coord ! Array with the coordinates ! of the selected elements ! coord(rank, num_elements) - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:,:) :: c_coord - INTEGER :: error, i,j + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:,:) :: c_coord + INTEGER :: error, i,j -! INTEGER, EXTERNAL :: h5sselect_elements_c -! MS FORTRAN needs explicit interface for C functions called here. + INTERFACE + INTEGER FUNCTION h5sselect_elements_c(space_id, OPERATOR,& + num_elements,c_c_coord) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_ELEMENTS_C'::h5sselect_elements_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: space_id + INTEGER, INTENT(IN) :: OPERATOR + INTEGER(SIZE_T), INTENT(IN) :: num_elements + INTEGER(HSIZE_T),DIMENSION(*) :: c_c_coord + END FUNCTION h5sselect_elements_c + END INTERFACE + + ALLOCATE(c_coord(rank,num_elements), STAT = error) + IF (error.NE. 0) THEN + hdferr = -1 + RETURN + ENDIF + DO i = 1, rank + c_coord(i,:) = coord(rank-i+1, :) - 1 + ENDDO + hdferr = h5sselect_elements_c(space_id, OPERATOR, num_elements, c_coord) + +! ALLOCATE(c_coord(num_elements,rank), stat = error) +! IF (error.NE. 0) THEN +! hdferr = -1 +! RETURN +! ENDIF ! - INTERFACE - INTEGER FUNCTION h5sselect_elements_c(space_id, operator,& - num_elements,c_c_coord) - USE H5GLOBAL - !DEC$ IF DEFINED(HDF5F90_WINDOWS) - !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_ELEMENTS_C'::h5sselect_elements_c - !DEC$ ENDIF - INTEGER(HID_T), INTENT(IN) :: space_id - INTEGER, INTENT(IN) :: operator - INTEGER(SIZE_T), INTENT(IN) :: num_elements - INTEGER(HSIZE_T),DIMENSION(*) :: c_c_coord - END FUNCTION h5sselect_elements_c - END INTERFACE +! c_coord = TRANSPOSE(coord) +! hdferr = h5sselect_elements_c(space_id, OPERATOR, INT(rank,size_t), c_coord) - allocate(c_coord(rank, num_elements), stat = error) - if (error.NE. 0) then - hdferr = -1 - return - endif - do i = 1, rank - c_coord(i,:) = coord(rank-i+1, :) - 1 - enddo - hdferr = h5sselect_elements_c(space_id, operator, num_elements, & - c_coord) - deallocate(c_coord) + + DEALLOCATE(c_coord) - END SUBROUTINE h5sselect_elements_f + END SUBROUTINE h5sselect_elements_f !---------------------------------------------------------------------- ! Name: h5sselect_all_f @@ -661,9 +635,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sselect_all_f(space_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5sselect_all_f(space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -710,10 +682,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sselect_none_f(space_id, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sselect_none_f(space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -760,10 +729,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sselect_valid_f(space_id, status, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sselect_valid_f(space_id, status, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier LOGICAL, INTENT(OUT) :: status ! TRUE if the selection is @@ -817,10 +783,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSIZE_T), INTENT(OUT) :: npoints ! Number of elements in @@ -870,10 +833,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSSIZE_T), INTENT(OUT) :: npoints ! Number of elements in the @@ -923,10 +883,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: rank ! Number of dimensions @@ -977,10 +934,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims @@ -1040,10 +994,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: classtype ! Class type , possible values @@ -1102,9 +1053,6 @@ SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, & maximum_size, hdferr) -! -!This definition is needed for Windows DLLs - IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(IN) :: rank ! Dataspace rank @@ -1165,10 +1113,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sis_simple_f(space_id, status, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sis_simple_f(space_id, status, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier LOGICAL, INTENT(OUT) :: status ! Flag, idicates if dataspace @@ -1222,10 +1167,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset @@ -1278,10 +1220,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination ! dataspace @@ -1330,10 +1269,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sset_extent_none_f(space_id, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5sset_extent_none_f(space_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -1388,9 +1324,7 @@ !---------------------------------------------------------------------- SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, & - hdferr, stride, block) -! -!This definition is needed for Windows DLLs + hdferr, stride, block) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier INTEGER, INTENT(IN) :: operator ! Flag, valid values are: @@ -1523,9 +1457,7 @@ !---------------------------------------------------------------------- ! SUBROUTINE h5scombine_hyperslab_f(space_id, operator, start, count, & -! hyper_id, hdferr, stride, block) -! -!This definition is needed for Windows DLLs +! hyper_id, hdferr, stride, block) ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier ! INTEGER, INTENT(IN) :: operator ! Flag, valid values are: @@ -1661,9 +1593,7 @@ !---------------------------------------------------------------------- ! SUBROUTINE h5scombine_select_f(space1_id, operator, space2_id, & -! ds_id, hdferr) -! -!This definition is needed for Windows DLLs +! ds_id, hdferr) ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(IN) :: space1_id ! First dataspace identifier ! INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier @@ -1736,9 +1666,7 @@ !---------------------------------------------------------------------- ! SUBROUTINE h5sselect_select_f(space1_id, operator, space2_id, & -! hdferr) -! -!This definition is needed for Windows DLLs +! hdferr) ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(INOUT) :: space1_id ! Dataspace identifier to ! modify @@ -1801,9 +1729,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sget_select_type_f(space_id, type, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5sget_select_type_f(space_id, type, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(INOUT) :: space_id ! Dataspace identifier to INTEGER, INTENT(OUT) :: type ! Selection type @@ -1853,9 +1779,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sdecode_f(buf, obj_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5sdecode_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 @@ -1901,9 +1825,7 @@ ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5sencode_f(obj_id, buf, nalloc, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5sencode_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. @@ -1953,8 +1875,6 @@ !---------------------------------------------------------------------- SUBROUTINE h5sextent_equal_f(space1_id, space2_id, equal, hdferr) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: space1_id ! First dataspace identifier. INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier. diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index 5f3d27c..13fea93 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -413,6 +413,7 @@ nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision) * Tuesday, January 25, 2000 * Modifications: *---------------------------------------------------------------------------*/ + int_f nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset) { @@ -1839,7 +1840,6 @@ nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag) ret_value = 0; return ret_value; } - /*---------------------------------------------------------------------------- * Name: h5tget_native_type_c * Purpose: Call H5Tget_native_type @@ -1865,3 +1865,4 @@ nh5tget_native_type_c(hid_t_f *dtype_id, int_f *direction, hid_t_f *native_dtype ret_value = 0; return ret_value; } + diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90 index 0db4843..eb4ff30 100644 --- a/fortran/src/H5Tff.f90 +++ b/fortran/src/H5Tff.f90 @@ -52,8 +52,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr, tapl_id) -! -!This definition is needed for Windows DLLs IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or group @@ -125,9 +123,7 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr, & - lcpl_id, tcpl_id, tapl_id ) -! -!This definition is needed for Windows DLLs + lcpl_id, tcpl_id, tapl_id ) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier CHARACTER(LEN=*), INTENT(IN) :: name @@ -206,9 +202,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -260,9 +254,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -315,9 +307,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tclose_f(type_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tclose_f(type_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -374,9 +364,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tget_class_f(type_id, class, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tget_class_f(type_id, class, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier INTEGER, INTENT(OUT) :: class @@ -436,9 +424,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tget_size_f(type_id, size, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -487,9 +473,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tset_size_f(type_id, size, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -542,9 +526,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tget_order_f(type_id, order, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tget_order_f(type_id, order, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier INTEGER, INTENT(OUT) :: order @@ -601,9 +583,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tset_order_f(type_id, order, hdferr) -! -!This definition is needed for Windows DLLs + 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, bossible values @@ -656,9 +636,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tget_precision_f(type_id, precision, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -706,9 +684,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_precision_f(type_id, precision, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -756,9 +732,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_offset_f(type_id, offset, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -807,9 +781,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_offset_f(type_id, offset, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -866,9 +838,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -934,9 +904,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -999,9 +967,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_sign_f(type_id, sign, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1059,9 +1025,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_sign_f(type_id, sign, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1118,9 +1082,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1128,7 +1090,7 @@ CONTAINS 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 + INTEGER, INTENT(OUT) :: hdferr ! Error code ! INTEGER, EXTERNAL :: h5tget_fields_c ! MS FORTRAN needs explicit interface for C functions called here. @@ -1181,9 +1143,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1239,9 +1199,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1290,9 +1248,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1344,9 +1300,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_norm_f(type_id, norm, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1403,9 +1357,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tset_norm_f(type_id, norm, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1463,9 +1415,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1523,9 +1473,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1580,9 +1528,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_cset_f(type_id, cset, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1634,9 +1580,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_cset_f(type_id, cset, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1691,9 +1635,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier INTEGER, INTENT(OUT) :: strpad @@ -1746,9 +1688,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1797,9 +1737,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1849,9 +1787,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_name_f(type_id, index, member_name, namelen, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1906,9 +1842,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -1958,9 +1892,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2010,9 +1942,8 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- -! SUBROUTINE h5tget_member_dims_f(type_id, field_idx,dims, field_dims, perm, hdferr) +! SUBROUTINE h5tget_member_dims_f(type_id, field_idx,dims, field_dims, perm, hdferr) ! -!This definition is needed for Windows DLLs ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier ! INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of @@ -2055,10 +1986,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr) -! -!This definition is needed for Windows DLLs - + 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 @@ -2108,10 +2036,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr) -! -!This definition is needed for Windows DLLs - + 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 @@ -2160,10 +2085,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr) -! -!This definition is needed for Windows DLLs - + 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 @@ -2215,9 +2137,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2273,9 +2193,7 @@ CONTAINS !---------------------------------------------------------------------- - SUBROUTINE h5tcreate_f(class, size, type_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tcreate_f(class, size, type_id, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: class ! Datatype class can be one of ! H5T_COMPOUND_F @@ -2331,9 +2249,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2390,9 +2306,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tpack_f(type_id, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5tpack_f(type_id, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -2436,9 +2350,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- -! SUBROUTINE h5tinsert_array_f(parent_id,name,offset, ndims, dims, member_id, hdferr, perm) -! -!This definition is needed for Windows DLLs +! SUBROUTINE h5tinsert_array_f(parent_id,name,offset, ndims, dims, member_id, hdferr, perm) ! IMPLICIT NONE ! INTEGER(HID_T), INTENT(IN) :: parent_id ! identifier of the parent compound datatype ! CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member @@ -2492,9 +2404,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2549,9 +2459,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2601,9 +2509,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2660,9 +2566,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr) -! -!This definition is needed for Windows DLLs + 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. @@ -2717,9 +2621,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr) -! -!This definition is needed for Windows DLLs + 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. @@ -2774,9 +2676,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2827,9 +2727,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tset_tag_f(type_id, tag, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2841,7 +2739,7 @@ CONTAINS ! MS FORTRAN needs explicit interface for C functions called here. ! INTERFACE - INTEGER FUNCTION h5tset_tag_c(type_id, tag, namelen) + INTEGER FUNCTION h5tset_tag_c(type_id, tag, taglen) USE H5GLOBAL !DEC$ IF DEFINED(HDF5F90_WINDOWS) !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5TSET_TAG_C'::h5tset_tag_c @@ -2883,9 +2781,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2935,9 +2831,7 @@ CONTAINS ! Comment: Only basic Fortran base datatypes are supported !---------------------------------------------------------------------- - SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -2981,10 +2875,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr) -! -!This definition is needed for Windows DLLs - + 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 @@ -3050,10 +2941,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr) -! -!This definition is needed for Windows DLLs - + 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 @@ -3108,9 +2996,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tcommit_anon_f(loc_id, dtype_id, hdferr, tcpl_id, tapl_id) -! -!This definition is needed for Windows DLLs + 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 @@ -3176,9 +3062,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tcommitted_f(dtype_id, committed, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -3236,9 +3120,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tdecode_f(buf, obj_id, hdferr) -! -!This definition is needed for Windows DLLs + 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 @@ -3284,9 +3166,7 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5tencode_f(obj_id, buf, nalloc, hdferr) -! -!This definition is needed for Windows DLLs + 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. @@ -3332,8 +3212,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5tget_create_plist_f(dtype_id, dtpl_id, hdferr) -!This definition is needed for Windows DLLs + 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. @@ -3379,8 +3258,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5tcompiler_conv_f( src_id, dst_id, flag, hdferr) -!This definition is needed for Windows DLLs + 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. @@ -3437,8 +3315,7 @@ CONTAINS ! !---------------------------------------------------------------------- - SUBROUTINE h5tget_native_type_f(dtype_id, direction, native_dtype_id, hdferr) -!This definition is needed for Windows DLLs + 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: @@ -3462,4 +3339,5 @@ CONTAINS hdferr = h5tget_native_type_c(dtype_id, direction, native_dtype_id) END SUBROUTINE h5tget_native_type_f + END MODULE H5T diff --git a/fortran/src/H5Zff.f90 b/fortran/src/H5Zff.f90 index 553722f..343f680 100644 --- a/fortran/src/H5Zff.f90 +++ b/fortran/src/H5Zff.f90 @@ -45,9 +45,7 @@ ! ! Comment: !---------------------------------------------------------------------- - SUBROUTINE h5zunregister_f(filter, hdferr) -! -!This definition is needed for Windows DLLs + SUBROUTINE h5zunregister_f(filter, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: filter INTEGER, INTENT(OUT) :: hdferr ! Error code @@ -88,10 +86,7 @@ ! Modifications: ! !---------------------------------------------------------------------- - SUBROUTINE h5zfilter_avail_f(filter, status, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5zfilter_avail_f(filter, status, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following: ! H5Z_FILTER_DEFLATE_F @@ -148,10 +143,7 @@ ! Modifications: ! !---------------------------------------------------------------------- - SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr) -! -!This definition is needed for Windows DLLs - + SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr) IMPLICIT NONE INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following: ! H5Z_FILTER_DEFLATE_F diff --git a/fortran/src/H5_DBLE_InterfaceExclude.f90 b/fortran/src/H5_DBLE_InterfaceExclude.f90 new file mode 100644 index 0000000..4db8bdd --- /dev/null +++ b/fortran/src/H5_DBLE_InterfaceExclude.f90 @@ -0,0 +1,27 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by The HDF Group. * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from help@hdfgroup.org. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! +! +! FUNCTION +! This module is included for when the default REAL is of type DOUBLE PRECISION. +! We do not include the double precision interfaces if the defaut REAL is +! DOUBLE PRECISION since this would lead to a non-unique conflict with the +! generic interfaces declared as REAL. +! +! +MODULE H5_DBLE_INTERFACE + + +END MODULE H5_DBLE_INTERFACE diff --git a/fortran/src/H5_DBLE_InterfaceInclude.f90 b/fortran/src/H5_DBLE_InterfaceInclude.f90 new file mode 100644 index 0000000..69be022 --- /dev/null +++ b/fortran/src/H5_DBLE_InterfaceInclude.f90 @@ -0,0 +1,1863 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by The HDF Group. * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from help@hdfgroup.org. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! +! +! FUNCTION +! This module is included for when the default REAL is not of the type DOUBLE PRECISION. +! We do not include the double precision interfaces if the defaut REAL is +! DOUBLE PRECISION since this would lead to a non-unique conflict with the +! generic interfaces declared as REAL. Otherwise it is okay to include the interfaces. +! +! +MODULE H5_DBLE_INTERFACE + + USE H5GLOBAL + + ! + ! ----- H5A ---- + ! + INTERFACE h5awrite_f + 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 INTERFACE + + INTERFACE h5aread_f + 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 INTERFACE + ! + ! ----- H5D ---- + ! + INTERFACE h5dwrite_f + MODULE PROCEDURE h5dwrite_double_scalar + MODULE PROCEDURE h5dwrite_double_1 + MODULE PROCEDURE h5dwrite_double_2 + MODULE PROCEDURE h5dwrite_double_3 + MODULE PROCEDURE h5dwrite_double_4 + MODULE PROCEDURE h5dwrite_double_5 + MODULE PROCEDURE h5dwrite_double_6 + MODULE PROCEDURE h5dwrite_double_7 + END INTERFACE + + INTERFACE h5dread_f + MODULE PROCEDURE h5dread_double_scalar + MODULE PROCEDURE h5dread_double_1 + MODULE PROCEDURE h5dread_double_2 + MODULE PROCEDURE h5dread_double_3 + MODULE PROCEDURE h5dread_double_4 + MODULE PROCEDURE h5dread_double_5 + MODULE PROCEDURE h5dread_double_6 + MODULE PROCEDURE h5dread_double_7 + END INTERFACE + + INTERFACE h5dfill_f + MODULE PROCEDURE h5dfill_double + END INTERFACE + + ! + ! ----- H5P ---- + ! + INTERFACE h5pset_fill_value_f + MODULE PROCEDURE h5pset_fill_value_double + END INTERFACE + + INTERFACE h5pget_fill_value_f + MODULE PROCEDURE h5pget_fill_value_double + END INTERFACE + + INTERFACE h5pset_f + MODULE PROCEDURE h5pset_double + END INTERFACE + + INTERFACE h5pget_f + MODULE PROCEDURE h5pget_double + END INTERFACE + + INTERFACE h5pregister_f + MODULE PROCEDURE h5pregister_double + END INTERFACE + + INTERFACE h5pinsert_f + MODULE PROCEDURE h5pinsert_double + END INTERFACE + +CONTAINS + + ! + ! ----- H5A ---- + ! + SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_s_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_s_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_S_C'::h5awrite_double_s_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN)::buf + END FUNCTION h5awrite_double_s_c + END INTERFACE + + hdferr = h5awrite_double_s_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_scalar + + SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1)) :: buf ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_1_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_1_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_1_C'::h5awrite_double_1_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1)) :: buf + END FUNCTION h5awrite_double_1_c + END INTERFACE + + hdferr = h5awrite_double_1_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_1 + + + SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_2_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_2_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_2_C'::h5awrite_double_2_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2)) :: buf + END FUNCTION h5awrite_double_2_c + END INTERFACE + + hdferr = h5awrite_double_2_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_2 + + + SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_3_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_3_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_3_C'::h5awrite_double_3_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + END FUNCTION h5awrite_double_3_c + END INTERFACE + + hdferr = h5awrite_double_3_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_3 + + + SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_4_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_4_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_4_C'::h5awrite_double_4_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + END FUNCTION h5awrite_double_4_c + END INTERFACE + + hdferr = h5awrite_double_4_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_4 + + + SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_5_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_5_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_5_C'::h5awrite_double_5_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + END FUNCTION h5awrite_double_5_c + END INTERFACE + + hdferr = h5awrite_double_5_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_5 + + + SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_6_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_6_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_6_C'::h5awrite_double_6_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + END FUNCTION h5awrite_double_6_c + END INTERFACE + + hdferr = h5awrite_double_6_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_6 + + + SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5awrite_double_7_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5awrite_double_7_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_7_C'::h5awrite_double_7_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + END FUNCTION h5awrite_double_7_c + END INTERFACE + + hdferr = h5awrite_double_7_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5awrite_double_7 + + + SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT) :: buf ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_s_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_s_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_S_C'::h5aread_double_s_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT)::buf + END FUNCTION h5aread_double_s_c + END INTERFACE + + hdferr = h5aread_double_s_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_scalar + + SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_1_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_1_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_1_C'::h5aread_double_1_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1)) :: buf + END FUNCTION h5aread_double_1_c + END INTERFACE + + hdferr = h5aread_double_1_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_1 + + + SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_2_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_2_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_2_C'::h5aread_double_2_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2)) :: buf + END FUNCTION h5aread_double_2_c + END INTERFACE + + hdferr = h5aread_double_2_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_2 + + + SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_3_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_3_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_3_C'::h5aread_double_3_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + END FUNCTION h5aread_double_3_c + END INTERFACE + + hdferr = h5aread_double_3_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_3 + + + SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_4_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_4_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_4_C'::h5aread_double_4_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + END FUNCTION h5aread_double_4_c + END INTERFACE + + hdferr = h5aread_double_4_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_4 + + + SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_5_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_5_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_5_C'::h5aread_double_5_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + END FUNCTION h5aread_double_5_c + END INTERFACE + + hdferr = h5aread_double_5_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_5 + + + SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_6_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_6_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_6_C'::h5aread_double_6_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + END FUNCTION h5aread_double_6_c + END INTERFACE + + hdferr = h5aread_double_6_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_6 + + + SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, dims, 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(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + ! Attribute data + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5aread_double_7_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5aread_double_7_c(attr_id, memtype_id, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_7_C'::h5aread_double_7_c + !DEC$ ENDIF + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes + INTEGER(HID_T), INTENT(IN) :: attr_id + INTEGER(HID_T), INTENT(IN) :: memtype_id + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + END FUNCTION h5aread_double_7_c + END INTERFACE + + hdferr = h5aread_double_7_c(attr_id, memtype_id, buf, dims) + END SUBROUTINE h5aread_double_7 + + + ! + ! ----- H5D ---- + ! + SUBROUTINE h5dwrite_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN) :: buf ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_s_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_s_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_S_C'::h5dwrite_double_s_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN) :: buf + END FUNCTION h5dwrite_double_s_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_s_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_scalar + + SUBROUTINE h5dwrite_double_1(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_1_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_1_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_1_C'::h5dwrite_double_1_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1)) :: buf + END FUNCTION h5dwrite_double_1_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_1_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_1 + + SUBROUTINE h5dwrite_double_2(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_2_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_2_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_2_C'::h5dwrite_double_2_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2)) :: buf + END FUNCTION h5dwrite_double_2_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_2_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_2 + + SUBROUTINE h5dwrite_double_3(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_3_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_3_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_3_C'::h5dwrite_double_3_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + END FUNCTION h5dwrite_double_3_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_3_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_3 + + SUBROUTINE h5dwrite_double_4(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_4_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_4_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_4_C'::h5dwrite_double_4_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + END FUNCTION h5dwrite_double_4_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_4_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_4 + + SUBROUTINE h5dwrite_double_5(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_5_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_5_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_5_C'::h5dwrite_double_5_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + END FUNCTION h5dwrite_double_5_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_5_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_5 + + SUBROUTINE h5dwrite_double_6(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_6_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_6_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_6_C'::h5dwrite_double_6_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + END FUNCTION h5dwrite_double_6_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_6_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_6 + + SUBROUTINE h5dwrite_double_7(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dwrite_double_7_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dwrite_double_7_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_7_C'::h5dwrite_double_7_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(IN), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + END FUNCTION h5dwrite_double_7_c + END INTERFACE + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dwrite_double_7_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dwrite_double_7 + + SUBROUTINE h5dread_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT) :: buf ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_s_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_s_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_S_C'::h5dread_double_s_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(OUT) :: buf + END FUNCTION h5dread_double_s_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_s_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_scalar + + SUBROUTINE h5dread_double_1(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_1_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_1_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_1_C'::h5dread_double_1_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1)) :: buf + END FUNCTION h5dread_double_1_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_1_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_1 + + SUBROUTINE h5dread_double_2(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_2_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_2_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_2_C'::h5dread_double_2_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2)) :: buf + END FUNCTION h5dread_double_2_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_2_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_2 + + SUBROUTINE h5dread_double_3(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_3_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_3_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_3_C'::h5dread_double_3_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3)) :: buf + END FUNCTION h5dread_double_3_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_3_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_3 + + SUBROUTINE h5dread_double_4(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_4_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_4_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_4_C'::h5dread_double_4_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf + END FUNCTION h5dread_double_4_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_4_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_4 + + SUBROUTINE h5dread_double_5(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_5_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_5_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_5_C'::h5dread_double_5_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf + END FUNCTION h5dread_double_5_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_5_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_5 + + SUBROUTINE h5dread_double_6(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_6_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_6_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_6_C'::h5dread_double_6_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf + END FUNCTION h5dread_double_6_c + END INTERFACE + + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_6_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_6 + + SUBROUTINE h5dread_double_7(dset_id, mem_type_id, buf, dims, hdferr, & + mem_space_id, file_space_id, xfer_prp) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier + INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + ! Data buffer + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id + ! Memory dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id + ! File dataspace identfier + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp + ! Transfer property list identifier + + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + + ! INTEGER, EXTERNAL :: h5dread_double_7_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dread_double_7_c(dset_id, mem_type_id, & + mem_space_id_default, & + file_space_id_default, & + xfer_prp_default, buf, dims) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_7_C'::h5dread_double_7_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: dset_id + INTEGER(HID_T), INTENT(IN) :: mem_type_id + INTEGER(HID_T) :: mem_space_id_default + INTEGER(HID_T) :: file_space_id_default + INTEGER(HID_T) :: xfer_prp_default + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + DOUBLE PRECISION, INTENT(INOUT), & + DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf + END FUNCTION h5dread_double_7_c + END INTERFACE + + xfer_prp_default = H5P_DEFAULT_F + mem_space_id_default = H5S_ALL_F + file_space_id_default = H5S_ALL_F + + if (present(xfer_prp)) xfer_prp_default = xfer_prp + if (present(mem_space_id)) mem_space_id_default = mem_space_id + if (present(file_space_id)) file_space_id_default = file_space_id + + hdferr = h5dread_double_7_c(dset_id, mem_type_id, mem_space_id_default, & + file_space_id_default, xfer_prp_default, buf, dims) + + END SUBROUTINE h5dread_double_7 + + !---------------------------------------------------------------------- + ! Name: h5dfill_double + ! + ! Purpose: Fills dataspace elements with a fill value in a memory buffer. + ! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes + ! of the fillvalues and buffers are supported. Buffer and fillvalue + ! are assumed to have the same datatype. + ! Only one-dimesional buffers are supported. + ! + ! Inputs: + ! fill_value - fill value + ! space_id - memory space selection identifier + ! buf - data buffer iin memory ro apply selection to + ! - of k-th dimension of the buf array + ! Outputs: + ! hdferr: - error code + ! Success: 0 + ! Failure: -1 + ! + ! Programmer: Elena Pourmal + ! March 12, 2003 + ! + !---------------------------------------------------------------------- + + SUBROUTINE h5dfill_double(fill_value, space_id, buf, hdferr) + IMPLICIT NONE + DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value + INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier + DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in + INTEGER, INTENT(OUT) :: hdferr ! Error code + + INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier + INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier + + ! INTEGER, EXTERNAL :: h5dfill_double_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5dfill_double_c(fill_value, fill_type_id, space_id, & + buf, mem_type_id) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5DFILL_DOUBLE_C'::h5dfill_double_c + !DEC$ ENDIF + DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value + INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier + INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier + DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in + INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier + END FUNCTION h5dfill_double_c + END INTERFACE + fill_type_id = H5T_NATIVE_DOUBLE + mem_type_id = H5T_NATIVE_DOUBLE + + hdferr = h5dfill_double_c(fill_value, fill_type_id, space_id, & + buf, mem_type_id) + + + END SUBROUTINE h5dfill_double + + ! + ! -- H5P --- + ! + + SUBROUTINE h5pset_fill_value_double(prp_id, type_id, fillvalue, & + hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of + ! of fillvalue datatype + ! (in memory) + DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5pset_fill_value_double_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5pset_fill_value_double_c(prp_id, type_id, fillvalue) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUE_DOUBLE_C'::h5pset_fill_value_double_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: prp_id + INTEGER(HID_T), INTENT(IN) :: type_id + DOUBLE PRECISION, INTENT(IN) :: fillvalue + END FUNCTION h5pset_fill_value_double_c + END INTERFACE + + hdferr = h5pset_fill_value_double_c(prp_id, type_id, fillvalue) + END SUBROUTINE h5pset_fill_value_double + + + SUBROUTINE h5pget_fill_value_double(prp_id, type_id, fillvalue, & + hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of + ! of fillvalue datatype + ! (in memory) + DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue + INTEGER, INTENT(OUT) :: hdferr ! Error code + + ! INTEGER, EXTERNAL :: h5pget_fill_value_double_c + ! MS FORTRAN needs explicit interface for C functions called here. + ! + INTERFACE + INTEGER FUNCTION h5pget_fill_value_double_c(prp_id, type_id, fillvalue) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUE_DOUBLE_C'::h5pget_fill_value_double_c + !DEC$ ENDIF + INTEGER(HID_T), INTENT(IN) :: prp_id + INTEGER(HID_T), INTENT(IN) :: type_id + DOUBLE PRECISION :: fillvalue + END FUNCTION h5pget_fill_value_double_c + END INTERFACE + + hdferr = h5pget_fill_value_double_c(prp_id, type_id, fillvalue) + END SUBROUTINE h5pget_fill_value_double + + + !---------------------------------------------------------------------- + ! Name: h5pset_double + ! + ! Purpose: Sets a property list value + ! + ! Inputs: + ! prp_id - iproperty list identifier to modify + ! name - name of property to modify + ! value - value to set property to + ! Outputs: + ! hdferr: - error code + ! Success: 0 + ! Failure: -1 + ! Optional parameters: + ! NONE + ! + ! Programmer: Elena Pourmal + ! October 9, 2002 + ! + ! Modifications: + ! + ! Comment: + !---------------------------------------------------------------------- + + SUBROUTINE h5pset_double(prp_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify + DOUBLE PRECISION, INTENT(IN) :: value ! Property value + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER :: name_len + + INTERFACE + INTEGER FUNCTION h5pset_double_c(prp_id, name, name_len, value) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PSET_DOUBLE_C'::h5pset_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: prp_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: name_len + DOUBLE PRECISION, INTENT(IN) :: value + END FUNCTION h5pset_double_c + END INTERFACE + + name_len = LEN(name) + hdferr = h5pset_double_c(prp_id, name , name_len, value) + END SUBROUTINE h5pset_double + + + !---------------------------------------------------------------------- + ! Name: h5pget_double + ! + ! Purpose: Gets a property list value + ! + ! Inputs: + ! prp_id - iproperty list identifier to modify + ! name - name of property to modify + ! Outputs: + ! value - value of property + ! hdferr: - error code + ! Success: 0 + ! Failure: -1 + ! Optional parameters: + ! NONE + ! + ! Programmer: Elena Pourmal + ! October 9, 2002 + ! + ! Modifications: + ! + ! Comment: + !---------------------------------------------------------------------- + + SUBROUTINE h5pget_double(prp_id, name, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify + DOUBLE PRECISION, INTENT(OUT) :: value ! Property value + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER :: name_len + + INTERFACE + INTEGER FUNCTION h5pget_double_c(prp_id, name, name_len, value) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PGET_DOUBLE_C'::h5pget_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: prp_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: name_len + DOUBLE PRECISION, INTENT(OUT) :: value + END FUNCTION h5pget_double_c + END INTERFACE + + name_len = LEN(name) + hdferr = h5pget_double_c(prp_id, name , name_len, value) + END SUBROUTINE h5pget_double + + + !---------------------------------------------------------------------- + ! Name: h5pregister_double + ! + ! Purpose: Registers a permanent property with a property list class. + ! + ! Inputs: + ! class - property list class to register + ! permanent property within + ! name - name of property to register + ! size - size of property in bytes + ! value - default value for property in newly + ! created property lists + ! Outputs: + ! hdferr: - error code + ! Success: 0 + ! Failure: -1 + ! Optional parameters: + ! NONE + ! + ! Programmer: Elena Pourmal + ! October 10, 2002 + ! + ! Modifications: + ! + ! Comment: + !---------------------------------------------------------------------- + + SUBROUTINE h5pregister_double(class, name, size, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register + INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value + DOUBLE PRECISION, INTENT(IN) :: value ! Property value + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER :: name_len + + INTERFACE + INTEGER FUNCTION h5pregister_double_c(class, name, name_len, size, value) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PREGISTER_DOUBLE_C'::h5pregister_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: class + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: name_len + INTEGER(SIZE_T), INTENT(IN) :: size + DOUBLE PRECISION, INTENT(IN) :: value + END FUNCTION h5pregister_double_c + END INTERFACE + + name_len = LEN(name) + hdferr = h5pregister_double_c(class, name , name_len, size, value) + END SUBROUTINE h5pregister_double + + !---------------------------------------------------------------------- + ! Name: h5pinsert_double + ! + ! Purpose: Registers a temporary property with a property list class. + ! + ! Inputs: + ! plist - property list identifier + ! permanent property within + ! name - name of property to insert + ! size - size of property in bytes + ! value - initial value for the property + ! Outputs: + ! hdferr: - error code + ! Success: 0 + ! Failure: -1 + ! Optional parameters: + ! NONE + ! + ! Programmer: Elena Pourmal + ! October 10, 2002 + ! + ! Modifications: + ! + ! Comment: + !---------------------------------------------------------------------- + + SUBROUTINE h5pinsert_double(plist, name, size, value, hdferr) + IMPLICIT NONE + INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier + CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert + INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value + DOUBLE PRECISION, INTENT(IN) :: value ! Property value + INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER :: name_len + + INTERFACE + INTEGER FUNCTION h5pinsert_double_c(plist, name, name_len, size, value) + USE H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5PINSERT_DOUBLE_C'::h5pinsert_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: name + INTEGER(HID_T), INTENT(IN) :: plist + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: name_len + INTEGER(SIZE_T), INTENT(IN) :: size + DOUBLE PRECISION, INTENT(IN) :: value + END FUNCTION h5pinsert_double_c + END INTERFACE + + name_len = LEN(name) + hdferr = h5pinsert_double_c(plist, name , name_len, size, value) + END SUBROUTINE h5pinsert_double + +END MODULE H5_DBLE_INTERFACE diff --git a/fortran/src/H5_ff.f90 b/fortran/src/H5_ff.f90 index a8cbc3b..5a372b6 100644 --- a/fortran/src/H5_ff.f90 +++ b/fortran/src/H5_ff.f90 @@ -39,8 +39,6 @@ CONTAINS ! Comment: !---------------------------------------------------------------------- SUBROUTINE h5open_f(error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE @@ -120,8 +118,6 @@ CONTAINS END INTERFACE error_0 = h5open_c() error_1 = h5init_types_c(predef_types, floating_types, integer_types) - print*,'here' - print*,predef_types error_2 = h5init_flags_c(H5D_flags, & H5F_flags, & H5FD_flags, & @@ -165,8 +161,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5close_f(error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE @@ -227,8 +221,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5get_libversion_f(majnum, minnum, relnum, error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE @@ -269,8 +261,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5check_version_f(majnum, minnum, relnum, error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE @@ -310,8 +300,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5garbage_collect_f(error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE @@ -349,8 +337,6 @@ CONTAINS !---------------------------------------------------------------------- SUBROUTINE h5dont_atexit_f(error) -! -!This definition is needed for Windows DLLs USE H5GLOBAL IMPLICIT NONE diff --git a/fortran/src/H5test_kind.f90 b/fortran/src/H5test_kind.f90 index db7178e..e357fea 100644 --- a/fortran/src/H5test_kind.f90 +++ b/fortran/src/H5test_kind.f90 @@ -17,131 +17,123 @@ ! This fortran program generates H5fortran_detect.f90 ! ! - PROGRAM test_kind - INTEGER :: i, j, ii, last, kind_numbers(10) - INTEGER :: jr, jd - last = -1 - ii = 0 - j = SELECTED_INT_KIND(18) -! write(*,*) j - DO i = 1,100 - j = SELECTED_INT_KIND(i) - IF(j .NE. last) THEN - IF(last .NE. -1) THEN - ii = ii + 1 - kind_numbers(ii) = last - ENDIF - last = j - IF(j .EQ. -1) EXIT - ENDIF - ENDDO -! write(*,*) kind_numbers(1:ii) +PROGRAM test_kind + INTEGER :: i, j, ii, last, kind_numbers(10) + INTEGER :: jr, jd + last = -1 + ii = 0 + j = SELECTED_INT_KIND(18) + DO i = 1,100 + j = SELECTED_INT_KIND(i) + IF(j .NE. last) THEN + IF(last .NE. -1) THEN + ii = ii + 1 + kind_numbers(ii) = last + ENDIF + last = j + IF(j .EQ. -1) EXIT + ENDIF + ENDDO ! Generate a program - WRITE(*,*) "program int_kind" - WRITE(*,*) "write(*,*) "" /*generating header file*/ """ - j = 0 - WRITE(*, "("" call i"", i2.2,""()"")") j - jr = 0 - WRITE(*, "("" call r"", i2.2,""()"")") jr - jd = 0 - WRITE(*, "("" call d"", i2.2,""()"")") jd - DO i = 1, ii - j = kind_numbers(i) - WRITE(*, "("" call i"", i2.2,""()"")") j - ENDDO - WRITE(*,*) "end program int_kind" - j = 0 - WRITE(*, "("" subroutine i"", i2.2,""()"")") j - WRITE(*,*)" implicit none" - WRITE(*,*)" integer :: a = 0" - WRITE(*,*)" integer :: a_size" - WRITE(*,*)" a_size = bit_size(a)" - WRITE(*,*)" if (a_size .eq. 8) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_NATIVE_1"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 16) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_NATIVE_2"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 32) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_NATIVE_4"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 64) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_NATIVE_8"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 128) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_NATIVE_16"" " - WRITE(*,*)" endif" - WRITE(*,*)" return" - WRITE(*,*)" end subroutine" - jr = 0 - WRITE(*, "("" subroutine r"", i2.2,""()"")") j - WRITE(*,*)" implicit none" - WRITE(*,*)" real :: b(1) = 0" - WRITE(*,*)" integer :: a(1) = 0" - WRITE(*,*)" integer :: a_size" - WRITE(*,*)" integer :: real_size" - WRITE(*,*)" integer :: ab_size ! How many integers needed to hold a real" - WRITE(*,*)" integer :: ba_size ! How many reals needed to hold an integer" - WRITE(*,*)" a_size = bit_size(a(1)) ! Size in bits for integer" - WRITE(*,*)" ab_size = size(transfer(b,a))" - WRITE(*,*)" ba_size = size(transfer(a,b))" - WRITE(*,*)" if (ab_size .eq. ba_size) real_size=a_size" - WRITE(*,*)" if (ab_size .gt. ba_size) real_size=a_size*ba_size" - WRITE(*,*)" if (ab_size .lt. ba_size) real_size=a_size/ba_size" - WRITE(*,*)" if (real_size .eq. 32) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_4"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (real_size .eq. 64) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_8"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (real_size .eq. 128) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_16"" " - WRITE(*,*)" endif" - WRITE(*,*)" return" - WRITE(*,*)" end subroutine" - jd = 0 - WRITE(*, "("" subroutine d"", i2.2,""()"")") jd - WRITE(*,*)" implicit none" - WRITE(*,*)" double precision :: b = 0" - WRITE(*,*)" integer :: a(8) = 0" - WRITE(*,*)" integer :: a_size" - WRITE(*,*)" integer :: b_size" - WRITE(*,*)" a_size = bit_size(a(1))" - WRITE(*,*)" b_size = size(transfer(b,a))*a_size" - WRITE(*,*)" if (b_size .eq. 64) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_DOUBLE_NATIVE_8"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (b_size .eq. 128) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_DOUBLE_NATIVE_16"" " - WRITE(*,*)" endif" - WRITE(*,*)" return" - WRITE(*,*)" end subroutine" - DO i = 1, ii - j = kind_numbers(i) - WRITE(*, "("" subroutine i"", i2.2,""()"")") j - WRITE(*,*)" implicit none" - WRITE(*,*)" integer(",j,") :: a = 0" - WRITE(*,*)" integer :: a_size" - WRITE(*,*)" a_size = bit_size(a)" - WRITE(*,*)" if (a_size .eq. 8) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_INTEGER_1"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 16) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_INTEGER_2"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 32) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_INTEGER_4"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 64) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_INTEGER_8"" " - WRITE(*,*)" endif" - WRITE(*,*)" if (a_size .eq. 128) then" - WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_INTEGER_16"" " - WRITE(*,*)" endif" - WRITE(*,*)" return" - WRITE(*,*)" end subroutine" - ENDDO - END PROGRAM - + WRITE(*,*) "PROGRAM int_kind" + WRITE(*,*) "WRITE(*,*) "" /*generating header file*/ """ + j = 0 + WRITE(*, "("" CALL i"", i2.2,""()"")") j + jr = 0 + WRITE(*, "("" CALL r"", i2.2,""()"")") jr + jd = 0 + WRITE(*, "("" CALL d"", i2.2,""()"")") jd + DO i = 1, ii + j = kind_numbers(i) + WRITE(*, "("" CALL i"", i2.2,""()"")") j + ENDDO + WRITE(*,*) "END PROGRAM int_kind" + j = 0 + WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" INTEGER :: a = 0" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" a_size = BIT_SIZE(a)" + WRITE(*,*)" IF (a_size .EQ. 8) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_NATIVE_1"" " + WRITE(*,*)" endif" + WRITE(*,*)" IF (a_size .EQ. 16) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_NATIVE_2"" " + WRITE(*,*)" endif" + WRITE(*,*)" IF (a_size .EQ. 32) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_NATIVE_4"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 64) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_NATIVE_8"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 128) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_NATIVE_16"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + jr = 0 + WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" REAL :: b(32)" + WRITE(*,*)" INTEGER :: a(1)" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" INTEGER :: real_size" + WRITE(*,*)" a_size = BIT_SIZE(a(1)) ! Size in bits for integer" + WRITE(*,*)" real_size = (SIZE(TRANSFER(b,a))*a_size)/SIZE(b)" + WRITE(*,*)" IF (real_size .EQ. 32) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_4"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (real_size .EQ. 64) THEN" + WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_8"" " + WRITE(*,*)" endif" + WRITE(*,*)" IF (real_size .EQ. 128) THEN" + WRITE(*,*)" write(*,*) ""#define H5_FORTRAN_HAS_REAL_NATIVE_16"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + jd = 0 + WRITE(*, "("" SUBROUTINE d"", i2.2,""()"")") jd + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" DOUBLE PRECISION :: b=0" + WRITE(*,*)" INTEGER :: a(8)=0" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" INTEGER :: b_size" + WRITE(*,*)" a_size = BIT_SIZE(a(1))" + WRITE(*,*)" b_size = SIZE(transfer(b,a))*a_size" + WRITE(*,*)" IF (b_size .EQ. 64) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_DOUBLE_NATIVE_8"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (b_size .EQ. 128) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_DOUBLE_NATIVE_16"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + DO i = 1, ii + j = kind_numbers(i) + WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" INTEGER(",j,") :: a = 0" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" a_size = BIT_SIZE(a)" + WRITE(*,*)" IF (a_size .EQ. 8) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_INTEGER_1"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 16) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_INTEGER_2"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 32) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_INTEGER_4"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 64) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_INTEGER_8"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" IF (a_size .EQ. 128) THEN" + WRITE(*,*)" WRITE(*,*) ""#define H5_FORTRAN_HAS_INTEGER_16"" " + WRITE(*,*)" ENDIF" + WRITE(*,*)" RETURN" + WRITE(*,*)" END SUBROUTINE" + ENDDO +END PROGRAM test_kind + diff --git a/fortran/src/H5test_kind_SIZEOF.f90 b/fortran/src/H5test_kind_SIZEOF.f90 new file mode 100644 index 0000000..72d9176 --- /dev/null +++ b/fortran/src/H5test_kind_SIZEOF.f90 @@ -0,0 +1,100 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! +! H5test_kind_SIZEOF.f90 +! +! This fortran program generates H5fortran_detect.f90 +! +! +PROGRAM test_kind + INTEGER :: i, j, ii, last, kind_numbers(10) + INTEGER :: jr, jd + last = -1 + ii = 0 + j = SELECTED_INT_KIND(18) + DO i = 1,100 + j = SELECTED_INT_KIND(i) + IF(j .NE. last) THEN + IF(last .NE. -1) THEN + ii = ii + 1 + kind_numbers(ii) = last + ENDIF + last = j + IF(j .EQ. -1) EXIT + ENDIF + ENDDO +! Generate a program + WRITE(*,*) "PROGRAM int_kind" + WRITE(*,*) "WRITE(*,*) "" /*generating header file*/ """ + j = 0 + WRITE(*, "("" CALL i"", i2.2,""()"")") j + jr = 0 + WRITE(*, "("" CALL r"", i2.2,""()"")") jr + jd = 0 + WRITE(*, "("" CALL d"", i2.2,""()"")") jd + DO i = 1, ii + j = kind_numbers(i) + WRITE(*, "("" CALL i"", i2.2,""()"")") j + ENDDO + WRITE(*,*) "END PROGRAM int_kind" + j = 0 + WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" INTEGER :: a" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" CHARACTER(LEN=2) :: ichr2" + WRITE(*,*)" a_size = SIZEOF(a)" + WRITE(*,*)" WRITE(ichr2,'(I2)') a_size" + WRITE(*,*)' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_"'//"//ADJUSTL(ichr2)" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + jr = 0 + WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" REAL :: a" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" CHARACTER(LEN=2) :: ichr2" + WRITE(*,*)" a_size = SIZEOF(a)" + WRITE(*,*)" WRITE(ichr2,'(I2)') a_size" + WRITE(*,*)' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_"'//"//ADJUSTL(ichr2)" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + jd = 0 + WRITE(*, "("" SUBROUTINE d"", i2.2,""()"")") jd + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" DOUBLE PRECISION :: a" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" CHARACTER(LEN=2) :: ichr2" + WRITE(*,*)" a_size = SIZEOF(a)" + WRITE(*,*)" WRITE(ichr2,'(I2)') a_size" + WRITE(*,*)' WRITE(*,*) "#define H5_FORTRAN_HAS_DOUBLE_NATIVE_"'//"//ADJUSTL(ichr2)" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + DO i = 1, ii + j = kind_numbers(i) + WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j + WRITE(*,*)" IMPLICIT NONE" + WRITE(*,*)" INTEGER(",j,") :: a" + WRITE(*,*)" INTEGER :: a_size" + WRITE(*,*)" CHARACTER(LEN=2) :: ichr2" + WRITE(*,*)" a_size = SIZEOF(a)" + WRITE(*,*)" WRITE(ichr2,'(I2)') a_size" + WRITE(*,*)' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_"'//"//ADJUSTL(ichr2)" + WRITE(*,*)" RETURN" + WRITE(*,*)"END SUBROUTINE" + ENDDO +END PROGRAM test_kind + + + diff --git a/fortran/src/HDF5.f90 b/fortran/src/HDF5.f90 index 04ad33d..1d758fb 100644 --- a/fortran/src/HDF5.f90 +++ b/fortran/src/HDF5.f90 @@ -28,6 +28,7 @@ MODULE HDF5 USE H5P USE H5R USE H5Z + USE H5_DBLE_INTERFACE USE H5LIB END MODULE HDF5 diff --git a/fortran/src/HDF5mpio.f90 b/fortran/src/HDF5mpio.f90 index 59ec309..6febef8 100644 --- a/fortran/src/HDF5mpio.f90 +++ b/fortran/src/HDF5mpio.f90 @@ -29,5 +29,6 @@ USE H5FDMPIO USE H5R USE H5Z + USE H5_DBLE_INTERFACE USE H5LIB END MODULE HDF5 diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am index 47caf20..2f8e841 100644 --- a/fortran/src/Makefile.am +++ b/fortran/src/Makefile.am @@ -45,13 +45,25 @@ else PARALLEL_COND_SRC = HDF5.f90 endif +# Condition for including/excluding the DBLE interfaces for when the +# default REAL is of type DOUBLE PRECISION. +# We do not include the double precision interfaces if the defaut REAL is +# DOUBLE PRECISION since this would lead to a non-unique conflict with the +# generic interfaces declared as REAL. +if FORTRAN_DEFAULT_REALisDBLE_F + F_DBLE = Exclude +else + F_DBLE = Include +endif + # Source files for the library. libhdf5_fortran_la_SOURCES=H5fortran_flags.f90 H5f90global.f90 \ H5fortran_types.f90 H5_ff.f90 H5Aff.f90 H5Dff.f90 H5Eff.f90 \ H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 \ H5Tff.f90 H5Zff.f90 \ + H5_DBLE_Interface$(F_DBLE).f90 \ H5f90kit.c H5_f.c H5Af.c H5Df.c H5Ef.c H5Ff.c H5Gf.c \ - H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \ + H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \ $(PARALLEL_COND_SRC) # h5fc and libhdf5_fortran.settings are generated during configure. @@ -140,13 +152,20 @@ H5match_types.$(OBJEXT): H5fort_type_defines.h # files. H5fortran_detect_SOURCES = H5fortran_detect.f90 -# H5test_kind.f90 generates H5fortran_detect.f90. +# H5test_kind.f90 generates H5Fortran_detect.f90 depending on if +# intrinsic function SIZEOF is available. + H5fortran_detect.f90: H5test_kind$(EXEEXT) $(RUNSERIAL) ./H5test_kind$(EXEEXT) > H5fortran_detect.f90 # H5test_kind.f90 is included in the distribution, and Automake knows # how to compile a fortran program given its sources. -H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90 + +if FORTRAN_HAVE_SIZEOF + H5test_kind_SOURCES = $(srcdir)/H5test_kind_SIZEOF.f90 +else + H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90 +endif # Mark this directory as part of the Fortran API FORTRAN_API=yes @@ -160,6 +179,7 @@ H5f90global.lo: $(srcdir)/H5f90global.f90 H5fortran_flags.lo H5fortran_type H5fortran_types.lo: H5fortran_types.f90 H5fortran_detect.lo: H5fortran_detect.f90 H5test_kind.lo: $(srcdir)/H5test_kind.f90 +H5test_kind_SIZEOF.lo: $(srcdir)/H5test_kind_SIZEOF.f90 H5_ff.lo: $(srcdir)/H5_ff.f90 H5f90global.lo H5Aff.lo: $(srcdir)/H5Aff.f90 H5f90global.lo H5Dff.lo: $(srcdir)/H5Dff.f90 H5f90global.lo @@ -174,12 +194,15 @@ H5Rff.lo: $(srcdir)/H5Rff.f90 H5f90global.lo H5Sff.lo: $(srcdir)/H5Sff.f90 H5f90global.lo H5Tff.lo: $(srcdir)/H5Tff.f90 H5f90global.lo H5Zff.lo: $(srcdir)/H5Zff.f90 H5f90global.lo +H5_DBLE_Interface$(F_DBLE).lo: $(srcdir)/H5_DBLE_Interface$(F_DBLE).f90 H5Aff.lo H5Dff.lo H5Pff.lo + HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5Aff.lo \ H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \ - H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo + H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo \ + H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5Aff.lo \ H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \ - H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo H5FDmpioff.lo + H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo include $(top_srcdir)/config/conclude.am diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index d717520..29299e2 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -80,18 +80,19 @@ am__libhdf5_fortran_la_SOURCES_DIST = H5fortran_flags.f90 \ H5f90global.f90 H5fortran_types.f90 H5_ff.f90 H5Aff.f90 \ H5Dff.f90 H5Eff.f90 H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 \ H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 H5Tff.f90 H5Zff.f90 \ - H5f90kit.c H5_f.c H5Af.c H5Df.c H5Ef.c H5Ff.c H5Gf.c H5If.c \ - H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c HDF5.f90 \ - H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90 + H5_DBLE_Interface$(F_DBLE).f90 H5f90kit.c H5_f.c H5Af.c H5Df.c \ + H5Ef.c H5Ff.c H5Gf.c H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c \ + H5Tf.c H5Zf.c HDF5.f90 H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90 @BUILD_PARALLEL_CONDITIONAL_FALSE@am__objects_1 = HDF5.lo @BUILD_PARALLEL_CONDITIONAL_TRUE@am__objects_1 = H5FDmpiof.lo \ @BUILD_PARALLEL_CONDITIONAL_TRUE@ HDF5mpio.lo H5FDmpioff.lo am_libhdf5_fortran_la_OBJECTS = H5fortran_flags.lo H5f90global.lo \ H5fortran_types.lo H5_ff.lo H5Aff.lo H5Dff.lo H5Eff.lo \ H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo H5Off.lo H5Pff.lo H5Rff.lo \ - H5Sff.lo H5Tff.lo H5Zff.lo H5f90kit.lo H5_f.lo H5Af.lo H5Df.lo \ - H5Ef.lo H5Ff.lo H5Gf.lo H5If.lo H5Lf.lo H5Of.lo H5Pf.lo \ - H5Rf.lo H5Sf.lo H5Tf.lo H5Zf.lo $(am__objects_1) + H5Sff.lo H5Tff.lo H5Zff.lo H5_DBLE_Interface$(F_DBLE).lo \ + H5f90kit.lo H5_f.lo H5Af.lo H5Df.lo H5Ef.lo H5Ff.lo H5Gf.lo \ + H5If.lo H5Lf.lo H5Of.lo H5Pf.lo H5Rf.lo H5Sf.lo H5Tf.lo \ + H5Zf.lo $(am__objects_1) libhdf5_fortran_la_OBJECTS = $(am_libhdf5_fortran_la_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_H5fortran_detect_OBJECTS = H5fortran_detect.$(OBJEXT) @@ -100,7 +101,12 @@ H5fortran_detect_LDADD = $(LDADD) H5match_types_SOURCES = H5match_types.c H5match_types_OBJECTS = H5match_types.$(OBJEXT) H5match_types_LDADD = $(LDADD) -am_H5test_kind_OBJECTS = H5test_kind.$(OBJEXT) +am__H5test_kind_SOURCES_DIST = $(srcdir)/H5test_kind.f90 \ + $(srcdir)/H5test_kind_SIZEOF.f90 +@FORTRAN_HAVE_SIZEOF_FALSE@am_H5test_kind_OBJECTS = \ +@FORTRAN_HAVE_SIZEOF_FALSE@ H5test_kind.$(OBJEXT) +@FORTRAN_HAVE_SIZEOF_TRUE@am_H5test_kind_OBJECTS = \ +@FORTRAN_HAVE_SIZEOF_TRUE@ H5test_kind_SIZEOF.$(OBJEXT) H5test_kind_OBJECTS = $(am_H5test_kind_OBJECTS) H5test_kind_LDADD = $(LDADD) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src @@ -126,7 +132,7 @@ SOURCES = $(libhdf5_fortran_la_SOURCES) $(H5fortran_detect_SOURCES) \ H5match_types.c $(H5test_kind_SOURCES) DIST_SOURCES = $(am__libhdf5_fortran_la_SOURCES_DIST) \ $(H5fortran_detect_SOURCES) H5match_types.c \ - $(H5test_kind_SOURCES) + $(am__H5test_kind_SOURCES_DIST) settingsDATA_INSTALL = $(INSTALL_DATA) DATA = $(settings_DATA) ETAGS = etags @@ -397,14 +403,23 @@ lib_LTLIBRARIES = libhdf5_fortran.la # Include HDF5.f90 if parallel is disabled, HDF5mpiof* if parallel is enabled @BUILD_PARALLEL_CONDITIONAL_TRUE@PARALLEL_COND_SRC = H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90 +@FORTRAN_DEFAULT_REALisDBLE_F_FALSE@F_DBLE = Include + +# Condition for including/excluding the DBLE interfaces for when the +# default REAL is of type DOUBLE PRECISION. +# We do not include the double precision interfaces if the defaut REAL is +# DOUBLE PRECISION since this would lead to a non-unique conflict with the +# generic interfaces declared as REAL. +@FORTRAN_DEFAULT_REALisDBLE_F_TRUE@F_DBLE = Exclude # Source files for the library. libhdf5_fortran_la_SOURCES = H5fortran_flags.f90 H5f90global.f90 \ H5fortran_types.f90 H5_ff.f90 H5Aff.f90 H5Dff.f90 H5Eff.f90 \ H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 \ H5Tff.f90 H5Zff.f90 \ + H5_DBLE_Interface$(F_DBLE).f90 \ H5f90kit.c H5_f.c H5Af.c H5Df.c H5Ef.c H5Ff.c H5Gf.c \ - H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \ + H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \ $(PARALLEL_COND_SRC) @@ -436,10 +451,11 @@ BUILT_SOURCES = H5f90i_gen.h # Automake knows how to build fortran programs if we tell it the source # files. H5fortran_detect_SOURCES = H5fortran_detect.f90 +@FORTRAN_HAVE_SIZEOF_FALSE@H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90 # H5test_kind.f90 is included in the distribution, and Automake knows # how to compile a fortran program given its sources. -H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90 +@FORTRAN_HAVE_SIZEOF_TRUE@H5test_kind_SOURCES = $(srcdir)/H5test_kind_SIZEOF.f90 # Mark this directory as part of the Fortran API FORTRAN_API = yes @@ -603,6 +619,12 @@ H5test_kind.o: $(srcdir)/H5test_kind.f90 H5test_kind.obj: $(srcdir)/H5test_kind.f90 $(FC) $(AM_FCFLAGS) $(FCFLAGS) -c -o H5test_kind.obj `if test -f '$(srcdir)/H5test_kind.f90'; then $(CYGPATH_W) '$(srcdir)/H5test_kind.f90'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/H5test_kind.f90'; fi` +H5test_kind_SIZEOF.o: $(srcdir)/H5test_kind_SIZEOF.f90 + $(FC) $(AM_FCFLAGS) $(FCFLAGS) -c -o H5test_kind_SIZEOF.o `test -f '$(srcdir)/H5test_kind_SIZEOF.f90' || echo '$(srcdir)/'`$(srcdir)/H5test_kind_SIZEOF.f90 + +H5test_kind_SIZEOF.obj: $(srcdir)/H5test_kind_SIZEOF.f90 + $(FC) $(AM_FCFLAGS) $(FCFLAGS) -c -o H5test_kind_SIZEOF.obj `if test -f '$(srcdir)/H5test_kind_SIZEOF.f90'; then $(CYGPATH_W) '$(srcdir)/H5test_kind_SIZEOF.f90'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/H5test_kind_SIZEOF.f90'; fi` + mostlyclean-libtool: -rm -f *.lo @@ -870,7 +892,9 @@ H5fort_type_defines.h: H5fortran_detect$(EXEEXT) H5match_types.$(OBJEXT): H5fort_type_defines.h -# H5test_kind.f90 generates H5fortran_detect.f90. +# H5test_kind.f90 generates H5Fortran_detect.f90 depending on if +# intrinsic function SIZEOF is available. + H5fortran_detect.f90: H5test_kind$(EXEEXT) $(RUNSERIAL) ./H5test_kind$(EXEEXT) > H5fortran_detect.f90 @@ -883,6 +907,7 @@ H5f90global.lo: $(srcdir)/H5f90global.f90 H5fortran_flags.lo H5fortran_type H5fortran_types.lo: H5fortran_types.f90 H5fortran_detect.lo: H5fortran_detect.f90 H5test_kind.lo: $(srcdir)/H5test_kind.f90 +H5test_kind_SIZEOF.lo: $(srcdir)/H5test_kind_SIZEOF.f90 H5_ff.lo: $(srcdir)/H5_ff.f90 H5f90global.lo H5Aff.lo: $(srcdir)/H5Aff.f90 H5f90global.lo H5Dff.lo: $(srcdir)/H5Dff.f90 H5f90global.lo @@ -897,13 +922,16 @@ H5Rff.lo: $(srcdir)/H5Rff.f90 H5f90global.lo H5Sff.lo: $(srcdir)/H5Sff.f90 H5f90global.lo H5Tff.lo: $(srcdir)/H5Tff.f90 H5f90global.lo H5Zff.lo: $(srcdir)/H5Zff.f90 H5f90global.lo +H5_DBLE_Interface$(F_DBLE).lo: $(srcdir)/H5_DBLE_Interface$(F_DBLE).f90 H5Aff.lo H5Dff.lo H5Pff.lo + HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5Aff.lo \ H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \ - H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo + H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo \ + H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5Aff.lo \ H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \ - H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo H5FDmpioff.lo + H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo # lib/progs/tests targets recurse into subdirectories. build-* targets # build files in this directory. diff --git a/fortran/src/hdf5_fortrandll.def b/fortran/src/hdf5_fortrandll.def index 4f8b7bb..501570b 100644 --- a/fortran/src/hdf5_fortrandll.def +++ b/fortran/src/hdf5_fortrandll.def @@ -1,11 +1,51 @@ EXPORTS
; H5LIB
H5LIB_mp_H5OPEN_F
-H5LIB_mp_H5CLOSE_F
+H5LIB_mp_H5CLOSE_F
H5LIB_mp_H5GET_LIBVERSION_F
H5LIB_mp_H5CHECK_VERSION_F
H5LIB_mp_H5GARBAGE_COLLECT_F
H5LIB_mp_H5DONT_ATEXIT_F
+; H5_DBLE_INTERFACE
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_SCALAR
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_1
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_2
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_3
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_4
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_5
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_6
+H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_7
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_SCALAR
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_1
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_2
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_3
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_4
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_5
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_6
+H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_7
+H5_DBLE_INTERFACE_mp_H5DFILL_DOUBLE
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_SCALAR
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_1
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_2
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_3
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_4
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_5
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_6
+H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_7
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_SCALAR
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_1
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_2
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_3
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_4
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_5
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_6
+H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_7
+H5_DBLE_INTERFACE_mp_H5PGET_DOUBLE
+H5_DBLE_INTERFACE_mp_H5PSET_DOUBLE
+H5_DBLE_INTERFACE_mp_H5PSET_FILL_VALUE_DOUBLE
+H5_DBLE_INTERFACE_mp_H5PGET_FILL_VALUE_DOUBLE
+H5_DBLE_INTERFACE_mp_H5PINSERT_DOUBLE
+H5_DBLE_INTERFACE_mp_H5PREGISTER_DOUBLE
; H5A
H5A_mp_H5ACREATE_F
H5A_mp_H5AOPEN_NAME_F
@@ -26,14 +66,6 @@ H5A_mp_H5AWRITE_REAL_4 H5A_mp_H5AWRITE_REAL_5
H5A_mp_H5AWRITE_REAL_6
H5A_mp_H5AWRITE_REAL_7
-H5A_mp_H5AWRITE_DOUBLE_SCALAR
-H5A_mp_H5AWRITE_DOUBLE_1
-H5A_mp_H5AWRITE_DOUBLE_2
-H5A_mp_H5AWRITE_DOUBLE_3
-H5A_mp_H5AWRITE_DOUBLE_4
-H5A_mp_H5AWRITE_DOUBLE_5
-H5A_mp_H5AWRITE_DOUBLE_6
-H5A_mp_H5AWRITE_DOUBLE_7
H5A_mp_H5AWRITE_CHAR_SCALAR
H5A_mp_H5AWRITE_CHAR_1
H5A_mp_H5AWRITE_CHAR_2
@@ -58,14 +90,6 @@ H5A_mp_H5AREAD_REAL_4 H5A_mp_H5AREAD_REAL_5
H5A_mp_H5AREAD_REAL_6
H5A_mp_H5AREAD_REAL_7
-H5A_mp_H5AREAD_DOUBLE_SCALAR
-H5A_mp_H5AREAD_DOUBLE_1
-H5A_mp_H5AREAD_DOUBLE_2
-H5A_mp_H5AREAD_DOUBLE_3
-H5A_mp_H5AREAD_DOUBLE_4
-H5A_mp_H5AREAD_DOUBLE_5
-H5A_mp_H5AREAD_DOUBLE_6
-H5A_mp_H5AREAD_DOUBLE_7
H5A_mp_H5AREAD_CHAR_SCALAR
H5A_mp_H5AREAD_CHAR_1
H5A_mp_H5AREAD_CHAR_2
@@ -126,14 +150,6 @@ H5D_mp_H5DWRITE_REAL_4 H5D_mp_H5DWRITE_REAL_5
H5D_mp_H5DWRITE_REAL_6
H5D_mp_H5DWRITE_REAL_7
-H5D_mp_H5DWRITE_DOUBLE_SCALAR
-H5D_mp_H5DWRITE_DOUBLE_1
-H5D_mp_H5DWRITE_DOUBLE_2
-H5D_mp_H5DWRITE_DOUBLE_3
-H5D_mp_H5DWRITE_DOUBLE_4
-H5D_mp_H5DWRITE_DOUBLE_5
-H5D_mp_H5DWRITE_DOUBLE_6
-H5D_mp_H5DWRITE_DOUBLE_7
H5D_mp_H5DREAD_REFERENCE_OBJ
H5D_mp_H5DREAD_REFERENCE_DSETREG
H5D_mp_H5DREAD_INTEGER_SCALAR
@@ -160,14 +176,6 @@ H5D_mp_H5DREAD_REAL_4 H5D_mp_H5DREAD_REAL_5
H5D_mp_H5DREAD_REAL_6
H5D_mp_H5DREAD_REAL_7
-H5D_mp_H5DREAD_DOUBLE_SCALAR
-H5D_mp_H5DREAD_DOUBLE_1
-H5D_mp_H5DREAD_DOUBLE_2
-H5D_mp_H5DREAD_DOUBLE_3
-H5D_mp_H5DREAD_DOUBLE_4
-H5D_mp_H5DREAD_DOUBLE_5
-H5D_mp_H5DREAD_DOUBLE_6
-H5D_mp_H5DREAD_DOUBLE_7
H5D_mp_H5DGET_SPACE_F
H5D_mp_H5DGET_TYPE_F
H5D_mp_H5DSET_EXTENT_F
@@ -182,7 +190,6 @@ H5D_mp_H5DWRITE_VL_STRING H5D_mp_H5DREAD_VL_STRING
H5D_mp_H5DFILL_INTEGER
H5D_mp_H5DFILL_REAL
-H5D_mp_H5DFILL_DOUBLE
H5D_mp_H5DFILL_CHAR
H5D_mp_H5DGET_SPACE_STATUS_F
H5D_mp_H5DCREATE_ANON_F
@@ -291,8 +298,6 @@ H5P_mp_H5PSET_FILL_VALUE_INTEGER H5P_mp_H5PGET_FILL_VALUE_INTEGER
H5P_mp_H5PSET_FILL_VALUE_REAL
H5P_mp_H5PGET_FILL_VALUE_REAL
-H5P_mp_H5PSET_FILL_VALUE_DOUBLE
-H5P_mp_H5PGET_FILL_VALUE_DOUBLE
H5P_mp_H5PSET_FILL_VALUE_CHAR
H5P_mp_H5PGET_FILL_VALUE_CHAR
H5P_mp_H5PGET_VERSION_F
@@ -348,11 +353,9 @@ H5P_mp_H5PSET_HYPER_VECTOR_SIZE_F H5P_mp_H5PGET_HYPER_VECTOR_SIZE_F
H5P_mp_H5PSET_INTEGER
H5P_mp_H5PSET_REAL
-H5P_mp_H5PSET_DOUBLE
H5P_mp_H5PSET_CHAR
H5P_mp_H5PGET_INTEGER
H5P_mp_H5PGET_REAL
-H5P_mp_H5PGET_DOUBLE
H5P_mp_H5PGET_CHAR
H5P_mp_H5PEXIST_F
H5P_mp_H5PGET_SIZE_F
@@ -367,11 +370,9 @@ H5P_mp_H5PCLOSE_CLASS_F H5P_mp_H5PCREATE_CLASS_F
H5P_mp_H5PREGISTER_INTEGER
H5P_mp_H5PREGISTER_REAL
-H5P_mp_H5PREGISTER_DOUBLE
H5P_mp_H5PREGISTER_CHAR
H5P_mp_H5PINSERT_INTEGER
H5P_mp_H5PINSERT_REAL
-H5P_mp_H5PINSERT_DOUBLE
H5P_mp_H5PINSERT_CHAR
H5P_mp_H5PSET_SHUFFLE_F
H5P_mp_H5PSET_EDC_CHECK_F
|