/Lib/encodings/

='none' style='width: 53.4%;'/> -rw-r--r--fortran/src/H5Aff.F90 (renamed from fortran/src/H5Aff.f90)882
-rw-r--r--fortran/src/H5Aff_F03.f901267
-rw-r--r--fortran/src/H5Aff_F90.f901618
-rw-r--r--fortran/src/H5Df.c1506
-rw-r--r--fortran/src/H5Dff.F901878
-rw-r--r--fortran/src/H5Dff.f901035
-rw-r--r--fortran/src/H5Dff_F03.f902389
-rw-r--r--fortran/src/H5Dff_F90.f903004
-rw-r--r--fortran/src/H5Ef.c65
-rw-r--r--fortran/src/H5Eff.F90 (renamed from fortran/src/H5Eff.f90)119
-rw-r--r--fortran/src/H5Eff_F03.f90108
-rw-r--r--fortran/src/H5Eff_F90.f9089
-rw-r--r--fortran/src/H5FDmpiof.c258
-rw-r--r--fortran/src/H5FDmpioff.f90212
-rw-r--r--fortran/src/H5Ff.c238
-rw-r--r--fortran/src/H5Fff.F90 (renamed from fortran/src/H5Fff.f90)225
-rw-r--r--fortran/src/H5Fff_F03.f9099
-rw-r--r--fortran/src/H5Fff_F90.f9043
-rw-r--r--fortran/src/H5Gf.c393
-rw-r--r--fortran/src/H5Gff.F90 (renamed from fortran/src/H5Gff.f90)249
-rw-r--r--fortran/src/H5If.c104
-rw-r--r--fortran/src/H5Iff.F90 (renamed from fortran/src/H5Iff.f90)73
-rw-r--r--fortran/src/H5Lf.c324
-rw-r--r--fortran/src/H5Lff.F90 (renamed from fortran/src/H5Lff.f90)390
-rw-r--r--fortran/src/H5Lff_F03.f90242
-rw-r--r--fortran/src/H5Lff_F90.f9039
-rw-r--r--fortran/src/H5Of.c86
-rw-r--r--fortran/src/H5Off.F90 (renamed from fortran/src/H5Off.f90)554
-rw-r--r--fortran/src/H5Off_F03.f90435
-rw-r--r--fortran/src/H5Off_F90.f9039
-rw-r--r--fortran/src/H5Pf.c2627
-rw-r--r--fortran/src/H5Pff.F90 (renamed from fortran/src/H5Pff.f90)2765
-rw-r--r--fortran/src/H5Pff_F03.f901267
-rw-r--r--fortran/src/H5Pff_F90.f90949
-rw-r--r--fortran/src/H5Rf.c338
-rw-r--r--fortran/src/H5Rff.F90 (renamed from fortran/src/H5Rff_F03.f90)171
-rw-r--r--fortran/src/H5Rff.f90128
-rw-r--r--fortran/src/H5Rff_F90.f90514
-rw-r--r--fortran/src/H5Sf.c554
-rw-r--r--fortran/src/H5Sff.F901754
-rw-r--r--fortran/src/H5Sff.f901875
-rw-r--r--fortran/src/H5Tf.c681
-rw-r--r--fortran/src/H5Tff.F903082
-rw-r--r--fortran/src/H5Tff.f903105
-rw-r--r--fortran/src/H5Tff_F03.f90223
-rw-r--r--fortran/src/H5Tff_F90.f9095
-rw-r--r--fortran/src/H5Zf.c44
-rw-r--r--fortran/src/H5Zff.F90 (renamed from fortran/src/H5Zff.f90)121
-rw-r--r--fortran/src/H5_DBLE_InterfaceExclude.f9039
-rw-r--r--fortran/src/H5_DBLE_InterfaceInclude.f901859
-rw-r--r--fortran/src/H5_buildiface.F901024
-rw-r--r--fortran/src/H5_f.c275
-rw-r--r--fortran/src/H5_ff.F90 (renamed from fortran/src/H5_ff.f90)158
-rw-r--r--fortran/src/H5_ff_F03.f9075
-rw-r--r--fortran/src/H5_ff_F90.f9034
-rw-r--r--fortran/src/H5config_f.inc.cmake84
-rw-r--r--fortran/src/H5config_f.inc.in59
-rw-r--r--fortran/src/H5f90global.F90 (renamed from fortran/src/H5f90global.f90)113
-rw-r--r--fortran/src/H5f90kit.c32
-rw-r--r--fortran/src/H5f90proto.h1468
-rw-r--r--fortran/src/H5fort_type_defines.h.in16
-rw-r--r--fortran/src/H5match_types.c577
-rw-r--r--fortran/src/H5test_kind.f90269
-rw-r--r--fortran/src/H5test_kind_SIZEOF.f90228
-rw-r--r--fortran/src/H5test_kind_STORAGE_SIZE.f90230
-rw-r--r--fortran/src/HDF5.F90 (renamed from fortran/src/HDF5.f90)12
-rw-r--r--fortran/src/HDF5mpio.f9055
-rw-r--r--fortran/src/Makefile.am157
-rw-r--r--fortran/src/Makefile.in306
-rw-r--r--fortran/src/hdf5_fortrandll.def.in272
72 files changed, 15750 insertions, 31533 deletions
diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt
index bb171d4..8f63b3c 100644
--- a/fortran/src/CMakeLists.txt
+++ b/fortran/src/CMakeLists.txt
@@ -19,100 +19,47 @@ if (WIN32)
endif (BUILD_SHARED_LIBS)
endif (WIN32)
+# configure for Fortran preprocessor
+
+# Define Parallel variable for passing to H5config_f.inc.cmake
+set (CMAKE_H5_HAVE_PARALLEL 0)
+if (H5_HAVE_PARALLEL)
+ set (CMAKE_H5_HAVE_PARALLEL 1)
+endif (H5_HAVE_PARALLEL)
+
+set (CMAKE_H5_HAVE_FLOAT128 0)
+if (HAVE_FLOAT128)
+ set (CMAKE_H5_HAVE_FLOAT128 1)
+endif(HAVE_FLOAT128)
+
+configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5config_f.inc.cmake ${CMAKE_BINARY_DIR}/H5config_f.inc @ONLY)
+configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5fort_type_defines.h.in ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h @ONLY)
+
#-----------------------------------------------------------------------------
# Setup the Fortran auto-detection utilities
-# H5test_kind(_SIZEOF,_STORAGE_SIZE).f90 used to generate H5fortran_detect.f90
-# H5fortran_detect.f90 used to generate H5fort_type_defines.h
-# H5fort_type_defines.h used to generate H5f90i_gen.h + H5fortran_types.f90
+# H5_buildiface.F90 used to generate various KIND interfaces
+# H5fort_type_defines.h used to generate H5f90i_gen.h + H5fortran_types.F90
#-----------------------------------------------------------------------------
-if (FORTRAN_HAVE_STORAGE_SIZE)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_STORAGE_SIZE.f90
- )
- if (BUILD_SHARED_LIBS)
- add_executable (H5test_FortranHavekind-shared
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_STORAGE_SIZE.f90
- )
- endif (BUILD_SHARED_LIBS)
- set (H5_TEST_KIND_NAME "h5test_kind_storage_size_mod")
-else (FORTRAN_HAVE_STORAGE_SIZE)
- if (FORTRAN_HAVE_SIZEOF)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_SIZEOF.f90
- )
- if (BUILD_SHARED_LIBS)
- add_executable (H5test_FortranHavekind-shared
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_SIZEOF.f90
- )
- endif (BUILD_SHARED_LIBS)
- set (H5_TEST_KIND_NAME "h5test_kind_sizeof_mod")
- else (FORTRAN_HAVE_SIZEOF)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind.f90
- )
- if (BUILD_SHARED_LIBS)
- add_executable (H5test_FortranHavekind-shared
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind.f90
- )
- endif (BUILD_SHARED_LIBS)
- endif (FORTRAN_HAVE_SIZEOF)
-endif (FORTRAN_HAVE_STORAGE_SIZE)
-if (WIN32 AND MSVC)
- if (BUILD_SHARED_LIBS)
- set_target_properties (H5test_FortranHavekind-shared
- PROPERTIES
- COMPILE_FLAGS "/MT"
- )
- endif (BUILD_SHARED_LIBS)
- set_target_properties (H5test_FortranHavekind
- PROPERTIES
- LINK_FLAGS "/SUBSYSTEM:CONSOLE"
- )
-endif (WIN32 AND MSVC)
-set_target_properties (H5test_FortranHavekind PROPERTIES
- LINKER_LANGUAGE Fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
-)
-if (BUILD_SHARED_LIBS)
- set_target_properties (H5test_FortranHavekind-shared PROPERTIES
- LINKER_LANGUAGE Fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+
+add_executable (H5_buildiface
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5_buildiface.F90
)
-endif (BUILD_SHARED_LIBS)
-set (CMD $<TARGET_FILE:H5test_FortranHavekind>)
-add_custom_command (
- OUTPUT ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
- COMMAND ${CMD}
- ARGS > ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
- WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
- DEPENDS H5test_FortranHavekind
-)
-#-----------------------------------------------------------------------------
-add_executable (H5fortran_detect
- ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
-)
if (WIN32 AND MSVC)
if (BUILD_SHARED_LIBS)
- set_target_properties (H5fortran_detect
+ set_target_properties (H5_buildiface
PROPERTIES
COMPILE_FLAGS "/MT"
)
endif (BUILD_SHARED_LIBS)
- set_target_properties (H5fortran_detect
+ set_target_properties (H5_buildiface
PROPERTIES
LINK_FLAGS "/SUBSYSTEM:CONSOLE"
)
endif (WIN32 AND MSVC)
-set_target_properties (H5fortran_detect PROPERTIES LINKER_LANGUAGE Fortran)
-
-set (CMD $<TARGET_FILE:H5fortran_detect>)
-add_custom_command (
- OUTPUT ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
- COMMAND ${CMD}
- ARGS > ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
- WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
- DEPENDS H5fortran_detect
+set_target_properties (H5_buildiface PROPERTIES
+ LINKER_LANGUAGE Fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${CMAKE_Fortran_MODULE_DIRECTORY})
@@ -124,7 +71,7 @@ add_executable (H5match_types
set (CMD $<TARGET_FILE:H5match_types>)
add_custom_command (
OUTPUT ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
COMMAND ${CMD}
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
DEPENDS H5match_types
@@ -152,12 +99,6 @@ set (f90CStub_C_SRCS
${HDF5_F90_SRC_SOURCE_DIR}/H5Zf.c
)
-if (H5_HAVE_PARALLEL)
- set (f90CStub_C_SRCS
- ${f90CStub_C_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpiof.c
- )
-endif (H5_HAVE_PARALLEL)
set_source_files_properties (${f90CStub_C_SRCS} PROPERTIES LANGUAGE C)
set (f90CStub_C_HDRS
@@ -193,79 +134,51 @@ if (BUILD_SHARED_LIBS)
set (install_targets ${install_targets} ${HDF5_F90_C_LIBSH_TARGET})
endif (BUILD_SHARED_LIBS)
-#-----------------------------------------------------------------------------
-# Fortran 2003 standard
-#-----------------------------------------------------------------------------
-if (HDF5_ENABLE_F2003)
- # F2003 features are enabled
- set (F_STATUS "_F03")
-else (HDF5_ENABLE_F2003)
- # F2003 features are not enabled
- set (F_STATUS "_F90")
-endif (HDF5_ENABLE_F2003)
-
-#-----------------------------------------------------------------------------
-# Fortran Real Size
-#-----------------------------------------------------------------------------
-if (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
- # default real is 4 bytes, so include double signatures
- set (F_DBLE "Include")
-else (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
- # default real is 8 bytes, so exclude double signatures
- set (F_DBLE "Exclude")
-endif (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
+set_source_files_properties (${HDF5_F90_BINARY_DIR}/H5_gen.F90 PROPERTIES GENERATED TRUE)
#-----------------------------------------------------------------------------
# Fortran Modules
#-----------------------------------------------------------------------------
-set (f90_F_SRCS
+set (f90_F_BASE_SRCS
# generated files
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
# normal distribution
- ${HDF5_F90_SRC_SOURCE_DIR}/H5f90global.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Gff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Iff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Off.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Sff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Zff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Off${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_DBLE_Interface${F_DBLE}.f90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5f90global.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Gff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Iff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Off.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Sff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Zff.F90
+)
+
+set (f90_F_SRCS
+ ${f90_F_BASE_SRCS}
+
+ # generated file
+ ${HDF5_F90_BINARY_DIR}/H5_gen.F90
+
+ # normal distribution
+ ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.F90
+)
+
+set (CMD $<TARGET_FILE:H5_buildiface>)
+add_custom_target (H5gen ALL
+ COMMAND ${CMD}
+#v3.2 BYPRODUCT ${HDF5_F90_BINARY_DIR}/H5_gen.F90
+ WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
+ DEPENDS ${f90_F_BASE_SRCS}
)
-#-----------------------------------------------------------------------------
-# Add H5FDMPIO if parallel
-#-----------------------------------------------------------------------------
-if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
- set (f90_F_SRCS
- ${f90_F_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/HDF5mpio.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpioff.f90
- )
-else (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
- set (f90_F_SRCS
- ${f90_F_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.f90
- )
-endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
set_source_files_properties (${f90_F_SRCS} PROPERTIES LANGUAGE Fortran)
#-----------------------------------------------------------------------------
@@ -326,15 +239,15 @@ endif (BUILD_SHARED_LIBS)
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
- FILES
- ${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
- ${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
- ${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
+ FILES
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5f90.h
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
- DESTINATION
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
+ DESTINATION
${HDF5_INSTALL_INCLUDE_DIR}
- COMPONENT
+ COMPONENT
fortheaders
)
@@ -370,17 +283,7 @@ set (mod_files
${MOD_BUILD_DIR}/h5s.mod
${MOD_BUILD_DIR}/h5t.mod
${MOD_BUILD_DIR}/h5z.mod
- ${MOD_BUILD_DIR}/h5a_provisional.mod
- ${MOD_BUILD_DIR}/h5d_provisional.mod
- ${MOD_BUILD_DIR}/h5e_provisional.mod
- ${MOD_BUILD_DIR}/h5f_provisional.mod
- ${MOD_BUILD_DIR}/h5l_provisional.mod
- ${MOD_BUILD_DIR}/h5lib_provisional.mod
- ${MOD_BUILD_DIR}/h5o_provisional.mod
- ${MOD_BUILD_DIR}/h5p_provisional.mod
- ${MOD_BUILD_DIR}/h5r_provisional.mod
- ${MOD_BUILD_DIR}/h5t_provisional.mod
- ${MOD_BUILD_DIR}/h5_dble_interface.mod
+ ${MOD_BUILD_DIR}/h5_gen.mod
)
install (
FILES
diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c
index bc2e9f1..8f012cf 100644
--- a/fortran/src/H5Af.c
+++ b/fortran/src/H5Af.c
@@ -1,6 +1,6 @@
/****h* H5Af/H5Af
* PURPOSE
- * This file contains C stubs for H5A Fortran APIs
+ * This file contains C stubs for H5A Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,29 +26,29 @@
/****if* H5Af/h5acreate_c
* NAME
- * h5acreate_c
+ * h5acreate_c
* PURPOSE
- * Call H5Acreate2 to create an attribute
+ * Call H5Acreate2 to create an attribute
* INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
- * type_id - datatype identifier
- * space_id - dataspace identifier
- * crt_pr - identifier of creation property list
+ * obj_id - object identifier
+ * name - name of the attribute
+ * namelen - name length
+ * type_id - datatype identifier
+ * space_id - dataspace identifier
+ * crt_pr - identifier of creation property list
* OUTPUTS
- * attr_id - attribute identifier
+ * attr_id - attribute identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5acreate_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id,
+h5acreate_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id,
hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *aapl, hid_t_f *attr_id)
/*******/
{
@@ -73,894 +73,26 @@ done:
return ret_value;
}
-/****if* H5Af/h5aopen_name_c
- * NAME
- * h5aopen_name_c
- * PURPOSE
- * Call H5Aopen to open an attribute
- * INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
- * OUTPUTS
- * attr_id - dataset identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id)
-/*******/
-{
- char *c_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_name = HD5f2cstring(name, (size_t)*namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Aopen function.
- */
- if((*attr_id = (hid_t_f)H5Aopen((hid_t)*obj_id, c_name, H5P_DEFAULT)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_name)
- HDfree(c_name);
- return ret_value;
-}
-
-/****if* H5Af/h5awritec_c
- * NAME
- * h5awritec_c
- * PURPOSE
- * Call h5awrite_c to write a character attribute
- * INPUTS
- * attr_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * buf - character data buffer
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday , August 12, 1999
- * HISTORY
- * dims paramete added.
- * April 4, 2001
- * SOURCE
-*/
-int_f
-nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5awritec_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-
-
-/****if* H5Af/h5awrite_c
- * NAME
- * h5awrite_c
- * PURPOSE
- * Call H5Awrite to write a attribute
- * INPUTS
- * attr_id - attribute identifier
- * mem_type_id - memory datatype identifier
- * buf - data buffer
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims parameter added
- * April 4, 2001
- * Added nh5awrite_integer(real,double)_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5awrite_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Awrite function.
- */
- if (H5Awrite((hid_t)*attr_id, (hid_t)*mem_type_id, buf) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-
-/****if* H5Af/h5areadc_c
- * NAME
- * h5areadc_c
- * PURPOSE
- * Call h5aread_c to read character attribute
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * OUTPUTS
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims parameter added.
- * April 4, 2001
- * Added nh5areadc_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5areadc_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5areadc_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-
-
-/****if* H5Af/h5aread_c
- * NAME
- * h5aread_c
- * PURPOSE
- * Call H5Aread to read an attribute
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * OUTPUTS
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims paramete added.
- * April 4, 2001
- * Added nh5aread_integer(real,double)_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aread function.
- */
- if (H5Aread((hid_t)*attr_id, (hid_t)*mem_type_id, buf) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-int_f
-nh5aread_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-
-/****if* H5Af/h5aclose_c
- * NAME
- * h5aclose_c
- * PURPOSE
- * Call H5Aclose to close an attribute
- * INPUTS
- * attr_id - identifier of an attribute to be closed
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-
-int_f
-nh5aclose_c ( hid_t_f *attr_id )
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if (H5Aclose((hid_t)*attr_id) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
/****if* H5Af/h5adelete_c
* NAME
- * h5adelete_c
+ * h5adelete_c
* PURPOSE
- * Call H5Adelete to delete an attribute
+ * Call H5Adelete to delete an attribute
* INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
+ * obj_id - object identifier
+ * name - name of the attribute
+ * namelen - name length
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen)
+h5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -985,131 +117,26 @@ done:
return ret_value;
}
-
-/****if* H5Af/h5aopen_idx_c
- * NAME
- * h5aopen_idx_c
- * PURPOSE
- * Call H5Aopen_by_idx to open an attribute
- * INPUTS
- * obj_id - object identifier
- * idx - attribute index ( zero based)
- * OUTPUTS
- * attr_id - attribute identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id)
-/******/
-{
- int_f ret_value = 0; /* Return value */
-
- /*
- * Call H5Aopen_by_idx function.
- */
- if((*attr_id = (hid_t_f)H5Aopen_by_idx((hid_t)*obj_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)*idx, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-
-/****if* H5Af/h5aget_space_c
- * NAME
- * h5aget_space_c
- * PURPOSE
- * Call H5Aget_space to get attribute's dataspace
- * INPUTS
- * attr_id - attribute identifier
- * OUTPUTS
- * space_id - dataspace identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aget_space_c (hid_t_f *attr_id, hid_t_f *space_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aget_space function.
- */
- if ((*space_id = (hid_t_f)H5Aget_space((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-/****if* H5Af/h5aget_type_c
- * NAME
- * h5aget_type_c
- * PURPOSE
- * Call H5Aget_space to get attribute's datatype
- * INPUTS
- * attr_id - attribute identifier
- * OUTPUTS
- * type_id - datatype identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aget_type_c (hid_t_f *attr_id, hid_t_f *type_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aget_type function.
- */
- if ((*type_id = (hid_t_f)H5Aget_type((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
/****if* H5Af/h5aget_num_attrs_c
* NAME
- * h5aget_num_attrs_c
+ * h5aget_num_attrs_c
* PURPOSE
- * Call H5Oget_info to determine number of
- * attributes of an object
+ * Call H5Oget_info to determine number of
+ * attributes of an object
* INPUTS
- * obj_id - object identifier
- * attr_num - number of attributes
+ * obj_id - object identifier
+ * attr_num - number of attributes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num)
+h5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num)
/******/
{
H5O_info_t oinfo; /* Object info */
@@ -1130,25 +157,25 @@ done:
/****if* H5Af/h5aget_name_c
* NAME
- * h5aget_name_c
+ * h5aget_name_c
* PURPOSE
- * Call H5Aget_name to get attribute's name
+ * Call H5Aget_name to get attribute's name
* INPUTS
- * attr_id - attribute identifier
- * bufsize - size of the buffer
+ * attr_id - attribute identifier
+ * bufsize - size of the buffer
* OUTPUTS
- * buf - buffer to hold the name
+ * buf - buffer to hold the name
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5aget_name_c(hid_t_f *attr_id, size_t_f *bufsize, _fcd buf)
+h5aget_name_c(hid_t_f *attr_id, size_t_f *bufsize, _fcd buf)
/******/
{
size_t c_bufsize;
@@ -1179,99 +206,36 @@ done:
return ret_value;
}
-/****if* H5Af/h5aget_storage_size_c
- * NAME
- * h5aget_storage_size_c
- * PURPOSE
- * Call H5Aget_storage_size
- * INPUTS
- * attr_id - identifier of an attribute
- * OUTPUTS
- * size - attributes storage requirements
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * January, 2008
- * HISTORY
- * N/A
- * SOURCE
-*/
-
-int_f
-nh5aget_storage_size_c ( hid_t_f *attr_id, hsize_t_f *size)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if ((*size = (hsize_t_f)H5Aget_storage_size((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-/****if* H5Af/h5aget_create_plist_c
- * NAME
- * h5aget_create_plist_c
- * PURPOSE
- * Call H5Aget_create_plist
- * INPUTS
- * attr_id - identifier of an attribute
- * OUTPUTS
- * creation_prop_id - Identifier for the attribute’s creation property
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * January, 2008
- * HISTORY
- * N/A
- * SOURCE
-*/
-
-int_f
-nh5aget_create_plist_c ( hid_t_f *attr_id, hid_t_f *creation_prop_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if ((*creation_prop_id = (hid_t_f)H5Aget_create_plist((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
/****if* H5Af/h5arename_by_name_c
* NAME
- * h5arename_by_name_c
+ * h5arename_by_name_c
* PURPOSE
- * Calls H5Arename_by_name
+ * Calls H5Arename_by_name
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object, relative to location,
- * whose attribute is to be renamed
- * obj_name_len - Object name length
- * old_attr_name - Prior attribute name
- * old_attr_name_len - Prior attribute name length
- * new_attr_name - New attribute name
- * new_attr_name_len - New attribute name length
- * lapl_id - Link access property list identifier
+ * loc_id - Object identifier
+ * obj_name - Name of object, relative to location,
+ * whose attribute is to be renamed
+ * obj_name_len - Object name length
+ * old_attr_name - Prior attribute name
+ * old_attr_name_len - Prior attribute name length
+ * new_attr_name - New attribute name
+ * new_attr_name_len - New attribute name length
+ * lapl_id - Link access property list identifier
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5arename_by_name_c( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5arename_by_name_c( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen,
hid_t_f *lapl_id )
@@ -1306,27 +270,27 @@ done:
/****if* H5Af/h5aopen_c
* NAME
- * h5aopen_c
+ * h5aopen_c
* PURPOSE
- * Call H5Aopen to open an attribute
+ * Call H5Aopen to open an attribute
* INPUTS
- * obj_id - Identifer for object to which attribute is attached
+ * obj_id - Identifer for object to which attribute is attached
* attr_name - Attribute access property list
- * attr_namelen - size of attr_name
- * aapl_id - Link access property list
+ * attr_namelen - size of attr_name
+ * aapl_id - Link access property list
* OUTPUTS
- * attr_id - dataset identifier
+ * attr_id - dataset identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aopen_c (hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *aapl_id, hid_t_f *attr_id)
+h5aopen_c (hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *aapl_id, hid_t_f *attr_id)
/******/
{
char *c_attr_name = NULL; /* Buffer to hold C string */
@@ -1351,30 +315,30 @@ done:
}
/****if* H5Af/h5adelete_by_name_c
* NAME
- * h5adelete_by_name_c
+ * h5adelete_by_name_c
* PURPOSE
- * Call h5adelete_by_name to remove an attribute from a specified location
+ * Call h5adelete_by_name to remove an attribute from a specified location
* INPUTS
- * loc_id - identifer for object to which attribute is attached
- * obj_name - object identifier
- * obj_namelen - name length
- * attr_name - name of the attribute
- * attr_namelen - name length
- * lapl_id - link access property list
+ * loc_id - identifer for object to which attribute is attached
+ * obj_name - object identifier
+ * obj_namelen - name length
+ * attr_name - name of the attribute
+ * attr_namelen - name length
+ * lapl_id - link access property list
*
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5adelete_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id)
+h5adelete_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id)
/******/
{
char *c_obj_name = NULL; /* Buffer to hold C string */
@@ -1404,30 +368,30 @@ done:
}
/****if* H5Af/h5adelete_by_idx_c
* NAME
- * h5adelete_by_idx_c
+ * h5adelete_by_idx_c
* PURPOSE
- * Call h5adelete_by_idx
+ * Call h5adelete_by_idx
* INPUTS
- * loc_id - Location or object identifier; may be dataset or group
- * obj_name - object identifier
- * obj_namelen - name length
- * attr_name - name of the attribute
- * attr_namelen - name length
- * lapl_id - link access property list
+ * loc_id - Location or object identifier; may be dataset or group
+ * obj_name - object identifier
+ * obj_namelen - name length
+ * attr_name - name of the attribute
+ * attr_namelen - name length
+ * lapl_id - link access property list
*
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5adelete_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5adelete_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id)
/******/
{
@@ -1454,50 +418,50 @@ done:
}
/****if* H5Af/h5aget_name_by_idx_c
* NAME
- * h5aget_name_by_idx_c
+ * h5aget_name_by_idx_c
* PURPOSE
- * Call h5aget_name_by_idx
+ * Call h5aget_name_by_idx
* INPUTS
*
*
- * loc_id - Identifer for object to which attribute is attached
- * obj_name - Name of object, relative to location,
- * from which attribute is to be removed *TEST* check NULL
- * idx_type - Type of index; Possible values are:
+ * loc_id - Identifer for object to which attribute is attached
+ * obj_name - Name of object, relative to location,
+ * from which attribute is to be removed *TEST* check NULL
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * attr_id - Attribute identifier
- * size - Buffer size ! *TEST* check for 0 value *CHECK* should this return the correct value
+ * n - Attribute’s position in index
+ * attr_id - Attribute identifier
+ * size - Buffer size ! *TEST* check for 0 value *CHECK* should this return the correct value
*
- * lapl_id - Link access property list
- * hdferr - Error code:
- * Returns attribute name size, -1 if fail
+ * lapl_id - Link access property list
+ * hdferr - Error code:
+ * Returns attribute name size, -1 if fail
*
* OUTPUTS
- * name - Attribute name
+ * name - Attribute name
*
* RETURNS
- * Size of buffer on success, -1 on failure
+ * Size of buffer on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_name_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_name_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, _fcd name,
size_t_f *size, hid_t_f *lapl_id)
/******/
@@ -1545,42 +509,42 @@ done:
/****if* H5Af/h5aopen_by_idx_c
* NAME
- * h5aopen_by_idx_c
+ * h5aopen_by_idx_c
* PURPOSE
- * Call H5Aopen_by_idx
+ * Call H5Aopen_by_idx
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * idx_type - Type of index; Possible values are:
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * aapl_id - Attribute access property list
- * lapl_id - Link access property list
+ * n - Attribute’s position in index
+ * aapl_id - Attribute access property list
+ * lapl_id - Link access property list
* OUTPUTS
- * attr_id - attribute identifer
+ * attr_id - attribute identifer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aopen_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aopen_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id )
/******/
{
@@ -1608,29 +572,29 @@ done:
/****if* H5Af/h5aget_info_c
* NAME
- * h5aget_info_c
+ * h5aget_info_c
* PURPOSE
- * Call H5Aget_info
+ * Call H5Aget_info
* INPUTS
- * loc_id - Object identifier
+ * loc_id - Object identifier
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
+h5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
/******/
{
@@ -1660,46 +624,46 @@ done:
/****if* H5Af/h5aget_info_by_idx_c
* NAME
- * h5aget_info_by_idx_c
+ * h5aget_info_by_idx_c
* PURPOSE
- * Call H5Aget_info_by_idx
+ * Call H5Aget_info_by_idx
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * idx_type - Type of index; Possible values are:
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * lapl_id - Link access property list
+ * n - Attribute’s position in index
+ * lapl_id - Link access property list
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
@@ -1739,34 +703,34 @@ done:
/****if* H5Af/h5aget_info_by_name_c
* NAME
- * h5aget_info_by_name_c
+ * h5aget_info_by_name_c
* PURPOSE
- * Call H5Aget_info_by_name
+ * Call H5Aget_info_by_name
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * attr_name - Attribute name
- * attr_namelen - attribute name length
- * lapl_id - Link access property list
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * attr_name - Attribute name
+ * attr_namelen - attribute name length
+ * lapl_id - Link access property list
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
@@ -1810,38 +774,38 @@ done:
/****if* H5Af/h5acreate_by_name_c
* NAME
- * h5acreate_by_name_c
+ * h5acreate_by_name_c
* PURPOSE
- * Call h5acreate_by_name
+ * Call h5acreate_by_name
* INPUTS
*
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * attr_name - Attribute name
- * attr_namelen - attribute name length
- * type_id - Attribute datatype identifier
- * space_id - Attribute dataspace identifier
- * acpl_id - Attribute creation property list identifier (Currently not used.)
- * aapl_id - Attribute access property list identifier (Currently not used.)
- * lapl_id - Link access property list
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * attr_name - Attribute name
+ * attr_namelen - attribute name length
+ * type_id - Attribute datatype identifier
+ * space_id - Attribute dataspace identifier
+ * acpl_id - Attribute creation property list identifier (Currently not used.)
+ * aapl_id - Attribute access property list identifier (Currently not used.)
+ * lapl_id - Link access property list
*
* OUTPUTS
*
- * attr - an attribute identifier
+ * attr - an attribute identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *type_id,
hid_t_f *space_id, hid_t_f *acpl_id, hid_t_f *aapl_id,
hid_t_f *lapl_id, hid_t_f *attr_id )
@@ -1876,27 +840,27 @@ done:
/****if* H5Af/h5aexists_c
* NAME
- * h5aexists_c
+ * h5aexists_c
* PURPOSE
* CAll h5aexists
* INPUTS
*
- * obj_id - Object identifier
- * attr_name - Attribute name
+ * obj_id - Object identifier
+ * attr_name - Attribute name
* OUTPUTS
*
- * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
+ * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aexists_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists)
+h5aexists_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -1922,29 +886,29 @@ done:
/****if* H5Af/h5aexists_by_name_c
* NAME
- * h5aexists_by_name_c
+ * h5aexists_by_name_c
* PURPOSE
* CAll H5Aexists_by_name
* INPUTS
*
- * loc_id - Location identifier
- * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
+ * loc_id - Location identifier
+ * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
* attr_name - Attribute name
- * lapl_id - Link access property list identifier
+ * lapl_id - Link access property list identifier
* OUTPUTS
*
- * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
+ * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aexists_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+h5aexists_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *lapl_id, int_f *attr_exists)
/******/
{
@@ -1976,30 +940,30 @@ done:
/****if* H5Af/h5aopen_by_name_c
* NAME
- * h5aopen_by_name_c
+ * h5aopen_by_name_c
* PURPOSE
- * Call H5Aopen_by_name
+ * Call H5Aopen_by_name
* INPUTS
*
- * loc_id - Location identifier
- * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
+ * loc_id - Location identifier
+ * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
* attr_name - Attribute name
- * aapl_id - Attribute access property list (Currently unused; should be passed in as H5P_DEFAULT.)
- * lapl_id - Link access property list identifier
+ * aapl_id - Attribute access property list (Currently unused; should be passed in as H5P_DEFAULT.)
+ * lapl_id - Link access property list identifier
* OUTPUTS
*
- * attr_id - attribute identifier
+ * attr_id - attribute identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+h5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id)
/******/
{
@@ -2031,29 +995,29 @@ nh5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd
/****if* H5Af/h5arename_c
* NAME
- * h5arename_c
+ * h5arename_c
* PURPOSE
- * Calls H5Arename
+ * Calls H5Arename
* INPUTS
- * loc_id - Object identifier
- * old_attr_name - Prior attribute name
- * old_attr_name_len - Prior attribute name length
- * new_attr_name - New attribute name
- * new_attr_name_len - New attribute name length
+ * loc_id - Object identifier
+ * old_attr_name - Prior attribute name
+ * old_attr_name_len - Prior attribute name length
+ * new_attr_name - New attribute name
+ * new_attr_name_len - New attribute name length
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5arename_c( hid_t_f *loc_id,
+h5arename_c( hid_t_f *loc_id,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen)
/******/
diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.F90
index 25f7fa7..132bf41 100644
--- a/fortran/src/H5Aff.f90
+++ b/fortran/src/H5Aff.F90
@@ -26,22 +26,97 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+!
+! (A) C_LOC and character strings according to the Fortran 2003 standard:
+!
+! 15.1.2.5 C_LOC(X)
+!
+! Argument. X shall either
+!
+! (1) have interoperable type and type parameters and be
+! (a) a variable that has the TARGET attribute and is interoperable,
+! (b) an allocated allocatable variable that has the TARGET attribute
+! and is not an array of zero size, or
+! (c) an associated scalar pointer, or
+! (2) be a nonpolymorphic scalar, have no length type parameters, and be
+! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
+! (b) an allocated allocatable variable that has the TARGET attribute, or
+! (c) an associated pointer.
+!
+! - When X is a character, for interoperability the standard is:
+!
+! 15.2.1 Interoperability of intrinsic types
+!
+! ...if the type is character, interoperability also requires that the length type parameter
+! be omitted or be specified by an initialization expression whose value is one.
+!
+! THEREFORE compilers that have not extended the standard require
+!
+! CHARACTER(LEN=1), TARGET :: chr
+! or
+! CHARACTER, TARGET :: chr
+!
+! (B)
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5A function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!
!*****
+#include <H5config_f.inc>
+
MODULE H5A
+ USE, INTRINSIC :: ISO_C_BINDING
+
USE H5GLOBAL
-!
-! On Windows there are no big (integer*8) integers, so overloading
-! for bug #670 does not work. I have to use DEC compilation directives to make
-! Windows DEC Visual Fortran and OSF compilers happy and do right things.
-! 05/01/02 EP
-!
+
+ INTERFACE h5awrite_f
+ MODULE PROCEDURE h5awrite_char_scalar
+ ! This is the preferred way to call h5awrite
+ ! by passing an address
+ MODULE PROCEDURE h5awrite_ptr
+ END INTERFACE
+
+ INTERFACE h5aread_f
+ MODULE PROCEDURE h5aread_char_scalar
+ ! This is the preferred way to call h5aread
+ ! by passing an address
+ MODULE PROCEDURE h5aread_ptr
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Awrite routine
+ INTERFACE
+ INTEGER FUNCTION h5awrite_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5awrite_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5awrite_f_c
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Aread routine
+ INTERFACE
+ INTEGER FUNCTION h5aread_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5aread_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5aread_f_c
+ END INTERFACE
CONTAINS
@@ -80,7 +155,7 @@ CONTAINS
!
! SOURCE
SUBROUTINE h5acreate_f(loc_id, name, type_id, space_id, attr_id, &
- hdferr, acpl_id, aapl_id )
+ hdferr, acpl_id, aapl_id )
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -95,37 +170,34 @@ CONTAINS
INTEGER(HID_T) :: acpl_id_default
INTEGER(HID_T) :: aapl_id_default
- INTEGER(SIZE_T) :: namelen
+ CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name
INTERFACE
- INTEGER FUNCTION h5acreate_c(loc_id, name, namelen, type_id, &
- space_id, acpl_id_default, aapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACREATE_C'::h5acreate_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HID_T) :: acpl_id_default
- INTEGER(HID_T) :: aapl_id_default
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5acreate_c
+ INTEGER(HID_T) FUNCTION H5Acreate2(loc_id, name, type_id, &
+ space_id, acpl_id_default, aapl_id_default) BIND(C,NAME='H5Acreate2')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(IN), VALUE :: type_id
+ INTEGER(HID_T), INTENT(IN), VALUE :: space_id
+ INTEGER(HID_T), INTENT(IN), VALUE :: acpl_id_default
+ INTEGER(HID_T), INTENT(IN), VALUE :: aapl_id_default
+ END FUNCTION H5Acreate2
END INTERFACE
acpl_id_default = H5P_DEFAULT_F
aapl_id_default = H5P_DEFAULT_F
- namelen = LEN(name)
IF (PRESENT(acpl_id)) acpl_id_default = acpl_id
IF (PRESENT(aapl_id)) aapl_id_default = aapl_id
- hdferr = h5acreate_c(loc_id, name, namelen, type_id, space_id, &
- acpl_id_default, aapl_id_default, attr_id)
+ c_name = TRIM(name)//C_NULL_CHAR
+ attr_id = h5acreate2(loc_id, c_name, type_id, space_id, &
+ acpl_id_default, aapl_id_default)
- END SUBROUTINE h5acreate_f
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+ END SUBROUTINE h5acreate_f
!
!****s* H5A/h5aopen_name_f
@@ -154,37 +226,38 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr)
+ SUBROUTINE H5Aopen_name_f(obj_id, name, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
- INTEGER(SIZE_T) :: namelen
+ CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name
+! H5Aopen_name is deprecated
INTERFACE
- INTEGER FUNCTION h5aopen_name_c(obj_id, name, namelen, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_NAME_C'::h5aopen_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_name_c
+ INTEGER(HID_T) FUNCTION H5Aopen(obj_id, name, aapl_id) BIND(C,NAME='H5Aopen')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: obj_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(IN), VALUE :: aapl_id
+ END FUNCTION H5Aopen
END INTERFACE
- namelen = LEN(name)
- hdferr = h5aopen_name_c(obj_id, name, namelen, attr_id)
- END SUBROUTINE h5aopen_name_f
+ c_name = TRIM(name)//C_NULL_CHAR
+ attr_id = H5Aopen(obj_id, c_name, H5P_DEFAULT_F)
+
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aopen_name_f
!
-!****s* H5A/h5aopen_idx_f
+!****s* H5A/H5Aopen_idx_f
!
! NAME
-! h5aopen_idx_f
+! H5Aopen_idx_f
!
! PURPOSE
! Opens the attribute specified by its index.
@@ -207,33 +280,34 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr)
+ SUBROUTINE H5Aopen_idx_f(obj_id, index, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(IN) :: index ! Attribute index
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
-
+! H5Aopen_idx is deprecated in favor of the function H5Aopen_by_idx.
INTERFACE
- INTEGER FUNCTION h5aopen_idx_c(obj_id, index, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_IDX_C'::h5aopen_idx_c
- !DEC$ENDIF
+ INTEGER(HID_T) FUNCTION H5Aopen_by_idx(obj_id, index) BIND(C,NAME='H5Aopen_by_idx')
+ IMPORT :: HID_T
+ IMPORT :: C_INT
INTEGER(HID_T), INTENT(IN) :: obj_id
- INTEGER, INTENT(IN) :: index
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_idx_c
+ INTEGER(C_INT), INTENT(IN) :: index
+ END FUNCTION H5Aopen_by_idx
END INTERFACE
- hdferr = h5aopen_idx_c(obj_id, index, attr_id)
- END SUBROUTINE h5aopen_idx_f
+ attr_id = H5Aopen_by_idx(obj_id, INT(index, C_INT))
+
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aopen_idx_f
!
-!****s* H5A/h5aget_space_f
+!****s* H5A/H5Aget_space_f
!
! NAME
-! h5aget_space_f
+! H5Aget_space_f
!
! PURPOSE
! Gets a copy of the dataspace for an attribute.
@@ -256,30 +330,31 @@ CONTAINS
!
!
! SOURCE
- SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr)
+ SUBROUTINE H5Aget_space_f(attr_id, space_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: space_id ! Attribute dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aget_space_c(attr_id, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_SPACE_C'::h5aget_space_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: space_id
- END FUNCTION h5aget_space_c
+ INTEGER(HID_T) FUNCTION H5Aget_space(attr_id) BIND(C,NAME='H5Aget_space')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_space
END INTERFACE
- hdferr = h5aget_space_c(attr_id, space_id)
- END SUBROUTINE h5aget_space_f
+ space_id = H5Aget_space(attr_id)
+
+ hdferr = 0
+ IF(space_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_space_f
!
-!****s* H5A/h5aget_type_f
+!****s* H5A/H5Aget_type_f
!
! NAME
-! h5aget_type_f
+! H5Aget_type_f
!
! PURPOSE
! Gets an attribute datatype.
@@ -300,30 +375,31 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr)
+ SUBROUTINE H5Aget_type_f(attr_id, type_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: type_id ! Attribute datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aget_type_c(attr_id, type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_TYPE_C'::h5aget_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: type_id
- END FUNCTION h5aget_type_c
+ INTEGER(HID_T) FUNCTION H5Aget_type(attr_id) BIND(C,NAME='H5Aget_type')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_type
END INTERFACE
- hdferr = h5aget_type_c(attr_id, type_id)
- END SUBROUTINE h5aget_type_f
+ type_id = H5Aget_type(attr_id)
+
+ hdferr = 0
+ IF(type_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_type_f
!
-!****s* H5A/h5aget_name_f
+!****s* H5A/H5Aget_name_f
!
! NAME
-! h5aget_name_f
+! H5Aget_name_f
!
! PURPOSE
! Gets an attribute name.
@@ -355,26 +431,23 @@ CONTAINS
! name length is successful, -1 if fail
!*****
INTERFACE
- INTEGER FUNCTION h5aget_name_c(attr_id, size, buf)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NAME_C'::h5aget_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
+ INTEGER FUNCTION h5aget_name_c(attr_id, size, buf) &
+ BIND(C,NAME='h5aget_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: buf
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
END FUNCTION h5aget_name_c
END INTERFACE
hdferr = h5aget_name_c(attr_id, size, buf)
END SUBROUTINE h5aget_name_f
-
!
-!****s* H5A/h5aget_name_by_idx_f
+!****s* H5A/H5Aget_name_by_idx_f
!
! NAME
-! h5aget_name_by_idx_f
+! H5Aget_name_by_idx_f
!
! PURPOSE
! Gets an attribute name, by attribute index position.
@@ -443,19 +516,16 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5aget_name_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, &
- n, name, size_default, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NAME_BY_IDX_C'::h5aget_name_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, name
+ n, name, size_default, lapl_id_default) BIND(C,NAME='h5aget_name_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
-
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
INTEGER(SIZE_T) :: size_default
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
@@ -476,10 +546,10 @@ CONTAINS
END SUBROUTINE h5aget_name_by_idx_f
!
-!****s* H5A/h5aget_num_attrs_f
+!****s* H5A/H5Aget_num_attrs_f
!
! NAME
-! h5aget_num_attrs_f
+! H5Aget_num_attrs_f
!
! PURPOSE
! Determines the number of attributes attached to an object.
@@ -509,11 +579,8 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5aget_num_attrs_c(obj_id, attr_num)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NUM_ATTRS_C'::h5aget_num_attrs_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5aget_num_attrs_c(obj_id, attr_num) BIND(C,name='h5aget_num_attrs_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: attr_num
END FUNCTION h5aget_num_attrs_c
@@ -523,10 +590,10 @@ CONTAINS
END SUBROUTINE h5aget_num_attrs_f
!
-!****s* H5A/h5adelete_f
+!****s* H5A/H5Adelete_f
!
! NAME
-! h5adelete_f
+! H5Adelete_f
!
! PURPOSE
! Deletes an attribute of an object (group, dataset or
@@ -548,7 +615,7 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5adelete_f(obj_id, name, hdferr)
+ 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
@@ -557,27 +624,24 @@ CONTAINS
INTEGER(SIZE_T) :: namelen
INTERFACE
- INTEGER FUNCTION h5adelete_c(obj_id, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_C'::h5adelete_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION H5Adelete_c(obj_id, name, namelen) BIND(C,NAME='h5adelete_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T) :: namelen
- END FUNCTION h5adelete_c
+ END FUNCTION H5Adelete_c
END INTERFACE
namelen = LEN(name)
- hdferr = h5adelete_c(obj_id, name, namelen)
- END SUBROUTINE h5adelete_f
+ hdferr = H5Adelete_c(obj_id, name, namelen)
+ END SUBROUTINE H5Adelete_f
!
-!****s* H5A/h5aclose_f
+!****s* H5A/H5Aclose_f
!
! NAME
-! h5aclose_f
+! H5Aclose_f
!
! PURPOSE
! Closes the specified attribute.
@@ -597,30 +661,28 @@ CONTAINS
! called C functions (it is needed for Windows
! port). February 27, 2001
! SOURCE
- SUBROUTINE h5aclose_f(attr_id, hdferr)
+
+ SUBROUTINE H5Aclose_f(attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aclose_c(attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACLOSE_C'::h5aclose_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- END FUNCTION h5aclose_c
+ INTEGER FUNCTION H5Aclose(attr_id) BIND(C, NAME='H5Aclose')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aclose
END INTERFACE
- hdferr = h5aclose_c(attr_id)
- END SUBROUTINE h5aclose_f
+ hdferr = INT(H5Aclose(attr_id))
+ END SUBROUTINE H5Aclose_f
!
-!****s* H5A/h5aget_storage_size_f
+!****s* H5A/H5Aget_storage_size_f
!
! NAME
-! h5aget_storage_size_f
+! H5Aget_storage_size_f
!
! PURPOSE
! Returns the amount of storage required for an attribute.
@@ -635,7 +697,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_storage_size_f(attr_id, size, hdferr)
+ 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
@@ -643,24 +705,24 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5aget_storage_size_c(attr_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_STORAGE_SIZE_C'::h5aget_storage_size_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HSIZE_T), INTENT(OUT) :: size
- END FUNCTION h5aget_storage_size_c
+ INTEGER(HSIZE_T) FUNCTION H5Aget_storage_size(attr_id) BIND(C,NAME='H5Aget_storage_size')
+ IMPORT :: HID_T, HSIZE_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_storage_size
END INTERFACE
- hdferr = h5aget_storage_size_c(attr_id, size)
- END SUBROUTINE h5aget_storage_size_f
+ size = H5Aget_storage_size(attr_id)
+
+ hdferr = 0
+ IF(size.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_storage_size_f
!
-!****s* H5A/h5aget_create_plist_f
+!****s* H5A/H5Aget_create_plist_f
!
! NAME
-! h5aget_create_plist_f
+! H5Aget_create_plist_f
!
! PURPOSE
! Gets an attribute creation property list identifier
@@ -676,33 +738,32 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_create_plist_f(attr_id, creation_prop_id, hdferr)
+ 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
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5aget_create_plist_c(attr_id, creation_prop_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_CREATE_PLIST_C'::h5aget_create_plist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: creation_prop_id
- END FUNCTION h5aget_create_plist_c
+ INTEGER(HID_T) FUNCTION H5Aget_create_plist(attr_id) BIND(C,NAME='H5Aget_create_plist')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_create_plist
END INTERFACE
- hdferr = h5aget_create_plist_c(attr_id, creation_prop_id)
- END SUBROUTINE h5aget_create_plist_f
+ creation_prop_id = H5Aget_create_plist(attr_id)
+
+ hdferr = 0
+ IF(creation_prop_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_create_plist_f
!
-!****s* H5A/h5arename_by_name_f
+!****s* H5A/H5Arename_by_name_f
!
! NAME
-! h5arename_by_name_f
+! H5Arename_by_name_f
!
! PURPOSE
! Renames an attribute
@@ -723,7 +784,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5arename_by_name_f(loc_id, obj_name, old_attr_name, new_attr_name, &
+ SUBROUTINE H5Arename_by_name_f(loc_id, obj_name, old_attr_name, new_attr_name, &
hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -742,24 +803,22 @@ CONTAINS
INTEGER(SIZE_T) :: new_attr_namelen
INTERFACE
- INTEGER FUNCTION h5arename_by_name_c(loc_id, obj_name, obj_namelen, &
+ INTEGER FUNCTION H5Arename_by_name_c(loc_id, obj_name, obj_namelen, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen, &
- lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ARENAME_BY_NAME_C'::h5arename_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, old_attr_name, new_attr_name
+ lapl_id_default) BIND(C,NAME='h5arename_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: old_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: old_attr_name
INTEGER(SIZE_T) :: old_attr_namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_attr_name
INTEGER(SIZE_T) :: new_attr_namelen
INTEGER(HID_T) :: lapl_id_default
- END FUNCTION h5arename_by_name_c
+ END FUNCTION H5Arename_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -769,17 +828,17 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default=lapl_id
- hdferr = h5arename_by_name_c(loc_id, obj_name, obj_namelen, &
+ hdferr = H5Arename_by_name_c(loc_id, obj_name, obj_namelen, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen, &
lapl_id_default)
- END SUBROUTINE h5arename_by_name_f
+ END SUBROUTINE H5Arename_by_name_f
!
-!****s* H5A/h5aopen_f
+!****s* H5A/H5Aopen_f
!
! NAME
-! h5aopen_f
+! H5Aopen_f
!
! PURPOSE
! Opens an attribute for an object specified by object
@@ -800,7 +859,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aopen_f(obj_id, attr_name, attr_id, hdferr, aapl_id)
+ 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
@@ -815,18 +874,16 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_C'::h5aopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: attr_name
+ INTEGER FUNCTION H5Aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id) &
+ BIND(C,NAME='h5aopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(HID_T) :: aapl_id_default
INTEGER(SIZE_T) :: attr_namelen
INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_c
+ END FUNCTION H5Aopen_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -834,15 +891,15 @@ CONTAINS
aapl_id_default = H5P_DEFAULT_F
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
- hdferr = h5aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
+ hdferr = H5Aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
- END SUBROUTINE h5aopen_f
+ END SUBROUTINE H5Aopen_f
!
-!****s* H5A/h5adelete_by_idx_f
+!****s* H5A/H5Adelete_by_idx_f
!
! NAME
-! h5adelete_by_idx_f
+! H5Adelete_by_idx_f
!
! PURPOSE
! Deletes an attribute from an object according to index order
@@ -874,7 +931,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5adelete_by_idx_f(loc_id, obj_name, idx_type, order, n, hdferr, lapl_id)
+ 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,
@@ -900,35 +957,34 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_BY_IDX_C'::h5adelete_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ INTEGER FUNCTION H5Adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default) &
+ BIND(C,NAME='h5adelete_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5adelete_by_idx_c
+ END FUNCTION H5Adelete_by_idx_c
END INTERFACE
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
obj_namelen = LEN(obj_name)
- hdferr = h5adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
+ hdferr = H5Adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
- END SUBROUTINE h5adelete_by_idx_f
+ END SUBROUTINE H5Adelete_by_idx_f
!
-!****s* H5A/h5adelete_by_name_f
+!****s* H5A/H5Adelete_by_name_f
!
! NAME
-! h5adelete_by_name_f
+! H5Adelete_by_name_f
!
! PURPOSE
! Removes an attribute from a specified location
@@ -946,7 +1002,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5adelete_by_name_f(loc_id, obj_name, attr_name, hdferr, lapl_id)
+ 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,
@@ -962,19 +1018,17 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_BY_NAME_C'::h5adelete_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default) &
+ BIND(C,NAME='h5adelete_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: attr_namelen
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5adelete_by_name_c
+ END FUNCTION H5Adelete_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -983,15 +1037,15 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
+ hdferr = H5Adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
- END SUBROUTINE h5adelete_by_name_f
+ END SUBROUTINE H5Adelete_by_name_f
!
-!****s* H5A/h5aopen_by_idx_f
+!****s* H5A/H5Aopen_by_idx_f
!
! NAME
-! h5aopen_by_idx_f
+! H5Aopen_by_idx_f
!
! PURPOSE
! Opens an existing attribute that is attached to an object specified by location and name
@@ -1013,7 +1067,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, hdferr, aapl_id, lapl_id)
+ 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
@@ -1041,15 +1095,12 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
- aapl_id_default, lapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_BY_IDX_C'::h5aopen_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ INTEGER FUNCTION H5Aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
+ aapl_id_default, lapl_id_default, attr_id) BIND(C,NAME='h5aopen_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -1057,7 +1108,7 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
- END FUNCTION h5aopen_by_idx_c
+ END FUNCTION H5Aopen_by_idx_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1067,16 +1118,16 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
+ hdferr = H5Aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
aapl_id_default, lapl_id_default, attr_id)
- END SUBROUTINE h5aopen_by_idx_f
+ END SUBROUTINE H5Aopen_by_idx_f
!
-!****s* H5A/h5aget_info_f
+!****s* H5A/H5Aget_info_f
!
! NAME
-! h5aget_info_f
+! H5Aget_info_f
!
! PURPOSE
! Retrieves attribute information, by attribute identifier
@@ -1096,7 +1147,7 @@ CONTAINS
! M. Scot Breitenfeld
! January, 2008
! SOURCE
- SUBROUTINE h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, hdferr)
+ 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
@@ -1110,33 +1161,31 @@ CONTAINS
INTEGER :: corder_valid
INTERFACE
- INTEGER FUNCTION h5aget_info_c(attr_id, corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_C'::h5aget_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION H5Aget_info_c(attr_id, corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER, INTENT(OUT) :: corder_valid
INTEGER, INTENT(OUT) :: corder
INTEGER, INTENT(OUT) :: cset
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
- END FUNCTION h5aget_info_c
+ END FUNCTION H5Aget_info_c
END INTERFACE
- hdferr = h5aget_info_c(attr_id, corder_valid, corder, cset, data_size)
+ hdferr = H5Aget_info_c(attr_id, corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_f
+ END SUBROUTINE H5Aget_info_f
!
-!****s* H5A/h5aget_info_by_idx_f
+!****s* H5A/H5Aget_info_by_idx_f
!
! NAME
-! h5aget_info_by_idx_f
+! H5Aget_info_by_idx_f
!
! PURPOSE
! Retrieves attribute information, by attribute index position
@@ -1162,7 +1211,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_info_by_idx_f(loc_id, obj_name, idx_type, order, n, &
+ SUBROUTINE H5Aget_info_by_idx_f(loc_id, obj_name, idx_type, order, n, &
f_corder_valid, corder, cset, data_size, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -1195,14 +1244,11 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
- corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_BY_IDX_C'::h5aget_info_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -1213,7 +1259,7 @@ CONTAINS
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5aget_info_by_idx_c
+ END FUNCTION H5Aget_info_by_idx_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1221,19 +1267,19 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(present(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
+ hdferr = H5Aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_by_idx_f
+ END SUBROUTINE H5Aget_info_by_idx_f
!
-!****s* H5A/h5aget_info_by_name_f
+!****s* H5A/H5Aget_info_by_name_f
!
! NAME
-! h5aget_info_by_name_f
+! H5Aget_info_by_name_f
!
! PURPOSE
! Retrieves attribute information, by attribute name
@@ -1257,7 +1303,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_info_by_name_f(loc_id, obj_name, attr_name, &
+ SUBROUTINE H5Aget_info_by_name_f(loc_id, obj_name, attr_name, &
f_corder_valid, corder, cset, data_size, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -1279,17 +1325,15 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
- corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_BY_NAME_C'::h5aget_info_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
+ corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T) :: lapl_id_default
INTEGER, INTENT(OUT) :: corder_valid
@@ -1297,7 +1341,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: cset
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
- END FUNCTION h5aget_info_by_name_c
+ END FUNCTION H5Aget_info_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1306,19 +1350,19 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
+ hdferr = H5Aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_by_name_f
+ END SUBROUTINE H5Aget_info_by_name_f
!
-!****s* H5A/h5acreate_by_name_f
+!****s* H5A/H5Acreate_by_name_f
!
! NAME
-! h5acreate_by_name_f
+! H5Acreate_by_name_f
!
! PURPOSE
! Creates an attribute attached to a specified object
@@ -1342,7 +1386,7 @@ CONTAINS
! M. Scot Breitenfeld
! February, 2008
! SOURCE
- SUBROUTINE h5acreate_by_name_f(loc_id, obj_name, attr_name, type_id, space_id, attr, hdferr, &
+ SUBROUTINE H5Acreate_by_name_f(loc_id, obj_name, attr_name, type_id, space_id, attr, hdferr, &
acpl_id, aapl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
@@ -1365,17 +1409,16 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
- type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACREATE_BY_NAME_C'::h5acreate_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr) &
+ BIND(C,NAME='h5acreate_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T), INTENT(IN) :: type_id
INTEGER(HID_T), INTENT(IN) :: space_id
@@ -1384,7 +1427,7 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T), INTENT(OUT) :: attr
- END FUNCTION h5acreate_by_name_c
+ END FUNCTION H5Acreate_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1398,9 +1441,9 @@ CONTAINS
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ hdferr = H5Acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr)
- END SUBROUTINE h5acreate_by_name_f
+ END SUBROUTINE H5Acreate_by_name_f
!
!****s* H5A/H5Aexists_f
@@ -1424,7 +1467,7 @@ CONTAINS
! February, 2008
!
! SOURCE
- SUBROUTINE h5aexists_f(obj_id, attr_name, attr_exists, hdferr)
+ SUBROUTINE H5Aexists_f(obj_id, attr_name, attr_exists, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: attr_name ! Attribute name
@@ -1436,27 +1479,25 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AEXISTS_C'::h5aexists_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: attr_name
+ INTEGER FUNCTION H5Aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c) BIND(C,NAME='h5aexists_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T) :: attr_namelen
INTEGER(HID_T) :: attr_exists_c
- END FUNCTION h5aexists_c
+ END FUNCTION H5Aexists_c
END INTERFACE
attr_namelen = LEN(attr_name)
- hdferr = h5aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
+ hdferr = H5Aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
attr_exists = .FALSE.
IF(attr_exists_c.GT.0) attr_exists = .TRUE.
- END SUBROUTINE h5aexists_f
+ END SUBROUTINE H5Aexists_f
!
!****s* H5A/H5Aexists_by_name_f
@@ -1483,7 +1524,7 @@ CONTAINS
! February, 2008
!
! SOURCE
- SUBROUTINE h5aexists_by_name_f(loc_id, obj_name, attr_name, attr_exists, hdferr, lapl_id)
+ SUBROUTINE H5Aexists_by_name_f(loc_id, obj_name, attr_name, attr_exists, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id,
@@ -1501,20 +1542,19 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AEXISTS_BY_NAME_C'::h5aexists_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ lapl_id_default, attr_exists_c) BIND(C,NAME='h5aexists_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T), INTENT(IN) :: lapl_id_default
INTEGER, INTENT(OUT) :: attr_exists_c
- END FUNCTION h5aexists_by_name_c
+ END FUNCTION H5Aexists_by_name_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -1523,12 +1563,12 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
+ hdferr = H5Aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
attr_exists = .FALSE.
IF(attr_exists_c.GT.0) attr_exists = .TRUE.
- END SUBROUTINE h5aexists_by_name_f
+ END SUBROUTINE H5Aexists_by_name_f
!
!****s* H5A/H5Aopen_by_name_f
!
@@ -1554,7 +1594,7 @@ CONTAINS
! M. Scot Breitenfeld
! February, 2008
! SOURCE
- SUBROUTINE h5aopen_by_name_f(loc_id, obj_name, attr_name, attr_id, hdferr, aapl_id, lapl_id)
+ SUBROUTINE H5Aopen_by_name_f(loc_id, obj_name, attr_name, attr_id, hdferr, aapl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id,
@@ -1574,22 +1614,20 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
- aapl_id_default, lapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_BY_NAME_C'::h5aopen_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ aapl_id_default, lapl_id_default, attr_id) BIND(C,NAME='h5aopen_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T) :: aapl_id_default
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_by_name_c
+ END FUNCTION H5Aopen_by_name_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -1600,16 +1638,16 @@ CONTAINS
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ hdferr = H5Aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
aapl_id_default, lapl_id_default, attr_id)
- END SUBROUTINE h5aopen_by_name_f
+ END SUBROUTINE H5Aopen_by_name_f
!
-!****s* H5A/h5arename_f
+!****s* H5A/H5Arename_f
!
! NAME
-! h5arename_f
+! H5Arename_f
!
! PURPOSE
! Renames an attribute
@@ -1632,7 +1670,7 @@ CONTAINS
!
! SOURCE
- SUBROUTINE h5arename_f(loc_id, old_attr_name, new_attr_name, hdferr)
+ 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
@@ -1644,29 +1682,191 @@ CONTAINS
INTEGER(SIZE_T) :: new_attr_namelen
INTERFACE
- INTEGER FUNCTION h5arename_c(loc_id, &
- old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ARENAME_C'::h5arename_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: old_attr_name, new_attr_name
+ INTEGER FUNCTION H5Arename_c(loc_id, &
+ old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen) BIND(C,NAME='h5arename_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: old_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: old_attr_name
INTEGER(SIZE_T) :: old_attr_namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_attr_name
INTEGER(SIZE_T) :: new_attr_namelen
-
- END FUNCTION h5arename_c
+ END FUNCTION H5Arename_c
END INTERFACE
old_attr_namelen = LEN(old_attr_name)
new_attr_namelen = LEN(new_attr_name)
- hdferr = h5arename_c(loc_id, &
+ hdferr = H5Arename_c(loc_id, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen)
- END SUBROUTINE h5arename_f
+ END SUBROUTINE H5Arename_f
+
+ 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
+ ! identifier (in memory)
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ CALL H5Awrite_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), dims, hdferr)
+
+ END SUBROUTINE H5Awrite_char_scalar
+
+ SUBROUTINE H5Awrite_char_scalar_fix(attr_id, memtype_id, buf, buf_len, 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
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
+
+ END SUBROUTINE H5Awrite_char_scalar_fix
+
+
+!****s* H5A (F03)/H5Awrite_f_F03
+!
+! NAME
+! H5Awrite_f_F03
+!
+! PURPOSE
+! Writes an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! buf - Data buffer; may be a scalar or an array
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE H5Awrite_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE H5Awrite_ptr(attr_id, mem_type_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = H5Awrite_f_c(attr_id, mem_type_id, buf)
+
+ END SUBROUTINE H5Awrite_ptr
+
+ 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
+ ! identifier (in memory)
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ CALL H5Aread_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), hdferr)
+
+ END SUBROUTINE H5Aread_char_scalar
+
+ SUBROUTINE H5Aread_char_scalar_fix(attr_id, memtype_id, buf, buf_len, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
+ ! identifier (in memory)
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
+
+ END SUBROUTINE H5Aread_char_scalar_fix
+
+!****s* H5A (F03)/H5Aread_f_F03
+!
+! NAME
+! H5Aread_f_F03
+!
+! PURPOSE
+! Reads an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+!
+! Outputs:
+! buf - Data buffer; may be a scalar or an array
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+! Fortran2003 Interface:
+!! SUBROUTINE H5Aread_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE H5Aread_ptr(attr_id, mem_type_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(INOUT), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = H5Aread_f_c(attr_id, mem_type_id, buf)
+
+ END SUBROUTINE H5Aread_ptr
END MODULE H5A
diff --git a/fortran/src/H5Aff_F03.f90 b/fortran/src/H5Aff_F03.f90
deleted file mode 100644
index 5278280..0000000
--- a/fortran/src/H5Aff_F03.f90
+++ /dev/null
@@ -1,1267 +0,0 @@
-!****h* ROBODoc/H5A (F03)
-! NAME
-! H5A_PROVISIONAL
-!
-! FILE
-! src/fortran/src/H5Aff_F03.f90
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5A functions.
-! It contains the same functions as H5Aff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Aff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! 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. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-!
-! (A) C_LOC and character strings according to the Fortran 2003 standard:
-!
-! 15.1.2.5 C_LOC(X)
-!
-! Argument. X shall either
-!
-! (1) have interoperable type and type parameters and be
-! (a) a variable that has the TARGET attribute and is interoperable,
-! (b) an allocated allocatable variable that has the TARGET attribute
-! and is not an array of zero size, or
-! (c) an associated scalar pointer, or
-! (2) be a nonpolymorphic scalar, have no length type parameters, and be
-! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
-! (b) an allocated allocatable variable that has the TARGET attribute, or
-! (c) an associated pointer.
-!
-! - When X is a character, for interoperability the standard is:
-!
-! 15.2.1 Interoperability of intrinsic types
-!
-! ...if the type is character, interoperability also requires that the length type parameter
-! be omitted or be specified by an initialization expression whose value is one.
-!
-! THEREFORE compilers that have not extended the standard require
-!
-! CHARACTER(LEN=1), TARGET :: chr
-! or
-! CHARACTER, TARGET :: chr
-!
-! (B)
-! *** IMPORTANT ***
-! If you add a new H5A function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5A_PROVISIONAL
-
- USE H5GLOBAL
-!
-! On Windows there are no big (integer*8) integers, so overloading
-! for bug #670 does not work. I have to use DEC compilation directives to make
-! Windows DEC Visual Fortran and OSF compilers happy and do right things.
-! 05/01/02 EP
-!
- INTERFACE h5awrite_f
- MODULE PROCEDURE h5awrite_integer_scalar
- MODULE PROCEDURE h5awrite_integer_1
- MODULE PROCEDURE h5awrite_integer_2
- MODULE PROCEDURE h5awrite_integer_3
- MODULE PROCEDURE h5awrite_integer_4
- MODULE PROCEDURE h5awrite_integer_5
- MODULE PROCEDURE h5awrite_integer_6
- MODULE PROCEDURE h5awrite_integer_7
- MODULE PROCEDURE h5awrite_char_scalar
- MODULE PROCEDURE h5awrite_char_1
- MODULE PROCEDURE h5awrite_char_2
- MODULE PROCEDURE h5awrite_char_3
- MODULE PROCEDURE h5awrite_char_4
- MODULE PROCEDURE h5awrite_char_5
- MODULE PROCEDURE h5awrite_char_6
- MODULE PROCEDURE h5awrite_char_7
- MODULE PROCEDURE h5awrite_real_scalar
- MODULE PROCEDURE h5awrite_real_1
- MODULE PROCEDURE h5awrite_real_2
- MODULE PROCEDURE h5awrite_real_3
- MODULE PROCEDURE h5awrite_real_4
- MODULE PROCEDURE h5awrite_real_5
- MODULE PROCEDURE h5awrite_real_6
- MODULE PROCEDURE h5awrite_real_7
- ! This is the preferred way to call h5awrite
- ! by passing an address
- MODULE PROCEDURE h5awrite_ptr
-
- END INTERFACE
-
- INTERFACE h5aread_f
-
- MODULE PROCEDURE h5aread_integer_scalar
- MODULE PROCEDURE h5aread_integer_1
- MODULE PROCEDURE h5aread_integer_2
- MODULE PROCEDURE h5aread_integer_3
- MODULE PROCEDURE h5aread_integer_4
- MODULE PROCEDURE h5aread_integer_5
- MODULE PROCEDURE h5aread_integer_6
- MODULE PROCEDURE h5aread_integer_7
- MODULE PROCEDURE h5aread_char_scalar
- MODULE PROCEDURE h5aread_char_1
- MODULE PROCEDURE h5aread_char_2
- MODULE PROCEDURE h5aread_char_3
- MODULE PROCEDURE h5aread_char_4
- MODULE PROCEDURE h5aread_char_5
- MODULE PROCEDURE h5aread_char_6
- MODULE PROCEDURE h5aread_char_7
- MODULE PROCEDURE h5aread_real_scalar
- MODULE PROCEDURE h5aread_real_1
- MODULE PROCEDURE h5aread_real_2
- MODULE PROCEDURE h5aread_real_3
- MODULE PROCEDURE h5aread_real_4
- MODULE PROCEDURE h5aread_real_5
- MODULE PROCEDURE h5aread_real_6
- MODULE PROCEDURE h5aread_real_7
-
- ! This is the preferred way to call h5aread
- ! by passing an address
- MODULE PROCEDURE h5aread_ptr
-
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Awrite routine
-
- INTERFACE
- INTEGER FUNCTION h5awrite_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5awrite_f_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5awrite_f_c
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Aread routine
-
- INTERFACE
- INTEGER FUNCTION h5aread_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5aread_f_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5aread_f_c
- END INTERFACE
-
-CONTAINS
-
-!****s* H5A (F03)/h5awrite_f_F90
-!
-! NAME
-! h5awrite_f_F90
-!
-! PURPOSE
-! Writes an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! dims - Array to hold corresponding dimension sizes of data buffer buf;
-! dim(k) has value of the k-th dimension of buffer buf;
-! values are ignored if buf is a scalar
-! buf - Data buffer; may be a scalar or an array
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, dims, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE , INTENT(IN) :: buf
-!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
-
- SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_scalar
-
- SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_integer_1
-
-
- SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_2
-
- SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_3
-
-
- SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_4
-
-
- SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_5
-
-
- SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_integer_6
-
-
- SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), &
- TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_7
-
-
- SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_scalar
-
- SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_real_1
-
-
- SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_real_2
-
-
- SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_3
-
-
- SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_4
-
-
- SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_5
-
-
- SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_6
-
-
- SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_7
-
- SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- CALL h5awrite_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), dims, hdferr)
-
- END SUBROUTINE h5awrite_char_scalar
-
- SUBROUTINE h5awrite_char_scalar_fix(attr_id, memtype_id, buf, buf_len, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_scalar_fix
-
- SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_1
-
- SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1)(1:1))
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_2
-
- SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_3
-
- SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_4
-
- SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_5
-
-
- SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_6
-
- SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_7
-
-!****s* H5A (F03)/h5awrite_f_F03
-!
-! NAME
-! h5awrite_f_F03
-!
-! PURPOSE
-! Writes an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! buf - Data buffer; may be a scalar or an array
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE(C_PTR) , INTENT(IN) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5awrite_ptr(attr_id, mem_type_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(IN), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5awrite_f_c(attr_id, mem_type_id, buf)
-
- END SUBROUTINE h5awrite_ptr
-
-!****s* H5A (F03)/h5aread_f_F90
-!
-! NAME
-! h5aread_f_F90
-!
-! PURPOSE
-! Reads an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! dims - Array to hold corresponding dimension sizes of data buffer buf;
-! dim(k) has value of the k-th dimension of buffer buf;
-! values are ignored if buf is a scalar
-!
-! Outputs:
-! buf - Data buffer; may be a scalar or an array
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-! Fortran90 Interface:
-!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, dims, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE , INTENT(INOUT) :: buf
-!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_scalar
-
- SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_1
-
-
- SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT),DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_2
-
-
- SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_3
-
-
- SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_4
-
-
- SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_5
-
-
- SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_6
-
-
- SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_7
-
-
- SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_scalar
-
- SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_1
-
-
- SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_2
-
-
- SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_3
-
-
- SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_4
-
-
- SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_5
-
-
- SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_6
-
-
- SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_7
-
- SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- CALL h5aread_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), hdferr)
-
- END SUBROUTINE h5aread_char_scalar
-
- SUBROUTINE h5aread_char_scalar_fix(attr_id, memtype_id, buf, buf_len, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_scalar_fix
-
- SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_1
-
-
- SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_2
-
-
- SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_3
-
- SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_4
-
- SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_5
-
-
- SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_6
-
-
- SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_7
-
-
-!****s* H5A (F03)/h5aread_f_F03
-!
-! NAME
-! h5aread_f_F03
-!
-! PURPOSE
-! Reads an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-!
-! Outputs:
-! buf - Data buffer; may be a scalar or an array
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-! Fortran2003 Interface:
-!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE(C_PTR) , INTENT(INOUT) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5aread_ptr(attr_id, mem_type_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(INOUT), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5aread_f_c(attr_id, mem_type_id, buf)
-
- END SUBROUTINE h5aread_ptr
-
-END MODULE H5A_PROVISIONAL
-
-
diff --git a/fortran/src/H5Aff_F90.f90 b/fortran/src/H5Aff_F90.f90
deleted file mode 100644
index 974b023..0000000
--- a/fortran/src/H5Aff_F90.f90
+++ /dev/null
@@ -1,1618 +0,0 @@
-!****h* ROBODoc/H5A (F90)
-!
-! NAME
-! H5A_PROVISIONAL
-!
-! FILE
-! fortran/src/H5Aff_F90.f90
-!
-! PURPOSE
-!
-! This file contains Fortran 90 interfaces for H5A functions. It contains
-! the same functions as H5Aff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Aff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! 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. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5A function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5A_PROVISIONAL
-
- USE H5GLOBAL
- !
- !On Windows there are no big (integer*8) integers, so overloading
- !for bug #670 does not work. I have to use DEC compilation directives to make
- !Windows DEC Visual Fortran and OSF compilers happy and do right things.
- ! 05/01/02 EP
- !
- INTERFACE h5awrite_f
-
- MODULE PROCEDURE h5awrite_integer_scalar
- MODULE PROCEDURE h5awrite_integer_1
- MODULE PROCEDURE h5awrite_integer_2
- MODULE PROCEDURE h5awrite_integer_3
- MODULE PROCEDURE h5awrite_integer_4
- MODULE PROCEDURE h5awrite_integer_5
- MODULE PROCEDURE h5awrite_integer_6
- MODULE PROCEDURE h5awrite_integer_7
- MODULE PROCEDURE h5awrite_char_scalar
- MODULE PROCEDURE h5awrite_char_1
- MODULE PROCEDURE h5awrite_char_2
- MODULE PROCEDURE h5awrite_char_3
- MODULE PROCEDURE h5awrite_char_4
- MODULE PROCEDURE h5awrite_char_5
- MODULE PROCEDURE h5awrite_char_6
- MODULE PROCEDURE h5awrite_char_7
- MODULE PROCEDURE h5awrite_real_scalar
- MODULE PROCEDURE h5awrite_real_1
- MODULE PROCEDURE h5awrite_real_2
- MODULE PROCEDURE h5awrite_real_3
- MODULE PROCEDURE h5awrite_real_4
- MODULE PROCEDURE h5awrite_real_5
- MODULE PROCEDURE h5awrite_real_6
- MODULE PROCEDURE h5awrite_real_7
-
- END INTERFACE
-
- INTERFACE h5aread_f
-
- MODULE PROCEDURE h5aread_integer_scalar
- MODULE PROCEDURE h5aread_integer_1
- MODULE PROCEDURE h5aread_integer_2
- MODULE PROCEDURE h5aread_integer_3
- MODULE PROCEDURE h5aread_integer_4
- MODULE PROCEDURE h5aread_integer_5
- MODULE PROCEDURE h5aread_integer_6
- MODULE PROCEDURE h5aread_integer_7
- MODULE PROCEDURE h5aread_char_scalar
- MODULE PROCEDURE h5aread_char_1
- MODULE PROCEDURE h5aread_char_2
- MODULE PROCEDURE h5aread_char_3
- MODULE PROCEDURE h5aread_char_4
- MODULE PROCEDURE h5aread_char_5
- MODULE PROCEDURE h5aread_char_6
- MODULE PROCEDURE h5aread_char_7
- MODULE PROCEDURE h5aread_real_scalar
- MODULE PROCEDURE h5aread_real_1
- MODULE PROCEDURE h5aread_real_2
- MODULE PROCEDURE h5aread_real_3
- MODULE PROCEDURE h5aread_real_4
- MODULE PROCEDURE h5aread_real_5
- MODULE PROCEDURE h5aread_real_6
- MODULE PROCEDURE h5aread_real_7
- END INTERFACE
-
-CONTAINS
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_S_C'::h5awrite_integer_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
- INTEGER, INTENT(IN)::buf
- END FUNCTION h5awrite_integer_s_c
- END INTERFACE
-
- 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)
- 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
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awrite_integer_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_1_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), DIMENSION(dims(1)) :: buf
- END FUNCTION h5awrite_integer_1_c
- END INTERFACE
-
- hdferr = h5awrite_integer_1_c(attr_id, memtype_id, buf, dims)
-
- END SUBROUTINE h5awrite_integer_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_2_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awrite_integer_2_c
- END INTERFACE
-
- hdferr = h5awrite_integer_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_3_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awrite_integer_3_c
- END INTERFACE
-
- hdferr = h5awrite_integer_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_4_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awrite_integer_4_c
- END INTERFACE
-
- hdferr = h5awrite_integer_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_5_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awrite_integer_5_c
- END INTERFACE
-
- hdferr = h5awrite_integer_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_6_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awrite_integer_6_c
- END INTERFACE
-
- hdferr = h5awrite_integer_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_7_C'::h5awrite_integer_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
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awrite_integer_7_c
- END INTERFACE
-
- hdferr = h5awrite_integer_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_7
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_S_C'::h5awrite_real_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
- REAL, INTENT(IN)::buf
- END FUNCTION h5awrite_real_s_c
- END INTERFACE
-
- 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)
- 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
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_1_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5awrite_real_1_c
- END INTERFACE
-
- hdferr = h5awrite_real_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_2_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awrite_real_2_c
- END INTERFACE
-
- hdferr = h5awrite_real_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_3_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awrite_real_3_c
- END INTERFACE
-
- hdferr = h5awrite_real_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_4_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awrite_real_4_c
- END INTERFACE
-
- hdferr = h5awrite_real_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_5_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awrite_real_5_c
- END INTERFACE
-
- hdferr = h5awrite_real_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_6_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awrite_real_6_c
- END INTERFACE
-
- hdferr = h5awrite_real_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_7_C'::h5awrite_real_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
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awrite_real_7_c
- END INTERFACE
-
- hdferr = h5awrite_real_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_7
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*),INTENT(IN) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_S_C'::h5awritec_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN)::buf
- END FUNCTION h5awritec_s_c
- END INTERFACE
-
- 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)
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_1_C'::h5awritec_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1))::buf
- END FUNCTION h5awritec_1_c
- END INTERFACE
-
- hdferr = h5awritec_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awritec_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_2_C'::h5awritec_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awritec_2_c
- END INTERFACE
-
- hdferr = h5awritec_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_3_C'::h5awritec_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awritec_3_c
- END INTERFACE
-
- hdferr = h5awritec_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_4_C'::h5awritec_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awritec_4_c
- END INTERFACE
-
- hdferr = h5awritec_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_5_C'::h5awritec_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awritec_5_c
- END INTERFACE
-
- hdferr = h5awritec_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), 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 :: h5awritec_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_6_C'::h5awritec_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awritec_6_c
- END INTERFACE
-
- hdferr = h5awritec_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), 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 :: h5awritec_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_7_C'::h5awritec_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awritec_7_c
- END INTERFACE
-
- hdferr = h5awritec_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_7
-
-!
-! NAME
-! h5aread_f
-!
-! PURPOSE
-! Reads an attribute.
-!
-! INPUTS
-! attr_id - attribute identifier
-! memtype_id - attribute memory type identifier
-! dims - 1D array of size 7, stores sizes of the
-! - buf array dimensions.
-! OUTPUTS
-! buf - buffer to read attribute data in
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! April 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, 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
- INTEGER, INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_S_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT)::buf
- END FUNCTION h5aread_integer_s_c
- END INTERFACE
- 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)
- 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
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_1_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)) :: buf
- END FUNCTION h5aread_integer_1_c
- END INTERFACE
-
- hdferr = h5aread_integer_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT),DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_2_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5aread_integer_2_c
- END INTERFACE
-
- hdferr = h5aread_integer_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_3_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5aread_integer_3_c
- END INTERFACE
-
- hdferr = h5aread_integer_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_4_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5aread_integer_4_c
- END INTERFACE
-
- hdferr = h5aread_integer_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_5_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5aread_integer_5_c
- END INTERFACE
-
- hdferr = h5aread_integer_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_6_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5aread_integer_6_c
- END INTERFACE
-
- hdferr = h5aread_integer_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, 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_integer_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_7_C'::h5aread_integer_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
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5aread_integer_7_c
- END INTERFACE
-
- hdferr = h5aread_integer_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_7
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_S_C'::h5aread_real_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
- REAL, INTENT(INOUT)::buf
- END FUNCTION h5aread_real_s_c
- END INTERFACE
-
- 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)
- 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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_1_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5aread_real_1_c
- END INTERFACE
-
- hdferr = h5aread_real_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_2_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5aread_real_2_c
- END INTERFACE
-
- hdferr = h5aread_real_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_3_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5aread_real_3_c
- END INTERFACE
-
- hdferr = h5aread_real_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_4_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5aread_real_4_c
- END INTERFACE
-
- hdferr = h5aread_real_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_5_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5aread_real_5_c
- END INTERFACE
-
- hdferr = h5aread_real_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_6_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5aread_real_6_c
- END INTERFACE
-
- hdferr = h5aread_real_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, 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_real_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_7_C'::h5aread_real_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
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5aread_real_7_c
- END INTERFACE
-
- hdferr = h5aread_real_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_7
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_S_C'::h5areadc_s_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT) :: buf
- END FUNCTION h5areadc_s_c
- END INTERFACE
-
- 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)
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_1_C'::h5areadc_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5areadc_1_c
- END INTERFACE
-
- hdferr = h5areadc_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_1
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_2_C'::h5areadc_2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5areadc_2_c
- END INTERFACE
-
- hdferr = h5areadc_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_2
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_3_C'::h5areadc_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5areadc_3_c
- END INTERFACE
-
- hdferr = h5areadc_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_3
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_4_C'::h5areadc_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5areadc_4_c
- END INTERFACE
-
- hdferr = h5areadc_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_4
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_5_C'::h5areadc_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5areadc_5_c
- END INTERFACE
-
- hdferr = h5areadc_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_5
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), 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 :: h5areadc_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_6_C'::h5areadc_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5areadc_6_c
- END INTERFACE
-
- hdferr = h5areadc_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_6
-
-
- 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
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), 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 :: h5areadc_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_7_C'::h5areadc_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- 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
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5areadc_7_c
- END INTERFACE
-
- hdferr = h5areadc_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_7
-
-END MODULE H5A_PROVISIONAL
-
-
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index 0d32dac..57b4d4d 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -1,6 +1,6 @@
/****h* H5Df/H5Df
* PURPOSE
- * This file contains C stubs for H5D Fortran APIs
+ * This file contains C stubs for H5D Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -48,7 +48,7 @@
* SOURCE
*/
int_f
-nh5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
+h5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *lcpl_id, hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
@@ -84,23 +84,23 @@ DONE:
* PURPOSE
* Call H5Dopen2 to open a dataset
* INPUTS
- * loc_id - file or group identifier
- * name - name of the dataset
- * namelen - name length
- * dapl_id - Dataset access property list
+ * loc_id - file or group identifier
+ * name - name of the dataset
+ * namelen - name length
+ * dapl_id - Dataset access property list
* OUTPUTS
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
- * Added 1.8 parameter: dapl_id
+ * Added 1.8 parameter: dapl_id
* SOURCE
*/
int_f
-nh5dopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id)
+h5dopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
char *c_name = NULL;
@@ -128,531 +128,6 @@ DONE:
return ret_value;
}
-
-/****if* H5Df/h5dwritec_c
- * NAME
- * h5dwritec_c
- * PURPOSE
- * Call h5dwrite_c to write a dataset of characters
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function is added to accomodate oveloaded h5dwrite_f
- * with the dims argument being of INTEGER(HSIZE_T) type
-
- * SOURCE
-*/
-int_f
-nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-/****if* H5Df/h5dwrite_c
- * NAME
- * h5dwrite_c
- * PURPOSE
- * Call H5Dwrite to write a dataset
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function is added to accomodate oveloaded h5dwrite_f
- * with the dims argument being of INTEGER(HSIZE_T) type
- *
- * Added nh5dwrite_integer(real,double)_s,1-7_c functions to eliminate
- * complains about wrong parameter types in h5dwrite_c function
- * called by Fortran rouitnes
- * October 10, 2006 EIP
- *
- * SOURCE
-*/
-int_f
-nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f H5_ATTR_UNUSED *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Call H5Dwrite function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dwrite_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-/****if* H5Df/h5dwrite_ref_obj_c
- * NAME
- * h5dwrite_ref_obj_c
- * PURPOSE
- * Call H5Dwrite to write a dataset of object references
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer with references to the objects.
- * n - number of references to be stored.
- * RETURNS
- * 0 on success,e-1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function was added to accomodate h5dwrite_f with the
- * dims argumnet being of INTEGER(HSIZE_T) type.
- * SOURCE
-*/
-int_f
-nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f *buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
- hobj_ref_t *buf_c;
- unsigned int i, n;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Allocate temporary buffer and copy references from Fortran.
- */
- n = (unsigned int)*dims;
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*n);
- if ( buf_c != NULL ) {
- for (i = 0; i < n; i++)
- HDmemcpy(&buf_c[i], &buf[i], sizeof(haddr_t));
- }
- else return ret_value;
-
- /*
- * Call H5Dwrite function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
- HDfree(buf_c);
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dwrite_ref_reg_c
* NAME
* h5dwrite_ref_reg_c
@@ -677,7 +152,7 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
* SOURCE
*/
int_f
-nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims)
+h5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims)
/******/
{
int ret_value = -1;
@@ -723,549 +198,31 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
return ret_value;
}
-
-
-/****if* H5Df/h5dreadc_c
- * NAME
- * h5dreadc_c
- * PURPOSE
- * Call h5dread_c to read a dataset of characters
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * OUTPUTS
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- * SOURCE
-*/
-int_f
-nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-/****if* H5Df/h5dread_c
- * NAME
- * h5dread_c
- * PURPOSE
- * Call H5Draed to read a dataset
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * OUTPUTS
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- *
- * Added nh5dread_integer(real,double)_s,1-7_c functions to eliminate
- * complains about wrong parameter types in h5dwrite_c function
- * called by Fortran rouitnes
- * October 10, 2006 EIP
- *
- * SOURCE
-*/
-int_f
-nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f H5_ATTR_UNUSED *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Call H5Dread function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dread_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-/****if* H5Df/h5dread_ref_obj_c
- * NAME
- * h5dread_ref_obj_c
- * PURPOSE
- * Call H5Dread to read a dataset of object references
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer to store references to the objects.
- * n - number of references to be stored.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- * SOURCE
-*/
-int_f
-nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f * buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret = -1;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
- hobj_ref_t *buf_c = NULL;
- hsize_t i,n;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Allocate temporary buffer.
- */
- n = (hsize_t)*dims;
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(size_t)n);
- if ( buf_c != NULL ) {
- /*
- * Call H5Dread function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
- if (ret >=0) {
- for (i = 0; i < n; i++)
- HDmemcpy(&buf[i], &buf_c[i], sizeof(haddr_t));
- }
- if ( buf_c != NULL ) HDfree(buf_c);
- }
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dread_ref_reg_c
* NAME
* h5dread_ref_reg_c
* PURPOSE
* Call H5Dread to read a dataset of dataset region references
* INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer to store references to the objects.
- * n - number of references to be stored.
+ * dset_id - dataset identifier
+ * mem_type_id - memory datatype identifier
+ * mem_space_id - memory dataspace identifier
+ * file_space_id - memory dataspace identifier
+ * xfer_pr - identifier of transfer property list
+ * buf - data buffer to store references to the objects.
+ * n - number of references to be stored.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, May 15, 2002
+ * Wednesday, May 15, 2002
* HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
+ * This function was added to accomodate h5dread_f subroutine
+ * with the dims parameter being of INTEGER(HSIZE_T_F) size.
* SOURCE
*/
int_f
-nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims)
+h5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims)
/******/
{
int ret_value = -1;
@@ -1317,19 +274,19 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
* PURPOSE
* Call H5Dclose to close a dataset
* INPUTS
- * dset_id - identifier of the dataset to be closed
+ * dset_id - identifier of the dataset to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dclose_c ( hid_t_f *dset_id )
+h5dclose_c ( hid_t_f *dset_id )
/******/
{
int ret_value = 0;
@@ -1345,21 +302,21 @@ nh5dclose_c ( hid_t_f *dset_id )
* PURPOSE
* Call H5Dget_space to obtain dataspace of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * space_id - identifier of the dataset's dataspace
+ * space_id - identifier of the dataset's dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
+h5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
/******/
{
int ret_value = -1;
@@ -1380,21 +337,21 @@ nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
* PURPOSE
* Call H5Dget_type to obtain datatype of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * type_id - identifier of the dataset's datatype
+ * type_id - identifier of the dataset's datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
+h5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
/******/
{
int ret_value = -1;
@@ -1416,23 +373,23 @@ nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
* h5dget_create_plist_c
* PURPOSE
* Call H5Dget_create_plist to obtain creation property list
- * of a dataset
+ * of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * plist_id - identifier of he dataset creation property list
+ * plist_id - identifier of he dataset creation property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
+h5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
/******/
{
int ret_value = -1;
@@ -1456,24 +413,24 @@ nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
* PURPOSE
* Call H5Dset_extent to extend dataset with unlimited dimensions
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * dims - array with the dimension sizes
+ * dims - array with the dimension sizes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
*
* HISTORY
- * Changed name from the now obsolete h5dextend
- * to h5dset_extent in order to match new fortran interface.
+ * Changed name from the now obsolete h5dextend
+ * to h5dset_extent in order to match new fortran interface.
* -MSB- March 14, 2008
* SOURCE
*/
int_f
-nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
+h5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
/******/
{
hid_t c_space_id;
@@ -1503,28 +460,28 @@ nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
return ret_value;
}
-/****if* H5Df/nh5dget_storage_size_c
+/****if* H5Df/h5dget_storage_size_c
* NAME
- * nh5dget_storage_size_c
+ * h5dget_storage_size_c
* PURPOSE
* Call H5Dget_storage_size to return the amount of storage
- * required for a dataset
+ * required for a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * size - the amount of storage required for a dataset
+ * size - the amount of storage required for a dataset
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, October 22, 2002
+ * Tuesday, October 22, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
+h5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
/******/
{
int ret_value = -1;
@@ -1539,29 +496,29 @@ nh5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
return ret_value;
}
-/****if* H5Df/nh5dvlen_get_max_len_c
+/****if* H5Df/h5dvlen_get_max_len_c
* NAME
- * nh5dvlen_get_max_len_c
+ * h5dvlen_get_max_len_c
* PURPOSE
* Get the maximum size of the VL dataset element
* INPUTS
- * dset_id - identifier of the dataset
- * type_id - datatype identifier
- * space_id - dataspace identifier
+ * dset_id - identifier of the dataset
+ * type_id - datatype identifier
+ * space_id - dataspace identifier
* OUTPUTS
- * len - maximum length of the VL dataset element
+ * len - maximum length of the VL dataset element
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, October 22, 2002
+ * Tuesday, October 22, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id, size_t_f *len)
+h5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1597,34 +554,34 @@ DONE:
HDfree(c_buf);
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_integer_c
+/****if* H5Df/h5dwrite_vl_integer_c
* NAME
- * nh5dwrite_vl_integer_c
+ * h5dwrite_vl_integer_c
* PURPOSE
* Write variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
- * len - array element lenghts
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 23, 2002
+ * Wednesday, October 23, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1670,35 +627,35 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dread_vl_integer_c
+/****if* H5Df/h5dread_vl_integer_c
* NAME
- * nh5dread_vl_integer_c
+ * h5dread_vl_integer_c
* PURPOSE
* Read variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
- * buf - data buffer
- * len - array element lenghts
+ * buf - data buffer
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 24, 2002
+ * Wednesday, October 24, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1742,33 +699,33 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_string_c
+/****if* H5Df/h5dwrite_vl_string_c
* NAME
- * nh5dwrite_vl_string_c
+ * h5dwrite_vl_string_c
* PURPOSE
* Write variable length strings from Fortran program
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = number of strings of size max_len
- * len - array of strings lengths
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = number of strings of size max_len
+ * len - array of strings lengths
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 28, 2002
+ * Monday, October 28, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1829,33 +786,33 @@ DONE:
HDfree(tmp);
return ret_value;
}
-/****if* H5Df/nh5dread_vl_string_c
+/****if* H5Df/h5dread_vl_string_c
* NAME
- * nh5dread_vl_string_c
+ * h5dread_vl_string_c
* PURPOSE
* Read variable length strings from Fortran program
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = number of strings of size max_len
- * Output: buf - data buffer
- * len - array of strings lengths
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = number of strings of size max_len
+ * Output: buf - data buffer
+ * len - array of strings lengths
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, November 1, 2002
+ * Friday, November 1, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1912,34 +869,34 @@ nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_real_c
+/****if* H5Df/h5dwrite_vl_real_c
* NAME
- * nh5dwrite_vl_real_c
+ * h5dwrite_vl_real_c
* PURPOSE
* Write variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
- * len - array element lenghts
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, November 11, 2002
+ * Monday, November 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1985,35 +942,35 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dread_vl_real_c
+/****if* H5Df/h5dread_vl_real_c
* NAME
- * nh5dread_vl_real_c
+ * h5dread_vl_real_c
* PURPOSE
* Read variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
- * buf - data buffer
- * len - array element lenghts
+ * buf - data buffer
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, November 11, 2002
+ * Monday, November 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -2058,39 +1015,6 @@ DONE:
return ret_value;
}
-/****if* H5Df/h5dfillc_c
- * NAME
- * h5dfillc_c
- * PURPOSE
- * Call h5fill_c to fill memory buffer with a fill value
- * INPUTS
- * fill_value - fill value
- * fill_type_id - fill value datatype identifier
- * space_id - memory space selection identifier
- * buf - memory buffer to fill
- * mem_type_id - memory buffer dtatype identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, March 12, 2003
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5dfillc_c (_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dfill_c function.
- */
- ret_value = h5dfill_c(_fcdtocp(fill_value), fill_type_id, space_id, _fcdtocp(buf), mem_type_id);
-
- return ret_value;
-}
/****if* H5Df/h5dfill_c
* NAME
* h5dfill_c
@@ -2135,98 +1059,26 @@ h5dfill_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * b
return ret_value;
}
-int_f
-nh5dfill_integer_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dfill_real_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dfill_double_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dget_space_status_c
* NAME
* h5dget_space_status_c
* PURPOSE
* Call H5Dget_space_status to request dataspace allocation status
* INPUTS
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
* OUTPUTS
- * flag - status flag
+ * flag - status flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
+h5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
/******/
{
int ret_value = -1;
@@ -2256,21 +1108,21 @@ nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
* loc_id - Identifier of the file or group within which to create the dataset.
* type_id - Identifier of the datatype to use when creating the dataset.
* space_id - Identifier of the dataspace to use when creating the dataset.
- * dcpl_id - Dataset creation property list identifier.
- * dapl_id - Dataset access property list identifier.
+ * dcpl_id - Dataset creation property list identifier.
+ * dapl_id - Dataset access property list identifier.
* OUTPUTS
*
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* SOURCE
*/
int_f
-nh5dcreate_anon_c (hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
+h5dcreate_anon_c (hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
@@ -2355,8 +1207,8 @@ h5dwrite_f_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id,
* file_space_id - file dataspace identifier
* xfer - file transfer property
* dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
* buf - data buffer
* len - array element lenghts
@@ -2396,9 +1248,9 @@ h5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
ret_value = 0;
return ret_value;
}
-/****if* H5Df/nh5dget_access_plist_c
+/****if* H5Df/h5dget_access_plist_c
* NAME
- * nh5dget_access_plist_c
+ * h5dget_access_plist_c
* PURPOSE
* Call H5Dget_access_plist
* INPUTS
@@ -2414,7 +1266,7 @@ h5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
* SOURCE
*/
int_f
-nh5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
+h5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
/******/
{
int ret_value = -1;
@@ -2430,22 +1282,22 @@ nh5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
return ret_value;
}
-/****if* H5Df/nh5dvlen_reclaim_c
+/****if* H5Df/h5dvlen_reclaim_c
* NAME
* h5dvlen_reclaim_c
* PURPOSE
* Call H5Dvlen_reclaim
* INPUTS
- * type_id - Identifier of the datatype.
- * space_id - Identifier of the dataspace.
- * plist_id - Identifier of the property list used to create the buffer.
- * buf - Pointer to the buffer to be reclaimed.
+ * type_id - Identifier of the datatype.
+ * space_id - Identifier of the dataspace.
+ * plist_id - Identifier of the property list used to create the buffer.
+ * buf - Pointer to the buffer to be reclaimed.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January 15, 2011
+ * January 15, 2011
*
* SOURCE
*/
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
new file mode 100644
index 0000000..afdb5ba
--- /dev/null
+++ b/fortran/src/H5Dff.F90
@@ -0,0 +1,1878 @@
+!****h* ROBODoc/H5D
+!
+! NAME
+! MODULE H5D
+!
+! FILE
+! fortran/src/H5Dff.f90
+!
+! PURPOSE
+! This file contains Fortran interfaces for H5D functions.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! 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. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! NOTES
+! (1) The maximum rank of an array allowed in Fortran is 7, therefore
+! we only provide an interface for arrays up to and including rank 7.
+!
+! (2) Unfortunately we are using a generic interface and one of the factors
+! used in determining the proper routine to select is that of the array
+! rank being passed. Therefore, we can not create just one subroutine for
+! each array type (integer, real, etc...) and use a
+! rank 1 array of assumed size to handle multiple ranks, i.e.
+! (i.e. integer, dimension(*) :: ... )
+! (i.e. real , dimension(*) :: ... ) etc...
+!
+! (3) Could not place the USE, INTRINSIC :: ISO_C_BINDING in the module header because it may
+! conflict with the USE, INTRINSIC :: ISO_C_BINDING included in the user's program. Moved
+! the statement instead to each subroutine.
+!
+!
+! (4) C_LOC and character strings according to the Fortran 2003 standard:
+!
+! 15.1.2.5 C_LOC(X)
+!
+! Argument. X shall either
+!
+! (A) have interoperable type and type parameters and be
+! (a) a variable that has the TARGET attribute and is interoperable,
+! (b) an allocated allocatable variable that has the TARGET attribute
+! and is not an array of zero size, or
+! (c) an associated scalar pointer, or
+! (B) be a nonpolymorphic scalar, have no length type parameters, and be
+! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
+! (b) an allocated allocatable variable that has the TARGET attribute, or
+! (c) an associated pointer.
+!
+! - When X is a character, for interoperability the standard is:
+!
+! 15.2.1 Interoperability of intrinsic types
+!
+! ...if the type is character, interoperability also requires that the length type parameter
+! be omitted or be specified by an initialization expression whose value is one.
+!
+! THEREFORE compilers that have not extended the standard require the
+! argument in C_LOC to be of the variant:
+!
+! CHARACTER(LEN=1), TARGET :: chr
+! or
+! CHARACTER, TARGET :: chr
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new H5D function you must add the function name to the
+! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+!*****
+
+#include <H5config_f.inc>
+
+MODULE H5D
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ USE H5GLOBAL
+
+ INTERFACE h5dextend_f
+ MODULE PROCEDURE h5dset_extent_f
+ END INTERFACE
+
+ INTERFACE h5dread_vl_f
+ MODULE PROCEDURE h5dread_vl_integer
+ MODULE PROCEDURE h5dread_vl_real
+ MODULE PROCEDURE h5dread_vl_string
+ END INTERFACE
+
+ INTERFACE h5dwrite_vl_f
+ MODULE PROCEDURE h5dwrite_vl_integer
+ MODULE PROCEDURE h5dwrite_vl_real
+ MODULE PROCEDURE h5dwrite_vl_string
+ END INTERFACE
+
+ INTERFACE h5dwrite_f
+ MODULE PROCEDURE h5dwrite_reference_obj
+ MODULE PROCEDURE h5dwrite_reference_dsetreg
+ MODULE PROCEDURE h5dwrite_char_scalar
+ ! This is the preferred way to call h5dwrite
+ ! by passing an address
+ MODULE PROCEDURE h5dwrite_ptr
+ END INTERFACE
+
+ INTERFACE h5dread_f
+ MODULE PROCEDURE h5dread_reference_obj
+ MODULE PROCEDURE h5dread_reference_dsetreg
+ MODULE PROCEDURE h5dread_char_scalar
+ ! This is the preferred way to call h5dread
+ ! by passing an address
+ MODULE PROCEDURE h5dread_ptr
+
+ END INTERFACE
+
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dwrite routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_f_c(dset_id, mem_type_id, &
+ mem_space_id_default , &
+ file_space_id_default, &
+ xfer_prp_default, buf ) BIND(C, NAME='h5dwrite_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ 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
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dwrite_f_c
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dread routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_f_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf) BIND(C, NAME='h5dread_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ 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
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dread_f_c
+ END INTERFACE
+
+ INTERFACE h5dfill_f
+ MODULE PROCEDURE h5dfill_integer
+ MODULE PROCEDURE h5dfill_c_float
+ MODULE PROCEDURE h5dfill_c_double
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ MODULE PROCEDURE h5dfill_c_long_double
+#endif
+ MODULE PROCEDURE h5dfill_char
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dfill routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id) BIND(C, NAME='h5dfill_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ TYPE(C_PTR), VALUE :: f_ptr_fill_value
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ TYPE(C_PTR), VALUE :: f_ptr_buf
+ INTEGER(HID_T) :: mem_type_id
+ END FUNCTION h5dfill_c
+ END INTERFACE
+
+CONTAINS
+
+!
+!****s* H5D/h5dcreate_f
+!
+! NAME
+! h5dcreate_f
+!
+! PURPOSE
+! Creates a dataset at the specified location
+!
+! INPUTS
+! loc_id - file or group identifier
+! name - dataset name
+! type_id - dataset datatype identifier
+! space_id - dataset dataspace identifier
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! creation_prp - Dataset creation property list
+! lcpl_id - Link creation property list
+! dapl_id - Dataset access property list
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! - Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! - Added version's 1.8 new optional parameters
+! February, 2008
+!
+! SOURCE
+ SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
+ hdferr, dcpl_id, lcpl_id, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
+
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTEGER :: namelen ! Name length
+
+ INTERFACE
+ INTEGER FUNCTION h5dcreate_c(loc_id, name, namelen, type_id, &
+ space_id, lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dcreate_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dcreate_c
+ END INTERFACE
+
+ lcpl_id_default = H5P_DEFAULT_F
+ dcpl_id_default = H5P_DEFAULT_F
+ dapl_id_default = H5P_DEFAULT_F
+
+ IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
+ IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ namelen = LEN(name)
+ hdferr = h5dcreate_c(loc_id, name, namelen, type_id, space_id, &
+ lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dcreate_f
+
+!
+!****s* H5D/h5dopen_f
+!
+! NAME
+! h5dopen_f
+!
+! PURPOSE
+! Opens an existing dataset.
+!
+! INPUTS
+! loc_id - file or group identifier
+! name - dataset name
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! dapl_id - Dataset access property list
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! -Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! -Added 1.8 (optional) parameter dapl_id
+! February, 2008, M. Scot Breitenfeld
+!
+! SOURCE
+ SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
+!*****
+ INTEGER :: namelen ! Name length
+
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: dapl_id_default
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dopen_c
+ END INTERFACE
+
+ dapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ namelen = LEN(name)
+ hdferr = h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dopen_f
+
+!
+!****s* H5D/h5dclose_f
+!
+! NAME
+! h5dclose_f
+!
+! PURPOSE
+! Closes a dataset.
+!
+! INPUTS
+! dset_id - dataset identifier
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! SOURCE
+ SUBROUTINE h5dclose_f(dset_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dclose_c(dset_id) &
+ BIND(C,NAME='h5dclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ END FUNCTION h5dclose_c
+ END INTERFACE
+
+ hdferr = h5dclose_c(dset_id)
+
+ END SUBROUTINE h5dclose_f
+
+!
+!****s* H5D/h5dget_type_f
+!
+! NAME
+! h5dget_type_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the datatype for a
+! dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! datatype_id - dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! NOTES
+!
+! SOURCE
+ SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_type_c(dataset_id, datatype_id) &
+ BIND(C,NAME='h5dget_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id
+ END FUNCTION h5dget_type_c
+ END INTERFACE
+
+ hdferr = h5dget_type_c (dataset_id, datatype_id)
+ END SUBROUTINE h5dget_type_f
+
+!
+!****s* H5D/h5dset_extent
+!
+! NAME
+! h5dset_extent (instead of obsolete name: h5dextend_f)
+!
+! PURPOSE
+! Extends a dataset with unlimited dimension.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! size - array containing the new magnitude of
+! each dimension
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Changed name from the now obsolete h5dextend_f
+! to h5dset_extent_f. Provided interface to old name
+! for backward compatability. -MSB- March 14, 2008
+!
+! SOURCE
+ SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
+ ! Array containing
+ ! dimensions' sizes
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dset_extent_c(dataset_id, size) &
+ BIND(C,NAME='h5dset_extent_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
+ END FUNCTION h5dset_extent_c
+ END INTERFACE
+
+ hdferr = H5Dset_extent_c(dataset_id, size)
+ END SUBROUTINE h5dset_extent_f
+
+!****s* H5D/h5dget_create_plist_f
+!
+! NAME
+! h5dget_create_plist_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the dataset creation
+! property list for a dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! plist_id - creation property list identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+! SOURCE
+ SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation
+ ! property list identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_create_plist_c(dataset_id, plist_id) &
+ BIND(C,NAME='h5dget_create_plist_c')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ END FUNCTION h5dget_create_plist_c
+ END INTERFACE
+
+ hdferr = h5dget_create_plist_c(dataset_id, plist_id)
+ END SUBROUTINE h5dget_create_plist_f
+
+!
+!****s* H5D/h5dget_storage_size_f
+!
+! NAME
+! h5dget_storage_size_f
+!
+! PURPOSE
+! Returns the amount of storage requires by a dataset
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! size - datastorage size
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 15, 2002
+! SOURCE
+ SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage
+ ! allocated for dataset
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_storage_size_c(dataset_id, size) &
+ BIND(C,NAME='h5dget_storage_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), INTENT(OUT) :: size
+ END FUNCTION h5dget_storage_size_c
+ END INTERFACE
+
+ hdferr = h5dget_storage_size_c(dataset_id, size)
+ END SUBROUTINE h5dget_storage_size_f
+
+!
+!****s* H5D/h5dvlen_get_max_len_f
+!
+! NAME
+! h5dvlen_get_max_len_f
+!
+! PURPOSE
+! Returns maximum length of the VL array elements
+!
+! INPUTS
+! dataset_id - dataset identifier
+! type_id - datatype identifier
+! space_id - dataspace identifier
+! OUTPUTS
+! size - buffer size
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! NONE
+!
+! AUTHOR
+! Elena Pourmal
+! October 15, 2002
+!
+! SOURCE
+ SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+ INTEGER(SIZE_T), INTENT(OUT) :: len ! Maximum length of the element
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len) &
+ BIND(C,NAME='h5dvlen_get_max_len_c')
+ IMPORT :: HID_T, SIZE_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(SIZE_T), INTENT(OUT) :: len
+ END FUNCTION h5dvlen_get_max_len_c
+ END INTERFACE
+
+ hdferr = h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len)
+ END SUBROUTINE h5dvlen_get_max_len_f
+
+!
+!****s* H5D/h5dget_space_status_f
+!
+! NAME
+! h5dget_space_status_f
+!
+! PURPOSE
+! Returns the status of data space allocation.
+!
+! INPUTS
+! dset_id - dataset identifier
+! OUTPUTS
+! flag - status; may have one of the following values:
+! H5D_SPACE_STS_ERROR_F
+! H5D_SPACE_STS_NOT_ALLOCATED_F
+! H5D_SPACE_STS_PART_ALLOCATED_F
+! H5D_SPACE_STS_ALLOCATED_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+! SOURCE
+ SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataspace identifier
+ INTEGER, INTENT(OUT) :: flag ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ !*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_space_status_c(dset_id, flag) &
+ BIND(C,NAME='h5dget_space_status_c')
+ IMPORT :: HID_T
+ INTEGER(HID_T) :: dset_id
+ INTEGER :: flag
+ END FUNCTION h5dget_space_status_c
+ END INTERFACE
+
+ hdferr = h5dget_space_status_c(dset_id, flag)
+ END SUBROUTINE h5dget_space_status_f
+
+!
+!****s* H5D/h5dcreate_anon_f
+!
+! NAME
+! h5dcreate_anon_f
+!
+! PURPOSE
+! Creates a dataset in a file without linking it into the file structure
+!
+! INPUTS
+! loc_id - Identifier of the file or group within which to create the dataset.
+! type_id - Identifier of the datatype to use when creating the dataset.
+! space_id - Identifier of the dataspace to use when creating the dataset.
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! dcpl_id - Dataset creation property list identifier.
+! dapl_id - Dataset access property list identifier.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 11, 2008
+!
+! SOURCE
+ SUBROUTINE h5dcreate_anon_f(loc_id, type_id, space_id, dset_id, hdferr, dcpl_id, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier.
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier.
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier.
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier.
+ INTEGER, INTENT(OUT) :: hdferr ! Error code.
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list identifier.
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list identifier.
+!*****
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ !
+ ! MS FORTRAN needs explicit interface for C functions called here.
+ !
+ INTERFACE
+ INTEGER FUNCTION h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dcreate_anon_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dcreate_anon_c
+ END INTERFACE
+
+ dcpl_id_default = H5P_DEFAULT_F
+ dapl_id_default = H5P_DEFAULT_F
+
+ IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ hdferr = h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dcreate_anon_f
+
+ SUBROUTINE h5dwrite_vl_integer(dset_id, mem_type_id, buf, dims, len, &
+ 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(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)), TARGET :: 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
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_integer_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dwrite_vl_integer_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dwrite_vl_integer_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_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dwrite_vl_integer
+
+ SUBROUTINE h5dread_vl_integer(dset_id, mem_type_id, buf, dims, len, &
+ 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(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! -1 if failed, 0 otherwise
+ 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(HID_T) :: tmp
+ INTEGER :: error
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_integer_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dread_vl_integer_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dread_vl_integer_c
+ END INTERFACE
+
+ CALL h5dget_space_f(dset_id, tmp, error)
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = tmp
+ file_space_id_default = tmp
+
+ 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_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dread_vl_integer
+
+ SUBROUTINE h5dwrite_vl_real(dset_id, mem_type_id, buf, dims, len, &
+ 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(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: 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
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_real_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dwrite_vl_real_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dwrite_vl_real_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_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dwrite_vl_real
+
+ SUBROUTINE h5dread_vl_real(dset_id, mem_type_id, buf, dims, len, &
+ 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(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store the length of each element
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! -1 if failed, 0 otherwise
+ 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(HID_T) :: tmp
+ INTEGER :: error
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_real_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dread_vl_real_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dread_vl_real_c
+ END INTERFACE
+
+ CALL h5dget_space_f(dset_id, tmp, error)
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = tmp
+ file_space_id_default = tmp
+
+ 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_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dread_vl_real
+
+ SUBROUTINE h5dwrite_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char
+ 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(2) :: dims ! Number of strings
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len ! Array to store the length of each element
+ CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(2)) :: 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
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_string_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ ! xfer_prp_default, tmp_buf, dims, str_len)
+ xfer_prp_default, buf, dims, str_len) &
+ BIND(C,NAME='h5dwrite_vl_string_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len
+ CHARACTER(KIND=C_CHAR), DIMENSION(dims(2)) :: buf
+ END FUNCTION
+ 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_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, str_len)
+
+ END SUBROUTINE h5dwrite_vl_string
+
+ SUBROUTINE h5dread_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
+ 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(2) :: dims ! number of strings
+ INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len ! Array to store
+ ! the length of each
+ ! element
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(2)) :: 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
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_string_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, str_len) &
+ BIND(C,NAME='h5dread_vl_string_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ 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(2) :: dims
+ INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len
+ CHARACTER(KIND=C_CHAR), DIMENSION(dims(2)) :: buf
+ END FUNCTION h5dread_vl_string_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_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, str_len)
+ RETURN
+ END SUBROUTINE h5dread_vl_string
+
+!
+!****s* H5D/h5dget_offset_f
+!
+! NAME
+! h5dget_offset_f
+!
+! PURPOSE
+! Returns dataset address in file.
+!
+! INPUTS
+! dataset_id - Dataset identifier.
+! OUTPUTS
+! offset - The offset in bytes.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 16, 2015
+!
+! SOURCE
+ SUBROUTINE h5dget_offset_f(dset_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HADDR_T), INTENT(OUT) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER(HADDR_T) FUNCTION h5dget_offset(dset_id) BIND(C,NAME='H5Dget_offset')
+ IMPORT :: HID_T, HADDR_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: dset_id
+ END FUNCTION h5dget_offset
+ END INTERFACE
+
+ offset = h5dget_offset(dset_id)
+
+ hdferr = 0
+ IF(offset .LT. 0) hdferr = -1
+
+ END SUBROUTINE h5dget_offset_f
+
+!
+!****s* H5D/h5dget_space_f
+!
+! NAME
+! h5dget_space_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the dataspace for a
+! dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! dataspace_id - dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! SOURCE
+ SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_space_c(dataset_id, dataspace_id) BIND(C,NAME='h5dget_space_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id
+ END FUNCTION h5dget_space_c
+ END INTERFACE
+
+ hdferr = h5dget_space_c(dataset_id, dataspace_id)
+ END SUBROUTINE h5dget_space_f
+
+!****s* H5D/h5dget_access_plist_f
+!
+! NAME
+! h5dget_access_plist_f
+!
+! PURPOSE
+! Returns a copy of the dataset creation property list.
+!
+! INPUTS
+! dset_id - Dataset identifier
+!
+! OUTPUTS
+! plist_id - Dataset access property list identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 13, 2009
+!
+! SOURCE
+ SUBROUTINE h5dget_access_plist_f(dset_id, plist_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ INTEGER , INTENT(OUT) :: hdferr
+ !*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_access_plist_c(dset_id, plist_id) BIND(C,NAME='h5dget_access_plist_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ END FUNCTION h5dget_access_plist_c
+ END INTERFACE
+
+ hdferr = h5dget_access_plist_c(dset_id, plist_id)
+
+ END SUBROUTINE h5dget_access_plist_f
+
+
+ SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: 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
+ TYPE(C_PTR) :: f_ptr
+
+ 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
+ f_ptr = C_LOC(buf(1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_reference_obj
+
+ SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: 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, ALLOCATABLE, DIMENSION(:) :: ref_buf
+ INTEGER :: i
+ INTEGER(HSIZE_T) :: j
+ TYPE(C_PTR) :: f_ptr
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_ref_reg_c(dset_id, mem_type_id,&
+ mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims) &
+ BIND(C,NAME='h5dwrite_ref_reg_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER, DIMENSION(*) :: ref_buf
+ INTEGER(HSIZE_T), DIMENSION(*) :: dims
+ END FUNCTION h5dwrite_ref_reg_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
+ f_ptr = C_LOC(buf(1))
+
+ ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
+ IF (hdferr .NE. 0 ) THEN
+ hdferr = -1
+ RETURN
+ ELSE
+ DO j = 1, dims(1)
+ DO i = 1, REF_REG_BUF_LEN
+ ref_buf(REF_REG_BUF_LEN*(j-1) + i) = buf(j)%ref(i)
+ ENDDO
+ ENDDO
+ ENDIF
+ hdferr = h5dwrite_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
+ DEALLOCATE(ref_buf)
+
+ END SUBROUTINE h5dwrite_reference_dsetreg
+
+ SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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
+ CHARACTER(*), INTENT(IN), TARGET :: 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
+
+ CALL h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+
+ END SUBROUTINE h5dwrite_char_scalar
+
+ SUBROUTINE h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: 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
+ TYPE(C_PTR) :: f_ptr
+
+ 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
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_char_scalar_fix
+
+ SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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
+ TYPE(hobj_ref_t_f), INTENT(INOUT) , &
+ DIMENSION(dims(1)), TARGET :: 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
+ TYPE(C_PTR) :: f_ptr
+
+ 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
+ f_ptr = C_LOC(buf(1))
+
+ hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dread_reference_obj
+
+ SUBROUTINE h5dread_reference_dsetreg(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
+ TYPE(hdset_reg_ref_t_f), INTENT(INOUT), &
+ DIMENSION(dims(1)), TARGET :: 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, ALLOCATABLE, DIMENSION(:) :: ref_buf
+ INTEGER :: i
+ INTEGER(HSIZE_T) :: j
+ INTERFACE
+ INTEGER FUNCTION h5dread_ref_reg_c(dset_id, mem_type_id,&
+ mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims) &
+ BIND(C,NAME='h5dread_ref_reg_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER, DIMENSION(*) :: ref_buf
+ END FUNCTION h5dread_ref_reg_c
+ END INTERFACE
+
+ ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ 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_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
+
+ DO j = 1, dims(1)
+ DO i = 1, REF_REG_BUF_LEN
+ buf(j)%ref(i) = ref_buf(REF_REG_BUF_LEN*(j-1) + i)
+ ENDDO
+ ENDDO
+ DEALLOCATE(ref_buf)
+
+ END SUBROUTINE h5dread_reference_dsetreg
+
+ SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ 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
+ CHARACTER(LEN=*), 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
+
+ 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
+
+ CALL h5dread_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), hdferr, &
+ mem_space_id_default, file_space_id_default, xfer_prp_default)
+
+ END SUBROUTINE h5dread_char_scalar
+
+ SUBROUTINE h5dread_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id, &
+ file_space_id, xfer_prp, f_ptr)
+
+ END SUBROUTINE h5dread_char_scalar_fix
+
+!****s* H5D (F03)/h5dwrite_f_F03
+!
+! NAME
+! h5dwrite_f_F03
+!
+! PURPOSE
+! Writes raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset to write to.
+! mem_type_id - Identifier of the memory datatype.
+! buf - Buffer with data to be written to the file.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
+ SUBROUTINE h5dwrite_ptr(dset_id, mem_type_id, buf, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(IN) :: 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
+
+ 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_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, buf)
+
+ END SUBROUTINE h5dwrite_ptr
+
+!****s* H5D (F03)/h5dread_f_F03
+!
+! NAME
+! h5dread_f_F03
+!
+! PURPOSE
+! Reads raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset read from.
+! mem_type_id - Identifier of the memory datatype.
+!
+! Outputs:
+! buf - Buffer to receive data read from file.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
+ SUBROUTINE h5dread_ptr(dset_id, mem_type_id, buf, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(INOUT) :: 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
+
+ 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_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, buf)
+
+ END SUBROUTINE h5dread_ptr
+
+!
+! NAME
+! h5dfill_integer
+!
+! 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
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+!
+
+ SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER, INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ INTEGER, INTENT(IN), DIMENSION(*), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_value = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_INTEGER
+ mem_type_id = H5T_NATIVE_INTEGER
+
+ hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_integer
+
+!
+! NAME
+! h5dfill_c_float
+!
+! 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
+!
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+ SUBROUTINE h5dfill_c_float(fill_valuer, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ REAL(KIND=C_FLOAT), INTENT(IN), TARGET :: fill_valuer ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_FLOAT), INTENT(IN), DIMENSION(*), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_valuer)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_REAL
+ mem_type_id = H5T_NATIVE_REAL
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_float
+
+ !----------------------------------------------------------------------
+ ! Name: h5dfill_c_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_c_double(fill_value, space_id, buf, hdferr)
+ IMPLICIT NONE
+ REAL(KIND=C_DOUBLE), INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_DOUBLE), INTENT(IN), DIMENSION(*), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_DOUBLE
+ mem_type_id = H5T_NATIVE_DOUBLE
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_double
+
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ SUBROUTINE h5dfill_c_long_double(fill_value, space_id, buf, hdferr)
+ IMPLICIT NONE
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), DIMENSION(*), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_DOUBLE
+ mem_type_id = H5T_NATIVE_DOUBLE
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_long_double
+#endif
+!
+! NAME
+! h5dfill_char
+!
+! 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
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+ SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ CHARACTER, INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ CHARACTER, INTENT(IN), DIMENSION(*), TARGET :: 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
+
+ TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_value = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_char
+!
+!****s* H5D (F03)/h5dvlen_reclaim_f
+! NAME
+! h5dvlen_reclaim_f
+!
+! PURPOSE
+! Reclaims VL datatype memory buffers.
+!
+! Inputs:
+!
+! type_id - Identifier of the datatype.
+! space_id - Identifier of the dataspace.
+! plist_id - Identifier of the property list used to create the buffer.
+! buf - Pointer to the buffer to be reclaimed.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! January 11, 2011
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(IN) :: plist_id
+ TYPE(C_PTR) , INTENT(INOUT) :: buf
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5dvlen_reclaim_c(type_id, space_id, plist_id, buf) BIND(C, NAME='h5dvlen_reclaim_c')
+ IMPORT :: C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T) :: type_id
+ INTEGER(HID_T) :: space_id
+ INTEGER(HID_T) :: plist_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dvlen_reclaim_c
+ END INTERFACE
+
+ hdferr = H5Dvlen_reclaim_c(type_id, space_id, plist_id, buf)
+
+ END SUBROUTINE H5Dvlen_reclaim_f
+
+
+END MODULE H5D
+
+
diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90
deleted file mode 100644