MOM6
mom_error_handler Module Reference

Detailed Description

Routines for error handling and I/O management.

Functions/Subroutines

logical function, public is_root_pe ()
 This returns .true. if the current PE is the root PE. More...
 
subroutine, public mom_mesg (message, verb, all_print)
 This provides a convenient interface for writing an informative comment. More...
 
subroutine, public mom_error (level, message, all_print)
 This provides a convenient interface for writing an mpp_error message with run-time filter based on a verbosity. More...
 
subroutine, public mom_set_verbosity (verb)
 This subroutine sets the level of verbosity filtering MOM error messages. More...
 
integer function, public mom_get_verbosity ()
 This subroutine gets the level of verbosity filtering MOM error messages. More...
 
logical function, public mom_verbose_enough (verb)
 This tests whether the level of verbosity filtering MOM error messages is sufficient to write a message of verbosity level verb. More...
 
logical function, public calltree_showquery ()
 Returns True, if the verbosity>=6 indicating to show the call tree. More...
 
subroutine, public calltree_enter (mesg, n)
 Writes a message about entering a subroutine if call tree reporting is active. More...
 
subroutine, public calltree_leave (mesg)
 Writes a message about leaving a subroutine if call tree reporting is active. More...
 
subroutine, public calltree_waypoint (mesg, n)
 Writes a message about reaching a milestone if call tree reporting is active. More...
 
subroutine, public assert (logical_arg, msg)
 Issues a FATAL error if the assertion fails, i.e. the first argument is false. More...
 

Variables

integer verbosity = 6
 Verbosity level: 0 - FATAL messages only 1 - FATAL + WARNING messages only 2 - FATAL + WARNING + NOTE messages only [default] 3 - above + informational 4 - 5 - 6 - above + call tree 7 - 8 - 9 - anything and everything (also set with DEBUG=True) More...
 
integer calltreeindentlevel = 0
 The level of calling within the call tree. More...
 

Function/Subroutine Documentation

◆ assert()

subroutine, public mom_error_handler::assert ( logical, intent(in)  logical_arg,
character(len=*), intent(in)  msg 
)

Issues a FATAL error if the assertion fails, i.e. the first argument is false.

Parameters
[in]logical_argIf false causes a FATAL error
[in]msgMessage to issue in case of failed assertion

Definition at line 182 of file MOM_error_handler.F90.

182  logical, intent(in) :: logical_arg !< If false causes a FATAL error
183  character(len=*), intent(in) :: msg !< Message to issue in case of failed assertion
184 
185  if (.not. logical_arg) then
186  call mom_error(fatal, msg)
187  endif
188 

References mom_error().

Referenced by mom_diag_mediator::add_diag_to_list(), mom_diag_remap::diag_remap_calc_hmask(), mom_diag_remap::diag_remap_do_remap(), mom_diag_mediator::get_new_diag_id(), mom_diag_remap::horizontally_average_diag_field(), mom_diag_mediator::post_data_0d(), mom_diag_mediator::post_data_1d_k(), mom_diag_mediator::post_data_2d(), mom_diag_mediator::post_data_2d_low(), mom_diag_mediator::post_data_3d(), mom_diag_mediator::post_data_3d_low(), mom_diag_mediator::post_xy_average(), mom_diag_mediator::register_scalar_field(), mom_diag_mediator::register_static_field(), mom_diag_mediator::set_masks_for_axes(), mom_diag_remap::vertically_interpolate_diag_field(), and mom_diag_remap::vertically_reintegrate_diag_field().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calltree_enter()

subroutine, public mom_error_handler::calltree_enter ( character(len=*), intent(in)  mesg,
integer, intent(in), optional  n 
)

Writes a message about entering a subroutine if call tree reporting is active.

Parameters
[in]mesgMessage to write
[in]nAn optional integer to write at end of message

Definition at line 130 of file MOM_error_handler.F90.

130  character(len=*), intent(in) :: mesg !< Message to write
131  integer, optional, intent(in) :: n !< An optional integer to write at end of message
132  ! Local variables
133  character(len=8) :: nAsString
134  calltreeindentlevel = calltreeindentlevel + 1
135  if (verbosity<6) return
136  if (is_root_pe()) then
137  nasstring = ''
138  if (present(n)) then
139  write(nasstring(1:8),'(i8)') n
140  call mpp_error(note, 'callTree: '// &
141  repeat(' ',calltreeindentlevel-1)//'loop '//trim(mesg)//trim(nasstring))
142  else
143  call mpp_error(note, 'callTree: '// &
144  repeat(' ',calltreeindentlevel-1)//'---> '//trim(mesg))
145  endif
146  endif

References calltreeindentlevel, is_root_pe(), and verbosity.

Referenced by mom_ale::ale_build_grid(), mom_ale::ale_init(), mom_ale::ale_main(), mom_ale::ale_main_offline(), mom_ale::ale_offline_tracer_final(), mom_shared_initialization::apply_topography_edits_from_file(), mom_surface_forcing::buoyancy_forcing_const(), mom_surface_forcing::buoyancy_forcing_from_data_override(), mom_surface_forcing::buoyancy_forcing_from_files(), mom_surface_forcing::buoyancy_forcing_linear(), mom_surface_forcing::buoyancy_forcing_zero(), mom_diabatic_driver::diabatic_ale(), mom_diabatic_driver::diabatic_ale_legacy(), mom::extract_surface_state(), mom::finish_mom_initialization(), mom_grid_initialize::initialize_masks(), mom::initialize_mom(), mom_state_initialization::initialize_thickness_from_file(), mom_state_initialization::initialize_thickness_list(), mom_state_initialization::initialize_thickness_uniform(), mom_shared_initialization::initialize_topography_from_file(), mom_shared_initialization::initialize_topography_named(), mom_state_initialization::initialize_velocity_from_file(), mom_state_initialization::initialize_velocity_zero(), mom_diabatic_driver::layered_diabatic(), mom_shared_initialization::limit_topography(), mom_coord_initialization::mom_initialize_coord(), mom_fixed_initialization::mom_initialize_fixed(), mom_shared_initialization::mom_initialize_rotation(), mom_state_initialization::mom_initialize_state(), mom_tracer_initialization_from_z::mom_initialize_tracer_from_z(), mom_main(), mom_ocean_model_mct::ocean_model_init(), mom_ocean_model_nuopc::ocean_model_init(), mom_offline_main::offline_transport_init(), mom_ale::remap_all_state_vars(), mom_shared_initialization::reset_face_lengths_file(), mom_shared_initialization::reset_face_lengths_list(), mom_coord_initialization::set_coord_from_file(), mom_coord_initialization::set_coord_from_gprime(), mom_coord_initialization::set_coord_from_layer_density(), mom_coord_initialization::set_coord_from_ts_profile(), mom_coord_initialization::set_coord_from_ts_range(), mom_coord_initialization::set_coord_from_ts_ref(), mom_coord_initialization::set_coord_linear(), mom_coord_initialization::set_coord_to_none(), mom_set_diffusivity::set_diffusivity(), mom_surface_forcing::set_forcing(), mom_grid_initialize::set_grid_metrics(), mom_grid_initialize::set_grid_metrics_cartesian(), mom_grid_initialize::set_grid_metrics_from_mosaic(), mom_grid_initialize::set_grid_metrics_mercator(), mom_grid_initialize::set_grid_metrics_spherical(), mom_shared_initialization::set_rotation_beta_plane(), mom_shared_initialization::set_rotation_planetary(), mom::step_mom(), mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), mom::step_mom_thermo(), mom_tracer_hor_diff::tracer_hordiff(), mom_ocean_model_mct::update_ocean_model(), mom_ocean_model_nuopc::update_ocean_model(), mom_offline_main::update_offline_fields(), mom_surface_forcing::wind_forcing_1gyre(), mom_surface_forcing::wind_forcing_2gyre(), mom_surface_forcing::wind_forcing_by_data_override(), mom_surface_forcing::wind_forcing_const(), mom_surface_forcing::wind_forcing_from_file(), and mom_surface_forcing::wind_forcing_gyres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calltree_leave()

subroutine, public mom_error_handler::calltree_leave ( character(len=*)  mesg)

Writes a message about leaving a subroutine if call tree reporting is active.

Parameters
mesgMessage to write

Definition at line 151 of file MOM_error_handler.F90.

151  character(len=*) :: mesg !< Message to write
152  if (calltreeindentlevel<1) write(0,*) 'callTree_leave: error callTreeIndentLevel=',calltreeindentlevel,trim(mesg)
153  calltreeindentlevel = calltreeindentlevel - 1
154  if (verbosity<6) return
155  if (is_root_pe()) call mpp_error(note, 'callTree: '// &
156  repeat(' ',calltreeindentlevel)//'<--- '//trim(mesg))

References calltreeindentlevel, is_root_pe(), and verbosity.

Referenced by mom_ale::ale_build_grid(), mom_ale::ale_init(), mom_ale::ale_main(), mom_ale::ale_main_offline(), mom_ale::ale_offline_inputs(), mom_ale::ale_offline_tracer_final(), mom_shared_initialization::apply_topography_edits_from_file(), mom_surface_forcing::buoyancy_forcing_const(), mom_surface_forcing::buoyancy_forcing_from_data_override(), mom_surface_forcing::buoyancy_forcing_from_files(), mom_surface_forcing::buoyancy_forcing_linear(), mom_surface_forcing::buoyancy_forcing_zero(), mom_diabatic_driver::diabatic_ale(), mom_diabatic_driver::diabatic_ale_legacy(), mom::extract_surface_state(), mom::finish_mom_initialization(), mom_grid_initialize::initialize_masks(), mom::initialize_mom(), mom_state_initialization::initialize_thickness_from_file(), mom_state_initialization::initialize_thickness_list(), mom_state_initialization::initialize_thickness_uniform(), mom_shared_initialization::initialize_topography_from_file(), mom_shared_initialization::initialize_topography_named(), mom_state_initialization::initialize_velocity_from_file(), mom_state_initialization::initialize_velocity_zero(), mom_diabatic_driver::layered_diabatic(), mom_shared_initialization::limit_topography(), mom_coord_initialization::mom_initialize_coord(), mom_fixed_initialization::mom_initialize_fixed(), mom_shared_initialization::mom_initialize_rotation(), mom_state_initialization::mom_initialize_state(), mom_tracer_initialization_from_z::mom_initialize_tracer_from_z(), mom_main(), mom_ocean_model_mct::ocean_model_init(), mom_ocean_model_nuopc::ocean_model_init(), mom_offline_main::offline_transport_init(), mom_ale::remap_all_state_vars(), mom_shared_initialization::reset_face_lengths_file(), mom_shared_initialization::reset_face_lengths_list(), mom_coord_initialization::set_coord_from_file(), mom_coord_initialization::set_coord_from_gprime(), mom_coord_initialization::set_coord_from_layer_density(), mom_coord_initialization::set_coord_from_ts_profile(), mom_coord_initialization::set_coord_from_ts_range(), mom_coord_initialization::set_coord_from_ts_ref(), mom_coord_initialization::set_coord_linear(), mom_coord_initialization::set_coord_to_none(), mom_set_diffusivity::set_diffusivity(), mom_surface_forcing::set_forcing(), mom_grid_initialize::set_grid_metrics(), mom_grid_initialize::set_grid_metrics_cartesian(), mom_grid_initialize::set_grid_metrics_from_mosaic(), mom_grid_initialize::set_grid_metrics_mercator(), mom_grid_initialize::set_grid_metrics_spherical(), mom_shared_initialization::set_rotation_beta_plane(), mom_shared_initialization::set_rotation_planetary(), mom::step_mom(), mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), mom::step_mom_thermo(), mom_tracer_hor_diff::tracer_hordiff(), mom_ocean_model_mct::update_ocean_model(), mom_ocean_model_nuopc::update_ocean_model(), mom_offline_main::update_offline_fields(), mom_surface_forcing::wind_forcing_1gyre(), mom_surface_forcing::wind_forcing_2gyre(), mom_surface_forcing::wind_forcing_by_data_override(), mom_surface_forcing::wind_forcing_const(), mom_surface_forcing::wind_forcing_from_file(), and mom_surface_forcing::wind_forcing_gyres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calltree_showquery()

logical function, public mom_error_handler::calltree_showquery ( )

Returns True, if the verbosity>=6 indicating to show the call tree.

Definition at line 123 of file MOM_error_handler.F90.

123  ! Local variables
124  logical :: callTree_showQuery
125  calltree_showquery = (verbosity >= 6)

References verbosity.

◆ calltree_waypoint()

subroutine, public mom_error_handler::calltree_waypoint ( character(len=*), intent(in)  mesg,
integer, intent(in), optional  n 
)

Writes a message about reaching a milestone if call tree reporting is active.

Parameters
[in]mesgMessage to write
[in]nAn optional integer to write at end of message

Definition at line 161 of file MOM_error_handler.F90.

161  character(len=*), intent(in) :: mesg !< Message to write
162  integer, optional, intent(in) :: n !< An optional integer to write at end of message
163  ! Local variables
164  character(len=8) :: nAsString
165  if (calltreeindentlevel<0) write(0,*) 'callTree_waypoint: error callTreeIndentLevel=',calltreeindentlevel,trim(mesg)
166  if (verbosity<6) return
167  if (is_root_pe()) then
168  nasstring = ''
169  if (present(n)) then
170  write(nasstring(1:8),'(i8)') n
171  call mpp_error(note, 'callTree: '// &
172  repeat(' ',calltreeindentlevel)//'loop '//trim(mesg)//trim(nasstring))
173  else
174  call mpp_error(note, 'callTree: '// &
175  repeat(' ',calltreeindentlevel)//'o '//trim(mesg))
176  endif
177  endif

References calltreeindentlevel, is_root_pe(), and verbosity.

Referenced by mom_ale::ale_main(), mom_ale::ale_main_offline(), mom_ale::ale_offline_inputs(), mom_ale::ale_offline_tracer_final(), mom_diabatic_driver::diabatic(), mom_diabatic_driver::diabatic_ale(), mom_diabatic_driver::diabatic_ale_legacy(), mom::initialize_mom(), mom_diabatic_driver::layered_diabatic(), mom_main(), mom_ale::remap_all_state_vars(), mom_set_diffusivity::set_diffusivity(), mom::step_mom(), mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), mom::step_mom_dynamics(), mom::step_mom_thermo(), mom::step_mom_tracer_dyn(), and mom_tracer_hor_diff::tracer_hordiff().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_root_pe()

logical function, public mom_error_handler::is_root_pe ( )

This returns .true. if the current PE is the root PE.

Definition at line 44 of file MOM_error_handler.F90.

44  ! This returns .true. if the current PE is the root PE.
45  logical :: is_root_pe
46  is_root_pe = .false.
47  if (mpp_pe() == mpp_root_pe()) is_root_pe = .true.
48  return

Referenced by mom_barotropic::btstep(), calltree_enter(), calltree_leave(), calltree_waypoint(), mom_checksums::chk_sum_msg1(), mom_checksums::chk_sum_msg2(), mom_checksums::chk_sum_msg3(), mom_checksums::chk_sum_msg5(), mom_checksums::chk_sum_msg_nsew(), mom_checksums::chk_sum_msg_s(), mom_checksums::chk_sum_msg_w(), mom_checksums::chksum0(), mom_checksums::chksum1d(), mom_checksums::chksum2d(), mom_checksums::chksum3d(), mom_checksums::chksum_b_2d(), mom_checksums::chksum_b_3d(), mom_checksums::chksum_h_2d(), mom_checksums::chksum_h_3d(), mom_checksums::chksum_u_2d(), mom_checksums::chksum_u_3d(), mom_checksums::chksum_v_2d(), mom_checksums::chksum_v_3d(), mom_file_parser::close_param_file(), mom_sum_output::depth_list_setup(), mom_diag_mediator::diag_mediator_init(), mom_diapyc_energy_req::diapyc_energy_req_test(), mom_document::doc_closeblock(), mom_document::doc_function(), mom_document::doc_module(), mom_document::doc_openblock(), mom_document::doc_param_char(), mom_document::doc_param_int(), mom_document::doc_param_int_array(), mom_document::doc_param_logical(), mom_document::doc_param_logical_array(), mom_document::doc_param_none(), mom_document::doc_param_real(), mom_document::doc_param_real_array(), mom_document::doc_param_time(), mom_document::doc_subroutine(), mom_entrain_diffusive::entrainment_diffusive(), mom_obsolete_params::find_obsolete_params(), mom_obsolete_diagnostics::found_in_diagtable(), mom_ice_shelf::initialize_ice_shelf(), mom_cap_mod::initializeadvertise(), mom_cap_mod::modeladvance(), mom_error(), mom_main(), mom_mesg(), mom_checksum_packages::mom_state_stats(), mom_tracer_registry::mom_tracer_chkinv(), ocn_cap_methods::ocn_import(), ocn_comp_mct::ocn_init_mct(), ocn_comp_mct::ocn_run_mct(), mom_document::open_doc_file(), mom_file_parser::open_param_file(), mom_restart::open_restart_units(), mom_file_parser::populate_param_data(), mom_restart::query_initialized_0d_name(), mom_restart::query_initialized_1d_name(), mom_restart::query_initialized_2d_name(), mom_restart::query_initialized_3d_name(), mom_restart::query_initialized_4d_name(), mom_restart::query_initialized_name(), mom_diag_mediator::register_diag_field_expand_cmor(), mom_obsolete_diagnostics::register_obsolete_diagnostics(), mom_diag_mediator::register_scalar_field(), mom_diag_mediator::register_static_field(), mom_restart::restore_state(), mom_sponge::set_up_sponge_field(), mom_ice_shelf_dynamics::shelf_advance_front(), mom_tidal_mixing::tidal_mixing_init(), mom_debugging::totaltands(), mom_tracer_registry::tracer_registry_init(), mom_unit_tests::unit_tests(), mom_write_cputime::write_cputime(), mom_sum_output::write_depth_list(), mom_sum_output::write_energy(), and mom_checksums::zchksum().

Here is the caller graph for this function:

◆ mom_error()

subroutine, public mom_error_handler::mom_error ( integer, intent(in)  level,
character(len=*), intent(in)  message,
logical, intent(in), optional  all_print 
)

This provides a convenient interface for writing an mpp_error message with run-time filter based on a verbosity.

Parameters
[in]levelThe verbosity level of this message
[in]messageA message to write out
[in]all_printIf present and true, any PEs are able to write this message.

Definition at line 72 of file MOM_error_handler.F90.

72  integer, intent(in) :: level !< The verbosity level of this message
73  character(len=*), intent(in) :: message !< A message to write out
74  logical, optional, intent(in) :: all_print !< If present and true, any PEs are
75  !! able to write this message.
76  ! This provides a convenient interface for writing an mpp_error message
77  ! with run-time filter based on a verbosity.
78  logical :: write_msg
79 
80  write_msg = is_root_pe()
81  if (present(all_print)) write_msg = write_msg .or. all_print
82 
83  select case (level)
84  case (note)
85  if (write_msg.and.verbosity>=2) call mpp_error(note, message)
86  case (warning)
87  if (write_msg.and.verbosity>=1) call mpp_error(warning, message)
88  case (fatal)
89  if (verbosity>=0) call mpp_error(fatal, message)
90  case default
91  call mpp_error(level, message)
92  end select

References is_root_pe(), and verbosity.

Referenced by mom_sum_output::accumulate_net_input(), mom_tidal_mixing::add_int_tide_diffusivity(), mom_ice_shelf::add_shelf_flux(), mom_ice_shelf::add_shelf_forces(), mom_ice_shelf::add_shelf_pressure(), mom_diag_mediator::add_xyz_method(), mom_regridding::adjust_interface_motion(), adjustment_initialization::adjustment_initialize_temperature_salinity(), adjustment_initialization::adjustment_initialize_thickness(), mom_tracer_advect::advect_tracer(), mom_variables::alloc_bt_cont_type(), mom_ale_sponge::apply_ale_sponge(), mom_controlled_forcing::apply_ctrl_forcing(), mom_surface_forcing_nuopc::apply_force_adjustments(), mom_surface_forcing_mct::apply_force_adjustments(), mom_sponge::apply_sponge(), mom_tracer_diabatic::applytracerboundaryfluxesinout(), assert(), mom_diag_mediator::attach_cell_methods(), mom_remapping::average_value_ppoly(), mom_barotropic::barotropic_init(), bfb_surface_forcing::bfb_buoyancy_forcing(), bfb_surface_forcing::bfb_surface_forcing_init(), mom_bkgnd_mixing::bkgnd_mixing_init(), mom_lateral_boundary_diffusion::boundary_k_range(), mom_barotropic::bt_mass_source(), mom_barotropic::btcalc(), mom_barotropic::btstep(), mom_regridding::build_grid_hycom1(), mom_regridding::build_grid_slight(), mom_remapping::build_reconstructions_1d(), mom_regridding::build_rho_grid(), mom_regridding::build_sigma_grid(), coord_slight::build_slight_column(), mom_regridding::build_zstar_grid(), mom_lateral_boundary_diffusion::bulk_average(), mom_bulk_mixed_layer::bulkmixedlayer(), mom_bulk_mixed_layer::bulkmixedlayer_init(), mom_neutral_diffusion::calc_delta_rho_and_derivs(), mom_lateral_mixing_coeffs::calc_depth_function(), mom_lateral_mixing_coeffs::calc_resoln_function(), mom_lateral_mixing_coeffs::calc_slope_functions(), mom_lateral_mixing_coeffs::calc_slope_functions_using_just_e(), mom_lateral_mixing_coeffs::calc_visbeck_coeffs(), mom_eos::calculate_compress_array(), mom_eos::calculate_compress_scalar(), mom_tidal_mixing::calculate_cvmix_tidal(), mom_eos::calculate_density_array(), mom_eos::calculate_density_derivs_array(), mom_eos::calculate_density_derivs_scalar(), mom_eos::calculate_density_scalar(), mom_eos::calculate_density_second_derivs_array(), mom_eos::calculate_density_second_derivs_scalar(), mom_diagnostics::calculate_diagnostic_fields(), mom_eos::calculate_spec_vol_array(), mom_eos::calculate_spec_vol_scalar(), mom_eos::calculate_specific_vol_derivs(), mom_eos::calculate_tfreeze_array(), mom_eos::calculate_tfreeze_scalar(), mom_boundary_update::call_obc_register(), mom_tracer_flow_control::call_tracer_column_fns(), mom_tracer_flow_control::call_tracer_flux_init(), mom_tracer_flow_control::call_tracer_register(), mom_tracer_flow_control::call_tracer_set_forcing(), mom_tracer_flow_control::call_tracer_stocks(), mom_tracer_flow_control::call_tracer_surface_state(), mom_bkgnd_mixing::check_bkgnd_scheme(), mom_regridding::check_grid_column(), mom_remapping::check_reconstructions_1d(), mom_debugging::check_redundant_sb2d(), mom_debugging::check_redundant_vb2d(), mom_debugging::check_redundant_vc2d(), mom_checksums::chksum_error(), mom_domains::clone_md_to_d2d(), mom_domains::clone_md_to_md(), mom_shared_initialization::compute_global_grid_integrals(), mom_continuity::continuity(), mom_continuity::continuity_init(), mom_continuity_ppm::continuity_ppm(), mom_continuity_ppm::continuity_ppm_init(), mom_surface_forcing_nuopc::convert_iob_to_fluxes(), mom_eos::convert_temp_salt_for_teos10(), regrid_consts::coordinatemode(), regrid_consts::coordinateunitsi(), mom_transcribe_grid::copy_dyngrid_to_mom_grid(), mom_transcribe_grid::copy_mom_grid_to_dyngrid(), mom_coriolisadv::coradcalc(), mom_coriolisadv::coriolisadv_init(), mom_internal_tides::correct_halo_rotation(), mom_dyn_horgrid::create_dyn_horgrid(), mom_io::create_file(), mom_cvmix_conv::cvmix_conv_init(), mom_cvmix_ddiff::cvmix_ddiff_init(), mom_cvmix_shear::cvmix_shear_init(), mom_diag_mediator::define_axes_group(), mom_diag_mediator::define_axes_group_dsamp(), dense_water_initialization::dense_water_initialize_sponges(), mom_sum_output::depth_list_setup(), mom_dyn_horgrid::destroy_dyn_horgrid(), mom_entrain_diffusive::determine_dskb(), mom_entrain_diffusive::determine_ea_kb(), mom_restart::determine_is_new_run(), mom_diag_mediator::diag_mediator_init(), mom_diag_remap::diag_remap_update(), mom_diag_mediator::diag_update_remap_grids(), mom_diapyc_energy_req::diapyc_energy_req_test(), mom_offline_aux::distribute_residual_uh_barotropic(), mom_offline_aux::distribute_residual_uh_upwards(), mom_offline_aux::distribute_residual_vh_barotropic(), mom_offline_aux::distribute_residual_vh_upwards(), dome2d_initialization::dome2d_initialize_sponges(), dome2d_initialization::dome2d_initialize_temperature_salinity(), dome2d_initialization::dome2d_initialize_thickness(), dome_initialization::dome_initialize_sponges(), dome_initialization::dome_set_obc_data(), mom_diag_mediator::downsample_diag_field_2d(), mom_diag_mediator::downsample_diag_field_3d(), mom_diag_mediator::downsample_diag_indices_get(), mom_diag_mediator::downsample_field_2d(), mom_diag_mediator::downsample_field_3d(), dumbbell_surface_forcing::dumbbell_surface_forcing_init(), dyed_channel_initialization::dyed_channel_set_obc_tracer_data(), dyed_channel_initialization::dyed_channel_update_flow(), dyed_obcs_initialization::dyed_obcs_set_obc_data(), mom_regridding::dz_function1(), mom_coms::efp_list_sum_across_pes(), mom_energetic_pbl::energetic_pbl(), mom_energetic_pbl::energetic_pbl_init(), mom_io::ensembler(), mom_entrain_diffusive::entrain_diffusive_init(), mom_entrain_diffusive::entrainment_diffusive(), mom_eos::eos_init(), mom_eos::eos_use_linear(), mom_energetic_pbl::epbl_column(), mom_forcing_type::extractfluxes1d(), mom_regridding::filtered_grid_motion(), mom_interface_heights::find_eta_3d(), mom_tidal_forcing::find_in_files(), mom_neutral_diffusion::find_neutral_pos_linear(), mom_neutral_diffusion::find_neutral_surface_positions_discontinuous(), mom_obsolete_params::find_obsolete_params(), mom_document::find_unused_unit_number(), mom_forcing_type::fluxes_accumulate(), mom_obsolete_diagnostics::found_in_diagtable(), mom_geothermal::geothermal(), mom_geothermal::geothermal_init(), mom_ale_sponge::get_ale_sponge_thicknesses(), mom_tracer_flow_control::get_chl_from_model(), mom_wave_interface::get_langmuir_number(), mom_get_input::get_mom_input(), regrid_interp::get_polynomial_coordinate(), mom_domains::get_simple_array_i_ind(), mom_domains::get_simple_array_j_ind(), mom_verticalgrid::get_tr_flux_units(), mom_regridding::getcoordinateinterfaces(), mom_regridding::getcoordinateshortname(), mom_regridding::getcoordinateunits(), mom_regridding::getstaticthickness(), mom_spatial_means::global_i_mean(), mom_spatial_means::global_j_mean(), mom_hor_visc::hor_visc_init(), mom_hor_visc::horizontal_viscosity(), mom_ice_shelf_state::ice_shelf_state_init(), idealized_hurricane::idealized_hurricane_wind_init(), mom_neutral_diffusion::increment_interface(), coord_adapt::init_coord_adapt(), coord_hycom::init_coord_hycom(), coord_rho::init_coord_rho(), coord_sigma::init_coord_sigma(), coord_slight::init_coord_slight(), coord_zlike::init_coord_zlike(), mom_ocmip2_cfc::init_tracer_cfc(), mom_ale_sponge::initialize_ale_sponge_fixed(), mom_ale_sponge::initialize_ale_sponge_varying(), dome_tracer::initialize_dome_tracer(), dyed_obc_tracer::initialize_dyed_obc_tracer(), mom_dynamics_unsplit::initialize_dyn_unsplit(), mom_ice_shelf::initialize_ice_shelf(), mom_ice_shelf_dynamics::initialize_ice_shelf_dyn(), mom_ice_shelf_initialize::initialize_ice_thickness(), mom_ice_shelf_initialize::initialize_ice_thickness_from_file(), ideal_age_example::initialize_ideal_age_tracer(), isomip_tracer::initialize_isomip_tracer(), oil_tracer::initialize_oil_tracer(), mom_regridding::initialize_regridding(), rgc_tracer::initialize_rgc_tracer(), mom_open_boundary::initialize_segment_data(), mom_ice_shelf::initialize_shelf_mass(), mom_sponge::initialize_sponge(), mom_state_initialization::initialize_sponges_file(), mom_state_initialization::initialize_temp_salt_from_file(), mom_state_initialization::initialize_temp_salt_from_profile(), mom_cap_mod::initializerealize(), mom_eos::int_density_dz(), mom_eos::int_density_dz_generic(), mom_eos::int_density_dz_generic_ppm(), mom_eos::int_spec_vol_dp_generic(), mom_eos::int_specific_vol_dp(), mom_int_tide_input::int_tide_input_init(), mom_remapping::integraterecononinterval(), mom_internal_tides::internal_tides_init(), regrid_interp::interpolation_scheme(), interpret_int_expr(), mom_restart::is_new_run(), isomip_initialization::isomip_initialize_sponges(), isomip_initialization::isomip_initialize_temperature_salinity(), isomip_initialization::isomip_initialize_thickness(), mom_remapping::ispossumerrsignificant(), mom_kappa_shear::kappa_shear_init(), kelvin_initialization::kelvin_set_obc_data(), mom_cvmix_kpp::kpp_calculate(), mom_cvmix_kpp::kpp_init(), mom_lateral_boundary_diffusion::lateral_boundary_diffusion_init(), mom_tracer_registry::lock_tracer_registry(), mom_marine_ice::marine_ice_init(), mom_meke::meke_alloc_register_restart(), mom_meke::meke_init(), mom_document::mesghasbeendocumented(), meso_surface_forcing::meso_buoyancy_forcing(), meso_surface_forcing::meso_surface_forcing_init(), mom_bulk_mixed_layer::mixedlayer_detrain_1(), mom_bulk_mixed_layer::mixedlayer_detrain_2(), mom_mixed_layer_restrat::mixedlayer_restrat(), mom_mixed_layer_restrat::mixedlayer_restrat_bml(), mom_mixed_layer_restrat::mixedlayer_restrat_general(), mom_mixed_layer_restrat::mixedlayer_restrat_init(), mom_mixed_layer_restrat::mixedlayer_restrat_register_restarts(), mom_diagnostics::mom_diagnostics_init(), mom_domains::mom_domains_init(), mom_grid::mom_grid_init(), mom_main(), mom_set_verbosity(), mom_sum_output::mom_sum_output_init(), mom_state_initialization::mom_temp_salt_initialize_from_z(), mom_wave_interface::mom_wave_interface_init(), mom_neutral_diffusion::neutral_diffusion_init(), mom_neutral_diffusion::neutral_surface_t_eval(), neverland_surface_forcing::neverland_buoyancy_forcing(), neverland_surface_forcing::neverland_surface_forcing_init(), mom_io::num_timelevels(), mom_obsolete_params::obsolete_char(), mom_obsolete_params::obsolete_int(), mom_obsolete_params::obsolete_logical(), mom_obsolete_params::obsolete_real(), mom_diag_mediator::ocean_register_diag(), ocn_comp_mct::ocn_setgsmap_mct(), mom_opacity::opacity_from_chl(), mom_opacity::opacity_init(), mom_open_boundary::open_boundary_config(), mom_document::open_doc_file(), mom_restart::open_restart_units(), mom_open_boundary::parse_segment_data_str(), mom_open_boundary::parse_segment_str(), mom_domains::pass_var_2d(), mom_file_parser::populate_param_data(), mom_diag_mediator::post_data_2d_low(), mom_diag_mediator::post_data_3d(), mom_diag_mediator::post_data_3d_low(), mom_tracer_registry::postale_tracer_diagnostics(), mom_continuity_ppm::ppm_reconstruction_x(), mom_internal_tides::ppm_reconstruction_x(), mom_internal_tides::ppm_reconstruction_y(), mom_continuity_ppm::ppm_reconstruction_y(), mom_pressureforce_afv::pressureforce_afv_bouss(), mom_pressureforce_afv::pressureforce_afv_init(), mom_pressureforce_afv::pressureforce_afv_nonbouss(), mom_pressureforce_blk_afv::pressureforce_blk_afv_bouss(), mom_pressureforce_blk_afv::pressureforce_blk_afv_init(), mom_pressureforce_blk_afv::pressureforce_blk_afv_nonbouss(), mom_pressureforce::pressureforce_init(), mom_pressureforce_mont::pressureforce_mont_bouss(), mom_pressureforce_mont::pressureforce_mont_init(), mom_pressureforce_mont::pressureforce_mont_nonbouss(), mom_internal_tides::propagate_corner_spread(), mom_internal_tides::propagate_int_tide(), mom_eos::query_compressible(), mom_restart::query_initialized_0d(), mom_restart::query_initialized_0d_name(), mom_restart::query_initialized_1d(), mom_restart::query_initialized_1d_name(), mom_restart::query_initialized_2d(), mom_restart::query_initialized_2d_name(), mom_restart::query_initialized_3d(), mom_restart::query_initialized_3d_name(), mom_restart::query_initialized_4d(), mom_restart::query_initialized_4d_name(), mom_restart::query_initialized_name(), mom_io::read_axis_data(), mom_sum_output::read_depth_list(), mom_file_parser::read_param_int(), mom_file_parser::read_param_int_array(), mom_file_parser::read_param_real(), mom_file_parser::read_param_real_array(), mom_tidal_mixing::read_tidal_constituents(), mom_tidal_mixing::read_tidal_energy(), mom_tracer_z_init::read_z_edges(), mom_coms::real_to_efp(), mom_coms::real_to_ints(), mom_internal_tides::refract(), advection_test_tracer::register_advection_test_tracer(), mom_barotropic::register_barotropic_restarts(), boundary_impulse_tracer::register_boundary_impulse_tracer(), mom_controlled_forcing::register_ctrl_forcing_restarts(), mom_diag_mediator::register_diag_field(), dome_tracer::register_dome_tracer(), regional_dyes::register_dye_tracer(), dyed_channel_initialization::register_dyed_channel_obc(), dyed_obc_tracer::register_dyed_obc_tracer(), mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts(), ideal_age_example::register_ideal_age_tracer(), isomip_tracer::register_isomip_tracer(), kelvin_initialization::register_kelvin_obc(), mom_obsolete_diagnostics::register_obsolete_diagnostics(), mom_ocmip2_cfc::register_ocmip2_cfc(), oil_tracer::register_oil_tracer(), pseudo_salt_tracer::register_pseudo_salt_tracer(), mom_restart::register_restart_field_0d(), mom_restart::register_restart_field_1d(), mom_restart::register_restart_field_2d(), mom_restart::register_restart_field_3d(), mom_restart::register_restart_field_4d(), mom_restart::register_restart_field_ptr0d(), mom_restart::register_restart_field_ptr1d(), mom_restart::register_restart_field_ptr2d(), mom_restart::register_restart_field_ptr3d(), mom_restart::register_restart_field_ptr4d(), mom_dynamics_unsplit::register_restarts_dyn_unsplit(), rgc_tracer::register_rgc_tracer(), shelfwave_initialization::register_shelfwave_obc(), tidal_bay_initialization::register_tidal_bay_obc(), mom_diagnostics::register_time_deriv(), mom_tracer_registry::register_tracer(), mom_tracer_registry::register_tracer_diagnostics(), mom_regridding::regridding_main(), mom_regularize_layers::regularize_layers(), mom_regularize_layers::regularize_layers_init(), mom_regularize_layers::regularize_surface(), mom_remapping::remap_via_sub_cells(), mom_remapping::remapping_core_h(), mom_remapping::remapping_core_w(), mom_io::reopen_file(), mom_coms::reproducing_sum_2d(), mom_coms::reproducing_sum_3d(), mom_dyn_horgrid::rescale_dyn_horgrid_bathymetry(), mom_grid::rescale_grid_bathymetry(), mom_restart::restart_error(), mom_restart::restart_files_exist(), mom_restart::restart_init(), mom_restart::restore_state(), rgc_initialization::rgc_initialize_sponges(), coord_slight::rho_interfaces_col(), rossby_front_2d_initialization::rossby_front_initialize_thickness(), mom_io::safe_string_copy(), mom_restart::save_restart(), scm_cvmix_tests::scm_cvmix_tests_surface_forcing_init(), seamount_initialization::seamount_initialize_temperature_salinity(), coord_adapt::set_adapt_params(), mom_oda_driver_mod::set_analysis_time(), mom_diag_mediator::set_axes_info_dsamp(), mom_barotropic::set_dtbt(), coord_hycom::set_hycom_params(), mom_int_tide_input::set_int_tide_input(), mom_diag_mediator::set_masks_for_axes_dsamp(), mom_opacity::set_opacity(), mom_oda_driver_mod::set_prior_tracer(), mom_regridding::set_regrid_max_depths(), mom_regridding::set_regrid_params(), coord_rho::set_rho_params(), coord_sigma::set_sigma_params(), coord_slight::set_slight_params(), mom_regridding::set_target_densities(), mom_ale_sponge::set_up_ale_sponge_field_fixed(), mom_ale_sponge::set_up_ale_sponge_field_varying(), mom_barotropic::set_up_bt_obc(), mom_sponge::set_up_sponge_field(), mom_sponge::set_up_sponge_ml_density(), mom_set_visc::set_visc_init(), mom_set_visc::set_viscous_bbl(), mom_set_visc::set_viscous_ml(), coord_zlike::set_zlike_params(), mom_regridding::setcoordinateresolution(), mom_remapping::setreconstructiontype(), mom_tidal_mixing::setup_tidal_diagnostics(), mom_open_boundary::setup_u_point_obc(), mom_open_boundary::setup_v_point_obc(), mom_ice_shelf::shelf_calc_flux(), mom_file_parser::simplifywhitespace(), mom_ice_shelf::solo_time_step(), regrid_solvers::solve_linear_system(), regrid_consts::state_dependent_int(), mom_meke::step_forward_meke(), mom_tracer_flow_control::store_stocks(), supercritical_initialization::supercritical_set_obc_data(), mom_wave_interface::surface_bands_by_data_override(), mom_surface_forcing_nuopc::surface_forcing_init(), mom_surface_forcing_mct::surface_forcing_init(), mom_internal_tides::teleport(), mom_neutral_diffusion::test_nsp(), mom_thickness_diffuse::thickness_diffuse(), mom_thickness_diffuse::thickness_diffuse_full(), mom_thickness_diffuse::thickness_diffuse_init(), mom_tidal_forcing::tidal_forcing_init(), mom_tidal_mixing::tidal_mixing_init(), mom_tracer_advect::tracer_advect_init(), mom_tracer_flow_control::tracer_flow_control_init(), mom_tracer_registry::tracer_registry_init(), mom_tracer_diabatic::tracer_vertdiff(), mom_tracer_z_init::tracer_z_init(), mom_wave_speed::tridiag_det(), mom_wave_structure::tridiag_solver(), mom_regridding::uniformresolution(), mom_unit_scaling::unit_scaling_init(), mom_unit_tests::unit_tests(), mom_offline_aux::update_offline_from_arrays(), mom_vert_friction::updatecfltruncationvalue(), user_surface_forcing::user_buoyancy_forcing(), user_change_diffusivity::user_change_diff(), user_change_diffusivity::user_change_diff_init(), user_initialization::user_init_temperature_salinity(), user_initialization::user_initialize_sponges(), user_initialization::user_initialize_thickness(), user_initialization::user_initialize_topography(), user_tracer_example::user_initialize_tracer(), user_initialization::user_initialize_velocity(), user_tracer_example::user_register_tracer_example(), user_initialization::user_set_coord(), user_initialization::user_set_rotation(), user_surface_forcing::user_surface_forcing_init(), user_surface_forcing::user_wind_forcing(), mom_lateral_mixing_coeffs::varmix_init(), mom_verticalgrid::verticalgridinit(), mom_vert_friction::vertvisc(), mom_vert_friction::vertvisc_coef(), mom_vert_friction::vertvisc_init(), mom_vert_friction::vertvisc_remnant(), mom_wave_speed::wave_speed(), mom_wave_speed::wave_speed_init(), mom_wave_speed::wave_speed_set_param(), mom_wave_speed::wave_speeds(), mom_wave_structure::wave_structure(), mom_wave_structure::wave_structure_init(), mom_write_cputime::write_cputime(), mom_sum_output::write_depth_list(), mom_sum_output::write_energy(), mom_pointaccel::write_u_accel(), and mom_pointaccel::write_v_accel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mom_get_verbosity()

integer function, public mom_error_handler::mom_get_verbosity ( )

This subroutine gets the level of verbosity filtering MOM error messages.

Definition at line 109 of file MOM_error_handler.F90.

109  integer :: MOM_get_verbosity
110  mom_get_verbosity = verbosity

References verbosity.

◆ mom_mesg()

subroutine, public mom_error_handler::mom_mesg ( character(len=*), intent(in)  message,
integer, intent(in), optional  verb,
logical, intent(in), optional  all_print 
)

This provides a convenient interface for writing an informative comment.

Parameters
[in]messageA message to write out
[in]verbA level of verbosity for this message
[in]all_printIf present and true, any PEs are able to write this message.

Definition at line 53 of file MOM_error_handler.F90.

53  character(len=*), intent(in) :: message !< A message to write out
54  integer, optional, intent(in) :: verb !< A level of verbosity for this message
55  logical, optional, intent(in) :: all_print !< If present and true, any PEs are
56  !! able to write this message.
57  ! This provides a convenient interface for writing an informative comment.
58  integer :: verb_msg
59  logical :: write_msg
60 
61  write_msg = is_root_pe()
62  if (present(all_print)) write_msg = write_msg .or. all_print
63 
64  verb_msg = 2 ; if (present(verb)) verb_msg = verb
65  if (write_msg .and. (verbosity >= verb_msg)) call mpp_error(note, message)
66 

References is_root_pe(), and verbosity.

Referenced by mom_ice_shelf::add_shelf_flux(), adjustment_initialization::adjustment_initialize_thickness(), mom_barotropic::barotropic_init(), benchmark_initialization::benchmark_initialize_thickness(), benchmark_initialization::benchmark_initialize_topography(), mom_barotropic::btstep(), circle_obcs_initialization::circle_obcs_initialize_thickness(), mom_continuity::continuity_init(), mom_coriolisadv::coriolisadv_init(), dome2d_initialization::dome2d_initialize_thickness(), dome_initialization::dome_initialize_thickness(), dome_initialization::dome_initialize_topography(), dumbbell_initialization::dumbbell_initialize_thickness(), mom_energetic_pbl::energetic_pbl_init(), mom_eos::eos_init(), external_gwave_initialization::external_gwave_initialize_thickness(), mom_oda_driver_mod::get_posterior_tracer(), mom_ice_shelf_dynamics::ice_shelf_solve_outer(), mom_ice_shelf::initialize_ice_shelf(), mom_ice_shelf_dynamics::initialize_ice_shelf_dyn(), mom_ice_shelf_initialize::initialize_ice_thickness_channel(), mom_ice_shelf_initialize::initialize_ice_thickness_from_file(), mom_open_boundary::initialize_segment_data(), mom_internal_tides::internal_tides_init(), isomip_initialization::isomip_initialize_thickness(), isomip_initialization::isomip_initialize_topography(), kelvin_initialization::kelvin_initialize_topography(), lock_exchange_initialization::lock_exchange_initialize_thickness(), mom_meke::meke_alloc_register_restart(), mom_meke::meke_init(), mom_domains::mom_domains_init(), mom_grid::mom_grid_init(), mom_main(), mom_checksum_packages::mom_state_stats(), neverland_initialization::neverland_initialize_thickness(), neverland_initialization::neverland_initialize_topography(), mom_opacity::opacity_init(), mom_tracer_z_init::read_z_edges(), mom_coms::reproducing_sum_2d(), mom_coms::reproducing_sum_3d(), rossby_front_2d_initialization::rossby_front_initialize_thickness(), seamount_initialization::seamount_initialize_thickness(), mom_oda_driver_mod::set_analysis_time(), mom_oda_driver_mod::set_prior_tracer(), mom_ice_shelf_dynamics::shelf_advance_front(), soliton_initialization::soliton_initialize_thickness(), and mom_ice_shelf::solo_time_step().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mom_set_verbosity()

subroutine, public mom_error_handler::mom_set_verbosity ( integer, intent(in)  verb)

This subroutine sets the level of verbosity filtering MOM error messages.

Parameters
[in]verbA level of verbosity to set

Definition at line 97 of file MOM_error_handler.F90.

97  integer, intent(in) :: verb !< A level of verbosity to set
98  character(len=80) :: msg
99  if (verb>0 .and. verb<10) then
100  verbosity=verb
101  else
102  write(msg(1:80),'("Attempt to set verbosity outside of range (0-9). verb=",I0)') verb
103  call mom_error(fatal,msg)
104  endif

References mom_error(), and verbosity.

Here is the call graph for this function:

◆ mom_verbose_enough()

logical function, public mom_error_handler::mom_verbose_enough ( integer, intent(in)  verb)

This tests whether the level of verbosity filtering MOM error messages is sufficient to write a message of verbosity level verb.

Parameters
[in]verbA level of verbosity to test

Definition at line 116 of file MOM_error_handler.F90.

116  integer, intent(in) :: verb !< A level of verbosity to test
117  logical :: MOM_verbose_enough
118  mom_verbose_enough = (verbosity >= verb)

References verbosity.

Variable Documentation

◆ calltreeindentlevel

integer mom_error_handler::calltreeindentlevel = 0
private

The level of calling within the call tree.

Definition at line 37 of file MOM_error_handler.F90.

37 integer :: callTreeIndentLevel = 0

Referenced by calltree_enter(), calltree_leave(), and calltree_waypoint().

◆ verbosity

integer mom_error_handler::verbosity = 6
private

Verbosity level: 0 - FATAL messages only 1 - FATAL + WARNING messages only 2 - FATAL + WARNING + NOTE messages only [default] 3 - above + informational 4 - 5 - 6 - above + call tree 7 - 8 - 9 - anything and everything (also set with DEBUG=True)

Definition at line 16 of file MOM_error_handler.F90.

16 integer :: verbosity = 6

Referenced by calltree_enter(), calltree_leave(), calltree_showquery(), calltree_waypoint(), mom_error(), mom_get_verbosity(), mom_mesg(), mom_set_verbosity(), and mom_verbose_enough().