summaryrefslogtreecommitdiffstats
path: root/fortran/examples
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/examples')
-rw-r--r--fortran/examples/attrexample.f9058
-rw-r--r--fortran/examples/compound.f9044
-rw-r--r--fortran/examples/dsetexample.f9030
-rw-r--r--fortran/examples/fileexample.f9016
-rw-r--r--fortran/examples/groupexample.f9022
-rw-r--r--fortran/examples/grpdsetexample.f9032
-rw-r--r--fortran/examples/grpit.f9038
-rw-r--r--fortran/examples/grpsexample.f9032
-rw-r--r--fortran/examples/hyperslab.f9068
-rw-r--r--fortran/examples/mountexample.f9080
-rw-r--r--fortran/examples/ph5example.f9042
-rw-r--r--fortran/examples/refobjexample.f9058
-rw-r--r--fortran/examples/refregexample.f9088
-rw-r--r--fortran/examples/rwdsetexample.f9034
-rw-r--r--fortran/examples/selectele.f9096
15 files changed, 369 insertions, 369 deletions
diff --git a/fortran/examples/attrexample.f90 b/fortran/examples/attrexample.f90
index 9cf96dc..ffbeabe 100644
--- a/fortran/examples/attrexample.f90
+++ b/fortran/examples/attrexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,30 +11,30 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
-! This example shows how to create and write a dataset attribute.
+! This example shows how to create and write a dataset attribute.
! It opens the existing file 'dset.h5', obtains the identifier of
-! the dataset "/dset", defines attribute's dataspace,
+! the dataset "/dset", defines attribute's dataspace,
! creates dataset attribute, writes the attribute, and then closes
-! the attribute's dataspace, attribute, dataset, and file.
+! the attribute's dataspace, attribute, dataset, and file.
PROGRAM ATTREXAMPLE
-
- USE HDF5 ! This module contains all necessary modules
-
+
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=8), PARAMETER :: filename = "dsetf.h5" ! File name
CHARACTER(LEN=4), PARAMETER :: dsetname = "dset" ! Dataset name
CHARACTER(LEN=9), PARAMETER :: aname = "attr_long" ! Attribute name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
- INTEGER(HID_T) :: attr_id ! Attribute identifier
- INTEGER(HID_T) :: aspace_id ! Attribute Dataspace identifier
- INTEGER(HID_T) :: atype_id ! Attribute Dataspace identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: attr_id ! Attribute identifier
+ INTEGER(HID_T) :: aspace_id ! Attribute Dataspace identifier
+ INTEGER(HID_T) :: atype_id ! Attribute Dataspace identifier
INTEGER(HSIZE_T), DIMENSION(1) :: adims = (/2/) ! Attribute dimension
INTEGER :: arank = 1 ! Attribure rank
INTEGER(SIZE_T) :: attrlen ! Length of the attribute string
@@ -43,31 +43,31 @@
INTEGER :: error ! Error flag
INTEGER(HSIZE_T), DIMENSION(1) :: data_dims
-
+
!
! Initialize attribute's data
!
attr_data(1) = "Dataset character attribute"
attr_data(2) = "Some other string here "
- attrlen = 80
+ attrlen = 80
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
-
+ CALL h5open_f(error)
+
!
! Open an existing file.
!
CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error)
!
- ! Open an existing dataset.
+ ! Open an existing dataset.
!
CALL h5dopen_f(file_id, dsetname, dset_id, error)
!
- ! Create scalar data space for the attribute.
+ ! Create scalar data space for the attribute.
!
CALL h5screate_simple_f(arank, adims, aspace_id, error)
!
@@ -75,35 +75,35 @@
!
CALL h5tcopy_f(H5T_NATIVE_CHARACTER, atype_id, error)
CALL h5tset_size_f(atype_id, attrlen, error)
-
+
!
! Create dataset attribute.
!
CALL h5acreate_f(dset_id, aname, atype_id, aspace_id, &
attr_id, error)
-
+
!
! Write the attribute data.
!
data_dims(1) = 2
CALL h5awrite_f(attr_id, atype_id, attr_data, data_dims, error)
-
+
!
- ! Close the attribute.
+ ! Close the attribute.
!
CALL h5aclose_f(attr_id, error)
-
+
!
! Terminate access to the data space.
!
CALL h5sclose_f(aspace_id, error)
- !
+ !
! End access to the dataset and release resources used by it.
- !
+ !
CALL h5dclose_f(dset_id, error)
- !
+ !
! Close the file.
!
CALL h5fclose_f(file_id, error)
@@ -113,5 +113,5 @@
!
CALL h5close_f(error)
- END PROGRAM ATTREXAMPLE
-
+ END PROGRAM ATTREXAMPLE
+
diff --git a/fortran/examples/compound.f90 b/fortran/examples/compound.f90
index a315fb0..2005f41 100644
--- a/fortran/examples/compound.f90
+++ b/fortran/examples/compound.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,7 +11,7 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! This program creates a dataset that is one dimensional array of
@@ -26,23 +26,23 @@
PROGRAM COMPOUNDEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=11), PARAMETER :: filename = "compound.h5" ! File name
CHARACTER(LEN=8), PARAMETER :: dsetname = "Compound" ! Dataset name
INTEGER, PARAMETER :: dimsize = 6 ! Size of the dataset
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
INTEGER(HID_T) :: dspace_id ! Dataspace identifier
INTEGER(HID_T) :: dtype_id ! Compound datatype identifier
INTEGER(HID_T) :: dt1_id ! Memory datatype identifier (for character field)
INTEGER(HID_T) :: dt2_id ! Memory datatype identifier (for integer field)
INTEGER(HID_T) :: dt3_id ! Memory datatype identifier (for double precision field)
INTEGER(HID_T) :: dt4_id ! Memory datatype identifier (for real field)
- INTEGER(HID_T) :: dt5_id ! Memory datatype identifier
+ INTEGER(HID_T) :: dt5_id ! Memory datatype identifier
INTEGER(HID_T) :: plist_id ! Dataset trasfer property
INTEGER(SIZE_T) :: typesize
@@ -52,7 +52,7 @@
INTEGER :: error ! Error flag
INTEGER(SIZE_T) :: type_size ! Size of the datatype
- INTEGER(SIZE_T) :: type_sizec ! Size of the character datatype
+ INTEGER(SIZE_T) :: type_sizec ! Size of the character datatype
INTEGER(SIZE_T) :: type_sizei ! Size of the integer datatype
INTEGER(SIZE_T) :: type_sized ! Size of the double precision datatype
INTEGER(SIZE_T) :: type_sizer ! Size of the real datatype
@@ -63,7 +63,7 @@
DOUBLE PRECISION, DIMENSION(dimsize) :: double_member
REAL, DIMENSION(dimsize) :: real_member
INTEGER :: i
- INTEGER(HSIZE_T), DIMENSION(1) :: data_dims
+ INTEGER(HSIZE_T), DIMENSION(1) :: data_dims
data_dims(1) = dimsize
!
! Initialize data buffer.
@@ -71,8 +71,8 @@
do i = 1, dimsize
char_member(i)(1:1) = char(65+i)
char_member(i)(2:2) = char(65+i)
- char_member_out(i)(1:1) = char(65)
- char_member_out(i)(2:2) = char(65)
+ char_member_out(i)(1:1) = char(65)
+ char_member_out(i)(2:2) = char(65)
int_member(i) = i
double_member(i) = 2.* i
real_member(i) = 3. * i
@@ -91,10 +91,10 @@
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
- !
+ !
! Create the dataspace.
!
CALL h5screate_simple_f(rank, dims, dspace_id, error)
@@ -141,8 +141,8 @@
CALL h5dcreate_f(file_id, dsetname, dtype_id, dspace_id, &
dset_id, error)
!
- ! Create memory types. We have to create a compound datatype
- ! for each member we want to write.
+ ! Create memory types. We have to create a compound datatype
+ ! for each member we want to write.
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizec, dt1_id, error)
offset = 0
@@ -167,9 +167,9 @@
CALL h5dwrite_f(dset_id, dt3_id, double_member, data_dims, error, xfer_prp = plist_id)
CALL h5dwrite_f(dset_id, dt2_id, int_member, data_dims, error, xfer_prp = plist_id)
- !
+ !
! End access to the dataset and release resources used by it.
- !
+ !
CALL h5dclose_f(dset_id, error)
!
@@ -186,11 +186,11 @@
CALL h5tclose_f(dt4_id, error)
CALL h5tclose_f(dt5_id, error)
- !
+ !
! Close the file.
!
CALL h5fclose_f(file_id, error)
-
+
!
! Open the file.
!
@@ -227,6 +227,6 @@
!
CALL h5close_f(error)
- END PROGRAM COMPOUNDEXAMPLE
-
-
+ END PROGRAM COMPOUNDEXAMPLE
+
+
diff --git a/fortran/examples/dsetexample.f90 b/fortran/examples/dsetexample.f90
index 69609b4..209a516 100644
--- a/fortran/examples/dsetexample.f90
+++ b/fortran/examples/dsetexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,10 +11,10 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! The following example shows how to create an empty dataset.
+! The following example shows how to create an empty dataset.
! It creates a file called 'dsetf.h5', defines the
! dataset dataspace, creates a dataset which is a 4x6 integer array,
! and then closes the dataspace, the dataset, and the file.
@@ -22,15 +22,15 @@
PROGRAM DSETEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=8), PARAMETER :: filename = "dsetf.h5" ! File name
CHARACTER(LEN=4), PARAMETER :: dsetname = "dset" ! Dataset name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
INTEGER(HID_T) :: dspace_id ! Dataspace identifier
@@ -46,10 +46,10 @@
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
- !
+ !
! Create the dataspace.
!
CALL h5screate_simple_f(rank, dims, dspace_id, error)
@@ -60,9 +60,9 @@
CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dspace_id, &
dset_id, error)
- !
+ !
! End access to the dataset and release resources used by it.
- !
+ !
CALL h5dclose_f(dset_id, error)
!
@@ -70,7 +70,7 @@
!
CALL h5sclose_f(dspace_id, error)
- !
+ !
! Close the file.
!
CALL h5fclose_f(file_id, error)
@@ -80,6 +80,6 @@
!
CALL h5close_f(error)
- END PROGRAM DSETEXAMPLE
-
-
+ END PROGRAM DSETEXAMPLE
+
+
diff --git a/fortran/examples/fileexample.f90 b/fortran/examples/fileexample.f90
index c25bfef..87119d2 100644
--- a/fortran/examples/fileexample.f90
+++ b/fortran/examples/fileexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,7 +11,7 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! The following example demonstrates how to create and close an HDF5 file.
@@ -20,22 +20,22 @@
PROGRAM FILEEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=8), PARAMETER :: filename = "filef.h5" ! File name
INTEGER(HID_T) :: file_id ! File identifier
-
+
INTEGER :: error ! Error flag
-
+
!
! Initialize FORTRAN interface.
!
CALL h5open_f (error)
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
!
@@ -46,4 +46,4 @@
! Close FORTRAN interface.
!
CALL h5close_f(error)
- END PROGRAM FILEEXAMPLE
+ END PROGRAM FILEEXAMPLE
diff --git a/fortran/examples/groupexample.f90 b/fortran/examples/groupexample.f90
index cb069df..91ebc50 100644
--- a/fortran/examples/groupexample.f90
+++ b/fortran/examples/groupexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,35 +11,35 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! The following example shows how to create and close a group.
+! The following example shows how to create and close a group.
! It creates a file called 'group.h5', creates a group
! called MyGroup in the root group, and then closes the group and file.
-!
+!
PROGRAM GROUPEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=9), PARAMETER :: filename = "groupf.h5" ! File name
CHARACTER(LEN=7), PARAMETER :: groupname = "MyGroup" ! Group name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: group_id ! Group identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: group_id ! Group identifier
INTEGER :: error ! Error flag
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
!
@@ -61,4 +61,4 @@
!
CALL h5close_f(error)
- END PROGRAM GROUPEXAMPLE
+ END PROGRAM GROUPEXAMPLE
diff --git a/fortran/examples/grpdsetexample.f90 b/fortran/examples/grpdsetexample.f90
index ce89304..19fc660 100644
--- a/fortran/examples/grpdsetexample.f90
+++ b/fortran/examples/grpdsetexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,7 +11,7 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! This example shows how to create a dataset in a particular group.
@@ -22,8 +22,8 @@
PROGRAM GRPDSETEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=10), PARAMETER :: filename = "groupsf.h5" ! File name
@@ -31,17 +31,17 @@
CHARACTER(LEN=13), PARAMETER :: dsetname1 = "MyGroup/dset1" ! Dataset name
CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! dataset name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: group_id ! Group identifier
- INTEGER(HID_T) :: dataset_id ! Dataset identifier
- INTEGER(HID_T) :: dataspace_id ! Data space identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: group_id ! Group identifier
+ INTEGER(HID_T) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T) :: dataspace_id ! Data space identifier
- INTEGER :: i, j
+ INTEGER :: i, j
INTEGER :: error ! Error flag
- INTEGER, DIMENSION(3,3) :: dset1_data ! Data arrays
+ INTEGER, DIMENSION(3,3) :: dset1_data ! Data arrays
INTEGER, DIMENSION(2,10) :: dset2_data !
-
+
INTEGER(HSIZE_T), DIMENSION(2) :: dims1 = (/3,3/) ! Datasets dimensions
INTEGER(HSIZE_T), DIMENSION(2) :: dims2 = (/2,10/)!
INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
@@ -70,7 +70,7 @@
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Open an existing file.
@@ -78,7 +78,7 @@
CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error)
!
- ! Create the data space for the first dataset.
+ ! Create the data space for the first dataset.
!
CALL h5screate_simple_f(rank, dims1, dataspace_id, error)
@@ -111,7 +111,7 @@
CALL h5gopen_f(file_id, groupname, group_id, error)
!
- !Create the data space for the second dataset.
+ !Create the data space for the second dataset.
!
CALL h5screate_simple_f(rank, dims2, dataspace_id, error)
@@ -125,7 +125,7 @@
! Write the second dataset.
!
data_dims(1) = 2
- data_dims(1) = 10
+ data_dims(1) = 10
CALL h5dwrite_f(dataset_id, H5T_NATIVE_INTEGER, dset2_data, data_dims, error)
!
@@ -153,4 +153,4 @@
!
CALL h5close_f(error)
- END PROGRAM GRPDSETEXAMPLE
+ END PROGRAM GRPDSETEXAMPLE
diff --git a/fortran/examples/grpit.f90 b/fortran/examples/grpit.f90
index 86a87b1..9361b17 100644
--- a/fortran/examples/grpit.f90
+++ b/fortran/examples/grpit.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,7 +11,7 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! In this example we iterate through the members of the groups.
@@ -20,8 +20,8 @@
PROGRAM GRPITEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=11), PARAMETER :: filename = "iteratef.h5" ! File name
@@ -34,12 +34,12 @@
INTEGER :: type ! Type of the object
INTEGER :: nmembers ! Number of group members
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dataset1_id ! Dataset1 identifier
- INTEGER(HID_T) :: dataset2_id ! Dataset2 identifier
- INTEGER(HID_T) :: dataspace1_id ! Data space identifier
- INTEGER(HID_T) :: dataspace2_id ! Data space identifier
- INTEGER(HID_T) :: group1_id, group2_id ! Group identifiers
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dataset1_id ! Dataset1 identifier
+ INTEGER(HID_T) :: dataset2_id ! Dataset2 identifier
+ INTEGER(HID_T) :: dataspace1_id ! Data space identifier
+ INTEGER(HID_T) :: dataspace2_id ! Data space identifier
+ INTEGER(HID_T) :: group1_id, group2_id ! Group identifiers
INTEGER :: i, j
@@ -47,11 +47,11 @@
INTEGER, DIMENSION(3,3) :: dset1_data ! Arrays to hold data
INTEGER, DIMENSION(2,10) :: dset2_data !
-
-
+
+
INTEGER(HSIZE_T), DIMENSION(2) :: dims1 = (/3,3/) ! Dataset dimensions
INTEGER(HSIZE_T), DIMENSION(2) :: dims2 = (/2,10/)!
- INTEGER :: rank = 2 ! Datasets rank
+ INTEGER :: rank = 2 ! Datasets rank
INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
!
@@ -76,11 +76,11 @@
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
!
@@ -94,7 +94,7 @@
CALL h5gcreate_f(group1_id, groupname2, group2_id, error)
!
- ! Create the data space for the first dataset.
+ ! Create the data space for the first dataset.
!
CALL h5screate_simple_f(rank, dims1, dataspace1_id, error)
@@ -112,7 +112,7 @@
CALL h5dwrite_f(dataset1_id, H5T_NATIVE_INTEGER, dset1_data, data_dims, error)
!
- ! Create the data space for the second dataset.
+ ! Create the data space for the second dataset.
!
CALL h5screate_simple_f(rank, dims2, dataspace2_id, error)
@@ -206,10 +206,10 @@
! Close the file.
!
CALL h5fclose_f(file_id, error)
-
+
!
! Close FORTRAN interface.
!
CALL h5close_f(error)
- END PROGRAM GRPITEXAMPLE
+ END PROGRAM GRPITEXAMPLE
diff --git a/fortran/examples/grpsexample.f90 b/fortran/examples/grpsexample.f90
index 3a6efac..0f694e9 100644
--- a/fortran/examples/grpsexample.f90
+++ b/fortran/examples/grpsexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,41 +11,41 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! The following example code shows how to create groups
+! The following example code shows how to create groups
! using absolute and relative names. It creates three groups:
-! the first two groups are created using the file identifier and
-! the group absolute names, and the third group is created using
+! the first two groups are created using the file identifier and
+! the group absolute names, and the third group is created using
! a group identifier and the name relative to the specified group.
!
PROGRAM GRPSEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=10), PARAMETER :: filename = "groupsf.h5" ! File name
CHARACTER(LEN=8), PARAMETER :: groupname1 = "/MyGroup" ! Group name
- CHARACTER(LEN=16), PARAMETER :: groupname2 = "/MyGroup/Group_A"
+ CHARACTER(LEN=16), PARAMETER :: groupname2 = "/MyGroup/Group_A"
! Group name
CHARACTER(LEN=7), PARAMETER :: groupname3 = "Group_B" ! Group name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: group1_id, group2_id, group3_id ! Group identifiers
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: group1_id, group2_id, group3_id ! Group identifiers
INTEGER :: error ! Error flag
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
-
+ CALL h5open_f(error)
+
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
!
@@ -62,7 +62,7 @@
! Create group "Group_B" in group "MyGroup" using relative name.
!
CALL h5gcreate_f(group1_id, groupname3, group3_id, error)
-
+
!
! Close the groups.
!
@@ -78,6 +78,6 @@
!
! Close FORTRAN interface.
!
- CALL h5close_f(error)
+ CALL h5close_f(error)
- END PROGRAM GRPSEXAMPLE
+ END PROGRAM GRPSEXAMPLE
diff --git a/fortran/examples/hyperslab.f90 b/fortran/examples/hyperslab.f90
index 151ecf3..ca27f35 100644
--- a/fortran/examples/hyperslab.f90
+++ b/fortran/examples/hyperslab.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,57 +11,57 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This example shows how to write and read a hyperslab.
+! This example shows how to write and read a hyperslab.
!
PROGRAM SELECTEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=7), PARAMETER :: filename = "sdsf.h5" ! File name
CHARACTER(LEN=8), PARAMETER :: dsetname = "IntArray" ! Dataset name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
- INTEGER(HID_T) :: dataspace ! Dataspace identifier
- INTEGER(HID_T) :: memspace ! memspace identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: dataspace ! Dataspace identifier
+ INTEGER(HID_T) :: memspace ! memspace identifier
INTEGER(HSIZE_T), DIMENSION(3) :: dimsm = (/7,7,3/) ! Dataset dimensions
! in memory
- INTEGER(HSIZE_T), DIMENSION(2) :: dims_out ! Buffer to read in dataset
+ INTEGER(HSIZE_T), DIMENSION(2) :: dims_out ! Buffer to read in dataset
! dimesions
INTEGER(HSIZE_T), DIMENSION(2) :: dimsf = (/5,6/) ! Dataset dimensions.
- INTEGER(HSIZE_T), DIMENSION(2) :: count = (/3,4/)
+ INTEGER(HSIZE_T), DIMENSION(2) :: count = (/3,4/)
! Size of the hyperslab in the file
INTEGER(HSIZE_T), DIMENSION(2) :: offset = (/1,2/)
- !hyperslab offset in the file
+ !hyperslab offset in the file
INTEGER(HSIZE_T), DIMENSION(3) :: count_out = (/3,4,1/)
- !Size of the hyperslab in memory
+ !Size of the hyperslab in memory
INTEGER(HSIZE_T), DIMENSION(3) :: offset_out = (/3,0,0/)
- !hyperslab offset in memory
+ !hyperslab offset in memory
INTEGER, DIMENSION(5,6) :: data ! Data to write
INTEGER, DIMENSION(7,7,3) :: data_out ! Output buffer
INTEGER :: dsetrank = 2 ! Dataset rank ( in file )
INTEGER :: memrank = 3 ! Dataset rank ( in memory )
- INTEGER :: rank
- INTEGER :: i, j, k
+ INTEGER :: rank
+ INTEGER :: i, j, k
INTEGER :: error, error_n ! Error flags
INTEGER(HSIZE_T), DIMENSION(3) :: data_dims
!
- ! Write data to the HDF5 file.
+ ! Write data to the HDF5 file.
!
!
- ! Data initialization.
+ ! Data initialization.
!
do i = 1, 5
do j = 1, 6
@@ -75,19 +75,19 @@
! 3, 4, 5, 6, 7, 8
! 4, 5, 6, 7, 8, 9
!
-
+
!
- ! Initialize FORTRAN interface.
+ ! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Create a new file using default properties.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
!
- ! Create the data space for the dataset.
+ ! Create the data space for the dataset.
!
CALL h5screate_simple_f(dsetrank, dimsf, dataspace, error)
@@ -101,7 +101,7 @@
! Write the dataset.
!
data_dims(1) = 5
- data_dims(2) = 6
+ data_dims(2) = 6
CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data, data_dims, error)
!
@@ -120,14 +120,14 @@
CALL h5fclose_f(file_id, error)
!
- ! This part of the code reads the hyperslab from the sds.h5 file just
+ ! This part of the code reads the hyperslab from the sds.h5 file just
! created, into a 2-dimensional plane of the 3-dimensional dataset.
!
!
! Initialize data_out array.
!
- do k = 1, 3
+ do k = 1, 3
do j = 1, 7
do i = 1, 7
data_out(i,j,k) = 0;
@@ -141,7 +141,7 @@
! CALL h5fopen_f (filename, H5F_ACC_RDONLY_F, file_id, error)
CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error)
write(*,*) error
-
+
!
! Open the dataset.
!
@@ -156,7 +156,7 @@
! Select hyperslab in the dataset.
!
CALL h5sselect_hyperslab_f(dataspace, H5S_SELECT_SET_F, &
- offset, count, error)
+ offset, count, error)
!
! Create memory dataspace.
!
@@ -166,18 +166,18 @@
! Select hyperslab in memory.
!
CALL h5sselect_hyperslab_f(memspace, H5S_SELECT_SET_F, &
- offset_out, count_out, error)
+ offset_out, count_out, error)
!
- ! Read data from hyperslab in the file into the hyperslab in
+ ! Read data from hyperslab in the file into the hyperslab in
! memory and display.
!
data_dims(1) = 7
data_dims(2) = 7
- data_dims(3) = 3
+ data_dims(3) = 3
CALL H5dread_f(dset_id, H5T_NATIVE_INTEGER, data_out, data_dims, error, &
memspace, dataspace)
-
+
!
! Display data_out array
!
@@ -188,7 +188,7 @@
! 0 0 0 0 0 0 0
! 0 0 0 0 0 0 0
! 0 0 0 0 0 0 0
- ! 3 4 5 6 0 0 0
+ ! 3 4 5 6 0 0 0
! 4 5 6 7 0 0 0
! 5 6 7 8 0 0 0
! 0 0 0 0 0 0 0
@@ -219,4 +219,4 @@
!
CALL h5close_f(error)
- END PROGRAM SELECTEXAMPLE
+ END PROGRAM SELECTEXAMPLE
diff --git a/fortran/examples/mountexample.f90 b/fortran/examples/mountexample.f90
index fe9eb7e..5bdec2a 100644
--- a/fortran/examples/mountexample.f90
+++ b/fortran/examples/mountexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,19 +11,19 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-!In the following example we create one file with a group in it,
+!In the following example we create one file with a group in it,
!and another file with a dataset. Mounting is used to
-!access the dataset from the second file as a member of a group
-!in the first file.
+!access the dataset from the second file as a member of a group
+!in the first file.
!
PROGRAM MOUNTEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
!
@@ -42,53 +42,53 @@
!
! File identifiers
!
- INTEGER(HID_T) :: file1_id, file2_id
-
+ INTEGER(HID_T) :: file1_id, file2_id
+
!
! Group identifier
!
- INTEGER(HID_T) :: gid
+ INTEGER(HID_T) :: gid
!
! Dataset identifier
!
INTEGER(HID_T) :: dset_id
-
+
!
! Data space identifier
!
INTEGER(HID_T) :: dataspace
-
+
!
! Data type identifier
!
INTEGER(HID_T) :: dtype_id
- !
+ !
! The dimensions for the dataset.
!
INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/NX,NY/)
!
- ! Flag to check operation success
- !
+ ! Flag to check operation success
+ !
INTEGER :: error
!
- ! General purpose integer
- !
+ ! General purpose integer
+ !
INTEGER :: i, j
!
- ! Data buffers
- !
+ ! Data buffers
+ !
INTEGER, DIMENSION(NX,NY) :: data_in, data_out
INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
!
- ! Initialize FORTRAN interface.
+ ! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Initialize data_in buffer
@@ -101,36 +101,36 @@
!
! Create first file "mount1.h5" using default properties.
- !
+ !
CALL h5fcreate_f(filename1, H5F_ACC_TRUNC_F, file1_id, error)
!
! Create group "/G" inside file "mount1.h5".
- !
+ !
CALL h5gcreate_f(file1_id, "/G", gid, error)
!
! Close file and group identifiers.
- !
+ !
CALL h5gclose_f(gid, error)
CALL h5fclose_f(file1_id, error)
!
! Create second file "mount2.h5" using default properties.
- !
+ !
CALL h5fcreate_f(filename2, H5F_ACC_TRUNC_F, file2_id, error)
!
- ! Create data space for the dataset.
+ ! Create data space for the dataset.
!
CALL h5screate_simple_f(RANK, dims, dataspace, error)
!
! Create dataset "/D" inside file "mount2.h5".
- !
+ !
CALL h5dcreate_f(file2_id, "/D", H5T_NATIVE_INTEGER, dataspace, &
dset_id, error)
-
+
!
! Write data_in to the dataset
!
@@ -140,41 +140,41 @@
!
! Close file, dataset and dataspace identifiers.
- !
+ !
CALL h5sclose_f(dataspace, error)
CALL h5dclose_f(dset_id, error)
CALL h5fclose_f(file2_id, error)
!
! Reopen both files.
- !
+ !
CALL h5fopen_f (filename1, H5F_ACC_RDWR_F, file1_id, error)
CALL h5fopen_f (filename2, H5F_ACC_RDWR_F, file2_id, error)
!
! Mount the second file under the first file's "/G" group.
- !
+ !
CALL h5fmount_f (file1_id, "/G", file2_id, error)
!
! Access dataset D in the first file under /G/D name.
- !
+ !
CALL h5dopen_f(file1_id, "/G/D", dset_id, error)
!
! Get dataset's data type.
- !
+ !
CALL h5dget_type_f(dset_id, dtype_id, error)
!
! Read the dataset.
- !
+ !
CALL h5dread_f(dset_id, dtype_id, data_out, data_dims, error)
!
! Print out the data.
- !
+ !
do i = 1, NX
print *, (data_out(i,j), j = 1, NY)
end do
@@ -182,24 +182,24 @@
!
!Close dset_id and dtype_id.
- !
+ !
CALL h5dclose_f(dset_id, error)
CALL h5tclose_f(dtype_id, error)
!
! Unmount the second file.
- !
+ !
CALL h5funmount_f(file1_id, "/G", error);
!
! Close both files.
- !
+ !
CALL h5fclose_f(file1_id, error)
CALL h5fclose_f(file2_id, error)
!
- ! Close FORTRAN interface.
+ ! Close FORTRAN interface.
!
- CALL h5close_f(error)
+ CALL h5close_f(error)
END PROGRAM MOUNTEXAMPLE
diff --git a/fortran/examples/ph5example.f90 b/fortran/examples/ph5example.f90
index 208ebc7..a0db200 100644
--- a/fortran/examples/ph5example.f90
+++ b/fortran/examples/ph5example.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,15 +11,15 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! Fortran parallel example. Copied from Tutorial's example program of
! dataset.f90.
PROGRAM DATASET
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
INCLUDE 'mpif.h'
@@ -28,18 +28,18 @@
CHARACTER(LEN=100) :: filename ! File name
INTEGER :: fnamelen ! File name length
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
- INTEGER(HID_T) :: filespace ! Dataspace identifier in file
- INTEGER(HID_T) :: plist_id ! Property list identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: filespace ! Dataspace identifier in file
+ INTEGER(HID_T) :: plist_id ! Property list identifier
INTEGER(HSIZE_T), DIMENSION(2) :: dimsf = (/5,8/) ! Dataset dimensions.
-! INTEGER, DIMENSION(7) :: dimsfi = (/5,8,0,0,0,0,0/)
+! INTEGER, DIMENSION(7) :: dimsfi = (/5,8,0,0,0,0,0/)
! INTEGER(HSIZE_T), DIMENSION(2) :: dimsfi = (/5,8/)
INTEGER(HSIZE_T), DIMENSION(2) :: dimsfi
INTEGER, ALLOCATABLE :: data(:,:) ! Data to write
- INTEGER :: rank = 2 ! Dataset rank
+ INTEGER :: rank = 2 ! Dataset rank
INTEGER :: error, error_n ! Error flags
INTEGER :: i, j
@@ -53,22 +53,22 @@
info = MPI_INFO_NULL
CALL MPI_INIT(mpierror)
CALL MPI_COMM_SIZE(comm, mpi_size, mpierror)
- CALL MPI_COMM_RANK(comm, mpi_rank, mpierror)
- !
+ CALL MPI_COMM_RANK(comm, mpi_rank, mpierror)
+ !
! Initialize data buffer with trivial data.
!
ALLOCATE ( data(dimsf(1),dimsf(2)))
do i = 1, dimsf(2)
do j = 1, dimsf(1)
- data(j,i) = j - 1 + (i-1)*dimsf(1)
+ data(j,i) = j - 1 + (i-1)*dimsf(1)
enddo
enddo
!
! Initialize FORTRAN interface
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
- !
+ !
! Setup file access property list with parallel I/O access.
!
CALL h5pcreate_f(H5P_FILE_ACCESS_F, plist_id, error)
@@ -89,11 +89,11 @@
!
! Create the file collectively.
- !
+ !
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, access_prp = plist_id)
CALL h5pclose_f(plist_id, error)
!
- ! Create the data space for the dataset.
+ ! Create the data space for the dataset.
!
CALL h5screate_simple_f(rank, dimsf, filespace, error)
@@ -105,15 +105,15 @@
!
! Create property list for collective dataset write
!
- CALL h5pcreate_f(H5P_DATASET_XFER_F, plist_id, error)
+ CALL h5pcreate_f(H5P_DATASET_XFER_F, plist_id, error)
CALL h5pset_dxpl_mpio_f(plist_id, H5FD_MPIO_COLLECTIVE_F, error)
!
- ! For independent write use
+ ! For independent write use
! CALL h5pset_dxpl_mpio_f(plist_id, H5FD_MPIO_INDEPENDENT_F, error)
!
-
+
!
- ! Write the dataset collectively.
+ ! Write the dataset collectively.
!
CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data, dimsfi, error, &
xfer_prp = plist_id)
diff --git a/fortran/examples/refobjexample.f90 b/fortran/examples/refobjexample.f90
index 1889b8b..c8622a7 100644
--- a/fortran/examples/refobjexample.f90
+++ b/fortran/examples/refobjexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,49 +11,49 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
! This program shows how to create and store references to the objects.
-! Program creates a file, two groups, a dataset to store integer data and
-! a dataset to store references to the objects.
+! Program creates a file, two groups, a dataset to store integer data and
+! a dataset to store references to the objects.
! Stored references are used to open the objects they are point to.
! Data is written to the dereferenced dataset, and class type is displayed for
! the shared datatype.
!
- PROGRAM OBJ_REFERENCES
+ PROGRAM OBJ_REFERENCES
+
+ USE HDF5 ! This module contains all necessary modules
- USE HDF5 ! This module contains all necessary modules
-
IMPLICIT NONE
- CHARACTER(LEN=10), PARAMETER :: filename = "FORTRAN.h5" ! File
+ CHARACTER(LEN=10), PARAMETER :: filename = "FORTRAN.h5" ! File
CHARACTER(LEN=8), PARAMETER :: dsetnamei = "INTEGERS" ! Dataset with the integer data
CHARACTER(LEN=17), PARAMETER :: dsetnamer = "OBJECT_REFERENCES" ! Dataset wtih object
! references
CHARACTER(LEN=6), PARAMETER :: groupname1 = "GROUP1" ! Groups in the file
CHARACTER(LEN=6), PARAMETER :: groupname2 = "GROUP2" !
-
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: grp1_id ! Group identifiers
- INTEGER(HID_T) :: grp2_id !
- INTEGER(HID_T) :: dset_id ! Dataset identifiers
- INTEGER(HID_T) :: dsetr_id !
- INTEGER(HID_T) :: type_id ! Type identifier
- INTEGER(HID_T) :: space_id ! Dataspace identifiers
- INTEGER(HID_T) :: spacer_id !
+
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: grp1_id ! Group identifiers
+ INTEGER(HID_T) :: grp2_id !
+ INTEGER(HID_T) :: dset_id ! Dataset identifiers
+ INTEGER(HID_T) :: dsetr_id !
+ INTEGER(HID_T) :: type_id ! Type identifier
+ INTEGER(HID_T) :: space_id ! Dataspace identifiers
+ INTEGER(HID_T) :: spacer_id !
INTEGER :: error
INTEGER(HSIZE_T), DIMENSION(1) :: dims = (/5/)
INTEGER(HSIZE_T), DIMENSION(1) :: dimsr= (/4/)
INTEGER(HSIZE_T), DIMENSION(1) :: my_maxdims = (/5/)
- INTEGER :: rank = 1
- INTEGER :: rankr = 1
+ INTEGER :: rank = 1
+ INTEGER :: rankr = 1
TYPE(hobj_ref_t_f), DIMENSION(4) :: ref
TYPE(hobj_ref_t_f), DIMENSION(4) :: ref_out
INTEGER, DIMENSION(5) :: data = (/1, 2, 3, 4, 5/)
INTEGER :: class
INTEGER(HSIZE_T), DIMENSION(2) :: data_dims, ref_size
!
- ! Initialize FORTRAN interface.
+ ! Initialize FORTRAN interface.
!
CALL h5open_f(error)
!
@@ -61,17 +61,17 @@
!
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
! Default file access and file creation
- ! properties are used.
+ ! properties are used.
!
! Create a group in the file
!
CALL h5gcreate_f(file_id, groupname1, grp1_id, error)
!
- ! Create a group inside the created gorup
+ ! Create a group inside the created gorup
!
CALL h5gcreate_f(grp1_id, groupname2, grp2_id, error)
- !
- ! Create dataspaces for datasets
+ !
+ ! Create dataspaces for datasets
!
CALL h5screate_simple_f(rank, dims, space_id, error, maxdims=my_maxdims)
CALL h5screate_simple_f(rankr, dimsr, spacer_id, error)
@@ -92,7 +92,7 @@
CALL h5tcommit_f(file_id, "MyType", type_id, error)
!
! Close dataspaces, groups and integer dataset
- !
+ !
CALL h5sclose_f(space_id, error)
CALL h5sclose_f(spacer_id, error)
CALL h5tclose_f(type_id, error)
@@ -113,7 +113,7 @@
! Close the dataset
!
CALL h5dclose_f(dsetr_id, error)
- !
+ !
! Reopen the dataset with object references and read references to the buffer
!
CALL h5dopen_f(file_id, dsetnamer,dsetr_id,error)
@@ -141,7 +141,7 @@
! Get datatype class and display it if it is of a FLOAT class.
!
CALL h5tget_class_f(type_id, class, error)
- if(class .eq. H5T_FLOAT_F) write(*,*) "Stored datatype is of a FLOAT class"
+ if(class .eq. H5T_FLOAT_F) write(*,*) "Stored datatype is of a FLOAT class"
!
! Close all objects.
!
@@ -150,10 +150,10 @@
CALL h5dclose_f(dsetr_id, error)
CALL h5fclose_f(file_id, error)
!
- ! Close FORTRAN interface.
+ ! Close FORTRAN interface.
!
CALL h5close_f(error)
- END PROGRAM OBJ_REFERENCES
+ END PROGRAM OBJ_REFERENCES
diff --git a/fortran/examples/refregexample.f90 b/fortran/examples/refregexample.f90
index e7728bb..68fbd24 100644
--- a/fortran/examples/refregexample.f90
+++ b/fortran/examples/refregexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,43 +11,43 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This program shows how to create, store and dereference references
+! This program shows how to create, store and dereference references
! to the dataset regions.
! Program creates a file and writes two dimensional integer dataset
! to it. Then program creates and stores references to the hyperslab
-! and 3 points selected in the integer dataset, in the second dataset.
+! and 3 points selected in the integer dataset, in the second dataset.
! Program reopens the second dataset, reads and dereferences region
-! references, and then reads and displays selected data from the
+! references, and then reads and displays selected data from the
! integer dataset.
-!
+!
PROGRAM REG_REFERENCE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=10), PARAMETER :: filename = "FORTRAN.h5"
CHARACTER(LEN=6), PARAMETER :: dsetnamev = "MATRIX"
CHARACTER(LEN=17), PARAMETER :: dsetnamer = "REGION_REFERENCES"
-
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: space_id ! Dataspace identifier
- INTEGER(HID_T) :: spacer_id ! Dataspace identifier
- INTEGER(HID_T) :: dsetv_id ! Dataset identifier
- INTEGER(HID_T) :: dsetr_id ! Dataset identifier
+
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: space_id ! Dataspace identifier
+ INTEGER(HID_T) :: spacer_id ! Dataspace identifier
+ INTEGER(HID_T) :: dsetv_id ! Dataset identifier
+ INTEGER(HID_T) :: dsetr_id ! Dataset identifier
INTEGER :: error
TYPE(hdset_reg_ref_t_f) , DIMENSION(2) :: ref ! Buffers to store references
TYPE(hdset_reg_ref_t_f) , DIMENSION(2) :: ref_out !
INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/2,9/) ! Datasets dimensions
- INTEGER(HSIZE_T), DIMENSION(1) :: dimsr = (/2/) !
+ INTEGER(HSIZE_T), DIMENSION(1) :: dimsr = (/2/) !
INTEGER(HSIZE_T), DIMENSION(2) :: start
INTEGER(HSIZE_T), DIMENSION(2) :: count
- INTEGER :: rankr = 1
+ INTEGER :: rankr = 1
INTEGER :: rank = 2
- INTEGER , DIMENSION(2,9) :: data
- INTEGER , DIMENSION(2,9) :: data_out = 0
+ INTEGER , DIMENSION(2,9) :: data
+ INTEGER , DIMENSION(2,9) :: data_out = 0
INTEGER(HSIZE_T) , DIMENSION(2,3) :: coord
INTEGER(SIZE_T) ::num_points = 3 ! Number of selected points
INTEGER :: i, j
@@ -64,26 +64,26 @@
!
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
! Default file access and file creation
- ! properties are used.
- !
+ ! properties are used.
+ !
! Create dataspaces:
- !
- ! for dataset with references to dataset regions
+ !
+ ! for dataset with references to dataset regions
!
CALL h5screate_simple_f(rankr, dimsr, spacer_id, error)
!
- ! for integer dataset
+ ! for integer dataset
!
CALL h5screate_simple_f(rank, dims, space_id, error)
!
! Create and write datasets:
!
- ! Integer dataset
+ ! Integer dataset
!
CALL h5dcreate_f(file_id, dsetnamev, H5T_NATIVE_INTEGER, space_id, &
dsetv_id, error)
data_dims(1) = 2
- data_dims(2) = 9
+ data_dims(2) = 9
CALL h5dwrite_f(dsetv_id, H5T_NATIVE_INTEGER, data, data_dims, error)
CALL h5dclose_f(dsetv_id, error)
!
@@ -94,25 +94,25 @@
!
! Create a reference to the hyperslab selection.
!
- start(1) = 0
- start(2) = 3
+ start(1) = 0
+ start(2) = 3
count(1) = 2
count(2) = 3
CALL h5sselect_hyperslab_f(space_id, H5S_SELECT_SET_F, &
- start, count, error)
- CALL h5rcreate_f(file_id, dsetnamev, space_id, ref(1), error)
+ start, count, error)
+ CALL h5rcreate_f(file_id, dsetnamev, space_id, ref(1), error)
!
! Create a reference to elements selection.
!
CALL h5sselect_none_f(space_id, error)
CALL h5sselect_elements_f(space_id, H5S_SELECT_SET_F, rank, num_points,&
- coord, error)
- CALL h5rcreate_f(file_id, dsetnamev, space_id, ref(2), error)
+ coord, error)
+ CALL h5rcreate_f(file_id, dsetnamev, space_id, ref(2), error)
!
- ! Write dataset with the references.
+ ! Write dataset with the references.
!
ref_size(1) = size(ref)
- CALL h5dwrite_f(dsetr_id, H5T_STD_REF_DSETREG, ref, ref_size, error)
+ CALL h5dwrite_f(dsetr_id, H5T_STD_REF_DSETREG, ref, ref_size, error)
!
! Close all objects.
!
@@ -129,12 +129,12 @@
! Read references to the dataset regions.
!
ref_size(1) = size(ref_out)
- CALL h5dread_f(dsetr_id, H5T_STD_REF_DSETREG, ref_out, ref_size, error)
- !
+ CALL h5dread_f(dsetr_id, H5T_STD_REF_DSETREG, ref_out, ref_size, error)
+ !
! Dereference the first reference.
- !
+ !
CALL H5rdereference_f(dsetr_id, ref_out(1), dsetv_id, error)
- CALL H5rget_region_f(dsetr_id, ref_out(1), space_id, error)
+ CALL H5rget_region_f(dsetr_id, ref_out(1), space_id, error)
!
! Read selected data from the dataset.
!
@@ -142,18 +142,18 @@
mem_space_id = space_id, file_space_id = space_id)
write(*,*) "Hypeslab selection"
write(*,*)
- do i = 1,2
+ do i = 1,2
write(*,*) (data_out (i,j), j = 1,9)
enddo
write(*,*)
CALL h5sclose_f(space_id, error)
CALL h5dclose_f(dsetv_id, error)
data_out = 0
- !
+ !
! Dereference the second reference.
- !
+ !
CALL H5rdereference_f(dsetr_id, ref_out(2), dsetv_id, error)
- CALL H5rget_region_f(dsetr_id, ref_out(2), space_id, error)
+ CALL H5rget_region_f(dsetr_id, ref_out(2), space_id, error)
!
! Read selected data from the dataset.
!
@@ -161,7 +161,7 @@
mem_space_id = space_id, file_space_id = space_id)
write(*,*) "Point selection"
write(*,*)
- do i = 1,2
+ do i = 1,2
write(*,*) (data_out (i,j), j = 1,9)
enddo
!
@@ -173,8 +173,8 @@
!
! Close FORTRAN interface.
!
- CALL h5close_f(error)
+ CALL h5close_f(error)
- END PROGRAM REG_REFERENCE
+ END PROGRAM REG_REFERENCE
diff --git a/fortran/examples/rwdsetexample.f90 b/fortran/examples/rwdsetexample.f90
index 37ee282..1e84e23 100644
--- a/fortran/examples/rwdsetexample.f90
+++ b/fortran/examples/rwdsetexample.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,34 +11,34 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! The following example shows how to write and read to/from an existing dataset.
-! It opens the file created in the previous example, obtains the dataset
-! identifier, writes the data to the dataset in the file,
-! then reads the dataset to memory.
+! The following example shows how to write and read to/from an existing dataset.
+! It opens the file created in the previous example, obtains the dataset
+! identifier, writes the data to the dataset in the file,
+! then reads the dataset to memory.
!
PROGRAM RWDSETEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=8), PARAMETER :: filename = "dsetf.h5" ! File name
CHARACTER(LEN=4), PARAMETER :: dsetname = "dset" ! Dataset name
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
INTEGER :: error ! Error flag
INTEGER :: i, j
INTEGER, DIMENSION(4,6) :: dset_data, data_out ! Data buffers
INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
-
+
!
! Initialize the dset_data array.
!
@@ -51,7 +51,7 @@
!
! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Open an existing file.
@@ -59,7 +59,7 @@
CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error)
!
- ! Open an existing dataset.
+ ! Open an existing dataset.
!
CALL h5dopen_f(file_id, dsetname, dset_id, error)
@@ -67,7 +67,7 @@
! Write the dataset.
!
data_dims(1) = 4
- data_dims(2) = 6
+ data_dims(2) = 6
CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, dset_data, data_dims, error)
!
@@ -84,13 +84,13 @@
! Close the file.
!
CALL h5fclose_f(file_id, error)
-
+
!
! Close FORTRAN interface.
!
CALL h5close_f(error)
- END PROGRAM RWDSETEXAMPLE
+ END PROGRAM RWDSETEXAMPLE
+
-
diff --git a/fortran/examples/selectele.f90 b/fortran/examples/selectele.f90
index 461fd0b..3ab7ebc 100644
--- a/fortran/examples/selectele.f90
+++ b/fortran/examples/selectele.f90
@@ -1,4 +1,4 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
! Copyright by the Board of Trustees of the University of Illinois. *
! All rights reserved. *
@@ -11,25 +11,25 @@
! is linked from the top-level documents page. It can also be found at *
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This program creates two files, copy1.h5, and copy2.h5.
-! In copy1.h5, it creates a 3x4 dataset called 'Copy1',
-! and write 0's to this dataset.
-! In copy2.h5, it create a 3x4 dataset called 'Copy2',
-! and write 1's to this dataset.
-! It closes both files, reopens both files, selects two
-! points in copy1.h5 and writes values to them. Then it
-! uses an H5Scopy to write the same selection to copy2.h5.
-! Program reopens the files, and reads and prints the contents of
-! the two datasets.
-!
+! This program creates two files, copy1.h5, and copy2.h5.
+! In copy1.h5, it creates a 3x4 dataset called 'Copy1',
+! and write 0's to this dataset.
+! In copy2.h5, it create a 3x4 dataset called 'Copy2',
+! and write 1's to this dataset.
+! It closes both files, reopens both files, selects two
+! points in copy1.h5 and writes values to them. Then it
+! uses an H5Scopy to write the same selection to copy2.h5.
+! Program reopens the files, and reads and prints the contents of
+! the two datasets.
+!
PROGRAM SELECTEXAMPLE
- USE HDF5 ! This module contains all necessary modules
-
+ USE HDF5 ! This module contains all necessary modules
+
IMPLICIT NONE
CHARACTER(LEN=8), PARAMETER :: filename1 = "copy1.h5" ! File name
@@ -41,27 +41,27 @@
INTEGER(SIZE_T), PARAMETER :: NUMP = 2 ! Number of points selected
- INTEGER(HID_T) :: file1_id ! File1 identifier
- INTEGER(HID_T) :: file2_id ! File2 identifier
- INTEGER(HID_T) :: dset1_id ! Dataset1 identifier
- INTEGER(HID_T) :: dset2_id ! Dataset2 identifier
- INTEGER(HID_T) :: dataspace1 ! Dataspace identifier
- INTEGER(HID_T) :: dataspace2 ! Dataspace identifier
- INTEGER(HID_T) :: memspace ! memspace identifier
+ INTEGER(HID_T) :: file1_id ! File1 identifier
+ INTEGER(HID_T) :: file2_id ! File2 identifier
+ INTEGER(HID_T) :: dset1_id ! Dataset1 identifier
+ INTEGER(HID_T) :: dset2_id ! Dataset2 identifier
+ INTEGER(HID_T) :: dataspace1 ! Dataspace identifier
+ INTEGER(HID_T) :: dataspace2 ! Dataspace identifier
+ INTEGER(HID_T) :: memspace ! memspace identifier
- INTEGER(HSIZE_T), DIMENSION(1) :: dimsm = (/2/)
- ! Memory dataspace dimensions
+ INTEGER(HSIZE_T), DIMENSION(1) :: dimsm = (/2/)
+ ! Memory dataspace dimensions
INTEGER(HSIZE_T), DIMENSION(2) :: dimsf = (/3,4/)
! File dataspace dimensions
INTEGER(HSIZE_T), DIMENSION(RANK,NUMP) :: coord ! Elements coordinates
- ! in the file
+ ! in the file
INTEGER, DIMENSION(3,4) :: buf1, buf2, bufnew ! Data buffers
INTEGER, DIMENSION(2) :: val = (/53, 59/) ! Values to write
-
+
INTEGER :: memrank = 1 ! Rank of the dataset in memory
- INTEGER :: i, j
+ INTEGER :: i, j
INTEGER :: error ! Error flag
LOGICAL :: status
@@ -70,11 +70,11 @@
!
! Create two files containing identical datasets. Write 0's to one
- ! and 1's to the other.
+ ! and 1's to the other.
!
!
- ! Data initialization.
+ ! Data initialization.
!
do i = 1, 3
do j = 1, 4
@@ -87,21 +87,21 @@
buf2(i,j) = 1;
end do
end do
-
+
!
- ! Initialize FORTRAN interface.
+ ! Initialize FORTRAN interface.
!
- CALL h5open_f(error)
+ CALL h5open_f(error)
!
! Create file1, file2 using default properties.
- !
+ !
CALL h5fcreate_f(filename1, H5F_ACC_TRUNC_F, file1_id, error)
CALL h5fcreate_f(filename2, H5F_ACC_TRUNC_F, file2_id, error)
!
- ! Create the data space for the datasets.
+ ! Create the data space for the datasets.
!
CALL h5screate_simple_f(RANK, dimsf, dataspace1, error)
@@ -120,7 +120,7 @@
! Write the datasets.
!
data_dims(1) = 3
- data_dims(2) = 4
+ data_dims(2) = 4
CALL h5dwrite_f(dset1_id, H5T_NATIVE_INTEGER, buf1, data_dims, error)
CALL h5dwrite_f(dset2_id, H5T_NATIVE_INTEGER, buf2, data_dims, error)
@@ -147,8 +147,8 @@
CALL h5fclose_f(file2_id, error)
!
- ! Open the two files. Select two points in one file, write values to
- ! those point locations, then do H5Scopy and write the values to the
+ ! Open the two files. Select two points in one file, write values to
+ ! those point locations, then do H5Scopy and write the values to the
! other file. Close files.
!
@@ -156,7 +156,7 @@
! Open the files.
!
CALL h5fopen_f (filename1, H5F_ACC_RDWR_F, file1_id, error)
-
+
CALL h5fopen_f (filename2, H5F_ACC_RDWR_F, file2_id, error)
!
@@ -170,19 +170,19 @@
! Get dataset1's dataspace identifier.
!
CALL h5dget_space_f(dset1_id, dataspace1, error)
-
+
!
! Create memory dataspace.
!
CALL h5screate_simple_f(memrank, dimsm, memspace, error)
-
+
!
- ! Set the selected point positions. Because Fortran array index starts
+ ! Set the selected point positions. Because Fortran array index starts
! from 1, so add one to the actual select points in C.
!
- coord(1,1) = 1
- coord(2,1) = 2
- coord(1,2) = 1
+ coord(1,1) = 1
+ coord(2,1) = 2
+ coord(1,2) = 1
coord(2,2) = 4
!
@@ -201,7 +201,7 @@
!
! Copy the daspace1 into dataspace2.
!
- CALL h5scopy_f(dataspace1, dataspace2, error)
+ CALL h5scopy_f(dataspace1, dataspace2, error)
!
! Write value into the selected points in dataset2.
@@ -244,7 +244,7 @@
! Open the files.
!
CALL h5fopen_f (filename1, H5F_ACC_RDWR_F, file1_id, error)
-
+
CALL h5fopen_f (filename2, H5F_ACC_RDWR_F, file2_id, error)
!
@@ -257,8 +257,8 @@
!
! Read dataset from the first file.
!
- data_dims(1) = 3
- data_dims(2) = 4
+ data_dims(1) = 3
+ data_dims(2) = 4
CALL h5dread_f(dset1_id, H5T_NATIVE_INTEGER, bufnew, data_dims, error)
!