io_writer_t Derived Type

type, public :: io_writer_t

Base I/O writer type for polymorphic usage


Inherited by

type~~io_writer_t~~InheritedByGraph type~io_writer_t io_writer_t type~writer_session_t writer_session_t type~writer_session_t->type~io_writer_t writer

Type-Bound Procedures

procedure, public :: init => base_writer_init

  • private subroutine base_writer_init(self, comm, name)

    Arguments

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

procedure, public :: open => base_writer_open

  • private function base_writer_open(self, filename, mode, comm) result(file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_writer_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, public :: finalise => base_writer_finalise

  • private subroutine base_writer_finalise(self)

    Arguments

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

generic, public :: write_data => write_data_i8, write_data_integer, write_data_real, write_data_array_3d

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

    Arguments

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

    Arguments

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

    Arguments

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

    Arguments

    Type IntentOptional Attributes Name
    class(io_dummy_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(in) :: 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, public :: write_data_i8

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

    Arguments

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

procedure, public :: write_data_integer

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

    Arguments

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

procedure, public :: write_data_real

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

    Arguments

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

procedure, public :: write_data_array_3d

  • private subroutine write_data_array_3d(self, variable_name, array, file_handle, shape_dims, start_dims, count_dims)

    Arguments

    Type IntentOptional Attributes Name
    class(io_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: variable_name
    real(kind=dp), intent(in) :: 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)

generic, public :: write_attribute => write_attribute_string, write_attribute_array_1d_real

  • private subroutine write_attribute_string_dummy(self, attribute_name, value, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_dummy_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: attribute_name
    character(len=*), intent(in) :: value
    class(io_file_t), intent(inout) :: file_handle
  • private subroutine write_attribute_array_1d_real_dummy(self, attribute_name, values, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_dummy_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: attribute_name
    real(kind=dp), intent(in) :: values(:)
    class(io_file_t), intent(inout) :: file_handle

procedure, public :: write_attribute_string

  • private subroutine write_attribute_string(self, attribute_name, value, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: attribute_name
    character(len=*), intent(in) :: value
    class(io_file_t), intent(inout) :: file_handle

procedure, public :: write_attribute_array_1d_real

  • private subroutine write_attribute_array_1d_real(self, attribute_name, values, file_handle)

    Arguments

    Type IntentOptional Attributes Name
    class(io_writer_t), intent(inout) :: self
    character(len=*), intent(in) :: attribute_name
    real(kind=dp), intent(in) :: values(:)
    class(io_file_t), intent(inout) :: file_handle