Files
hdf5/doc/html/fortran/h5d_FORTRAN.html
Elena Pourmal ff5c7fe0d5 [svn-r6464]
Purpose:
    Maintenance
Description:
        * Added support for generic properties.
        * Added support for time allocation properties.
        * Added support for variable length datatypes (only datatypes based
          on INTEGER, REAL and CHARACTER Fortran types are supported).
        * added some missing functions
Solution:
    I am checking in new Fortran APIs and their man pages to support
    1.5 features listed above.
    Not all APIs have tests yet. APIs were written in Fall 2002, and I am afraid
    that I will loose the code or totally forget what I did if I wait longer. ;-)
Platforms tested:
    arabica (fortran), eirene (fortran), modi4 (parallel, fortran)
2003-03-05 15:18:31 -05:00

409 lines
15 KiB
HTML

<html>
<head><title>
FORTRAN Dataset API -- h5d
</title></head>
<body bgcolor="#FFFFFF">
<center>
<h1>The FORTRAN 90 API to HDF5<br>h5d: Datasets</h1>
</center>
<dl>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dclose_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dclose_f</strong>
<pre>
SUBROUTINE h5dclose_f(dset_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dclose_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dcreate_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dcreate_f</strong>
<pre>
SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
hdferr, creation_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp
! Dataset creation propertly
! list identifier , default
! value is H5P_DEFAULT_F (6)
END SUBROUTINE h5dcreate_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dextend_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dextend_f</strong>
<pre>
SUBROUTINE h5dextend_f(dataset_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
! Array containing
! dimensions' sizes
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dextend_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dget_create_plist_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dget_create_plist_f</strong>
<pre>
SUBROUTINE h5dget_create_plist_f(dataset_id, creation_prp, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: creation_id ! Dataset creation
! property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dget_create_plist_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dget_space_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dget_space_f</strong>
<pre>
SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dget_space_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dget_type_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dget_type_f</strong>
<pre>
SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dget_type_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dopen_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dopen_f</strong>
<pre>
SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dopen_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dread_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dread_f</strong>
(for all datatypes except object and dataset region references)
<pre>
SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
TYPE, INTENT(INOUT) :: buf ! Data buffer; may be a scalar or an array
DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
! Array to hold corresponding dimension
! sizes of data buffer buf; dim(k) has
! value of the k-th dimension of buffer buf;
! values are ignored if buf is a scalar
!
! Deprecated type, will be removed in
! Release 1.6:
! INTEGER, INTENT(IN) :: dims(7)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
! File dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
! Default value is H5P_DEFAULT_F
END SUBROUTINE h5dread_f
</pre>
<p>&nbsp;
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dread_f</strong>
(for object reference and dataset region reference datatypes)
<pre>
SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, n, hdferr, &
mem_space_id, file_space_id, xfer_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
! Array to hold corresponding dimension
! sizes of data buffer buf; dim(k) has
! value of the k-th dimension of buffer buf;
! values are ignored if buf is a scalar
!
! Deprecated type, will be removed in
! Release 1.6:
! INTEGER, DIMENSION(7), INTENT(IN) :: dims
TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(INOUT) :: buf
! Data buffer of rank 1
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
! File dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
! Default value is H5P_DEFAULT_F
END SUBROUTINE h5dread_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dwrite_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dwrite_f</strong>
(for all datatypes except object and dataset region references)
<pre>
SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
TYPE, INTENT(IN) :: buf ! Data buffer; may be a scalar or an array
DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
! Array to hold corresponding dimension
! sizes of data buffer buf; dim(k) has
! value of the k-th dimension of buffer buf;
! values are ignored if buf is a scalar
!
! Deprecated type, will be removed in
! Release 1.6:
! INTEGER, INTENT(IN) :: dims(7)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
! File dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
! Default value is H5P_DEFAULT_F
END SUBROUTINE h5dwrite_f
</pre>
<p>&nbsp;
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dwrite_f</strong>
(for object reference and dataset region reference datatypes)
<pre>
SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, n, hdferr, &
mem_space_id, file_space_id, xfer_prp)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
DIMENSION(*), INTEGER(HSIZE_T), INTENT(IN) :: dims
! Array to hold corresponding dimension
! sizes of data buffer buf; dim(k) has
! value of the k-th dimension of buffer buf;
! values are ignored if buf is a scalar
!
! Deprecated type, will be removed in
! Release 1.6:
! INTEGER, DIMENSION(7), INTENT(IN) :: dims
TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(INOUT) :: buf
! Data buffer of rank 1
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
! File dataspace identfier
! Default value is H5S_ALL_F
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
! Default value is H5P_DEFAULT_F
END SUBROUTINE h5dwrite_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dget_storage_size_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dget_storage_size_f</strong>
<pre>
SUBROUTINE h5dget_storage_size_f(dset_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage required for dataset
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dget_storage_size_f
</pre>
<p>&nbsp;
<p>&nbsp;
<hr>
<p>&nbsp;
<a name="h5dvlen_get_max_len_f">
<p>&nbsp;
</a>
<dt><strong>FORTRAN interface:</strong> &nbsp <strong>h5dvlen_get_max_len_f</strong>
<pre>
SUBROUTINE h5dvlen_get_max_len_f(dset_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER(SIZE_T), INTENT(OUT) :: elem_len ! Maximum length of the element
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
END SUBROUTINE h5dvlen_get_max_len_f
</pre>
</dl>
<p>&nbsp;
<p>&nbsp;
<hr>
<address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
</address>
Last modified: 11 November 2002
<br>
Describes HDF5 Release 1.5, Unreleased Development Branch
</body>
</html>