summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Dff.F90
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2022-09-13 03:37:01 (GMT)
committerGitHub <noreply@github.com>2022-09-13 03:37:01 (GMT)
commit9348ba920eecacd35adde6c4573cc85c6033dc65 (patch)
tree9e23eb5142b4bbed1385c88d7409cd3c5586e5d3 /fortran/src/H5Dff.F90
parent033b7ace5aff35cced7561921789176fb3831cdb (diff)
downloadhdf5-9348ba920eecacd35adde6c4573cc85c6033dc65.zip
hdf5-9348ba920eecacd35adde6c4573cc85c6033dc65.tar.gz
hdf5-9348ba920eecacd35adde6c4573cc85c6033dc65.tar.bz2
1 12 doxygen merge from 1.10 (#2094)
Diffstat (limited to 'fortran/src/H5Dff.F90')
-rw-r--r--fortran/src/H5Dff.F901362
1 files changed, 583 insertions, 779 deletions
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
index 216b005..35a959e 100644
--- a/fortran/src/H5Dff.F90
+++ b/fortran/src/H5Dff.F90
@@ -1,13 +1,13 @@
-!****h* ROBODoc/H5D
-!
-! NAME
-! MODULE H5D
-!
-! FILE
-! fortran/src/H5Dff.F90
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5D functions.
+!> @defgroup FH5D Fortran Datasets (H5D) Interface
+!!
+!! @see H5D, C-API
+!!
+!! @see @ref H5D_UG, User Guide
+!!
+
+!> @ingroup FH5D
+!!
+!! @brief This module contains Fortran interfaces for H5D functions.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -36,7 +36,7 @@
! (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
+! conflict with the USE, INTRINSIC :: ISO_C_BINDING included in the user&apos;s program. Moved
! the statement instead to each subroutine.
!
!
@@ -56,7 +56,7 @@
! (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:
+! - When X is a character, for interoperability the standard is:
!
! 15.2.1 Interoperability of intrinsic types
!
@@ -81,7 +81,6 @@
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!
-!*****
#include <H5config_f.inc>
@@ -103,17 +102,7 @@ MODULE H5D
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
+#ifndef H5_DOXYGEN_FORTRAN
INTERFACE h5dwrite_f
MODULE PROCEDURE h5dwrite_reference_obj
@@ -131,7 +120,18 @@ MODULE H5D
! This is the preferred way to call h5dread
! by passing an address
MODULE PROCEDURE h5dread_ptr
+ 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
@@ -195,64 +195,43 @@ MODULE H5D
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
+ INTEGER(HID_T) :: fill_type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
TYPE(C_PTR), VALUE :: f_ptr_buf
INTEGER(HID_T) :: mem_type_id
END FUNCTION h5dfill_c
END INTERFACE
+#endif
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Creates a dataset at the specified location.
+!!
+!! \param loc_id File or group identifier
+!! \param name Dataset name
+!! \param type_id Dataset datatype identifier
+!! \param space_id Dataset dataspace identifier
+!! \param dset_id Dataset identifier
+!! \param hdferr \fortran_error
+!! \param dcpl_id Dataset creation property list
+!! \param lcpl_id Link creation property list
+!! \param dapl_id Dataset access property list
+!!
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), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id
INTEGER(HID_T) :: lcpl_id_default
INTEGER(HID_T) :: dcpl_id_default
@@ -295,45 +274,24 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Opens an existing dataset.
+!!
+!! \param loc_id File or group identifier
+!! \param name Dataset name
+!! \param dset_id Dataset identifier
+!! \param hdferr \fortran_error
+!! \param dapl_id Dataset access property list
+!!
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(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id
INTEGER :: namelen ! Name length
INTEGER(HID_T) :: dapl_id_default
@@ -360,35 +318,18 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Closes a dataset.
+!!
+!! \param dset_id Dataset identifier
+!! \param hdferr \fortran_error
+!!
SUBROUTINE h5dclose_f(dset_id, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dclose_c(dset_id) &
BIND(C,NAME='h5dclose_c')
@@ -402,40 +343,21 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns an identifier for a copy of the datatype for a
+!! dataset.
+!!
+!! \param dataset_id Dataset identifier
+!! \param datatype_id Dataspace identifier
+!! \param hdferr \fortran_error
+!!
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
-!*****
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dget_type_c(dataset_id, datatype_id) &
BIND(C,NAME='h5dget_type_c')
@@ -449,44 +371,20 @@ CONTAINS
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 compatibility. -MSB- March 14, 2008
-!
-! SOURCE
+!>
+!! \ingroup FH5D
+!!
+!! \brief Extends a dataset with unlimited dimension.
+!!
+!! \param dataset_id Dataset identifier
+!! \param size Array containing the new magnitude of each dimension
+!! \param hdferr \fortran_error
+!!
SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
- ! Array containing
- ! dimensions' sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dset_extent_c(dataset_id, size) &
BIND(C,NAME='h5dset_extent_c')
@@ -500,37 +398,20 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns an identifier for a copy of the dataset creation property list for a dataset.
+!!
+!! \param dataset_id Dataset identifier
+!! \param plist_id Creation property list identifier
+!! \param hdferr \fortran_error
+!!
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
-!*****
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dget_create_plist_c(dataset_id, plist_id) &
BIND(C,NAME='h5dget_create_plist_c')
@@ -543,32 +424,20 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns the amount of storage requires by a dataset
+!!
+!! \param dataset_id Dataset identifier
+!! \param size Datastorage size
+!! \param hdferr \fortran_error
+!!
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
-!*****
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), INTENT(OUT) :: size
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dget_storage_size_c(dataset_id, size) &
BIND(C,NAME='h5dget_storage_size_c')
@@ -581,38 +450,24 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns maximum length of the VL array elements
+!!
+!! \param dataset_id Dataset identifier
+!! \param type_id Datatype identifier
+!! \param space_id Dataspace identifier
+!! \param len Buffer size
+!! \param hdferr \fortran_error
+!!
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
-!*****
+ 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
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len) &
BIND(C,NAME='h5dvlen_get_max_len_c')
@@ -627,36 +482,24 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns the status of data space allocation.
+!!
+!! \param dset_id Dataset identifier
+!! \param flag Status; may have one of the following values:
+!! \li H5D_SPACE_STS_ERROR_F
+!! \li H5D_SPACE_STS_NOT_ALLOCATED_F
+!! \li H5D_SPACE_STS_PART_ALLOCATED_F
+!! \li H5D_SPACE_STS_ALLOCATED_F
+!! \param hdferr \fortran_error
+!!
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
- !*****
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER, INTENT(OUT) :: flag
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dget_space_status_c(dset_id, flag) &
BIND(C,NAME='h5dget_space_status_c')
@@ -669,41 +512,28 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Creates a dataset in a file without linking it into the file structure
+!!
+!! \param loc_id Identifier of the file or group within which to create the dataset.
+!! \param type_id Identifier of the datatype to use when creating the dataset.
+!! \param space_id Identifier of the dataspace to use when creating the dataset.
+!! \param dset_id Dataset identifier.
+!! \param hdferr \fortran_error
+!! \param dcpl_id Dataset creation property list identifier.
+!! \param dapl_id Dataset access property list identifier.
+!!
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), INTENT(IN) :: loc_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id
INTEGER(HID_T) :: dcpl_id_default
INTEGER(HID_T) :: dapl_id_default
@@ -734,21 +564,83 @@ CONTAINS
END SUBROUTINE h5dcreate_anon_f
+#if H5_DOXYGEN_FORTRAN
+ !>
+ !! \ingroup FH5D
+ !!
+ !! \brief Reads variable-length data. F2003 API h5dread_f should be used instead.
+ !!
+ !! \param dset_id Dataset identifier.
+ !! \param mem_type_id Memory datatype identifier.
+ !! \param buf Data buffer; may be a scalar or an array, TYPE(TYPE) must be one of the following:
+ !! \li INTEGER
+ !! \li REAL
+ !! \li CHARACTER
+ !! \param 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.
+ !! \param len Array to store length of each element.
+ !! \param hdferr \fortran_error
+ !! \param mem_space_id Memory dataspace identifier, default value is H5S_ALL_F.
+ !! \param file_space_id File dataspace identifier, default value is H5S_ALL_F.
+ !! \param xfer_prp Transfer property list identifier, default value is H5P_DEFAULT_F.
+ !!
+ SUBROUTINE h5dread_vl_f(dset_id, mem_type_id, buf, dims, len, 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(TYPE), INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
+
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dread_vl_f
+ !>
+ !! \ingroup FH5D
+ !!
+ !! \brief Writes variable-length data. F2003 API h5dwritef should be used instead.
+ !!
+ !! \param dset_id Dataset identifier.
+ !! \param mem_type_id Memory datatype identifier.
+ !! \param buf Data buffer; may be a scalar or an array, TYPE(TYPE) must be one of the following:
+ !! \li INTEGER
+ !! \li REAL
+ !! \li CHARACTER
+ !! \param 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.
+ !! \param len Array to store length of each element.
+ !! \param hdferr \fortran_error
+ !! \param mem_space_id Memory dataspace identifier, default value is H5S_ALL_F.
+ !! \param file_space_id File dataspace identifier, default value is H5S_ALL_F.
+ !! \param xfer_prp Transfer property list identifier, default value is H5P_DEFAULT_F.
+ !!
+ SUBROUTINE h5dwrite_vl_f(dset_id, mem_type_id, buf, dims, len, 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(TYPE), INTENT(IN),DIMENSION(dims(1),dims(2)) :: buf
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dwrite_vl_f
+
+#else
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
@@ -790,19 +682,15 @@ CONTAINS
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
@@ -847,18 +735,16 @@ CONTAINS
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(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -903,17 +789,16 @@ CONTAINS
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(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -961,15 +846,15 @@ CONTAINS
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len
+ CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(2)) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1014,18 +899,16 @@ CONTAINS
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
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1064,33 +947,22 @@ CONTAINS
buf, dims, str_len)
RETURN
END SUBROUTINE h5dread_vl_string
+#endif
-!
-!****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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns dataset address in file.
+!!
+!! \param dset_id Dataset identifier.
+!! \param offset The offset in bytes.
+!! \param hdferr \fortran_error
+!!
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
@@ -1105,38 +977,21 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns an identifier for a copy of the dataspace for a
+!! dataset.
+!!
+!! \param dataset_id Dataset identifier.
+!! \param dataspace_id Dataspace identifier.
+!! \param hdferr \fortran_error
+!!
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
-!*****
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id
+ INTEGER, INTENT(OUT) :: hdferr
INTERFACE
INTEGER FUNCTION h5dget_space_c(dataset_id, dataspace_id) BIND(C,NAME='h5dget_space_c')
IMPORT :: HID_T
@@ -1149,32 +1004,20 @@ CONTAINS
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
+!>
+!! \ingroup FH5D
+!!
+!! \brief Returns a copy of the dataset creation property list.
+!!
+!! \param dset_id Dataset identifier.
+!! \param plist_id Dataset access property list identifier.
+!! \param hdferr \fortran_error
+!!
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
@@ -1188,19 +1031,191 @@ CONTAINS
END SUBROUTINE h5dget_access_plist_f
+!>
+!! \ingroup FH5D
+!!
+!! \brief Reclaims VL datatype memory buffers.
+!!
+!! \param type_id Identifier of the datatype.
+!! \param space_id Identifier of the dataspace.
+!! \param plist_id Identifier of the property list used to create the buffer.
+!! \param buf Pointer to the buffer to be reclaimed.
+!! \param hdferr \fortran_error
+!!
+ 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
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5D
+!!
+!! \brief Writes raw data from a dataset into a buffer.
+!!
+!! \note \fortran_approved
+!!
+!! \param dset_id Identifier of the dataset to write to.
+!! \param mem_type_id Identifier of the memory datatype.
+!! \param buf Buffer with data to be written to the file.
+!! \param hdferr \fortran_error
+!! \param mem_space_id Identifier of the memory dataspace.
+!! \param file_space_id Identifier of the dataset&apos;s dataspace in the file.
+!! \param xfer_prp Identifier of a transfer property list for this I/O operation.
+!!
+ SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
+ IMPLICIT NONE
+ 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), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dwrite
+!>
+!! \ingroup FH5D
+!!
+!! \brief Reads raw data from a dataset into a buffer (Passes Pointer).
+!!
+!! \note \fortran_approved
+!!
+!! \param dset_id Identifier of the dataset read from.
+!! \param mem_type_id Identifier of the memory datatype.
+!! \param buf Buffer to receive data read from file.
+!! \param hdferr \fortran_error
+!! \param mem_space_id Identifier of the memory dataspace.
+!! \param file_space_id Identifier of dataset&apos;s dataspace in the file. (Default: H5S_ALL_F)
+!! \param xfer_prp Identifier of a transfer property list for this I/O operation.
+!!
+ SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, hdferr, mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
+ IMPLICIT NONE
+ 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), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dread_f
+
+!>
+!! \ingroup FH5D
+!!
+!! \brief There is no direct Fortran90 counterpart for the C function H5Dwrite. Instead, that
+!! functionality is provided by two Fortran90 subroutines:
+!! \li h5dwrite_f Purpose: Writes data other than variable-length data.
+!! \li h5dwrite_vl_f Purpose: Writes variable-length data.
+!!
+!! \note \fortran_obsolete
+!!
+!! \param dset_id Identifier of the dataset to write to.
+!! \param mem_type_id Identifier of the memory datatype.
+!! \param buf Data buffer; may be a scalar or an array.
+!! \param 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.
+!! \param hdferr \fortran_error
+!! \param mem_space_id Identifier of the memory dataspace. Default value is H5S_ALL_F.
+!! \param file_space_id Identifier of the dataset&apos;s dataspace in the file. Default value is H5S_ALL_F.
+!! \param xfer_prp Identifier of a transfer property list for this I/O operation. Default value is H5P_DEFAULT_F.
+!!
+ SUBROUTINE h5dwrite_f___F90_VERSION(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
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ TYPE(TYPE), INTENT(IN) :: buf
+ DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dwrite_f___F90_VERSION
+
+!>
+!! \ingroup FH5D
+!!
+!! \brief There is no direct Fortran90 counterpart for the C function H5Dread. Instead, that functionality
+!! is provided by two Fortran90 subroutines:
+!! \li h5dread_f Purpose: Reads data other than variable-length data, uses DIMENSION argument and buf is not a pointer.
+!! \li h5dread_vl_f Purpose: Reads variable-length data.
+!!
+!! \note \fortran_obsolete
+!!
+!! \param dset_id Identifier of the dataset read from.
+!! \param mem_type_id Identifier of the memory datatype.
+!! \param buf Buffer to receive data read from file, may be a scalar or an array.
+!! \param 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.
+!! \param hdferr \fortran_error
+!! \param mem_space_id Identifier of the memory dataspace. (Default: H5S_ALL_F)
+!! \param file_space_id Identifier of dataset&apos;s dataspace in the file. (Default: H5S_ALL_F)
+!! \param xfer_prp Identifier of a transfer property list for this I/O operation. (Default: H5P_DEFAULT_F)
+!!
+ SUBROUTINE h5dread_f___F90_VERSION(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
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ TYPE(TYPE), INTENT(INOUT) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ END SUBROUTINE h5dread_f___F90_VERSION
+
+!>
+!! \ingroup FH5D
+!!
+!! \brief 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.
+!!
+!! \param fill_value Fill value.
+!! \param space_id Identifier of the memory datatype.
+!! \param buf Buffer to receive data read from file.
+!! \param hdferr \fortran_error
+!!
+ SUBROUTINE h5dfill_f(fill_value, space_id, buf, hdferr)
+ TYPE(TYPE), INTENT(IN) :: fill_value
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ TYPE(TYPE), INTENT(OUT), DIMENSION(*) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ END SUBROUTINE h5dfill_f
+
+#else
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, ONLY : C_PTR
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 buffer 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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
+ TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1225,14 +1240,14 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
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 buffer 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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
+ TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1287,14 +1302,14 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ CHARACTER(*), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
CALL h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
@@ -1305,15 +1320,15 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
@@ -1338,15 +1353,15 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1370,15 +1385,15 @@ CONTAINS
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(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
@@ -1433,14 +1448,15 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ CHARACTER(LEN=*), INTENT(INOUT) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1463,14 +1479,14 @@ CONTAINS
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
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 identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
TYPE(C_PTR) :: f_ptr
@@ -1481,53 +1497,17 @@ CONTAINS
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, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ 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 ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1546,53 +1526,17 @@ CONTAINS
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, ONLY : C_PTR
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ 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 ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identifier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
@@ -1611,31 +1555,6 @@ CONTAINS
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 - memory buffer containing the selection to be filled
-! 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, ONLY : C_PTR
IMPLICIT NONE
@@ -1661,37 +1580,13 @@ CONTAINS
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 - memory buffer containing the selection to be filled
-! 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, ONLY : C_PTR
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
+ REAL(KIND=C_FLOAT), INTENT(IN), TARGET :: fill_valuer
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ REAL(KIND=C_FLOAT), INTENT(OUT), DIMENSION(*), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
@@ -1710,35 +1605,12 @@ CONTAINS
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 - memory buffer containing the selection to be filled
- ! 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
+ REAL(KIND=C_DOUBLE), INTENT(IN), TARGET :: fill_value
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ REAL(KIND=C_DOUBLE), INTENT(OUT), DIMENSION(*), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
@@ -1760,10 +1632,10 @@ CONTAINS
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
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
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: fill_value
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ REAL(KIND=C_LONG_DOUBLE), INTENT(OUT), DIMENSION(*), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
@@ -1782,36 +1654,14 @@ CONTAINS
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 - memory buffer containing the selection to be filled
-! 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, ONLY : C_PTR
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
+ CHARACTER, INTENT(IN), TARGET :: fill_value
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ CHARACTER, INTENT(OUT), DIMENSION(*), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr
INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
@@ -1826,54 +1676,8 @@ CONTAINS
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
+#endif
END MODULE H5D