hdf5_file Derived Type

type, public :: hdf5_file

main type


Contents


Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: filename
integer(kind=HID_T), public :: lid =0
integer(kind=HID_T), public :: gid
integer(kind=HID_T), public :: glid
integer, public :: comp_lvl =0
logical, public :: verbose =.true.
logical, public :: debug =.false.
logical, public :: is_open =.false.
logical, public :: is_scratch =.false.

will be auto-deleted on close

integer, public :: libversion(3)

Finalization Procedures

final :: destructor

flush file to disk and close file if user forgets to do so.

  • private subroutine destructor(self)

    Close file and handle if user forgets to do so

    Arguments

    Type IntentOptional AttributesName
    type(hdf5_file), intent(inout) :: self

Type-Bound Procedures

procedure, public :: softlink => create_softlink

define methods (procedures) that don't need generic procedure

  • interface

    private module subroutine create_softlink(self, target, link)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: target
    character(len=*), intent(in) :: link

procedure, public :: is_compact => hdf_is_compact

  • private function hdf_is_compact(self, dname)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value logical

procedure, public :: is_chunked => hdf_is_chunked

  • private function hdf_is_chunked(self, dname)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value logical

procedure, public :: is_contig => hdf_is_contig

  • private function hdf_is_contig(self, dname)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value logical

procedure, public :: exists => hdf_check_exist

  • interface

    private module function hdf_check_exist(self, dname) result(exists)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value logical

procedure, public :: exist => hdf_check_exist

  • interface

    private module function hdf_check_exist(self, dname) result(exists)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value logical

procedure, public :: chunks => hdf_get_chunk

  • interface

    private module subroutine hdf_get_chunk(self, dname, chunk_size)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    integer(kind=hsize_t), intent(out) :: chunk_size(:)

procedure, public :: layout => hdf_get_layout

  • interface

    private module function hdf_get_layout(self, dname) result(layout)

    H5D_CONTIGUOUS_F, H5D_CHUNKED_F, H5D_VIRTUAL_F, H5D_COMPACT_F

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value integer

procedure, public :: shape => hdf_get_shape

  • interface

    private module subroutine hdf_get_shape(self, dname, dims, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    integer(kind=HSIZE_T), intent(out), allocatable:: dims(:)
    integer, intent(out), optional :: ierr

procedure, public :: ndims => hdf_get_ndims

  • interface

    private module function hdf_get_ndims(self, dname) result(drank)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname

    Return Value integer

procedure, public :: flush => hdf_flush

  • private subroutine hdf_flush(self, ierr)

    request operating system flush data to disk. The operating system can do this when it desires, which might be a while.

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    integer, intent(out), optional :: ierr

procedure, public :: close_group => hdf_close_group

  • interface

    private module subroutine hdf_close_group(self, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    integer, intent(out), optional :: ierr

procedure, public :: open_group => hdf_open_group

  • interface

    private module subroutine hdf_open_group(self, gname, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: gname
    integer, intent(out), optional :: ierr

procedure, public :: create => hdf_create

  • interface

    private module subroutine hdf_create(self, dname, dtype, dims, sid, did, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=HID_T), intent(in) :: dtype
    integer(kind=HSIZE_T), intent(in) :: dims(:)
    integer(kind=HID_T), intent(out), optional :: sid
    integer(kind=HID_T), intent(out), optional :: did
    integer, intent(in), optional :: chunk_size(:)
    integer, intent(in), optional :: istart(:)
    integer, intent(in), optional :: iend(:)
    integer, intent(in), optional :: stride(:)
    logical, intent(in), optional :: compact

    keep istart, iend, stride for future slice shape check

procedure, public :: write_group

  • private subroutine write_group(self, gname, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: gname
    integer, intent(out), optional :: ierr

procedure, public :: close => hdf_finalize

  • private subroutine hdf_finalize(self, ierr, close_hdf5_interface)

    This must be called on each HDF5 file to flush buffers to disk data loss can occur if program terminates before this procedure

    Read more…

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: close_hdf5_interface

procedure, public :: finalize => hdf_finalize

  • private subroutine hdf_finalize(self, ierr, close_hdf5_interface)

    This must be called on each HDF5 file to flush buffers to disk data loss can occur if program terminates before this procedure

    Read more…

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: close_hdf5_interface

procedure, public :: open => hdf_initialize

  • private subroutine hdf_initialize(self, filename, ierr, status, action, comp_lvl, verbose, debug)

    Opens hdf5 file

    Read more…

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: filename
    integer, intent(out), optional :: ierr
    character(len=*), intent(in), optional :: status
    character(len=*), intent(in), optional :: action
    integer, intent(in), optional :: comp_lvl
    logical, intent(in), optional :: verbose
    logical, intent(in), optional :: debug

procedure, public :: initialize => hdf_initialize

  • private subroutine hdf_initialize(self, filename, ierr, status, action, comp_lvl, verbose, debug)

    Opens hdf5 file

    Read more…

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: filename
    integer, intent(out), optional :: ierr
    character(len=*), intent(in), optional :: status
    character(len=*), intent(in), optional :: action
    integer, intent(in), optional :: comp_lvl
    logical, intent(in), optional :: verbose
    logical, intent(in), optional :: debug

below are procedure that need generic mapping (type or rank agnostic) write group or dataset integer/real

generic, public :: write_char => hdf_write_scalar_char

generic, public :: writeattr => writeattr_char, writeattr_num

write attributes

generic, public :: readattr => readattr_char, readattr_num

read attributes

read dataset

procedure, private :: readattr_num

private methods each method must be declared here, and above as a generic, public

  • interface

    private module subroutine readattr_num(self, dname, attr, attrval, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    character(len=*), intent(in) :: attr
    class(*), intent(out) :: attrval(:)
    integer, intent(out), optional :: ierr

procedure, private :: readattr_char

  • interface

    private module subroutine readattr_char(self, dname, attr, attrval, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    character(len=*), intent(in) :: attr
    character(len=*), intent(inout) :: attrval

    intent(inout) for character

    integer, intent(out), optional :: ierr

procedure, private :: writeattr_num

  • interface

    private module subroutine writeattr_num(self, dname, attr, attrval, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    character(len=*), intent(in) :: attr
    class(*), intent(in) :: attrval(:)
    integer, intent(out), optional :: ierr

procedure, private :: writeattr_char

  • interface

    private module subroutine writeattr_char(self, dname, attr, attrval, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    character(len=*), intent(in) :: attr
    character(len=*), intent(in) :: attrval
    integer, intent(out), optional :: ierr

procedure, private :: hdf_read_7d

  • interface

    private module subroutine hdf_read_7d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_6d

  • interface

    private module subroutine hdf_read_6d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_5d

  • interface

    private module subroutine hdf_read_5d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_4d

  • interface

    private module subroutine hdf_read_4d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_3d

  • interface

    private module subroutine hdf_read_3d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_2d

  • interface

    private module subroutine hdf_read_2d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_1d

  • interface

    private module subroutine hdf_read_1d(self, dname, value, ierr, istart, iend, stride)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(out) :: value(:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride

procedure, private :: hdf_read_scalar

  • interface

    private module subroutine hdf_read_scalar(self, dname, value, ierr)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(in) :: self
    character(len=*), intent(in) :: dname
    class(*), intent(inout) :: value

    intent(inout) for character

    integer, intent(out), optional :: ierr

procedure, private :: hdf_write_7d_i64

  • interface

    private module subroutine hdf_write_7d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(7)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_7d_i32

  • interface

    private module subroutine hdf_write_7d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(7)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_7d_r64

  • interface

    private module subroutine hdf_write_7d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(7)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_7d_r32

  • interface

    private module subroutine hdf_write_7d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(7)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_6d_i64

  • interface

    private module subroutine hdf_write_6d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(6)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_6d_i32

  • interface

    private module subroutine hdf_write_6d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(6)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_6d_r64

  • interface

    private module subroutine hdf_write_6d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(6)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_6d_r32

  • interface

    private module subroutine hdf_write_6d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(6)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_5d_i64

  • interface

    private module subroutine hdf_write_5d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(5)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_5d_i32

  • interface

    private module subroutine hdf_write_5d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(5)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_5d_r64

  • interface

    private module subroutine hdf_write_5d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(5)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_5d_r32

  • interface

    private module subroutine hdf_write_5d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(5)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_4d_i64

  • interface

    private module subroutine hdf_write_4d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(4)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_4d_i32

  • interface

    private module subroutine hdf_write_4d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(4)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_4d_r64

  • interface

    private module subroutine hdf_write_4d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(4)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_4d_r32

  • interface

    private module subroutine hdf_write_4d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(4)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_3d_i64

  • interface

    private module subroutine hdf_write_3d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(3)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_3d_i32

  • interface

    private module subroutine hdf_write_3d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(3)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_3d_r64

  • interface

    private module subroutine hdf_write_3d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(3)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_3d_r32

  • interface

    private module subroutine hdf_write_3d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(3)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_2d_i64

  • interface

    private module subroutine hdf_write_2d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(2)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_2d_i32

  • interface

    private module subroutine hdf_write_2d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(2)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_2d_r64

  • interface

    private module subroutine hdf_write_2d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(2)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_2d_r32

  • interface

    private module subroutine hdf_write_2d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:,:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(2)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_1d_i64

  • interface

    private module subroutine hdf_write_1d_i64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value(:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(1)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_1d_i32

  • interface

    private module subroutine hdf_write_1d_i32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value(:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(1)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_1d_r64

  • interface

    private module subroutine hdf_write_1d_r64(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value(:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(1)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_1d_r32

  • interface

    private module subroutine hdf_write_1d_r32(self, dname, value, ierr, chunk_size, istart, iend, stride, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value(:)
    integer, intent(out), optional :: ierr
    integer, intent(in), optional :: chunk_size(1)
    integer, intent(in), optional dimension(:):: istart
    integer, intent(in), optional dimension(:):: iend
    integer, intent(in), optional dimension(:):: stride
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_scalar_char

  • interface

    private module subroutine hdf_write_scalar_char(self, dname, value, ierr, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    character(len=*), intent(in) :: value
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_scalar_i64

  • interface

    private module subroutine hdf_write_scalar_i64(self, dname, value, ierr, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int64), intent(in) :: value
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_scalar_i32

  • interface

    private module subroutine hdf_write_scalar_i32(self, dname, value, ierr, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    integer(kind=int32), intent(in) :: value
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_scalar_r64

  • interface

    private module subroutine hdf_write_scalar_r64(self, dname, value, ierr, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real64), intent(in) :: value
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: compact

procedure, private :: hdf_write_scalar_r32

  • interface

    private module subroutine hdf_write_scalar_r32(self, dname, value, ierr, compact)

    Arguments

    Type IntentOptional AttributesName
    class(hdf5_file), intent(inout) :: self
    character(len=*), intent(in) :: dname
    real(kind=real32), intent(in) :: value
    integer, intent(out), optional :: ierr
    logical, intent(in), optional :: compact