checkpoint_manager_adios2_t Derived Type

type, public, extends(checkpoint_manager_base_t) :: checkpoint_manager_adios2_t


Inherits

type~~checkpoint_manager_adios2_t~~InheritsGraph type~checkpoint_manager_adios2_t checkpoint_manager_adios2_t type~adios2_writer_t adios2_writer_t type~checkpoint_manager_adios2_t->type~adios2_writer_t adios2_writer type~checkpoint_manager_base_t checkpoint_manager_base_t type~checkpoint_manager_adios2_t->type~checkpoint_manager_base_t type~base_adios2_t base_adios2_t type~adios2_writer_t->type~base_adios2_t type~checkpoint_config_t checkpoint_config_t type~checkpoint_manager_base_t->type~checkpoint_config_t checkpoint_cfg adios2_adios adios2_adios type~base_adios2_t->adios2_adios adios adios2_engine adios2_engine type~base_adios2_t->adios2_engine engine adios2_io adios2_io type~base_adios2_t->adios2_io io type~base_config_t base_config_t type~checkpoint_config_t->type~base_config_t

Inherited by

type~~checkpoint_manager_adios2_t~~InheritedByGraph type~checkpoint_manager_adios2_t checkpoint_manager_adios2_t type~checkpoint_manager_t checkpoint_manager_t type~checkpoint_manager_t->type~checkpoint_manager_adios2_t impl type~base_case_t base_case_t type~base_case_t->type~checkpoint_manager_t checkpoint_mgr type~case_channel_t case_channel_t type~case_channel_t->type~base_case_t type~case_generic_t case_generic_t type~case_generic_t->type~base_case_t type~case_tgv_t case_tgv_t type~case_tgv_t->type~base_case_t

Components

Type Visibility Attributes Name Initial
type(checkpoint_config_t), public :: checkpoint_cfg
type(adios2_writer_t), public :: adios2_writer
integer, public :: last_checkpoint_step = -1
integer, public, dimension(3) :: output_stride = [2, 2, 2]

Spatial stride for snapshot output

integer, public :: output_precision = dp

Output precision for snapshot

real(kind=dp), public, dimension(:, :, :), allocatable :: strided_buffer
real(kind=dp), public, dimension(:, :, :), allocatable :: coords_x
real(kind=dp), public, dimension(:, :, :), allocatable :: coords_y
real(kind=dp), public, dimension(:, :, :), allocatable :: coords_z
integer(kind=i8), public, dimension(3) :: last_shape_dims = 0
integer(kind=i8), public, dimension(3) :: last_strided_shape = 0

Type-Bound Procedures

procedure, public :: init

  • private subroutine init(self, comm)

    Initialise checkpoint manager with a reference to an ADIOS2 writer

    Arguments

    Type IntentOptional Attributes Name
    class(checkpoint_manager_adios2_t), intent(inout) :: self
    integer, intent(in) :: comm

procedure, public :: handle_restart

  • private subroutine handle_restart(self, solver, comm)

    Check if a restart is needed and handle it

    Arguments

    Type IntentOptional Attributes Name
    class(checkpoint_manager_adios2_t), intent(inout) :: self
    class(solver_t), intent(inout) :: solver
    integer, intent(in), optional :: comm

procedure, public :: handle_io_step

  • private subroutine handle_io_step(self, solver, timestep, comm)

    Method to handle checkpoint and snapshot writing at a given timestep

    Arguments

    Type IntentOptional Attributes Name
    class(checkpoint_manager_adios2_t), intent(inout) :: self
    class(solver_t), intent(in) :: solver
    integer, intent(in) :: timestep
    integer, intent(in), optional :: comm

procedure, public :: finalise

  • private subroutine finalise(self)

    Arguments

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