summaryrefslogtreecommitdiffstats
path: root/hl
diff options
context:
space:
mode:
Diffstat (limited to 'hl')
-rw-r--r--hl/fortran/src/H5DSff.F90396
-rw-r--r--hl/fortran/src/H5IMff.F90694
-rw-r--r--hl/fortran/src/H5LTff.F901535
-rw-r--r--hl/fortran/src/H5TBff.F90913
4 files changed, 1737 insertions, 1801 deletions
diff --git a/hl/fortran/src/H5DSff.F90 b/hl/fortran/src/H5DSff.F90
index bbd9918..bb80eb7 100644
--- a/hl/fortran/src/H5DSff.F90
+++ b/hl/fortran/src/H5DSff.F90
@@ -1,3 +1,14 @@
+!> @defgroup FH5DS Fortran High-level H5DS Interface
+!!
+!! @see H5DS, C-API
+!!
+!! @see @ref H5DS_UG, User Guide
+!!
+
+!> @ingroup FH5DS
+!!
+!! @brief This module contains Fortran interfaces for H5DS
+!
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
@@ -10,45 +21,43 @@
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
!
-!
-! This file contains FORTRAN90 interfaces for H5DS functions
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_hl_fortrandll.def.in' in the hl/fortran/src directory.
+! This is needed for Windows based operating systems.
!
-MODULE h5ds
+MODULE H5DS
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_FLOAT, C_DOUBLE, C_LOC, C_CHAR
USE h5fortran_types
USE hdf5
CONTAINS
-
-!-------------------------------------------------------------------------
-! Function: H5DSset_scale_f
-!
-! Purpose: Convert dataset dsid to a dimension scale, with optional name, dimname.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 17, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Convert dataset \p dsid to a dimension scale, with optional name, \p dimname.
+!!
+!! \param dsid The dataset to be made a Dimemsion Scale.
+!! \param errcode \fortran_error
+!! \param dimname The dimension name.
+!!
SUBROUTINE H5DSset_scale_f( dsid, errcode, dimname)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale
- CHARACTER(LEN=*), INTENT(in), OPTIONAL :: dimname ! The dimension name
- INTEGER :: errcode ! Error code
+ INTEGER(hid_t), INTENT(in) :: dsid
+ CHARACTER(LEN=*), INTENT(in), OPTIONAL :: dimname
+ INTEGER :: errcode
- INTEGER(SIZE_T) :: dimname_len ! length of dimname (if present)
+ INTEGER(SIZE_T) :: dimname_len ! length of dimname (if present)
INTERFACE
INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len) &
@@ -56,8 +65,8 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dimname ! The dimension name
+ INTEGER(hid_t), INTENT(in) :: dsid
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dimname
INTEGER(SIZE_T), INTENT(in) :: dimname_len
END FUNCTION H5DSset_scale_c
END INTERFACE
@@ -71,31 +80,24 @@ CONTAINS
END SUBROUTINE H5DSset_scale_f
-!-------------------------------------------------------------------------
-! Function: H5DSattach_scale_f
-!
-! Purpose: Attach dimension scale dsid to dimension idx of dataset did.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 17, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Attach dimension scale dsid to dimension \p idx of dataset \p did.
+!!
+!! \param did The dataset.
+!! \param dsid The scale to be attached.
+!! \param idx The dimension of \p did that \p dsid is associated with.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSattach_scale_f( did, dsid, idx, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
- INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with.
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
+ INTEGER :: errcode
INTEGER :: c_idx
INTERFACE
@@ -103,9 +105,9 @@ CONTAINS
BIND(C,NAME='h5dsattach_scale_c')
IMPORT :: HID_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
- INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with.
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
END FUNCTION H5DSattach_scale_c
END INTERFACE
@@ -115,31 +117,25 @@ CONTAINS
END SUBROUTINE H5DSattach_scale_f
-!-------------------------------------------------------------------------
-! Function: H5DSdetach_scale_f
-!
-! Purpose: Detach dimension scale dsid from the dimension idx of Dataset did.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 17, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Detach dimension scale dsid from the dimension idx of dataset \p did.
+!!
+!! \param did The dataset.
+!! \param dsid The scale to be detached.
+!! \param idx The dimension of \p did to detach.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSdetach_scale_f( did, dsid, idx, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
- INTEGER , INTENT(in) :: idx ! the dimension of did to detach
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
+ INTEGER :: errcode
INTEGER :: c_idx
INTERFACE
@@ -147,9 +143,9 @@ CONTAINS
BIND(C,NAME='h5dsdetach_scale_c')
IMPORT :: HID_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
- INTEGER , INTENT(in) :: idx ! the dimension of did to detach
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
END FUNCTION H5DSdetach_scale_c
END INTERFACE
@@ -159,34 +155,26 @@ CONTAINS
END SUBROUTINE H5DSdetach_scale_f
-
-!-------------------------------------------------------------------------
-! Function: H5DSis_attached_f
-!
-! Purpose: Report if dimension scale dsid is currently attached to dimension idx of dataset did.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 17, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Report if dimension scale dsid is currently attached to dimension idx of dataset did.
+!!
+!! \param did The dataset.
+!! \param dsid The scale to be attached.
+!! \param idx The dimension of \p did that \p dsid is associated with.
+!! \param is_attached If dimension scale \p dsid is currently attached to dimension \p idx of dataset \p did.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSis_attached_f( did, dsid, idx, is_attached, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
- INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with
- LOGICAL , INTENT(out) :: is_attached ! logical: dimension scale dsid is currently attached to
- ! dimension idx of dataset did
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
+ LOGICAL , INTENT(out) :: is_attached
+ INTEGER :: errcode
INTEGER :: c_is_attached
INTEGER :: c_idx
@@ -195,10 +183,10 @@ CONTAINS
BIND(C,NAME='h5dsis_attached_c')
IMPORT :: HID_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
- INTEGER , INTENT(in) :: idx ! the dimension of did to detach
- INTEGER , INTENT(out) :: c_is_attached ! dimension scale dsid is currently attached to
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER(hid_t), INTENT(in) :: dsid
+ INTEGER , INTENT(in) :: idx
+ INTEGER , INTENT(out) :: c_is_attached
END FUNCTION H5DSis_attached_c
END INTERFACE
@@ -218,32 +206,22 @@ CONTAINS
!
! H5DSiterate_scales: Implement in F2003
!
-
-!-------------------------------------------------------------------------
-! Function: H5DSis_scale_f
-!
-! Purpose: Determines whether dset is a Dimension Scale.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 18, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Determines whether \p did is a Dimension Scale.
+!!
+!! \param did The data set to query.
+!! \param is_scale If is a Dimension Scale.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSis_scale_f( did, is_scale, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the data set to query
- LOGICAL , INTENT(out) :: is_scale ! logical:
- ! .TRUE. if did is a Dimension Scale
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: did
+ LOGICAL , INTENT(out) :: is_scale
+ INTEGER , INTENT(out) :: errcode
INTEGER :: c_is_scale
INTERFACE
@@ -267,30 +245,23 @@ CONTAINS
END SUBROUTINE H5DSis_scale_f
-!-------------------------------------------------------------------------
-! Function: H5DSset_label_f
-!
-! Purpose: Set label for the dimension idx of did to the value label
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 18, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Set label for the dimension \p idx of \p did to the value \p label.
+!!
+!! \param did The data set.
+!! \param idx The dimension.
+!! \param label The label.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSset_label_f( did, idx, label, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataset
- INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(in) :: label ! The label
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ CHARACTER(LEN=*), INTENT(in) :: label
INTEGER :: errcode ! Error code
INTEGER(SIZE_T) :: label_len ! Length of label
@@ -302,10 +273,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataset
- INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label ! The label
- INTEGER(SIZE_T), INTENT(in) :: label_len ! Length of label
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label
+ INTEGER(SIZE_T), INTENT(in) :: label_len
END FUNCTION H5DSset_label_c
END INTERFACE
@@ -316,32 +287,26 @@ CONTAINS
END SUBROUTINE H5DSset_label_f
-!-------------------------------------------------------------------------
-! Function: H5DSget_label_f
-!
-! Purpose: Read the label for dimension idx of did into buffer label.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 18, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Read the \p label for dimension \p idx of \p did into buffer \p label.
+!!
+!! \param did The dataset.
+!! \param idx The dimension.
+!! \param label The label.
+!! \param size The length of the \p label buffer.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSget_label_f( did, idx, label, size, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataget
- INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(INOUT) :: label ! The label
- INTEGER(size_t) , INTENT(INOUT) :: size ! The length of the label buffer
- INTEGER :: errcode ! Error code
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ CHARACTER(LEN=*), INTENT(INOUT) :: label
+ INTEGER(size_t) , INTENT(INOUT) :: size
+ INTEGER :: errcode
INTEGER :: c_idx
INTERFACE
@@ -350,10 +315,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataget
- INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(INOUT) :: label ! The label
- INTEGER(SIZE_T), INTENT(inout) :: size ! Length of label
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(INOUT) :: label
+ INTEGER(SIZE_T), INTENT(inout) :: size
END FUNCTION H5DSget_label_c
END INTERFACE
@@ -363,32 +328,24 @@ CONTAINS
END SUBROUTINE H5DSget_label_f
-
-!-------------------------------------------------------------------------
-! Function: H5DSget_scale_name_f
-!
-! Purpose: Read the name of scale did into buffer name.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 18, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Read the name of scale \p did into buffer name.
+!!
+!! \param did Dimension scale identifier.
+!! \param name Buffer to contain the returned name.
+!! \param size Size in bytes, of the name buffer.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSget_scale_name_f(did, name, size, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataget
- CHARACTER(LEN=*), INTENT(INOUT) :: name ! The name
- INTEGER(size_t) , INTENT(INOUT) :: size ! The length of the name buffer
- INTEGER :: errcode ! Error code
+ INTEGER(hid_t), INTENT(in) :: did
+ CHARACTER(LEN=*), INTENT(INOUT) :: name
+ INTEGER(size_t) , INTENT(INOUT) :: size
+ INTEGER :: errcode
INTERFACE
INTEGER FUNCTION H5DSget_scale_name_c(did, name, size) &
@@ -396,9 +353,9 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! The dataget
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(INOUT) :: name ! The name
- INTEGER(SIZE_T), INTENT(inout) :: size ! Length of name
+ INTEGER(hid_t), INTENT(in) :: did
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(INOUT) :: name
+ INTEGER(SIZE_T), INTENT(inout) :: size
END FUNCTION H5DSget_scale_name_c
END INTERFACE
@@ -406,30 +363,23 @@ CONTAINS
END SUBROUTINE H5DSget_scale_name_f
-!-------------------------------------------------------------------------
-! Function: H5DSget_num_scales_f
-!
-! Purpose: Determines how many Dimension Scales are attached to dimension idx of did
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: M. Scot Breitenfeld
-!
-! Date: April 18, 2011
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5DS
+!!
+!! \brief Determines how many Dimension Scales are attached to dimension idx of \p did.
+!!
+!! \param did The dataset to query.
+!! \param idx The dimension of \p did to query.
+!! \param num_scales Number of Dimension Scales associated with \p did.
+!! \param errcode \fortran_error
+!!
SUBROUTINE H5DSget_num_scales_f( did, idx, num_scales, errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER , INTENT(in) :: idx ! the dimension of did to query
- INTEGER , INTENT(INOUT) :: num_scales ! the number of Dimension Scales associated with did
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ INTEGER , INTENT(INOUT) :: num_scales
+ INTEGER :: errcode
INTEGER :: c_idx
INTERFACE
@@ -437,9 +387,9 @@ CONTAINS
BIND(C,NAME='h5dsget_num_scales_c')
IMPORT :: HID_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: did ! the dataset
- INTEGER , INTENT(in) :: idx ! the dimension of did to query
- INTEGER , INTENT(INOUT) :: num_scales ! the number of Dimension Scales associated with did
+ INTEGER(hid_t), INTENT(in) :: did
+ INTEGER , INTENT(in) :: idx
+ INTEGER , INTENT(INOUT) :: num_scales
END FUNCTION H5DSget_num_scales_c
END INTERFACE
diff --git a/hl/fortran/src/H5IMff.F90 b/hl/fortran/src/H5IMff.F90
index 9709032..a2573d6 100644
--- a/hl/fortran/src/H5IMff.F90
+++ b/hl/fortran/src/H5IMff.F90
@@ -1,3 +1,14 @@
+!> @defgroup FH5IM Fortran High-level H5IM Interface
+!!
+!! @see H5IM, C-API
+!!
+!! @see @ref H5IM_UG, User Guide
+!!
+
+!> @ingroup FH5IM
+!!
+!! @brief This module contains Fortran interfaces for H5IM.
+!
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
@@ -10,12 +21,6 @@
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN interfaces for H5IM functions
-!
-! NOTES
-!
! _____ __ __ _____ ____ _____ _______ _ _ _______
! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
@@ -28,29 +33,24 @@
! This is needed for Windows based operating systems.
!
-MODULE h5im
+MODULE H5IM
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
CONTAINS
-!-------------------------------------------------------------------------
-! Function: h5immake_image_8bit_f
-!
-! Purpose: Creates and writes an image an 8 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Creates and writes an image an 8 bit image.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create.
+!! \param width The width of the image.
+!! \param height The height of the image.
+!! \param buf Buffer with data to be written to the dataset.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5immake_image_8bit_f(loc_id,&
dset_name,&
width,&
@@ -60,13 +60,13 @@ CONTAINS
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: width ! width of image
- INTEGER(hsize_t), INTENT(in) :: height ! height of image
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: width
+ INTEGER(hsize_t), INTENT(in) :: height
+ INTEGER, INTENT(in), DIMENSION(*) :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) &
@@ -74,12 +74,12 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: width ! width of image
- INTEGER(hsize_t), INTENT(in) :: height ! height of image
- INTEGER , INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: width
+ INTEGER(hsize_t), INTENT(in) :: height
+ INTEGER , INTENT(in), DIMENSION(*) :: buf
END FUNCTION h5immake_image_8bit_c
END INTERFACE
@@ -88,22 +88,16 @@ CONTAINS
END SUBROUTINE h5immake_image_8bit_f
-!-------------------------------------------------------------------------
-! Function: h5imread_image_f
-!
-! Purpose: Reads image data from disk.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Reads image data from disk.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create.
+!! \param buf Buffer with data to store the image.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imread_image_f(loc_id,&
dset_name,&
buf,&
@@ -111,11 +105,11 @@ CONTAINS
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5imread_image_c(loc_id,namelen,dset_name,buf) &
@@ -123,10 +117,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf
END FUNCTION h5imread_image_c
END INTERFACE
@@ -135,42 +129,32 @@ CONTAINS
END SUBROUTINE h5imread_image_f
-!-------------------------------------------------------------------------
-! Function: h5immake_image_24bit_f
-!
-! Purpose: Creates and writes an image a 24 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5immake_image_24bit_f(loc_id,&
- dset_name,&
- width,&
- height,&
- il,&
- buf,&
- errcode )
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Creates and writes an image a 24 bit image.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create.
+!! \param width The width of the image.
+!! \param height The height of the image.
+!! \param il String defining the interlace mode.
+!! \param buf Buffer with data to be written to the dataset.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5immake_image_24bit_f(loc_id, dset_name, width, height, il, buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: width ! width of image
- INTEGER(hsize_t), INTENT(in) :: height ! height of image
- CHARACTER(len=*), INTENT(in) :: il ! interlace
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: width
+ INTEGER(hsize_t), INTENT(in) :: height
+ CHARACTER(len=*), INTENT(in) :: il
+ INTEGER, INTENT(in), DIMENSION(*) :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
INTERFACE
INTEGER FUNCTION h5immake_image_24bit_c(loc_id,namelen,dset_name,ILEN,il,width,height,buf) &
@@ -178,14 +162,14 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: width ! width of image
- INTEGER(hsize_t), INTENT(in) :: height ! height of image
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: il ! interlace
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: width
+ INTEGER(hsize_t), INTENT(in) :: height
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: il
+ INTEGER, INTENT(in), DIMENSION(*) :: buf
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: ILEN
END FUNCTION h5immake_image_24bit_c
END INTERFACE
@@ -196,24 +180,20 @@ CONTAINS
END SUBROUTINE h5immake_image_24bit_f
-!-------------------------------------------------------------------------
-! Function: h5imget_image_info_f
-!
-! Purpose: Gets information about an image dataset (dimensions, interlace mode
-! and number of associated palettes).
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Gets information about an image dataset (dimensions, interlace mode and number of associated palettes).
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset.
+!! \param width The width of the image.
+!! \param height The height of the image.
+!! \param planes The number of color planes of the image.
+!! \param interlace The interlace mode of the image.
+!! \param npals The number of palettes associated to the image.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imget_image_info_f(loc_id,&
dset_name,&
width,&
@@ -225,16 +205,16 @@ CONTAINS
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout) :: width ! width of image
- INTEGER(hsize_t), INTENT(inout) :: height ! height of image
- INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
- INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
- CHARACTER(len=*), INTENT(inout) :: interlace ! interlace
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout) :: width
+ INTEGER(hsize_t), INTENT(inout) :: height
+ INTEGER(hsize_t), INTENT(inout) :: planes
+ INTEGER(hsize_t), INTENT(inout) :: npals
+ CHARACTER(len=*), INTENT(inout) :: interlace
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
INTERFACE
INTEGER FUNCTION h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ILEN,interlace) &
@@ -242,15 +222,15 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout) :: width ! width of image
- INTEGER(hsize_t), INTENT(inout) :: height ! height of image
- INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
- INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: interlace ! interlace
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout) :: width
+ INTEGER(hsize_t), INTENT(inout) :: height
+ INTEGER(hsize_t), INTENT(inout) :: planes
+ INTEGER(hsize_t), INTENT(inout) :: npals
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: interlace
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: ILEN
END FUNCTION h5imget_image_info_c
END INTERFACE
@@ -260,32 +240,22 @@ CONTAINS
END SUBROUTINE h5imget_image_info_f
-!-------------------------------------------------------------------------
-! Function: h5imis_image_f
-!
-! Purpose: Inquires if a dataset is an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- INTEGER FUNCTION h5imis_image_f(loc_id,&
- dset_name)
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Inquires if a dataset is an image.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset.
+!!
+ INTEGER FUNCTION h5imis_image_f(loc_id, dset_name)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5imis_image_c(loc_id,namelen,dset_name) &
@@ -293,9 +263,9 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
END FUNCTION h5imis_image_c
END INTERFACE
@@ -305,339 +275,285 @@ CONTAINS
END FUNCTION h5imis_image_f
-
-!-------------------------------------------------------------------------
-! Function: h5immake_palette_f
-!
-! Purpose: Creates and writes a palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Creates and writes a palette
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param pal_name The name of the palette.
+!! \param pal_dims An array of the size of the palette dimensions.
+!! \param pal_data Buffer with data to be written to the dataset.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5immake_palette_f(loc_id,&
- dset_name,&
+ pal_name,&
pal_dims,&
- buf,&
+ pal_data,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: pal_name
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims
+ INTEGER, INTENT(in), DIMENSION(*) :: pal_data
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
- INTEGER FUNCTION h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) &
+ INTEGER FUNCTION h5immake_palette_c(loc_id,namelen,pal_name,pal_dims,pal_data) &
BIND(C,NAME='h5immake_palette_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims
+ INTEGER, INTENT(in), DIMENSION(*) :: pal_data
END FUNCTION h5immake_palette_c
END INTERFACE
- namelen = LEN(dset_name)
- errcode = h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
+ namelen = LEN(pal_name)
+ errcode = h5immake_palette_c(loc_id,namelen,pal_name,pal_dims,pal_data)
END SUBROUTINE h5immake_palette_f
-!-------------------------------------------------------------------------
-! Function: h5imlink_palette_f
-!
-! Purpose: This function attaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief This function attaches a palette to an existing image dataset.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param image_name The name of the dataset to attach the palette to.
+!! \param pal_name The name of the palette.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imlink_palette_f(loc_id,&
- dset_name,&
+ image_name,&
pal_name,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: image_name
+ CHARACTER(len=*), INTENT(in) :: pal_name
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
INTERFACE
- INTEGER FUNCTION h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ INTEGER FUNCTION h5imlink_palette_c(loc_id,namelen,image_name,ILEN,pal_name) &
BIND(C,NAME='h5imlink_palette_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: image_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: ILEN
END FUNCTION h5imlink_palette_c
END INTERFACE
- namelen = LEN(dset_name)
+ namelen = LEN(image_name)
ILEN = LEN(pal_name)
- errcode = h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+ errcode = h5imlink_palette_c(loc_id,namelen,image_name,ILEN,pal_name)
END SUBROUTINE h5imlink_palette_f
-
-!-------------------------------------------------------------------------
-! Function: h5imunlink_palette_f
-!
-! Purpose: This function dettaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+!>
+!! \ingroup FH5IM
+!!
+!! \brief This function dettaches a palette to an existing image dataset.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param image_name The name of the image dataset.
+!! \param pal_name The name of the palette.
+!! \param errcode \fortran_error
SUBROUTINE h5imunlink_palette_f(loc_id,&
- dset_name,&
+ image_name,&
pal_name,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: image_name
+ CHARACTER(len=*), INTENT(in) :: pal_name
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
INTERFACE
- INTEGER FUNCTION h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ INTEGER FUNCTION h5imunlink_palette_c(loc_id,namelen,image_name,ILEN,pal_name) &
BIND(C,NAME='h5imunlink_palette_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: ILEN ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: image_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: ILEN
END FUNCTION h5imunlink_palette_c
END INTERFACE
- namelen = LEN(dset_name)
+ namelen = LEN(image_name)
ILEN = LEN(pal_name)
- errcode = h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+ errcode = h5imunlink_palette_c(loc_id,namelen,image_name,ILEN,pal_name)
END SUBROUTINE h5imunlink_palette_f
-!-------------------------------------------------------------------------
-! Function: h5imget_npalettes_f
-!
-! Purpose: Gets the number of palettes associated to an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Gets the number of palettes associated to an image.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param image_name The name of the image dataset.
+!! \param npals The number of palettes.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imget_npalettes_f(loc_id,&
- dset_name,&
+ image_name,&
npals,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: image_name
+ INTEGER(hsize_t), INTENT(inout) :: npals
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
- INTEGER FUNCTION h5imget_npalettes_c(loc_id,namelen,dset_name,npals) &
+ INTEGER FUNCTION h5imget_npalettes_c(loc_id,namelen,image_name,npals) &
BIND(C,NAME='h5imget_npalettes_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: image_name
+ INTEGER(hsize_t), INTENT(inout) :: npals
+ INTEGER(size_t) :: namelen
END FUNCTION h5imget_npalettes_c
END INTERFACE
- namelen = LEN(dset_name)
- errcode = h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
+ namelen = LEN(image_name)
+ errcode = h5imget_npalettes_c(loc_id,namelen,image_name,npals)
END SUBROUTINE h5imget_npalettes_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_info_f
-!
-! Purpose: Get palette information
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Gets information about a palette dataset (dimensions).
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param image_name The name of the image dataset.
+!! \param pal_number The zero based index that identifies the palette.
+!! \param pal_dims The dimensions of the palette dataset.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imget_palette_info_f(loc_id,&
- dset_name,&
+ image_name,&
pal_number,&
- dims,&
+ pal_dims,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: pal_number ! palette number
- INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: image_name
+ INTEGER, INTENT(in) :: pal_number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: pal_dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
- INTEGER FUNCTION h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) &
+ INTEGER FUNCTION h5imget_palette_info_c(loc_id,namelen,image_name,pal_number,pal_dims) &
BIND(C,NAME='h5imget_palette_info_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: pal_number ! palette number
- INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: image_name
+ INTEGER, INTENT(in) :: pal_number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: pal_dims
+ INTEGER(size_t) :: namelen
END FUNCTION h5imget_palette_info_c
END INTERFACE
- namelen = LEN(dset_name)
- errcode = h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
+ namelen = LEN(image_name)
+ errcode = h5imget_palette_info_c(loc_id,namelen,image_name,pal_number,pal_dims)
END SUBROUTINE h5imget_palette_info_f
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_f
-!
-! Purpose: Reads palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Gets the palette dataset
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param image_name The name of the image dataset.
+!! \param pal_number The zero based index that identifies the palette.
+!! \param pal_data The palette dataset.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5imget_palette_f(loc_id,&
- dset_name,&
+ image_name,&
pal_number,&
- buf,&
+ pal_data,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: pal_number ! palette number
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: image_name
+ INTEGER, INTENT(in) :: pal_number
+ INTEGER, INTENT(inout), DIMENSION(*) :: pal_data
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! length of name buffer
INTERFACE
- INTEGER FUNCTION h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) &
+ INTEGER FUNCTION h5imget_palette_c(loc_id,namelen,image_name,pal_number,pal_data) &
BIND(C,NAME='h5imget_palette_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: pal_number ! palette number
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: image_name
+ INTEGER, INTENT(in) :: pal_number
+ INTEGER, INTENT(inout), DIMENSION(*) :: pal_data
END FUNCTION h5imget_palette_c
END INTERFACE
- namelen = LEN(dset_name)
- errcode = h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
+ namelen = LEN(image_name)
+ errcode = h5imget_palette_c(loc_id,namelen,image_name,pal_number,pal_data)
END SUBROUTINE h5imget_palette_f
-
-!-------------------------------------------------------------------------
-! Function: h5imis_palette_f
-!
-! Purpose: Inquires if a dataset is a palette
-!
-! Return: true, false, fail
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- INTEGER FUNCTION h5imis_palette_f(loc_id,&
- dset_name)
+!>
+!! \ingroup FH5IM
+!!
+!! \brief Inquires if a dataset is a palette. Returns zero (false), a positive (true) or a negative (failure) value.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset.
+!!
+ INTEGER FUNCTION h5imis_palette_f(loc_id, dset_name)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5imis_palette_c(loc_id,namelen,dset_name) &
@@ -645,9 +561,9 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
END FUNCTION h5imis_palette_c
END INTERFACE
diff --git a/hl/fortran/src/H5LTff.F90 b/hl/fortran/src/H5LTff.F90
index a4ab247..d2e9daf 100644
--- a/hl/fortran/src/H5LTff.F90
+++ b/hl/fortran/src/H5LTff.F90
@@ -1,3 +1,14 @@
+!> @defgroup FH5LT Fortran High-level H5LT Interface
+!!
+!! @see H5LT, C-API
+!!
+!! @see @ref H5LT_UG, User Guide
+!!
+
+!> @ingroup H5LT
+!!
+!! @brief This module contains Fortran interfaces for H5LT.
+!
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
@@ -10,12 +21,6 @@
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN interfaces for H5LT functions
-!
-! NOTES
-!
! _____ __ __ _____ ____ _____ _______ _ _ _______
! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
@@ -30,11 +35,18 @@
#include <H5config_f.inc>
+#ifdef H5_DOXYGEN_FORTRAN
+MODULE H5LT
+#else
MODULE H5LT_CONST
+#endif
+
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
+#ifndef H5_DOXYGEN_FORTRAN
+
INTERFACE h5ltmake_dataset_f
MODULE PROCEDURE h5ltmake_dataset_f_ptr
END INTERFACE
@@ -86,8 +98,7 @@ MODULE H5LT_CONST
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
INTEGER(size_t), INTENT(in) :: size ! size of attribute array
TYPE(C_PTR), VALUE :: buf ! data buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
- ! the buffer:
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the the buffer:
! R=Real, D=DOUBLE, I=Integer, C=Character
INTEGER(size_t) :: SizeOf_buf ! Sizeof the buf datatype
END FUNCTION h5ltset_attribute_c
@@ -105,76 +116,88 @@ MODULE H5LT_CONST
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
TYPE(C_PTR), VALUE :: buf ! data buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
- ! the buffer:
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the the buffer:
! R=Real, D=DOUBLE, I=Integer
INTEGER(size_t), INTENT(in) :: SizeOf_buf ! Sizeof the buf data type
END FUNCTION h5ltget_attribute_c
END INTERFACE
+#endif
+
CONTAINS
- !-------------------------------------------------------------------------
- ! Make/Read dataset functions
- !-------------------------------------------------------------------------
!-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_f_ptr
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: APR 29, 2015
- !
- ! Comments:
- !
- ! Modifications:
- !
+ ! Make/Read dataset functions
!-------------------------------------------------------------------------
- SUBROUTINE h5ltmake_dataset_f_ptr(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes a dataset of a type \p type_id.
+ !!
+ !! \note \fortran_approved
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param dset_name The name of the dataset to create.
+ !! \param rank Number of dimensions of dataspace.
+ !! \param dims An array of the size of each dimension.
+ !! \param type_id Identifier of the datatype to use when creating the dataset.
+ !! \param buf Buffer with data to be written to the dataset.
+ !! \param errcode \fortran_error
+ !!
+ SUBROUTINE h5ltmake_dataset_f(&
+#else
+ SUBROUTINE h5ltmake_dataset_f_ptr( &
+#endif
+ loc_id,&
dset_name,&
rank,&
dims,&
type_id,&
buf,&
- errcode )
+ errcode)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- TYPE(C_PTR) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ TYPE(C_PTR) :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
namelen = LEN(dset_name)
errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5ltmake_dataset_f
+#else
END SUBROUTINE h5ltmake_dataset_f_ptr
+#endif
- !-------------------------------------------------------------------------
- ! Function(s): h5ltmake_dataset_f_int(1-7)
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications: Changed to passing C_PTR.
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int1(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes a dataset of a type \p type_id.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param dset_name The name of the dataset to create.
+ !! \param rank Number of dimensions of dataspace.
+ !! \param dims An array of the size of each dimension. Limited to seven dimensions.
+ !! \param type_id Identifier of the datatype to use when creating the dataset.
+ !! \param buf Buffer with data to be written to the dataset.
+ !! \param errcode \fortran_error
+ !!
+ SUBROUTINE h5ltmake_dataset_f(&
+#else
+ SUBROUTINE h5ltmake_dataset_f_int1(&
+#endif
+ loc_id,&
dset_name,&
rank,&
dims,&
@@ -183,20 +206,26 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(in), DIMENSION(*,*,...) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5ltmake_dataset_f
+#else
END SUBROUTINE h5ltmake_dataset_f_int1
SUBROUTINE h5ltmake_dataset_f_int2(loc_id,&
@@ -208,15 +237,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(len=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1,1))
@@ -235,15 +264,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1,1,1))
@@ -257,15 +286,15 @@ CONTAINS
type_id, buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1,1,1,1))
@@ -279,15 +308,15 @@ CONTAINS
type_id, buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1,1,1,1,1))
@@ -301,15 +330,15 @@ CONTAINS
type_id, buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1,1,1,1,1,1))
@@ -323,13 +352,13 @@ CONTAINS
type_id, buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! data buffer
TYPE(C_PTR) :: f_ptr
@@ -340,62 +369,68 @@ CONTAINS
errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int7
+#endif
-
- !-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_f_ptr
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: Apr 29, 2015
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_ptr(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads a dataset of a type \p type_id.
+ !!
+ !! \note \fortran_approved
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param dset_name The name of the dataset to create.
+ !! \param type_id Identifier of the datatype to use when creating the dataset.
+ !! \param buf Buffer with data to be written to the dataset.
+ !! \param errcode \fortran_error
+ !!
+ SUBROUTINE h5ltread_dataset_f(&
+#else
+ SUBROUTINE h5ltread_dataset_f_ptr(&
+#endif
+ loc_id,&
dset_name,&
type_id,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- TYPE(C_PTR) :: buf ! data buffer
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ TYPE(C_PTR) :: buf
+ INTEGER :: errcode
INTEGER(size_t) :: namelen
namelen = LEN(dset_name)
errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id, buf)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5ltread_dataset_f
+#else
END SUBROUTINE h5ltread_dataset_f_ptr
+#endif
- !-------------------------------------------------------------------------
- ! Function(s): h5ltread_dataset_f_int(1-7)
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int1(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads a dataset of a type \p type_id.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param dset_name The name of the dataset to create.
+ !! \param type_id Identifier of the datatype to use when creating the dataset.
+ !! \param buf Buffer with data to be written to the dataset.
+ !! \param dims An array of the size of each dimension. Limited to seven dimensions.
+ !! \param errcode \fortran_error
+ !!
+ SUBROUTINE h5ltread_dataset_f(&
+#else
+ SUBROUTINE h5ltread_dataset_f_int1(&
+#endif
+ loc_id,&
dset_name,&
type_id,&
buf,&
@@ -403,12 +438,16 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(inout), DIMENSION(*,*,...) :: buf
+#else
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
INTEGER(size_t) :: namelen
TYPE(C_PTR) :: f_ptr
@@ -417,25 +456,11 @@ CONTAINS
namelen = LEN(dset_name)
errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5ltread_dataset_f
+#else
END SUBROUTINE h5ltread_dataset_f_int1
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int2(loc_id,&
dset_name,&
type_id,&
@@ -444,12 +469,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -469,12 +494,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -490,12 +515,12 @@ CONTAINS
dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -511,12 +536,12 @@ CONTAINS
dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -528,33 +553,16 @@ CONTAINS
END SUBROUTINE h5ltread_dataset_f_int5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int6(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -570,12 +578,12 @@ CONTAINS
dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hid_t), INTENT(in) :: type_id
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -587,11 +595,10 @@ CONTAINS
END SUBROUTINE h5ltread_dataset_f_int7
-
!-------------------------------------------------------------------------
! Function: h5ltmake_dataset_int_f_1
!
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
+ !! \brief Creates and writes a dataset of H5T_NATIVE_INT type
!
! Return: Success: 0, Failure: -1
!
@@ -613,13 +620,13 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -637,12 +644,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -662,12 +669,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -683,12 +690,12 @@ CONTAINS
buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -704,12 +711,12 @@ CONTAINS
buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -725,12 +732,12 @@ CONTAINS
buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -746,12 +753,12 @@ CONTAINS
buf, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -766,7 +773,7 @@ CONTAINS
!-------------------------------------------------------------------------
! Function(s): h5ltread_dataset_int_f_(1-7)
!
- ! Purpose: Read a dataset
+ !! \brief Read a dataset
!
! Return: Success: 0, Failure: -1
!
@@ -787,11 +794,11 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -810,11 +817,11 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -833,11 +840,11 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -852,11 +859,11 @@ CONTAINS
SUBROUTINE h5ltread_dataset_int_f_4(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -871,11 +878,11 @@ CONTAINS
SUBROUTINE h5ltread_dataset_int_f_5(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -890,11 +897,11 @@ CONTAINS
SUBROUTINE h5ltread_dataset_int_f_6(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -909,11 +916,11 @@ CONTAINS
SUBROUTINE h5ltread_dataset_int_f_7(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
TYPE(C_PTR) :: f_ptr
@@ -929,7 +936,7 @@ CONTAINS
!-------------------------------------------------------------------------
! Function: h5ltmake_dataset_string_f
!
- ! Purpose: Creates and writes a dataset
+ !! \brief Creates and writes a dataset
!
! Return: Success: 0, Failure: -1
!
@@ -949,10 +956,10 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: buf ! data buffer
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: buf
+ INTEGER :: errcode
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: buflen ! buffer length
@@ -962,11 +969,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: loc_id
INTEGER(size_t) :: namelen ! length of name buffer
INTEGER(size_t) :: buflen ! length of data buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf
END FUNCTION h5ltmake_dataset_string_c
END INTERFACE
@@ -979,7 +986,7 @@ CONTAINS
!-------------------------------------------------------------------------
! Function: h5ltread_dataset_string_f
!
- ! Purpose: Read a dataset
+ !! \brief Read a dataset
!
! Return: Success: 0, Failure: -1
!
@@ -999,10 +1006,10 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(inout) :: buf ! data buffer
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(inout) :: buf
+ INTEGER :: errcode
INTEGER(size_t) :: namelen ! name length
INTERFACE
@@ -1011,10 +1018,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: loc_id
INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf
END FUNCTION h5ltread_dataset_string_c
END INTERFACE
@@ -1023,49 +1030,51 @@ CONTAINS
END SUBROUTINE h5ltread_dataset_string_f
- !-------------------------------------------------------------------------
- ! Make/Read attribute functions
- !-------------------------------------------------------------------------
+#endif
!-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: May 4, 2015
- !
- ! Comments:
- !
- ! Modifications:
- !
+ ! Make/Read attribute functions
!-------------------------------------------------------------------------
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes an attribute and is a generic replacement for data type specific
+ !! Fortran h5ltset_attribute_*_f APIs. There is no C equivalent API.
+ !!
+ !! \note \fortran_approved
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param dset_name The name of the dataset to create.
+ !! \param attr_name The name of the attribute to create.
+ !! \param buf The data buffer.
+ !! \param buf_type Valid data types are CHARACTER, INTEGER or REAL.
+ !! NOTE: only the first character matters and is case insensitive.
+ !! \param SizeOf_buf_type Size of \p buf&apos;s data type, in bytes.
+ !! \param size Size of attribute array.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltset_attribute_f(loc_id,&
dset_name,&
attr_name,&
buf,&
- buf_type, SizeOf_buf_type, &
+ buf_type,&
+ SizeOf_buf_type, &
size,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- TYPE(C_PTR) :: buf ! data buffer
- CHARACTER(LEN=*), INTENT(in) :: buf_type ! valid data types are:
- ! CHARACTER, INTEGER or REAL
- ! NOTE: only the first character matters and is case insensitive
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER(size_t), INTENT(in) :: SizeOf_buf_type ! size of buf's data type
- INTEGER, INTENT(out) :: errcode ! error code
-
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ TYPE(C_PTR) :: buf
+ CHARACTER(LEN=*), INTENT(in) :: buf_type
+ INTEGER(size_t), INTENT(in) :: size
+ INTEGER(size_t), INTENT(in) :: SizeOf_buf_type
+ INTEGER, INTENT(out) :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
CHARACTER(KIND=C_CHAR) :: buf_type_uppercase
namelen = LEN(dset_name)
@@ -1085,39 +1094,37 @@ CONTAINS
END SUBROUTINE h5ltset_attribute_f
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_int_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes an attribute.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object to attach the attribute.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param size The size of the 1D array (one in the case of a scalar attribute).
+ !! This value is used by H5Screate_simple() to create the dataspace.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltset_attribute_int_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
size,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- INTEGER, DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER(size_t), INTENT(in) :: size
+ INTEGER :: errcode
+ INTEGER, DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf_type
@@ -1129,46 +1136,44 @@ CONTAINS
SizeOf_buf_type = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ errcode = h5ltset_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,size,&
f_ptr,'I'//C_NULL_CHAR,SizeOf_buf_type)
END SUBROUTINE h5ltset_attribute_int_f
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_float_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes an attribute.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object to attach the attribute.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param size The size of the 1D array (one in the case of a scalar attribute).
+ !! This value is used by H5Screate_simple() to create the dataspace.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltset_attribute_float_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
size,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER(size_t), INTENT(in) :: size
+ INTEGER :: errcode
+ REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf_type
@@ -1179,46 +1184,44 @@ CONTAINS
SizeOf_buf_type = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ errcode = h5ltset_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,size,&
f_ptr,'R'//C_NULL_CHAR, SizeOf_buf_type)
END SUBROUTINE h5ltset_attribute_float_f
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_double_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes an attribute.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object to attach the attribute.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param size The size of the 1D array (one in the case of a scalar attribute).
+ !! This value is used by H5Screate_simple() to create the dataspace.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltset_attribute_double_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
size,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER(size_t), INTENT(in) :: size
+ INTEGER :: errcode
+ REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf_type
@@ -1230,46 +1233,41 @@ CONTAINS
SizeOf_buf_type = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ errcode = h5ltset_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,size,&
f_ptr,'R'//C_NULL_CHAR,SizeOf_buf_type)
END SUBROUTINE h5ltset_attribute_double_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_string_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Creates and writes an attribute.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object to attach the attribute.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltset_attribute_string_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- CHARACTER(LEN=*), DIMENSION(*), INTENT(in), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buflen ! data buffer length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER :: errcode
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(in), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: buflen ! data buffer length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf_type
@@ -1281,52 +1279,48 @@ CONTAINS
SizeOf_buf_type = SIZEOF(buf(1:1)(1:1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
buflen = LEN(buf)
- errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,&
+ errcode = h5ltset_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,buflen,&
f_ptr,'C'//C_NULL_CHAR, SizeOf_buf_type)
END SUBROUTINE h5ltset_attribute_string_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: Apr 29, 2015
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads an attribute from disk.
+ !!
+ !! \note \fortran_approved
+ !!
+ !! \param loc_id Location identifier. The identifier may be that of a file or group.
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The name of the attribute to create.
+ !! \param buf The data buffer.
+ !! \param buf_type Valid data types are CHARACTER, INTEGER or REAL.
+ !! NOTE: only the first character matters and is case insensitive.
+ !! \param SizeOf_buf_type Size of \p buf&apos;s data type, in bytes.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf, buf_type, SizeOf_buf_type, &
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- TYPE(C_PTR) :: buf ! data buffer
- CHARACTER(LEN=*), INTENT(in) :: buf_type ! valid data types are:
- ! CHARACTER, INTEGER or REAL
- ! NOTE: only the first character matters and is case insensitive
- INTEGER(size_t), INTENT(in) :: SizeOf_buf_type ! size of buf's data type
- INTEGER, INTENT(out) :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! attr length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ TYPE(C_PTR) :: buf
+ CHARACTER(LEN=*), INTENT(in) :: buf_type
+ INTEGER(size_t), INTENT(in) :: SizeOf_buf_type
+ INTEGER, INTENT(out) :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! attr length
CHARACTER(KIND=C_CHAR) :: buf_type_uppercase
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
buf_type_uppercase(1:1) = buf_type(1:1)
@@ -1337,43 +1331,38 @@ CONTAINS
ELSE IF(buf_type_uppercase(1:1).EQ.'c')THEN
buf_type_uppercase(1:1) = 'C'
ENDIF
- errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name, &
+ errcode = h5ltget_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name, &
buf, buf_type_uppercase//C_NULL_CHAR, SizeOf_buf_type)
-
END SUBROUTINE h5ltget_attribute_f
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_int_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads an attribute from disk.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_int_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER :: errcode
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf
@@ -1384,43 +1373,39 @@ CONTAINS
#else
SizeOf_buf = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'I'//C_NULL_CHAR, SizeOf_buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,f_ptr,'I'//C_NULL_CHAR, SizeOf_buf)
END SUBROUTINE h5ltget_attribute_int_f
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_float_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads an attribute from disk.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_float_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER :: errcode
REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*), TARGET :: buf
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf
@@ -1430,43 +1415,39 @@ CONTAINS
#else
SizeOf_buf = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
END SUBROUTINE h5ltget_attribute_float_f
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_c_double_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads an attribute from disk.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_double_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER :: errcode
REAL(KIND=C_DOUBLE),INTENT(inout),DIMENSION(*), TARGET :: buf
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
TYPE(C_PTR) :: f_ptr
INTEGER(size_t) :: SizeOf_buf
@@ -1477,66 +1458,62 @@ CONTAINS
SizeOf_buf = SIZEOF(buf(1))
#endif
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,obj_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
END SUBROUTINE h5ltget_attribute_double_f
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_string_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Reads an attribute from disk.
+ !!
+ !! \note \fortran_obsolete
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to create the attribute within
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param buf Buffer with data to be written to the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_string_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER :: errcode
CHARACTER(LEN=*), INTENT(inout) :: buf
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buf_size ! buf size
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: buf_size ! buf size
INTERFACE
- INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size) &
+ INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,obj_name,attrlen,attr_name,buf,buf_size) &
BIND(C,NAME='h5ltget_attribute_string_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
- INTEGER(size_t) :: buf_size ! data buffer size
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: attrlen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf
+ INTEGER(size_t) :: buf_size
END FUNCTION h5ltget_attribute_string_c
END INTERFACE
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
buf_size = LEN(buf)
- errcode = h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size)
+ errcode = h5ltget_attribute_string_c(loc_id,namelen,obj_name,attrlen,attr_name,buf,buf_size)
END SUBROUTINE h5ltget_attribute_string_f
@@ -1544,34 +1521,27 @@ CONTAINS
! Query dataset functions
!-------------------------------------------------------------------------
- !-------------------------------------------------------------------------
- ! Function: h5ltget_dataset_ndims_f
- !
- ! Purpose: Gets the dimensionality of a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Gets the dimensionality of a dataset.
+ !!
+ !! \param loc_id Identifier of the object to locate the dataset within.
+ !! \param dset_name The dataset name.
+ !! \param rank The dimensionality of the dataset.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_dataset_ndims_f(loc_id,&
dset_name,&
rank,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout) :: rank ! rank
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(inout) :: rank
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) &
@@ -1579,10 +1549,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout) :: rank ! rank
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER, INTENT(inout) :: rank
END FUNCTION h5ltget_dataset_ndims_c
END INTERFACE
@@ -1591,33 +1561,24 @@ CONTAINS
END SUBROUTINE h5ltget_dataset_ndims_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltfind_dataset_f
- !
- ! Purpose: Inquires if a dataset named dset_name exists attached
- ! to the object loc_id.
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Determines whether a dataset exists.
+ !!
+ !! \param loc_id Identifier of the group containing the dataset.
+ !! \param dset_name The dataset name.
+ !!
+ !! \result Returns zero (false), a positive (true) or a negative (failure) value.
+ !!
INTEGER FUNCTION h5ltfind_dataset_f(loc_id,&
dset_name)
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name) &
@@ -1625,9 +1586,9 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
END FUNCTION h5ltfind_dataset_c
END INTERFACE
@@ -1637,23 +1598,18 @@ CONTAINS
END FUNCTION h5ltfind_dataset_f
- !-------------------------------------------------------------------------
- ! Function: h5ltget_dataset_info_f
- !
- ! Purpose: Gets information about a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Retrieves information about a dataset.
+ !!
+ !! \param loc_id Identifier of the object to locate the dataset within.
+ !! \param dset_name The dataset name.
+ !! \param dims The dimensions of the dataset.
+ !! \param type_class The class identifier. See H5Tget_class_f() for a list of class types.
+ !! \param type_size The size of the datatype in bytes.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_dataset_info_f(loc_id,&
dset_name,&
dims,&
@@ -1662,13 +1618,13 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims
+ INTEGER, INTENT(inout) :: type_class
+ INTEGER(size_t), INTENT(inout) :: type_size
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) &
@@ -1676,12 +1632,12 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims
+ INTEGER, INTENT(inout) :: type_class
+ INTEGER(size_t), INTENT(inout) :: type_size
END FUNCTION h5ltget_dataset_info_c
END INTERFACE
@@ -1695,80 +1651,68 @@ CONTAINS
! Query attribute functions
!-------------------------------------------------------------------------
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_ndims_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Gets the dimensionality of an attribute.
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to read the attribute from.
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param rank The dimensionality of the attribute.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_ndims_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
rank,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout) :: rank ! rank
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER, INTENT(inout) :: rank
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
INTERFACE
- INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) &
+ INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,obj_name,attrlen,attr_name,rank) &
BIND(C,NAME='h5ltget_attribute_ndims_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout) :: rank ! rank
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: attrlen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name
+ INTEGER, INTENT(inout) :: rank
END FUNCTION h5ltget_attribute_ndims_c
END INTERFACE
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank)
+ errcode = h5ltget_attribute_ndims_c(loc_id,namelen,obj_name,attrlen,attr_name,rank)
END SUBROUTINE h5ltget_attribute_ndims_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_info_f
- !
- ! Purpose: Gets information about an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: Pedro Vicente
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Gets information about an attribute.
+ !!
+ !! \param loc_id Identifier of the object (dataset or group) to read the attribute from.
+ !! \param obj_name The name of the object that the attribute is attached to.
+ !! \param attr_name The attribute name.
+ !! \param dims The dimensions of the attribute.
+ !! \param type_class The class identifier. For a list of valid class types see: H5Tget_class_f().
+ !! \param type_size The size of the datatype in bytes.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltget_attribute_info_f(loc_id,&
- dset_name,&
+ obj_name,&
attr_name,&
dims,&
type_class,&
@@ -1776,65 +1720,58 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: obj_name
+ CHARACTER(LEN=*), INTENT(in) :: attr_name
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims
+ INTEGER, INTENT(inout) :: type_class
+ INTEGER(size_t), INTENT(inout) :: type_size
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
INTERFACE
- INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) &
+ INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,obj_name,attrlen,attr_name,dims,type_class,type_size) &
BIND(C,NAME='h5ltget_attribute_info_c')
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: attrlen
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims
+ INTEGER, INTENT(inout) :: type_class
+ INTEGER(size_t), INTENT(inout) :: type_size
END FUNCTION h5ltget_attribute_info_c
END INTERFACE
- namelen = LEN(dset_name)
+ namelen = LEN(obj_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size)
+ errcode = h5ltget_attribute_info_c(loc_id,namelen,obj_name,attrlen,attr_name,dims,type_class,type_size)
END SUBROUTINE h5ltget_attribute_info_f
- !-------------------------------------------------------------------------
- ! Function: h5ltpath_valid_f
- !
- ! Purpose: Validates a path
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: February 18, 2012
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
+ !>
+ !! \ingroup FH5LT
+ !!
+ !! \brief Determines whether an HDF5 path is valid and, optionally, whether the path resolves to an HDF5 object.
+ !!
+ !! \param loc_id Identifier of an object in the file.
+ !! \param path The path to the object to check; links in path may be of any type.
+ !! \param check_object_valid Indicates whether to check if the final component of the path resolves to a valid object.
+ !! \param path_valid Object status.
+ !! \param errcode \fortran_error
+ !!
SUBROUTINE h5ltpath_valid_f(loc_id, path, check_object_valid, path_valid, errcode)
IMPLICIT NONE
- INTEGER(hid_t) , INTENT(IN) :: loc_id ! An identifier of an object in the file.
- CHARACTER(LEN=*), INTENT(IN) :: path ! Path to the object to check, relative to loc_id.
- LOGICAL , INTENT(IN) :: check_object_valid ! Indicates whether to check if the final component
- ! of the path resolves to a valid object
- LOGICAL , INTENT(OUT) :: path_valid ! Object status
- INTEGER , INTENT(OUT) :: errcode ! Error code: 0 on success and -1 on failure
+ INTEGER(hid_t) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: path
+ LOGICAL , INTENT(IN) :: check_object_valid
+ LOGICAL , INTENT(OUT) :: path_valid
+ INTEGER , INTENT(OUT) :: errcode
INTEGER(size_t) :: pathlen
INTEGER :: check_object_valid_c
@@ -1871,7 +1808,11 @@ CONTAINS
END SUBROUTINE h5ltpath_valid_f
+#ifdef H5_DOXYGEN_FORTRAN
+END MODULE H5LT
+#else
END MODULE H5LT_CONST
+#endif
diff --git a/hl/fortran/src/H5TBff.F90 b/hl/fortran/src/H5TBff.F90
index 82f34a8..611d5ec 100644
--- a/hl/fortran/src/H5TBff.F90
+++ b/hl/fortran/src/H5TBff.F90
@@ -1,3 +1,14 @@
+!> @defgroup FH5TB Fortran High-level H5TB Interface
+!!
+!! @see H5TB, C-API
+!!
+!! @see @ref H5TB_UG, User Guide
+!!
+
+!> @ingroup FH5TB
+!!
+!! @brief This module contains Fortran interfaces for H5TB.
+!
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
@@ -10,13 +21,6 @@
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN interfaces for H5TB functions
-!
-!
-! NOTES
-!
! _____ __ __ _____ ____ _____ _______ _ _ _______
! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
@@ -29,38 +33,64 @@
! This is needed for Windows based operating systems.
!
#include "H5config_f.inc"
-
-MODULE h5tb_CONST
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE H5TB
+#else
+ MODULE H5TB_CONST
+#endif
USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
INTERFACE h5tbwrite_field_name_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbwrite_field_name_f
+#else
MODULE PROCEDURE h5tbwrite_field_name_f_int
MODULE PROCEDURE h5tbwrite_field_name_f_string
+#endif
END INTERFACE
INTERFACE h5tbread_field_name_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbread_field_name_f
+#else
MODULE PROCEDURE h5tbread_field_name_f_int
MODULE PROCEDURE h5tbread_field_name_f_string
+#endif
END INTERFACE
INTERFACE h5tbwrite_field_index_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbwrite_field_index_f
+#else
MODULE PROCEDURE h5tbwrite_field_index_f_int
MODULE PROCEDURE h5tbwrite_field_index_f_string
+#endif
END INTERFACE
INTERFACE h5tbread_field_index_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbread_field_index_f
+#else
MODULE PROCEDURE h5tbread_field_index_f_int
MODULE PROCEDURE h5tbread_field_index_f_string
+#endif
END INTERFACE
INTERFACE h5tbinsert_field_f
+#ifdef H5_DOXYGEN_FORTRAN
+ MODULE PROCEDURE h5tbinsert_field_f
+#else
MODULE PROCEDURE h5tbinsert_field_f_int
MODULE PROCEDURE h5tbinsert_field_f_string
+#endif
END INTERFACE
+
+#ifndef H5_DOXYGEN_FORTRAN
+
INTERFACE h5tbmake_table_f
MODULE PROCEDURE h5tbmake_table_f90
MODULE PROCEDURE h5tbmake_table_ptr_f
@@ -144,7 +174,6 @@ MODULE h5tb_CONST
END FUNCTION h5tbread_field_index_c
END INTERFACE
-
INTERFACE
INTEGER FUNCTION h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
field_type,field_index,buf) &
@@ -153,8 +182,8 @@ MODULE h5tb_CONST
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
TYPE(C_PTR), VALUE :: buf ! data buffer
@@ -163,26 +192,36 @@ MODULE h5tb_CONST
END FUNCTION h5tbinsert_field_c
END INTERFACE
-CONTAINS
+#endif
-!-------------------------------------------------------------------------
-! Function: h5tbmake_table_f90
-!
-! Purpose: Make a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+CONTAINS
- SUBROUTINE h5tbmake_table_f90(table_title,&
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Creates (DOES NOT WRITE) a dataset named \p dset_name attached to the object specified by the identifier \p loc_id.
+!!
+!! \note \fortran_obsolete
+!!
+!! \param table_title The title of the table.
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create.
+!! \param nfields The number of fields.
+!! \param nrecords The number of records.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param field_names An array containing the names of the fields.
+!! \param field_offset An array containing the offsets of the fields.
+!! \param field_types An array containing the type of the fields.
+!! \param chunk_size The chunk size.
+!! \param compress Flag that turns compression on or off.
+!! \param errcode \fortran_error
+!!
+#ifdef H5_DOXYGEN_FORTRAN
+ SUBROUTINE h5tbmake_table_f(&
+#else
+ SUBROUTINE h5tbmake_table_f90(&
+#endif
+ table_title,&
loc_id,&
dset_name,&
nfields,&
@@ -196,20 +235,20 @@ CONTAINS
errcode )
IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
+ CHARACTER(LEN=*), INTENT(in) :: table_title
+ INTEGER(hid_t) , INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t) , INTENT(in) :: type_size
+ CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names
+ INTEGER(size_t) , DIMENSION(1:nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ INTEGER, INTENT(in) :: compress
+ INTEGER :: errcode
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
INTEGER(size_t) :: max_char_size_field_names ! character len of field names
INTEGER(hsize_t) :: i ! general purpose integer
@@ -234,21 +273,21 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ INTEGER, INTENT(in) :: compress
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
+ INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names
+ INTEGER(size_t) :: max_char_size_field_names
END FUNCTION h5tbmake_table_c
END INTERFACE
@@ -266,9 +305,40 @@ CONTAINS
type_size, field_offset, field_types, chunk_size, compress, char_len_field_names, &
max_char_size_field_names, field_names)
- END SUBROUTINE h5tbmake_table_f90
-
- SUBROUTINE h5tbmake_table_ptr_f(table_title,&
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbmake_table_f
+#else
+ END SUBROUTINE h5tbmake_table_f90
+#endif
+
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Creates and writes a dataset named \p dset_name attached to the object specified by the identifier \p loc_id.
+!!
+!! \note \fortran_approved
+!!
+!! \param table_title The title of the table
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to create
+!! \param nfields The number of fields
+!! \param nrecords The number of records
+!! \param type_size The size in bytes of the structure associated with the table; This value is obtained with sizeof().
+!! \param field_names An array containing the names of the fields
+!! \param field_offset An array containing the offsets of the fields
+!! \param field_types An array containing the type of the fields
+!! \param chunk_size The chunk size
+!! \param fill_data Fill values data
+!! \param compress Flag that turns compression on or off
+!! \param data Buffer with data to be written to the table
+!! \param errcode \fortran_error
+!!
+#ifdef H5_DOXYGEN_FORTRAN
+ SUBROUTINE h5tbmake_table_f(&
+#else
+ SUBROUTINE h5tbmake_table_ptr_f(&
+#endif
+ table_title,&
loc_id,&
dset_name,&
nfields,&
@@ -285,22 +355,22 @@ CONTAINS
USE ISO_C_BINDING
IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- TYPE(C_PTR), INTENT(in) :: fill_data ! Fill values data
- INTEGER, INTENT(in) :: compress ! compress
- TYPE(C_PTR), INTENT(in) :: data ! Buffer with data to be written to the table
+ CHARACTER(LEN=*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types
+ INTEGER :: errcode
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ TYPE(C_PTR), INTENT(in) :: fill_data
+ INTEGER, INTENT(in) :: compress
+ TYPE(C_PTR), INTENT(in) :: data
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
INTEGER(size_t) :: max_char_size_field_names ! character len of field names
INTEGER(hsize_t) :: i ! general purpose integer
@@ -327,22 +397,22 @@ CONTAINS
IMPORT :: C_CHAR, C_PTR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- TYPE(C_PTR), INTENT(in), VALUE :: fill_data ! Fill values data
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset
+ INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size
+ TYPE(C_PTR), INTENT(in), VALUE :: fill_data
+ INTEGER, INTENT(in) :: compress
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
+ INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names
+ INTEGER(size_t) :: max_char_size_field_names
TYPE(C_PTR), INTENT(in), VALUE :: data
END FUNCTION h5tbmake_table_ptr_c
END INTERFACE
@@ -361,28 +431,44 @@ CONTAINS
type_size, field_offset, field_types, chunk_size, fill_data, compress, char_len_field_names, &
max_char_size_field_names, field_names, data)
- END SUBROUTINE h5tbmake_table_ptr_f
-
- SUBROUTINE h5tbread_table_f(loc_id, table_name, nfields, dst_size, dst_offset, &
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbmake_table_f
+#else
+ END SUBROUTINE h5tbmake_table_ptr_f
+#endif
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read
+!! \param nfields Number of fields, i.e., size of dst_offset and dst_sizes arrays.
+!! \param dst_size The size of the structure type, as calculated by sizeof or storage_size
+!! \param dst_offset An array containing the offsets of the fields. These offsets can be calculated with H5OFFSETOF.
+!! \param dst_sizes An array containing the sizes of the fields. These sizes can be calculated with sizeof or storage_size.
+!! \param dst_buf Pointer to buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_table_f(loc_id, dset_name, nfields, dst_size, dst_offset, &
dst_sizes, dst_buf, errcode)
USE ISO_C_BINDING
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! An array containing the sizes of the fields
- CHARACTER(LEN=*), INTENT(in) :: table_name ! The name of the dataset to read
- INTEGER(hsize_t), INTENT(in) :: nfields ! number of fields
- INTEGER(size_t), INTENT(in) :: dst_size ! The size of the structure type
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset ! An array containing the offsets of the fields
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes ! An array containing the sizes of the fields
- TYPE(C_PTR) :: dst_buf ! Buffer with data !! do not use INTENT, causes NAG
- ! to segfault in C APIs
- INTEGER :: errcode ! error code
-
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ INTEGER(size_t), INTENT(in) :: dst_size
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes
+ TYPE(C_PTR) :: dst_buf !!! do not use INTENT, causes NAG to segfault in C APIs
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5tbread_table_c(loc_id,&
- table_name,&
+ dset_name,&
namelen,&
nfields,&
dst_size,&
@@ -393,22 +479,22 @@ CONTAINS
IMPORT :: C_PTR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=1), INTENT(in) :: table_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=1), INTENT(in) :: dset_name
INTEGER(hsize_t), INTENT(in) :: nfields
- INTEGER(size_t), INTENT(in) :: dst_size ! type size
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset ! An array containing the sizes of the fields
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes ! An array containing the sizes of the fields
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t), INTENT(in) :: dst_size
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_offset
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: dst_sizes
+ INTEGER(size_t) :: namelen
TYPE(C_PTR), VALUE :: dst_buf
END FUNCTION h5tbread_table_c
END INTERFACE
- namelen = LEN(table_name)
+ namelen = LEN(dset_name)
errcode = h5tbread_table_c(loc_id,&
- table_name,&
+ dset_name,&
namelen, &
nfields, &
dst_size,&
@@ -416,25 +502,28 @@ CONTAINS
dst_sizes, &
dst_buf)
-
END SUBROUTINE h5tbread_table_f
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbwrite_field_name_f_int(loc_id,&
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Overwrites field.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to overwrite
+!! \param field_name The names of the fields to write
+!! \param start The zero index record to start writing
+!! \param nrecords The number of records to write
+!! \param type_size The size of the structure type, as calculated by sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbwrite_field_name_f(&
+#else
+ SUBROUTINE h5tbwrite_field_name_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
start,&
@@ -444,16 +533,20 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -462,10 +555,11 @@ CONTAINS
errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
start,nrecords,type_size,f_ptr)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbwrite_field_name_f
+#else
END SUBROUTINE h5tbwrite_field_name_f_int
-
SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
dset_name,&
field_name,&
@@ -498,24 +592,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_name_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads one or several fields. The fields are identified by name.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param field_name An array containing the names of the fields to read.
+!! \param start The start record to read from.
+!! \param nrecords The number of records to read.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param buf Buffer with data
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_field_name_f(&
+#else
+ SUBROUTINE h5tbread_field_name_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
start,&
@@ -526,19 +624,23 @@ CONTAINS
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(INOUT), DIMENSION(*):: buf
+#else
+ INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf(1)) ! name length
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
@@ -546,6 +648,9 @@ CONTAINS
errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
start,nrecords,type_size,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbread_field_name_f
+#else
END SUBROUTINE h5tbread_field_name_f_int
SUBROUTINE h5tbread_field_name_f_string(loc_id,&
@@ -558,16 +663,16 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -579,24 +684,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbwrite_field_index_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Overwrites a field.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to overwrite.
+!! \param field_index The indexe of the fields to write.
+!! \param start The zero based index record to start writing.
+!! \param nrecords The number of records to write.
+!! \param type_size The size of the structure type, as calculated by sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbwrite_field_index_f(&
+#else
+ SUBROUTINE h5tbwrite_field_index_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_index,&
start,&
@@ -606,15 +715,19 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ INTEGER, INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -624,6 +737,9 @@ CONTAINS
errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
start,nrecords,type_size,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbwrite_field_index_f
+#else
END SUBROUTINE h5tbwrite_field_index_f_int
SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
@@ -636,15 +752,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -654,24 +770,28 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_index_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Reads field. The fields are identified by index.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param field_index The indexes of the fields to read.
+!! \param start The start record to read from.
+!! \param nrecords The number of records to read.
+!! \param type_size The size in bytes of the structure associated with the table. Obtained with sizeof or storage_size.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbread_field_index_f(&
+#else
+ SUBROUTINE h5tbread_field_index_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_index,&
start,&
@@ -681,15 +801,19 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(INOUT), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(INOUT), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -697,7 +821,9 @@ CONTAINS
errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
start,nrecords,type_size,f_ptr)
-
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbread_field_index_f
+#else
END SUBROUTINE h5tbread_field_index_f_int
SUBROUTINE h5tbread_field_index_f_string(loc_id,&
@@ -710,15 +836,15 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER, INTENT(in) :: field_index
+ INTEGER(hsize_t), INTENT(in) :: start
+ INTEGER(hsize_t), INTENT(in) :: nrecords
+ INTEGER(size_t), INTENT(in) :: type_size
+ CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -728,39 +854,48 @@ CONTAINS
start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_string
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f
-!
-! Purpose: Inserts one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbinsert_field_f_int(loc_id,&
+#endif
+
+#ifdef H5_DOXYGEN_FORTRAN
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Insert a new field into a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the table.
+!! \param field_name The name of the field to insert.
+!! \param field_type The data type of the field.
+!! \param position The zero based index position where to insert the field.
+!! \param buf Buffer with data.
+!! \param errcode \fortran_error
+!!
+ SUBROUTINE h5tbinsert_field_f(&
+#else
+ SUBROUTINE h5tbinsert_field_f_int(&
+#endif
+ loc_id,&
dset_name,&
field_name,&
field_type,&
- field_index,&
+ position,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hid_t), INTENT(in) :: field_type
+ INTEGER, INTENT(in) :: position
+#ifdef H5_DOXYGEN_FORTRAN
+ TYPE(TYPE), INTENT(in), DIMENSION(*) :: buf
+#else
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf
+#endif
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1))
@@ -769,27 +904,31 @@ CONTAINS
namelen1 = LEN(field_name)
errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
+ field_type,position,f_ptr)
+#ifdef H5_DOXYGEN_FORTRAN
+ END SUBROUTINE h5tbinsert_field_f
+#else
END SUBROUTINE h5tbinsert_field_f_int
SUBROUTINE h5tbinsert_field_f_string(loc_id,&
dset_name,&
field_name,&
field_type,&
- field_index,&
+ position,&
buf,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER(hid_t), INTENT(in) :: field_type
+ INTEGER, INTENT(in) :: position
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1)(1:1))
@@ -798,36 +937,33 @@ CONTAINS
namelen1 = LEN(field_name)
errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,f_ptr)
+ field_type,position,f_ptr)
END SUBROUTINE h5tbinsert_field_f_string
-
-!-------------------------------------------------------------------------
-! Function: h5tbdelete_field_f
-!
-! Purpose: Inserts one field
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+#endif
+
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Deletes a field from a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the table.
+!! \param field_name The name of the field to delete.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5tbdelete_field_f(loc_id,&
dset_name,&
field_name,&
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ CHARACTER(LEN=*), INTENT(in) :: field_name
+ INTEGER :: errcode
+
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
INTERFACE
@@ -836,11 +972,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: field_name
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: namelen1
END FUNCTION h5tbdelete_field_c
END INTERFACE
@@ -850,24 +986,17 @@ CONTAINS
errcode = h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name)
END SUBROUTINE h5tbdelete_field_f
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_table_info_f
-!
-! Purpose: Gets the number of records and fields of a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Gets the table dimensions.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param nfields The number of fields.
+!! \param nrecords The number of records.
+!! \param errcode \fortran_error
+!!
SUBROUTINE h5tbget_table_info_f(loc_id,&
dset_name,&
nfields,&
@@ -875,12 +1004,12 @@ CONTAINS
errcode )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout):: nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords
+ INTEGER :: errcode
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) &
@@ -888,11 +1017,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(inout):: nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords
+ INTEGER(size_t) :: namelen
END FUNCTION h5tbget_table_info_c
END INTERFACE
@@ -901,26 +1030,22 @@ CONTAINS
END SUBROUTINE h5tbget_table_info_f
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_field_info_f
-!
-! Purpose: Get information about fields
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: Pedro Vicente
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-! Added optional parameter for returning the maximum character length
-! in the field name array. March 3, 2011
-!
-!-------------------------------------------------------------------------
-
+!>
+!! \ingroup FH5TB
+!!
+!! \brief Gets information about a table.
+!!
+!! \param loc_id Location identifier. The identifier may be that of a file or group.
+!! \param dset_name The name of the dataset to read.
+!! \param nfields The number of fields.
+!! \param field_names An array containing the names of the fields.
+!! \param field_sizes An array containing the size of the fields.
+!! \param field_offsets An array containing the offsets of the fields.
+!! \param type_size The size of the HDF5 datatype associated with the table
+!! (i.e., the size in bytes of the HDF5 compound datatype used to define a row, or record, in the table).
+!! \param errcode \fortran_error
+!! \param maxlen_out Maximum character length of the field names.
+!!
SUBROUTINE h5tbget_field_info_f(loc_id,&
dset_name,&
nfields,&
@@ -931,18 +1056,18 @@ CONTAINS
errcode, maxlen_out )
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! nfields
- CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t), OPTIONAL :: maxlen_out ! maximum character len of the field names
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
- INTEGER(hsize_t) :: i ! general purpose integer
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(LEN=*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in) :: nfields
+ CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets
+ INTEGER(size_t), INTENT(inout):: type_size
+ INTEGER :: errcode
+ INTEGER(size_t), OPTIONAL :: maxlen_out
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
+ INTEGER(hsize_t) :: i
INTEGER(size_t) :: maxlen
INTEGER(size_t) :: c_maxlen_out
@@ -953,17 +1078,17 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in):: nfields ! nfields
- CHARACTER(KIND=C_CHAR), DIMENSION(1:nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: maxlen ! maximum length of input field names
- INTEGER(size_t), DIMENSION(1:nfields) :: namelen2 ! name lengths
- INTEGER(size_t) :: c_maxlen_out ! maximum character length of a field array element
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name
+ INTEGER(hsize_t), INTENT(in):: nfields
+ CHARACTER(KIND=C_CHAR), DIMENSION(1:nfields), INTENT(inout) :: field_names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets
+ INTEGER(size_t), INTENT(inout):: type_size
+ INTEGER(size_t) :: namelen
+ INTEGER(size_t) :: maxlen
+ INTEGER(size_t), DIMENSION(1:nfields) :: namelen2
+ INTEGER(size_t) :: c_maxlen_out
END FUNCTION h5tbget_field_info_c
END INTERFACE
@@ -981,7 +1106,11 @@ CONTAINS
END SUBROUTINE h5tbget_field_info_f
+#ifdef H5_DOXYGEN_FORTRAN
+END MODULE H5TB
+#else
END MODULE H5TB_CONST
+#endif