diff options
author | Frank Baker <fbaker@hdfgroup.org> | 2000-12-21 18:45:27 (GMT) |
---|---|---|
committer | Frank Baker <fbaker@hdfgroup.org> | 2000-12-21 18:45:27 (GMT) |
commit | 28c80557badb55fa29d6255f58a56f41fa9047ed (patch) | |
tree | aadd67b8a74d0a7bdf6cd0e585430a3db0c5c2ba /doc/html | |
parent | ebb9713848df00a177d40ee40be32259783b2e01 (diff) | |
download | hdf5-28c80557badb55fa29d6255f58a56f41fa9047ed.zip hdf5-28c80557badb55fa29d6255f58a56f41fa9047ed.tar.gz hdf5-28c80557badb55fa29d6255f58a56f41fa9047ed.tar.bz2 |
[svn-r3174]
Purpose:
New Fortran90 API doc -- "HDF5 Fortran90 User's Notes"
Platforms tested:
IE 5
Diffstat (limited to 'doc/html')
-rw-r--r-- | doc/html/fortran/F90UserNotes.html | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/doc/html/fortran/F90UserNotes.html b/doc/html/fortran/F90UserNotes.html new file mode 100644 index 0000000..3b43f4c --- /dev/null +++ b/doc/html/fortran/F90UserNotes.html @@ -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> + |