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_file_t adios2_file_t type~checkpoint_manager_adios2_t->type~adios2_file_t snapshot_file type~adios2_writer_t adios2_writer_t type~checkpoint_manager_adios2_t->type~adios2_writer_t adios2_writer, snapshot_writer type~checkpoint_manager_base_t checkpoint_manager_base_t type~checkpoint_manager_adios2_t->type~checkpoint_manager_base_t type~field_buffer_map_t field_buffer_map_t type~checkpoint_manager_adios2_t->type~field_buffer_map_t field_buffers adios2_engine adios2_engine type~adios2_file_t->adios2_engine engine 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 type~base_adios2_t->adios2_engine engine adios2_adios adios2_adios type~base_adios2_t->adios2_adios adios 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~2 checkpoint_manager_t type~checkpoint_manager_t~2->type~checkpoint_manager_adios2_t impl

Components

Type Visibility Attributes Name Initial
type(checkpoint_config_t), public :: checkpoint_cfg
type(adios2_writer_t), public :: adios2_writer

Writer for checkpoints

type(adios2_writer_t), public :: snapshot_writer

Writer for snapshots

integer, public :: last_checkpoint_step = -1
integer, public, dimension(3) :: output_stride = [1, 1, 1]

Stride factors for snapshots (default: full resolution)

integer, public, dimension(3) :: full_resolution = [1, 1, 1]

Full resolution factors for checkpoints (no downsampling)

real(kind=dp), public, dimension(:, :, :), allocatable :: output_buffer

Fallback buffer for extra fields

type(field_buffer_map_t), public, allocatable :: field_buffers(:)

Dynamic field buffer mapping for true async I/O

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, public, dimension(3) :: last_stride_factors = 0
integer(kind=i8), public, dimension(3) :: last_output_shape = 0
character(len=4096), public :: vtk_xml = ""

VTK XML string for ParaView compatibility

type(adios2_file_t), public :: snapshot_file

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