cable_error_handler_base_mod Module

This module defines the base error handler type for CABLE. It provides a default implementation of the error handling behaviour, which can be extended to provide custom error handling.


Uses

  • module~~cable_error_handler_base_mod~~UsesGraph module~cable_error_handler_base_mod cable_error_handler_base_mod iso_fortran_env iso_fortran_env module~cable_error_handler_base_mod->iso_fortran_env

Used by

  • module~~cable_error_handler_base_mod~~UsedByGraph module~cable_error_handler_base_mod cable_error_handler_base_mod module~cable_error_handler_mod cable_error_handler_mod module~cable_error_handler_mod->module~cable_error_handler_base_mod module~cable_error_handler_mpi_mod cable_error_handler_mpi_mod module~cable_error_handler_mpi_mod->module~cable_error_handler_base_mod module~cable_mpi_mod cable_mpi_mod module~cable_error_handler_mpi_mod->module~cable_mpi_mod module~cable_mpi_mod->module~cable_error_handler_mod module~cable_netcdf_decomp_util_mod cable_netcdf_decomp_util_mod module~cable_netcdf_decomp_util_mod->module~cable_error_handler_mod module~cable_netcdf_mod cable_netcdf_mod module~cable_netcdf_decomp_util_mod->module~cable_netcdf_mod module~cable_netcdf_mod->module~cable_error_handler_mod module~cable_netcdf_mod->module~cable_mpi_mod module~cable_netcdf_nf90_mod cable_netcdf_nf90_mod module~cable_netcdf_nf90_mod->module~cable_error_handler_mod module~cable_netcdf_nf90_mod->module~cable_netcdf_mod module~cable_netcdf_pio_mod cable_netcdf_pio_mod module~cable_netcdf_pio_mod->module~cable_error_handler_mod module~cable_netcdf_pio_mod->module~cable_mpi_mod module~cable_netcdf_pio_mod->module~cable_netcdf_mod module~cable_netcdf_pio_mod~2 cable_netcdf_pio_mod module~cable_netcdf_pio_mod~2->module~cable_error_handler_mod module~cable_netcdf_pio_mod~2->module~cable_mpi_mod module~cable_netcdf_pio_mod~2->module~cable_netcdf_mod module~cable_netcdf_stub_types_mod cable_netcdf_stub_types_mod module~cable_netcdf_pio_mod~2->module~cable_netcdf_stub_types_mod program~cable_offline_driver cable_offline_driver program~cable_offline_driver->module~cable_error_handler_mod program~cable_offline_driver->module~cable_error_handler_mpi_mod program~cable_offline_driver->module~cable_mpi_mod module~cable_driver_common_mod cable_driver_common_mod program~cable_offline_driver->module~cable_driver_common_mod module~cable_mpimaster cable_mpimaster program~cable_offline_driver->module~cable_mpimaster module~cable_serial cable_serial program~cable_offline_driver->module~cable_serial module~cable_driver_common_mod->module~cable_mpi_mod module~cable_input_module cable_input_module module~cable_driver_common_mod->module~cable_input_module module~cable_input_module->module~cable_mpi_mod module~cable_mpimaster->module~cable_mpi_mod module~cable_mpimaster~2 cable_mpimaster module~cable_mpimaster~2->module~cable_mpi_mod module~cable_mpimaster~2->module~cable_driver_common_mod module~cable_netcdf_init_smod cable_netcdf_init_smod module~cable_netcdf_init_smod->module~cable_netcdf_mod module~cable_netcdf_init_smod->module~cable_netcdf_nf90_mod module~cable_netcdf_init_smod->module~cable_netcdf_pio_mod module~cable_netcdf_stub_types_mod->module~cable_mpi_mod module~cable_netcdf_stub_types_mod->module~cable_netcdf_mod module~cable_serial->module~cable_mpi_mod module~cable_serial->module~cable_driver_common_mod module~cable_serial->module~cable_input_module module~cable_mpiworker~2 cable_mpiworker module~cable_mpiworker~2->module~cable_driver_common_mod proc~mpidrv_master~2 mpidrv_master proc~mpidrv_master~2->module~cable_input_module proc~mpidrv_worker~2 mpidrv_worker proc~mpidrv_worker~2->module~cable_input_module proc~worker_cable_params worker_cable_params proc~worker_cable_params->module~cable_input_module

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: DEFAULT_ERROR_CODE = 999

Default error code to use when none is provided


Derived Types

type, public ::  cable_error_handler_base_t

Base error handler type for CABLE. This type provides a default implementation of the error handling behaviour.

Type-Bound Procedures

procedure, public :: build_error_message => cable_error_handler_base_build_error_message
procedure, public :: abort => cable_error_handler_base_abort

Functions

private function cable_error_handler_base_build_error_message(this, message, file, line, error_code) result(error_message)

Build an error message string.

Arguments

Type IntentOptional Attributes Name
class(cable_error_handler_base_t), intent(inout) :: this
character(len=*), intent(in) :: message

Error message to display

character(len=*), intent(in) :: file

Source file where the error occurred

integer, intent(in) :: line

Line number where the error occurred

integer, intent(in), optional :: error_code

Optional error code

Return Value character(len=:), allocatable


Subroutines

private subroutine cable_error_handler_base_abort(this, message, file, line, error_code)

Default implementation of the abort procedure for the base error handler.

Arguments

Type IntentOptional Attributes Name
class(cable_error_handler_base_t), intent(inout) :: this
character(len=*), intent(in) :: message

Error message to display

character(len=*), intent(in) :: file

Source file where the error occurred

integer, intent(in) :: line

Line number where the error occurred

integer, intent(in), optional :: error_code

Optional error code