io_reader_t Derived Type

type, public, abstract :: io_reader_t

Base I/O reader type for polymorphic usage


Inherited by

type~~io_reader_t~~InheritedByGraph type~io_reader_t io_reader_t type~reader_session_t reader_session_t type~reader_session_t->type~io_reader_t reader

Type-Bound Procedures

procedure(reader_init), public, deferred :: init

  • subroutine reader_init(self, comm, name) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    integer, intent(in) :: comm
    character(len=*), intent(in) :: name

procedure(reader_open), public, deferred :: open

  • function reader_open(self, filename, mode, comm) result(file_handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: filename
    integer, intent(in) :: mode
    integer, intent(in) :: comm

    Return Value class(io_file_t), allocatable

procedure(reader_finalise), public, deferred :: finalise

  • subroutine reader_finalise(self) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self

generic, public :: read_data => read_data_i8, read_data_integer, read_data_real, read_data_array_3d

  • private subroutine read_data_i8_adios2(self, variable_name, value, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_adios2_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    integer(kind=i8), intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle
  • private subroutine read_data_integer_adios2(self, variable_name, value, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_adios2_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    integer, intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle
  • private subroutine read_data_real_adios2(self, variable_name, value, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_adios2_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle
  • private subroutine read_data_array_3d_adios2(self, variable_name, array, file_handle, shape_dims, start_dims, count_dims)

    Arguments

    Type IntentOptional Attributes Name
    class(io_adios2_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(inout) :: array(:,:,:)
    class(io_file_t), intent(inout) :: file_handle
    integer(kind=i8), intent(in), optional :: shape_dims(3)
    integer(kind=i8), intent(in), optional :: start_dims(3)
    integer(kind=i8), intent(in), optional :: count_dims(3)

procedure(read_data_i8), public, deferred :: read_data_i8

  • subroutine read_data_i8(self, variable_name, value, file_handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    integer(kind=i8), intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle

procedure(read_data_integer), public, deferred :: read_data_integer

  • subroutine read_data_integer(self, variable_name, value, file_handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    integer, intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle

procedure(read_data_real), public, deferred :: read_data_real

  • subroutine read_data_real(self, variable_name, value, file_handle) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(out) :: value
    class(io_file_t), intent(inout) :: file_handle

procedure(read_data_array_3d), public, deferred :: read_data_array_3d

  • subroutine read_data_array_3d(self, variable_name, array, file_handle, shape_dims, start_dims, count_dims) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(io_reader_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(inout) :: array(:,:,:)
    class(io_file_t), intent(inout) :: file_handle
    integer(kind=i8), intent(in), optional :: shape_dims(3)
    integer(kind=i8), intent(in), optional :: start_dims(3)
    integer(kind=i8), intent(in), optional :: count_dims(3)