m_io_manager Module

Provides a high-level manager that orchestrates all checkpoint, snapshot, and statistics operations.

Its purpose is to simplify the main simulation loop by providing a single point of contact for all I/O-related actions. The main program only needs to interact with the io_manager_t type, which then delegates tasks to the specialised checkpoint, snapshot, and statistics managers.


Uses

  • module~~m_io_manager~~UsesGraph module~m_io_manager m_io_manager m_mpi m_mpi module~m_io_manager->m_mpi module~m_checkpoint_manager m_checkpoint_manager module~m_io_manager->module~m_checkpoint_manager module~m_checkpoint_state m_checkpoint_state module~m_io_manager->module~m_checkpoint_state module~m_snapshot_manager m_snapshot_manager module~m_io_manager->module~m_snapshot_manager module~m_solver m_solver module~m_io_manager->module~m_solver module~m_stats m_stats module~m_io_manager->module~m_stats module~m_checkpoint_manager->m_mpi module~m_checkpoint_manager->module~m_checkpoint_state module~m_checkpoint_manager->module~m_solver module~m_checkpoint_manager->module~m_stats module~m_common m_common module~m_checkpoint_manager->module~m_common module~m_config m_config module~m_checkpoint_manager->module~m_config module~m_field m_field module~m_checkpoint_manager->module~m_field module~m_io_field_utils m_io_field_utils module~m_checkpoint_manager->module~m_io_field_utils module~m_io_session m_io_session module~m_checkpoint_manager->module~m_io_session module~m_logger m_logger module~m_checkpoint_manager->module~m_logger module~m_checkpoint_state->module~m_io_session module~m_snapshot_manager->m_mpi module~m_snapshot_manager->module~m_solver module~m_snapshot_manager->module~m_common module~m_snapshot_manager->module~m_config module~m_snapshot_manager->module~m_field module~m_snapshot_manager->module~m_io_field_utils module~m_snapshot_manager->module~m_io_session module~m_snapshot_manager->module~m_logger 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_solver->module~m_common module~m_solver->module~m_config module~m_solver->module~m_field module~m_ibm m_ibm module~m_solver->module~m_ibm module~m_les m_les module~m_solver->module~m_les module~m_solver->module~m_logger module~m_mesh m_mesh module~m_solver->module~m_mesh module~m_tdsops m_tdsops module~m_solver->module~m_tdsops module~m_tdsops_setup m_tdsops_setup module~m_solver->module~m_tdsops_setup 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_stats->module~m_solver module~m_stats->module~m_common module~m_stats->module~m_config module~m_stats->module~m_field module~m_stats->module~m_io_session module~m_stats->module~m_logger module~m_allocator->module~m_common module~m_allocator->module~m_field module~m_base_backend->m_mpi module~m_base_backend->module~m_allocator module~m_base_backend->module~m_common module~m_base_backend->module~m_field module~m_base_backend->module~m_logger module~m_base_backend->module~m_mesh module~m_base_backend->module~m_tdsops iso_c_binding iso_c_binding module~m_base_backend->iso_c_binding module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_common->m_mpi module~m_common->module~m_logger module~m_config->module~m_common module~m_config->module~m_logger iso_fortran_env iso_fortran_env module~m_config->iso_fortran_env module~m_field->module~m_common module~m_field->iso_c_binding module~m_ibm->m_mpi module~m_ibm->module~m_allocator module~m_ibm->module~m_base_backend module~m_ibm->module~m_common module~m_ibm->module~m_field module~m_ibm->module~m_io_session module~m_ibm->module~m_logger module~m_ibm->module~m_mesh module~m_io_field_utils->module~m_solver module~m_io_field_utils->module~m_common module~m_io_field_utils->module~m_field module~m_io_field_utils->module~m_logger module~m_io_base m_io_base module~m_io_field_utils->module~m_io_base module~m_nvtx m_nvtx module~m_io_field_utils->module~m_nvtx module~m_io_session->module~m_base_backend module~m_io_session->module~m_common module~m_io_session->module~m_field module~m_io_session->module~m_logger module~m_io_backend m_io_backend module~m_io_session->module~m_io_backend module~m_io_session->module~m_io_base module~m_les->module~m_base_backend module~m_les->module~m_common module~m_les->module~m_config module~m_les->module~m_field module~m_les->module~m_logger module~m_les->module~m_mesh module~m_les->module~m_tdsops module~m_logger->m_mpi module~m_logger->iso_fortran_env module~m_mesh->m_mpi module~m_mesh->module~m_common module~m_mesh->module~m_field module~m_mesh->module~m_logger module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_tdsops->module~m_common module~m_tdsops->module~m_logger module~m_tdsops_setup->module~m_base_backend module~m_tdsops_setup->module~m_common module~m_tdsops_setup->module~m_logger module~m_tdsops_setup->module~m_mesh module~m_tdsops_setup->module~m_tdsops module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_time_integrator->module~m_common module~m_time_integrator->module~m_field module~m_time_integrator->module~m_logger module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_common module~m_vector_calculus->module~m_field module~m_vector_calculus->module~m_logger module~m_vector_calculus->module~m_tdsops module~m_io_backend->module~m_base_backend module~m_io_backend->module~m_common module~m_io_backend->module~m_field module~m_io_backend->module~m_logger module~m_io_backend->module~m_io_base module~m_io_base->module~m_base_backend module~m_io_base->module~m_common module~m_io_base->module~m_field module~m_mesh_content->module~m_common module~m_mesh_content->module~m_logger module~m_nvtx->iso_c_binding module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_logger module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_tdsops

Used by

  • module~~m_io_manager~~UsedByGraph module~m_io_manager m_io_manager module~m_base_case m_base_case module~m_base_case->module~m_io_manager module~m_turbine_setup m_turbine_setup module~m_turbine_setup->module~m_io_manager module~m_case_abl m_case_abl module~m_case_abl->module~m_base_case module~m_case_abl->module~m_turbine_setup module~m_case_channel m_case_channel module~m_case_channel->module~m_base_case module~m_case_cylinder m_case_cylinder module~m_case_cylinder->module~m_base_case module~m_case_factory m_case_factory module~m_case_factory->module~m_base_case module~m_case_factory->module~m_case_abl module~m_case_factory->module~m_case_channel module~m_case_factory->module~m_case_cylinder module~m_case_generic m_case_generic module~m_case_factory->module~m_case_generic module~m_case_tgv m_case_tgv module~m_case_factory->module~m_case_tgv module~m_case_wind_turbine m_case_wind_turbine module~m_case_factory->module~m_case_wind_turbine module~m_case_generic->module~m_base_case module~m_case_tgv->module~m_base_case module~m_case_wind_turbine->module~m_base_case module~m_case_wind_turbine->module~m_turbine_setup module~m_cuda_memcheck_device m_cuda_memcheck_device module~m_cuda_memcheck_device->module~m_base_case module~m_memcheck_build m_memcheck_build module~m_memcheck_build->module~m_base_case module~m_memcheck_build->module~m_case_abl module~m_memcheck_build->module~m_case_factory module~m_memcheck_context m_memcheck_context module~m_memcheck_build->module~m_memcheck_context module~m_memcheck_report m_memcheck_report module~m_memcheck_build->module~m_memcheck_report module~m_memcheck_estimate m_memcheck_estimate module~m_memcheck_build->module~m_memcheck_estimate program~xcompact xcompact program~xcompact->module~m_base_case program~xcompact->module~m_case_factory module~m_memcheck_context->module~m_cuda_memcheck_device module~m_memcheck_report->module~m_cuda_memcheck_device module~m_memcheck_report->module~m_memcheck_context module~m_memcheck_report->module~m_memcheck_estimate program~x3d2_memcheck x3d2_memcheck program~x3d2_memcheck->module~m_memcheck_build program~x3d2_memcheck->module~m_memcheck_context program~x3d2_memcheck->module~m_memcheck_report program~x3d2_memcheck->module~m_memcheck_estimate module~m_memcheck_estimate->module~m_memcheck_context

Derived Types

type, public ::  io_manager_t

Components

Type Visibility Attributes Name Initial
type(checkpoint_manager_t), public :: checkpoint_mgr
type(snapshot_manager_t), public :: snapshot_mgr
type(stats_manager_t), public :: stats_mgr
class(checkpoint_state_t), public, pointer :: additional_checkpoint_state => null()

Type-Bound Procedures

procedure, public :: init => io_init
procedure, public :: handle_restart => io_handle_restart
procedure, public :: handle_io_step => io_handle_step
procedure, public :: write_initial_snapshot => io_write_initial_snapshot
procedure, public :: update_stats => io_update_stats
procedure, public :: register_checkpoint_state
procedure, public :: unregister_checkpoint_state
procedure, public :: finalise => io_finalise
procedure, public :: is_restart => io_is_restart