diff options
author | Frank Baker <fbaker@hdfgroup.org> | 2005-07-19 17:28:56 (GMT) |
---|---|---|
committer | Frank Baker <fbaker@hdfgroup.org> | 2005-07-19 17:28:56 (GMT) |
commit | 794ba0a251af47b8e3c60afa2fe92d267e2a6b55 (patch) | |
tree | f24cea3b81ff02fa3f31c0a1c4e80fa10f4393c0 /doc/html/Tutor/examples/refregexample.f90 | |
parent | d2e92fd23610c3ccdddbbc55484e54a5a21a9252 (diff) | |
download | hdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.zip hdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.tar.gz hdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.tar.bz2 |
[svn-r11084]
Description:
All HDF5 user documentation has been moved to a separate hdf5doc/
repository, managed under Subversion.
With this 'cvs commit', all files are stripped from hdf5/doc/.
THIS CHANGE IS APPLIED ONLY TO THE HDF5 DEVELOPMENT BRANCH,
post Release 1.6.x; it is not applied to the release branches.
Diffstat (limited to 'doc/html/Tutor/examples/refregexample.f90')
-rw-r--r-- | doc/html/Tutor/examples/refregexample.f90 | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/doc/html/Tutor/examples/refregexample.f90 b/doc/html/Tutor/examples/refregexample.f90 deleted file mode 100644 index 5d72f1e..0000000 --- a/doc/html/Tutor/examples/refregexample.f90 +++ /dev/null @@ -1,162 +0,0 @@ -! -! 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. -! Program reopens the second dataset, reads and dereferences region -! references, and then reads and displays selected data from the -! integer dataset. -! - PROGRAM REG_REFERENCE - - 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 :: 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(2) :: start - INTEGER(HSIZE_T), DIMENSION(2) :: count - INTEGER :: rankr = 1 - INTEGER :: rank = 2 - 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 - INTEGER :: ref_size - coord = reshape((/1,1,2,7,1,9/), (/2,3/)) ! Coordinates of selected points - data = reshape ((/1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6/), (/2,9/)) - ! - ! Initialize FORTRAN interface. - ! - CALL h5open_f(error) - ! - ! Create a new file. - ! - CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error) - ! Default file access and file creation - ! properties are used. - ! - ! Create dataspaces: - ! - ! for dataset with references to dataset regions - ! - CALL h5screate_simple_f(rankr, dimsr, spacer_id, error) - ! - ! for integer dataset - ! - CALL h5screate_simple_f(rank, dims, space_id, error) - ! - ! Create and write datasets: - ! - ! Integer dataset - ! - CALL h5dcreate_f(file_id, dsetnamev, H5T_NATIVE_INTEGER, space_id, & - dsetv_id, error) - CALL h5dwrite_f(dsetv_id, H5T_NATIVE_INTEGER, data, error) - CALL h5dclose_f(dsetv_id, error) - ! - ! Dataset with references - ! - CALL h5dcreate_f(file_id, dsetnamer, H5T_STD_REF_DSETREG, spacer_id, & - dsetr_id, error) - ! - ! Create a reference to the hyperslab selection. - ! - 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) - ! - ! 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) - ! - ! Write dataset with the references. - ! - ref_size = size(ref) - CALL h5dwrite_f(dsetr_id, H5T_STD_REF_DSETREG, ref, ref_size, error) - ! - ! Close all objects. - ! - CALL h5sclose_f(space_id, error) - CALL h5sclose_f(spacer_id, error) - CALL h5dclose_f(dsetr_id, error) - CALL h5fclose_f(file_id, error) - ! - ! Reopen the file to test selections. - ! - CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error) - CALL h5dopen_f(file_id, dsetnamer, dsetr_id, error) - ! - ! Read references to the dataset regions. - ! - ref_size = size(ref_out) - 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) - ! - ! Read selected data from the dataset. - ! - CALL h5dread_f(dsetv_id, H5T_NATIVE_INTEGER, data_out, error, & - mem_space_id = space_id, file_space_id = space_id) - write(*,*) "Hypeslab selection" - write(*,*) - 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) - ! - ! Read selected data from the dataset. - ! - CALL h5dread_f(dsetv_id, H5T_NATIVE_INTEGER, data_out, error, & - mem_space_id = space_id, file_space_id = space_id) - write(*,*) "Point selection" - write(*,*) - do i = 1,2 - write(*,*) (data_out (i,j), j = 1,9) - enddo - ! - ! Close all objects - ! - CALL h5sclose_f(space_id, error) - CALL h5dclose_f(dsetv_id, error) - CALL h5dclose_f(dsetr_id, error) - ! - ! Close FORTRAN interface. - ! - CALL h5close_f(error) - - END PROGRAM REG_REFERENCE - - |