mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-30 15:32:37 +08:00
89fbe00dec
* commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
105 lines
3.5 KiB
Fortran
105 lines
3.5 KiB
Fortran
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
! Copyright by The HDF Group. *
|
|
! Copyright by the Board of Trustees of the University of Illinois. *
|
|
! All rights reserved. *
|
|
! *
|
|
! This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
! terms governing use, modification, and redistribution, is contained in *
|
|
! the COPYING file, which can be found at the root of the source code *
|
|
! distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
|
|
! 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.
|
|
! It opens the existing file 'dset.h5', obtains the identifier of
|
|
! the dataset "/dset", defines attribute's dataspace,
|
|
! creates dataset attribute, writes the attribute, and then closes
|
|
! the attribute's dataspace, attribute, dataset, and file.
|
|
!
|
|
! This example is used in the HDF5 Tutorial.
|
|
|
|
PROGRAM H5_CRTATT
|
|
|
|
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(HSIZE_T), DIMENSION(1) :: adims = (/2/) ! Attribute dimension
|
|
INTEGER :: arank = 1 ! Attribure rank
|
|
INTEGER(SIZE_T) :: attrlen ! Length of the attribute string
|
|
|
|
CHARACTER(LEN=80), DIMENSION(2) :: attr_data ! Attribute data
|
|
|
|
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
|
|
!
|
|
! Initialize FORTRAN interface.
|
|
!
|
|
CALL h5open_f(error)
|
|
!
|
|
! Open an existing file.
|
|
!
|
|
CALL h5fopen_f (filename, H5F_ACC_RDWR_F, file_id, error)
|
|
!
|
|
! Open an existing dataset.
|
|
!
|
|
CALL h5dopen_f(file_id, dsetname, dset_id, error)
|
|
!
|
|
! Create scalar data space for the attribute.
|
|
!
|
|
CALL h5screate_simple_f(arank, adims, aspace_id, error)
|
|
!
|
|
! Create datatype for the attribute.
|
|
!
|
|
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.
|
|
!
|
|
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)
|
|
!
|
|
! Close FORTRAN interface.
|
|
!
|
|
CALL h5close_f(error)
|
|
|
|
END PROGRAM H5_CRTATT
|
|
|