lMat_hdf5_read_t Derived Type

type, private :: lMat_hdf5_read_t

Handler for reading hdf5 tcdump files. Calls the read_op_hdf5 of the calling lMat_t


Contents

Source Code


Components

Type Visibility Attributes Name Initial
integer(kind=hid_t), private :: err
integer(kind=hid_t), private :: file_id
integer(kind=hid_t), private :: plist_id
integer(kind=hid_t), private :: grp_id
integer(kind=hid_t), private :: ds_vals
integer(kind=hid_t), private :: ds_inds
integer(kind=hsize_t), private, allocatable :: offsets(:)
integer(kind=hsize_t), private :: countsEnd

Type-Bound Procedures

procedure, public, :: open

  • private subroutine open(this, filename, nInts)

    Open an hdf5 file containing 6-index integrals @param[in] filename name of the file @param[out] nInts number of integrals stored in the file (normally only nonzeros)

    Arguments

    Type IntentOptional Attributes Name
    class(lMat_hdf5_read_t) :: this
    character(len=*), intent(in) :: filename
    integer(kind=hsize_t), intent(out) :: nInts

procedure, public, :: close

  • private subroutine close(this)

    Close the currently opened hdf5 file - requires a previous call to open()

    Arguments

    Type IntentOptional Attributes Name
    class(lMat_hdf5_read_t) :: this

procedure, public, :: loop_file

  • private subroutine loop_file(this, lMat)

    Apply the read_op_hdf5 of an lMat to the data in the currently opened file The file will be read chunkwise and the read_op_hdf5 operation applied per chunk @param[in] lMat the lMat object to read the data to

    Arguments

    Type IntentOptional Attributes Name
    class(lMat_hdf5_read_t), intent(inout) :: this
    class(lMat_t), intent(inout) :: lMat

Source Code

    type :: lMat_hdf5_read_t
        private
        integer(hid_t) :: err, file_id, plist_id, grp_id, ds_vals, ds_inds
        integer(hsize_t), allocatable :: offsets(:)
        integer(hsize_t) :: countsEnd
    contains
        procedure :: open
        procedure :: close
        procedure :: loop_file
    end type lMat_hdf5_read_t