m_checkpoint_manager_impl Module

Implementation of checkpoint manager when ADIOS2 is enabled


Uses

  • module~~m_checkpoint_manager_impl~~UsesGraph module~m_checkpoint_manager_impl m_checkpoint_manager_impl module~m_adios2_io m_adios2_io module~m_checkpoint_manager_impl->module~m_adios2_io module~m_checkpoint_manager_base m_checkpoint_manager_base module~m_checkpoint_manager_impl->module~m_checkpoint_manager_base module~m_common m_common module~m_checkpoint_manager_impl->module~m_common module~m_config m_config module~m_checkpoint_manager_impl->module~m_config module~m_field m_field module~m_checkpoint_manager_impl->module~m_field module~m_solver m_solver module~m_checkpoint_manager_impl->module~m_solver mpi mpi module~m_checkpoint_manager_impl->mpi module~m_adios2_io->module~m_common module~m_adios2_io->mpi adios2 adios2 module~m_adios2_io->adios2 module~m_checkpoint_manager_base->module~m_config module~m_checkpoint_manager_base->module~m_solver module~m_config->module~m_common iso_fortran_env iso_fortran_env module~m_config->iso_fortran_env module~m_field->module~m_common module~m_solver->module~m_common module~m_solver->module~m_config module~m_solver->module~m_field module~m_solver->mpi module~m_solver->iso_fortran_env module~m_allocator m_allocator module~m_solver->module~m_allocator module~m_base_backend m_base_backend module~m_solver->module~m_base_backend module~m_mesh m_mesh module~m_solver->module~m_mesh module~m_tdsops m_tdsops module~m_solver->module~m_tdsops module~m_time_integrator m_time_integrator module~m_solver->module~m_time_integrator module~m_vector_calculus m_vector_calculus module~m_solver->module~m_vector_calculus module~m_allocator->module~m_common module~m_allocator->module~m_field module~m_allocator->iso_fortran_env module~m_allocator->module~m_mesh module~m_base_backend->module~m_common module~m_base_backend->module~m_field module~m_base_backend->mpi module~m_base_backend->module~m_allocator module~m_base_backend->module~m_mesh module~m_base_backend->module~m_tdsops module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_mesh->module~m_common module~m_mesh->module~m_field module~m_mesh->mpi module~m_mesh->iso_fortran_env module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_tdsops->module~m_common module~m_tdsops->iso_fortran_env module~m_time_integrator->module~m_common module~m_time_integrator->module~m_field module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_vector_calculus->module~m_common module~m_vector_calculus->module~m_field module~m_vector_calculus->iso_fortran_env module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_tdsops module~m_mesh_content->module~m_common module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_tdsops

Used by

  • module~~m_checkpoint_manager_impl~~UsedByGraph module~m_checkpoint_manager_impl m_checkpoint_manager_impl module~m_checkpoint_manager~2 m_checkpoint_manager module~m_checkpoint_manager~2->module~m_checkpoint_manager_impl module~m_base_case m_base_case module~m_base_case->module~m_checkpoint_manager~2 module~m_case_channel m_case_channel module~m_case_channel->module~m_base_case module~m_case_generic m_case_generic module~m_case_generic->module~m_base_case module~m_case_tgv m_case_tgv module~m_case_tgv->module~m_base_case program~xcompact xcompact program~xcompact->module~m_base_case program~xcompact->module~m_case_channel program~xcompact->module~m_case_generic program~xcompact->module~m_case_tgv

Derived Types

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
procedure, public :: handle_restart
procedure, public :: handle_io_step
procedure, public :: finalise