summaryrefslogtreecommitdiffstats
path: root/doc/html/Tutor/examples/mountexample.f90
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/Tutor/examples/mountexample.f90')
-rw-r--r--doc/html/Tutor/examples/mountexample.f90187
1 files changed, 0 insertions, 187 deletions
diff --git a/doc/html/Tutor/examples/mountexample.f90 b/doc/html/Tutor/examples/mountexample.f90
deleted file mode 100644
index f4341b2..0000000
--- a/doc/html/Tutor/examples/mountexample.f90
+++ /dev/null
@@ -1,187 +0,0 @@
-!
-!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.
-!
-
- PROGRAM MOUNTEXAMPLE
-
- USE HDF5 ! This module contains all necessary modules
-
- IMPLICIT NONE
-
- !
- ! Filenames are "mount1.h5" and "mount2.h5"
- !
- CHARACTER(LEN=9), PARAMETER :: filename1 = "mount1.h5"
- CHARACTER(LEN=9), PARAMETER :: filename2 = "mount2.h5"
-
- !
- !data space rank and dimensions
- !
- INTEGER, PARAMETER :: RANK = 2
- INTEGER, PARAMETER :: NX = 4
- INTEGER, PARAMETER :: NY = 5
-
- !
- ! File identifiers
- !
- INTEGER(HID_T) :: file1_id, file2_id
-
- !
- ! Group identifier
- !
- 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
- !
- INTEGER :: error
-
- !
- ! General purpose integer
- !
- INTEGER :: i, j
-
- !
- ! Data buffers
- !
- INTEGER, DIMENSION(NX,NY) :: data_in, data_out
-
- !
- ! Initialize FORTRAN interface.
- !
- CALL h5open_f(error)
-
- !
- ! Initialize data_in buffer
- !
- do i = 1, NX
- do j = 1, NY
- data_in(i,j) = (i-1) + (j-1)
- end do
- end do
-
- !
- ! 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.
- !
- 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
- !
- CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data_in, error)
-
- !
- ! 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, error)
-
- !
- ! Print out the data.
- !
- do i = 1, NX
- print *, (data_out(i,j), j = 1, NY)
- end do
-
-
- !
- !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.
- !
- CALL h5close_f(error)
-
- END PROGRAM MOUNTEXAMPLE
-