checkpoint_manager_t Derived Type

type, public :: checkpoint_manager_t


Inherits

type~~checkpoint_manager_t~~InheritsGraph type~checkpoint_manager_t checkpoint_manager_t type~checkpoint_config_t checkpoint_config_t type~checkpoint_manager_t->type~checkpoint_config_t config type~field_buffer_map_t field_buffer_map_t type~checkpoint_manager_t->type~field_buffer_map_t field_buffers type~base_config_t base_config_t type~checkpoint_config_t->type~base_config_t

Inherited by

type~~checkpoint_manager_t~~InheritedByGraph type~checkpoint_manager_t checkpoint_manager_t type~io_manager_t io_manager_t type~io_manager_t->type~checkpoint_manager_t checkpoint_mgr type~base_case_t base_case_t type~base_case_t->type~io_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 :: config
integer, public :: last_checkpoint_step = -1
integer, public, dimension(3) :: full_resolution = [1, 1, 1]
type(field_buffer_map_t), public, allocatable :: field_buffers(:)
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

Type-Bound Procedures

procedure, public :: init

  • private subroutine init(self, comm)

    Initialise checkpoint manager

    Arguments

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

procedure, public :: handle_restart

  • private subroutine handle_restart(self, solver, comm)

    Handle restart from checkpoint

    Arguments

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

procedure, public :: handle_checkpoint_step

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

    Handle checkpoint writing at a given timestep

    Arguments

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

procedure, public :: is_restart

  • private function is_restart(self) result(restart)

    Check if this is a restart run

    Arguments

    Type IntentOptional Attributes Name
    class(checkpoint_manager_t), intent(in) :: self

    Return Value logical

procedure, public :: finalise

  • private subroutine finalise(self)

    Clean up checkpoint manager

    Arguments

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