mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-18 17:40:55 +08:00
[svn-r3174]
Purpose: New Fortran90 API doc -- "HDF5 Fortran90 User's Notes" Platforms tested: IE 5
This commit is contained in:
parent
ebb9713848
commit
28c80557ba
117
doc/html/fortran/F90UserNotes.html
Normal file
117
doc/html/fortran/F90UserNotes.html
Normal file
@ -0,0 +1,117 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>HDF5 Fortran90 User's Notes</title>
|
||||
</head>
|
||||
|
||||
<body bgcolor=#FFFFFF>
|
||||
<pre>
|
||||
|
||||
HDF5 Fortran90 User's Notes
|
||||
===========================
|
||||
|
||||
About the source code organization
|
||||
==================================
|
||||
|
||||
The Fortran APIs are organized in modules parallel to the HDF5 Interfaces.
|
||||
Each module is in a separate file with the name H5*ff.f. Corresponding C
|
||||
stubs are in the H5*f.c files. For example, the Fortran File APIs are in
|
||||
the file H5Fff.f and the corresponding C stubs are in the file H5Ff.c.
|
||||
|
||||
Each module contains Fortran definitions of the constants, interfaces to
|
||||
the subroutines if needed, and the subroutines themselves.
|
||||
|
||||
Users must use constant names in their programs instead of the numerical
|
||||
values, as the numerical values are subject to change without notice.
|
||||
|
||||
About the Fortran APIs
|
||||
=======================
|
||||
|
||||
* The Fortran APIs come in the form of Fortran subroutines.
|
||||
|
||||
* Each Fortran subroutine name is derived from the corresponding C function
|
||||
name by adding "_f" to the name. For example, the name of the C function
|
||||
to create an HDF5 file is H5Fcreate; the corresponding Fortran subroutine
|
||||
is h5fcreate_f.
|
||||
|
||||
* A description of each implemented Fortran subroutine and its parameters
|
||||
can be found following the description of the corresponding C function in
|
||||
the HDF5 Reference Manual provided with this release.
|
||||
|
||||
* The parameter list for each Fortran subroutine has two more parameters
|
||||
than the corresponding C function. These additional parameters hold
|
||||
the return value and an error code. The order of the Fortran subroutine
|
||||
parameters may differ from the order of the C function parameters.
|
||||
The Fortran subroutine parameters are listed in the following order:
|
||||
-- required input parameters,
|
||||
-- output parameters, including return value and error code, and
|
||||
-- optional input parameters.
|
||||
For example, the C function to create a dataset has the following
|
||||
prototype:
|
||||
|
||||
hid_t H5Dcreate(hid_it loc_id, char *name, hid_t type_id,
|
||||
hid_t space_id, hid_t creation_prp);
|
||||
|
||||
The corresponding Fortran subroutine has the following form:
|
||||
|
||||
SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id,
|
||||
hdferr, creation_prp)
|
||||
|
||||
The first four parameters of the Fortran subroutine correspond to the
|
||||
C function parameters. The fifth parameter, dset_id, is an output
|
||||
parameter and contains a valid dataset identifier if the value of the
|
||||
sixth output parameter hdferr indicates successful completion.
|
||||
(Error code descriptions are provided with the subroutine descriptions
|
||||
in the Reference Manual.) The seventh input parameter, creation_prp,
|
||||
|
||||
is optional, and may be omitted when the default creation property
|
||||
list is used.
|
||||
|
||||
* Parameters to the Fortran subroutines have one of the following
|
||||
predefined datatypes (see the file H5fortran_types.f90 for KIND
|
||||
definitions):
|
||||
|
||||
INTEGER(HID_T) compares with hid_t type in HDF5 C APIs
|
||||
INTEGER(HSIZE_T) compares with hsize_t in HDF5 C APIs
|
||||
INTEGER(HSSIZE_T) compares with hssize_t in HDF5 C APIs
|
||||
INTEGER(SIZE_T) compares with the C size_t type
|
||||
|
||||
These integer types usually correspond to 4 or 8 byte integers,
|
||||
depending on the FORTRAN90 compiler and the corresponding HDF5
|
||||
C library definitions.
|
||||
|
||||
The H5R module defines two types of references:
|
||||
TYPE(HOBJ_REF_T_F) compares to hobj_ref_t in HDF5 C API
|
||||
TYPE(HDSET_REG_REF_T_F) compares to hdset_reg_ref_t in HDF5 C API
|
||||
|
||||
* Each Fortran application must call the h5open_f subroutine to
|
||||
initialize the Fortran interface and the HDF5 C Library before calling
|
||||
any HDF5 Fortran subroutine. The application must call the h5close_f
|
||||
subroutine after all calls to the HDF5 Fortran Library to close the
|
||||
Fortran interface and HDF5 C Library.
|
||||
|
||||
* List of the predefined datatypes can be found in the HDF5 Reference
|
||||
Manual provided with this release. See <a href="../PredefDTypes.html">HDF5 Predefined Datatypes</a>.
|
||||
|
||||
* When a C application reads data stored from a Fortran program, the data
|
||||
will appear to be transposed due to the difference in the C and Fortran
|
||||
storage orders. For example, if Fortran writes a 4x6 two-dimensional
|
||||
dataset to the file, a C program will read it as a 6x4 two-dimensional
|
||||
dataset into memory. The HDF5 C utilities h5dump and h5ls will also
|
||||
display transposed data, if data is written from a Fortran program.
|
||||
|
||||
* Fortran indices are 1-based.
|
||||
|
||||
* Compound datatype datasets can be written or read by atomic fields only.
|
||||
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
|
||||
<pre>
|
||||
Last modified: 15 December 2000
|
||||
Describes HDF5 Release 1.4 Beta, December 2000
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user