cable_error_handler.F90 Source File


This file depends on

sourcefile~~cable_error_handler.f90~~EfferentGraph sourcefile~cable_error_handler.f90 cable_error_handler.F90 sourcefile~cable_error_handler_base.f90 cable_error_handler_base.F90 sourcefile~cable_error_handler.f90->sourcefile~cable_error_handler_base.f90

Files dependent on this one

sourcefile~~cable_error_handler.f90~~AfferentGraph sourcefile~cable_error_handler.f90 cable_error_handler.F90 sourcefile~aggregator.f90 aggregator.F90 sourcefile~aggregator.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_mpi.f90 cable_mpi.F90 sourcefile~cable_mpi.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf.f90 cable_netcdf.F90 sourcefile~cable_netcdf.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf.f90->sourcefile~cable_mpi.f90 sourcefile~cable_netcdf_decomp_util.f90 cable_netcdf_decomp_util.F90 sourcefile~cable_netcdf_decomp_util.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf_decomp_util.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_netcdf_nf90.f90 cable_netcdf_nf90.F90 sourcefile~cable_netcdf_nf90.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf_nf90.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_netcdf_pio.f90 cable_netcdf_pio.F90 sourcefile~cable_netcdf_pio.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf_pio.f90->sourcefile~cable_mpi.f90 sourcefile~cable_netcdf_pio.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_netcdf_pio_stub.f90 cable_netcdf_pio_stub.F90 sourcefile~cable_netcdf_pio_stub.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_netcdf_pio_stub.f90->sourcefile~cable_mpi.f90 sourcefile~cable_netcdf_pio_stub.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_netcdf_stub_types.f90 cable_netcdf_stub_types.F90 sourcefile~cable_netcdf_pio_stub.f90->sourcefile~cable_netcdf_stub_types.f90 sourcefile~cable_offline_driver.f90 cable_offline_driver.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_offline_driver.f90->sourcefile~cable_mpi.f90 sourcefile~cable_driver_common.f90 cable_driver_common.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_driver_common.f90 sourcefile~cable_error_handler_mpi.f90 cable_error_handler_mpi.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_error_handler_mpi.f90 sourcefile~cable_mpimaster.f90 cable_mpimaster.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_mpimaster.f90 sourcefile~cable_serial.f90 cable_serial.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_serial.f90 sourcefile~cable_cru_trendy.f90 cable_cru_TRENDY.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_cru_trendy.f90 sourcefile~cable_plume_mip.f90 cable_plume_mip.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_plume_mip.f90 sourcefile~cable_site.f90 cable_site.F90 sourcefile~cable_offline_driver.f90->sourcefile~cable_site.f90 sourcefile~cable_output.f90 cable_output.F90 sourcefile~cable_output.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_output.f90->sourcefile~aggregator.f90 sourcefile~cable_output.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_define_types.f90 cable_define_types.F90 sourcefile~cable_output.f90->sourcefile~cable_define_types.f90 sourcefile~cable_iovars.f90 cable_iovars.F90 sourcefile~cable_output.f90->sourcefile~cable_iovars.f90 sourcefile~cable_output_common.f90 cable_output_common.F90 sourcefile~cable_output_common.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_output_common.f90->sourcefile~aggregator.f90 sourcefile~cable_output_common.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_common.f90->sourcefile~cable_output.f90 sourcefile~cable_checks.f90 cable_checks.F90 sourcefile~cable_output_common.f90->sourcefile~cable_checks.f90 sourcefile~cable_output_common.f90->sourcefile~cable_iovars.f90 sourcefile~cable_output_decomp.f90 cable_output_decomp.F90 sourcefile~cable_output_decomp.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_output_decomp.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_decomp.f90->sourcefile~cable_netcdf_decomp_util.f90 sourcefile~cable_output_decomp.f90->sourcefile~cable_output_common.f90 sourcefile~cable_output_decomp.f90->sourcefile~cable_define_types.f90 sourcefile~cable_output_decomp.f90->sourcefile~cable_iovars.f90 sourcefile~cable_output_reduction_buffers.f90 cable_output_reduction_buffers.F90 sourcefile~cable_output_reduction_buffers.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_output_reduction_buffers.f90->sourcefile~cable_output_common.f90 sourcefile~cable_output_reduction_buffers.f90->sourcefile~cable_define_types.f90 sourcefile~cable_timing.f90 cable_timing.F90 sourcefile~cable_timing.f90->sourcefile~cable_error_handler.f90 sourcefile~cable_timing.f90->sourcefile~cable_iovars.f90 sourcefile~cable_define_types.f90->sourcefile~aggregator.f90 sourcefile~cable_diagnostics.f90 cable_diagnostics.F90 sourcefile~cable_diagnostics.f90->sourcefile~aggregator.f90 sourcefile~cable_diagnostics.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_diagnostics.f90->sourcefile~cable_output.f90 sourcefile~cable_diagnostics.f90->sourcefile~cable_define_types.f90 sourcefile~cable_diagnostics.f90->sourcefile~cable_checks.f90 sourcefile~cable_diagnostics.f90->sourcefile~cable_iovars.f90 sourcefile~cable_diagnostics_casa.f90 cable_diagnostics_casa.F90 sourcefile~cable_diagnostics_casa.f90->sourcefile~aggregator.f90 sourcefile~cable_diagnostics_casa.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_diagnostics_casa.f90->sourcefile~cable_output.f90 sourcefile~cable_diagnostics_casa.f90->sourcefile~cable_timing.f90 sourcefile~cable_diagnostics_casa.f90->sourcefile~cable_checks.f90 sourcefile~cable_diagnostics_casa.f90->sourcefile~cable_iovars.f90 sourcefile~casa_param.f90 casa_param.F90 sourcefile~cable_diagnostics_casa.f90->sourcefile~casa_param.f90 sourcefile~casa_variable.f90 casa_variable.F90 sourcefile~cable_diagnostics_casa.f90->sourcefile~casa_variable.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_mpi.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_define_types.f90 sourcefile~cable_input.f90 cable_input.F90 sourcefile~cable_driver_common.f90->sourcefile~cable_input.f90 sourcefile~cable_carbon.f90 cable_carbon.F90 sourcefile~cable_driver_common.f90->sourcefile~cable_carbon.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_cru_trendy.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_iovars.f90 sourcefile~cable_luc_expt.f90 cable_LUC_EXPT.F90 sourcefile~cable_driver_common.f90->sourcefile~cable_luc_expt.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_plume_mip.f90 sourcefile~casa_dimension.f90 casa_dimension.F90 sourcefile~cable_driver_common.f90->sourcefile~casa_dimension.f90 sourcefile~casa_ncdf.f90 casa_ncdf.F90 sourcefile~cable_driver_common.f90->sourcefile~casa_ncdf.f90 sourcefile~popluc.f90 POPLUC.F90 sourcefile~cable_driver_common.f90->sourcefile~popluc.f90 sourcefile~cable_driver_common.f90->sourcefile~cable_site.f90 sourcefile~cable_driver_common.f90->sourcefile~casa_param.f90 sourcefile~cable_driver_common.f90->sourcefile~casa_variable.f90 sourcefile~cable_error_handler_mpi.f90->sourcefile~cable_mpi.f90 sourcefile~cable_input.f90->sourcefile~cable_mpi.f90 sourcefile~cable_input.f90->sourcefile~cable_define_types.f90 sourcefile~cable_abort.f90 cable_abort.F90 sourcefile~cable_input.f90->sourcefile~cable_abort.f90 sourcefile~cable_input.f90->sourcefile~cable_checks.f90 sourcefile~cable_initialise.f90 cable_initialise.F90 sourcefile~cable_input.f90->sourcefile~cable_initialise.f90 sourcefile~cable_input.f90->sourcefile~cable_iovars.f90 sourcefile~cable_input.f90->sourcefile~cable_luc_expt.f90 sourcefile~cable_parameters.f90 cable_parameters.F90 sourcefile~cable_input.f90->sourcefile~cable_parameters.f90 sourcefile~cable_read.f90 cable_read.F90 sourcefile~cable_input.f90->sourcefile~cable_read.f90 sourcefile~cable_input.f90->sourcefile~casa_dimension.f90 sourcefile~casa_inout.f90 casa_inout.F90 sourcefile~cable_input.f90->sourcefile~casa_inout.f90 sourcefile~cable_input.f90->sourcefile~casa_ncdf.f90 sourcefile~casa_readbiome.f90 casa_readbiome.F90 sourcefile~cable_input.f90->sourcefile~casa_readbiome.f90 sourcefile~cable_input.f90->sourcefile~popluc.f90 sourcefile~cable_input.f90->sourcefile~casa_param.f90 sourcefile~casa_phenology.f90 casa_phenology.F90 sourcefile~cable_input.f90->sourcefile~casa_phenology.f90 sourcefile~cable_input.f90->sourcefile~casa_variable.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_mpi.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_output.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_timing.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_define_types.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_diagnostics.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_diagnostics_casa.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_driver_common.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_input.f90 sourcefile~bgcdriver.f90 bgcdriver.F90 sourcefile~cable_mpimaster.f90->sourcefile~bgcdriver.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_carbon.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_checks.f90 sourcefile~cable_climate.f90 cable_climate.F90 sourcefile~cable_mpimaster.f90->sourcefile~cable_climate.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_cru_trendy.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_iovars.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_luc_expt.f90 sourcefile~cable_mpicommon.f90 cable_mpicommon.F90 sourcefile~cable_mpimaster.f90->sourcefile~cable_mpicommon.f90 sourcefile~cable_mpimaster.f90->sourcefile~cable_plume_mip.f90 sourcefile~casa_cable.f90 casa_cable.F90 sourcefile~cable_mpimaster.f90->sourcefile~casa_cable.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_dimension.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_inout.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_ncdf.f90 sourcefile~casa_offline_inout.f90 casa_offline_inout.F90 sourcefile~cable_mpimaster.f90->sourcefile~casa_offline_inout.f90 sourcefile~cbl_model_driver_offline.f90 cbl_model_driver_offline.F90 sourcefile~cable_mpimaster.f90->sourcefile~cbl_model_driver_offline.f90 sourcefile~landuse3.f90 landuse3.F90 sourcefile~cable_mpimaster.f90->sourcefile~landuse3.f90 sourcefile~landuse_constant.f90 landuse_constant.F90 sourcefile~cable_mpimaster.f90->sourcefile~landuse_constant.f90 sourcefile~cable_mpimaster.f90->sourcefile~popluc.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_param.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_phenology.f90 sourcefile~cable_mpimaster.f90->sourcefile~casa_variable.f90 sourcefile~cable_mpimaster_stub.f90 cable_mpimaster_stub.F90 sourcefile~cable_mpimaster_stub.f90->sourcefile~cable_mpi.f90 sourcefile~cable_mpimaster_stub.f90->sourcefile~cable_cru_trendy.f90 sourcefile~cable_mpimaster_stub.f90->sourcefile~cable_plume_mip.f90 sourcefile~cable_netcdf_init.f90 cable_netcdf_init.F90 sourcefile~cable_netcdf_init.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_netcdf_init.f90->sourcefile~cable_netcdf_nf90.f90 sourcefile~cable_netcdf_init.f90->sourcefile~cable_netcdf_pio_stub.f90 sourcefile~cable_netcdf_stub_types.f90->sourcefile~cable_mpi.f90 sourcefile~cable_netcdf_stub_types.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_define.f90 cable_output_define.F90 sourcefile~cable_output_define.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_define.f90->sourcefile~cable_output_common.f90 sourcefile~cable_output_define.f90->sourcefile~cable_define_types.f90 sourcefile~cable_output_define.f90->sourcefile~cable_iovars.f90 sourcefile~cable_output_impl.f90 cable_output_impl.F90 sourcefile~cable_output_impl.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_impl.f90->sourcefile~cable_output_common.f90 sourcefile~cable_output_impl.f90->sourcefile~cable_timing.f90 sourcefile~cable_output_impl.f90->sourcefile~cable_iovars.f90 sourcefile~cable_output_write.f90 cable_output_write.F90 sourcefile~cable_output_write.f90->sourcefile~aggregator.f90 sourcefile~cable_output_write.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_output_write.f90->sourcefile~cable_output_common.f90 sourcefile~cable_grid_reductions.f90 cable_grid_reductions.F90 sourcefile~cable_output_write.f90->sourcefile~cable_grid_reductions.f90 sourcefile~cable_serial.f90->sourcefile~cable_mpi.f90 sourcefile~cable_serial.f90->sourcefile~cable_netcdf.f90 sourcefile~cable_serial.f90->sourcefile~cable_output.f90 sourcefile~cable_serial.f90->sourcefile~cable_timing.f90 sourcefile~cable_serial.f90->sourcefile~cable_define_types.f90 sourcefile~cable_serial.f90->sourcefile~cable_diagnostics.f90 sourcefile~cable_serial.f90->sourcefile~cable_diagnostics_casa.f90 sourcefile~cable_serial.f90->sourcefile~cable_driver_common.f90 sourcefile~cable_serial.f90->sourcefile~cable_input.f90 sourcefile~cable_serial.f90->sourcefile~bgcdriver.f90 sourcefile~cable_serial.f90->sourcefile~cable_checks.f90 sourcefile~cable_serial.f90->sourcefile~cable_climate.f90 sourcefile~cable_serial.f90->sourcefile~cable_cru_trendy.f90 sourcefile~cable_serial.f90->sourcefile~cable_iovars.f90 sourcefile~cable_serial.f90->sourcefile~cable_luc_expt.f90 sourcefile~cable_serial.f90->sourcefile~cable_plume_mip.f90 sourcefile~cable_serial.f90->sourcefile~casa_cable.f90 sourcefile~cable_serial.f90->sourcefile~casa_dimension.f90 sourcefile~cable_serial.f90->sourcefile~casa_inout.f90 sourcefile~cable_serial.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_serial.f90->sourcefile~casa_offline_inout.f90 sourcefile~cable_serial.f90->sourcefile~cbl_model_driver_offline.f90 sourcefile~cable_serial.f90->sourcefile~landuse3.f90 sourcefile~cable_serial.f90->sourcefile~landuse_constant.f90 sourcefile~cable_serial.f90->sourcefile~popluc.f90 sourcefile~cable_serial.f90->sourcefile~cable_site.f90 sourcefile~cable_serial.f90->sourcefile~casa_phenology.f90 sourcefile~cable_serial.f90->sourcefile~casa_variable.f90 sourcefile~cbl_soilsnow_init_special.f90 cbl_soilsnow_init_special.F90 sourcefile~cable_serial.f90->sourcefile~cbl_soilsnow_init_special.f90 sourcefile~bgcdriver.f90->sourcefile~cable_define_types.f90 sourcefile~biogeochem_casa.f90 biogeochem_casa.F90 sourcefile~bgcdriver.f90->sourcefile~biogeochem_casa.f90 sourcefile~cable_phenology.f90 cable_phenology.F90 sourcefile~bgcdriver.f90->sourcefile~cable_phenology.f90 sourcefile~bgcdriver.f90->sourcefile~casa_dimension.f90 sourcefile~bgcdriver.f90->sourcefile~casa_param.f90 sourcefile~bgcdriver.f90->sourcefile~casa_phenology.f90 sourcefile~bgcdriver.f90->sourcefile~casa_variable.f90 sourcefile~biogeochem_casa.f90->sourcefile~cable_define_types.f90 sourcefile~casa_cnp.f90 casa_cnp.F90 sourcefile~biogeochem_casa.f90->sourcefile~casa_cnp.f90 sourcefile~biogeochem_casa.f90->sourcefile~casa_dimension.f90 sourcefile~biogeochem_casa.f90->sourcefile~casa_inout.f90 sourcefile~casa_rplant.f90 casa_rplant.F90 sourcefile~biogeochem_casa.f90->sourcefile~casa_rplant.f90 sourcefile~cable_abort.f90->sourcefile~cable_define_types.f90 sourcefile~cable_abort.f90->sourcefile~cable_iovars.f90 sourcefile~cable_air.f90 cable_air.F90 sourcefile~cable_air.f90->sourcefile~cable_define_types.f90 sourcefile~cable_canopy.f90 cable_canopy.F90 sourcefile~cable_canopy.f90->sourcefile~cable_define_types.f90 sourcefile~cable_canopy.f90->sourcefile~cable_air.f90 sourcefile~cable_roughness.f90 cable_roughness.F90 sourcefile~cable_canopy.f90->sourcefile~cable_roughness.f90 sourcefile~cbl_dryleaf.f90 cbl_dryLeaf.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_dryleaf.f90 sourcefile~cbl_latent_heat.f90 cbl_latent_heat.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_latent_heat.f90 sourcefile~cbl_radiation.f90 cbl_radiation.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_radiation.f90 sourcefile~cbl_surfacewetness.f90 cbl_SurfaceWetness.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_surfacewetness.f90 sourcefile~cbl_wetleaf.f90 cbl_wetleaf.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_wetleaf.f90 sourcefile~cbl_within_canopy.f90 cbl_within_canopy.F90 sourcefile~cable_canopy.f90->sourcefile~cbl_within_canopy.f90 sourcefile~cable_carbon.f90->sourcefile~cable_define_types.f90 sourcefile~cable_checks.f90->sourcefile~cable_define_types.f90 sourcefile~cable_checks.f90->sourcefile~cable_abort.f90 sourcefile~cable_checks.f90->sourcefile~cable_iovars.f90 sourcefile~cable_climate.f90->sourcefile~cable_define_types.f90 sourcefile~cable_climate.f90->sourcefile~cable_iovars.f90 sourcefile~cable_climate.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_cru_trendy.f90->sourcefile~cable_define_types.f90 sourcefile~cable_cru_trendy.f90->sourcefile~cable_checks.f90 sourcefile~cable_cru_trendy.f90->sourcefile~cable_iovars.f90 sourcefile~cable_cru_trendy.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_initialise.f90->sourcefile~cable_define_types.f90 sourcefile~cable_initialise.f90->sourcefile~cable_abort.f90 sourcefile~cable_initialise.f90->sourcefile~cable_iovars.f90 sourcefile~cable_initialise.f90->sourcefile~cable_read.f90 sourcefile~cable_iovars.f90->sourcefile~cable_define_types.f90 sourcefile~cable_luc_expt.f90->sourcefile~cable_define_types.f90 sourcefile~cable_luc_expt.f90->sourcefile~cable_iovars.f90 sourcefile~cable_luc_expt.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_mpicommon.f90->sourcefile~cable_define_types.f90 sourcefile~cable_mpicommon.f90->sourcefile~cable_iovars.f90 sourcefile~cable_mpiworker.f90 cable_mpiworker.F90 sourcefile~cable_mpiworker.f90->sourcefile~cable_define_types.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_driver_common.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_input.f90 sourcefile~cable_mpiworker.f90->sourcefile~bgcdriver.f90 sourcefile~cable_mpiworker.f90->sourcefile~biogeochem_casa.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_carbon.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_checks.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_climate.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_iovars.f90 sourcefile~cable_mpiworker.f90->sourcefile~cable_mpicommon.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_cable.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_dimension.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_inout.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_mpiworker.f90->sourcefile~cbl_model_driver_offline.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_param.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_phenology.f90 sourcefile~cable_mpiworker.f90->sourcefile~casa_variable.f90 sourcefile~cable_mpiworker.f90->sourcefile~cbl_soilsnow_init_special.f90 sourcefile~cable_parameters.f90->sourcefile~cable_define_types.f90 sourcefile~cable_parameters.f90->sourcefile~cable_abort.f90 sourcefile~cable_parameters.f90->sourcefile~cable_iovars.f90 sourcefile~cable_parameters.f90->sourcefile~cable_luc_expt.f90 sourcefile~cable_pft_params.f90 cable_pft_params.F90 sourcefile~cable_parameters.f90->sourcefile~cable_pft_params.f90 sourcefile~cable_soil_params.f90 cable_soil_params.F90 sourcefile~cable_parameters.f90->sourcefile~cable_soil_params.f90 sourcefile~cable_parameters.f90->sourcefile~casa_dimension.f90 sourcefile~cable_parameters.f90->sourcefile~casa_param.f90 sourcefile~cable_parameters.f90->sourcefile~casa_phenology.f90 sourcefile~cable_parameters.f90->sourcefile~casa_variable.f90 sourcefile~cable_pft_params.f90->sourcefile~cable_define_types.f90 sourcefile~cable_phenology.f90->sourcefile~cable_define_types.f90 sourcefile~cable_phenology.f90->sourcefile~cable_iovars.f90 sourcefile~cable_phenology.f90->sourcefile~casa_dimension.f90 sourcefile~cable_phenology.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_phenology.f90->sourcefile~casa_param.f90 sourcefile~cable_phenology.f90->sourcefile~casa_phenology.f90 sourcefile~cable_phenology.f90->sourcefile~casa_variable.f90 sourcefile~cable_plume_mip.f90->sourcefile~cable_define_types.f90 sourcefile~cable_plume_mip.f90->sourcefile~cable_checks.f90 sourcefile~cable_plume_mip.f90->sourcefile~cable_iovars.f90 sourcefile~cable_plume_mip.f90->sourcefile~casa_ncdf.f90 sourcefile~cable_psm.f90 cable_psm.F90 sourcefile~cable_psm.f90->sourcefile~cable_define_types.f90 sourcefile~cable_read.f90->sourcefile~cable_define_types.f90 sourcefile~cable_read.f90->sourcefile~cable_abort.f90 sourcefile~cable_read.f90->sourcefile~cable_iovars.f90 sourcefile~cable_roughness.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_main.f90 cable_sli_main.F90 sourcefile~cable_sli_main.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_main.f90->sourcefile~cable_iovars.f90 sourcefile~cable_sli_numbers.f90 cable_sli_numbers.F90 sourcefile~cable_sli_main.f90->sourcefile~cable_sli_numbers.f90 sourcefile~cable_sli_roots.f90 cable_sli_roots.F90 sourcefile~cable_sli_main.f90->sourcefile~cable_sli_roots.f90 sourcefile~cable_sli_solve.f90 cable_sli_solve.F90 sourcefile~cable_sli_main.f90->sourcefile~cable_sli_solve.f90 sourcefile~cable_sli_utils.f90 cable_sli_utils.F90 sourcefile~cable_sli_main.f90->sourcefile~cable_sli_utils.f90 sourcefile~cable_sli_numbers.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_roots.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_roots.f90->sourcefile~cable_sli_numbers.f90 sourcefile~cable_sli_solve.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_solve.f90->sourcefile~cable_iovars.f90 sourcefile~cable_sli_solve.f90->sourcefile~cable_sli_numbers.f90 sourcefile~cable_sli_solve.f90->sourcefile~cable_sli_utils.f90 sourcefile~cable_sli_utils.f90->sourcefile~cable_define_types.f90 sourcefile~cable_sli_utils.f90->sourcefile~cable_sli_numbers.f90 sourcefile~cable_soil_params.f90->sourcefile~cable_define_types.f90 sourcefile~casa_cable.f90->sourcefile~cable_define_types.f90 sourcefile~casa_cable.f90->sourcefile~cable_carbon.f90 sourcefile~casa_cable.f90->sourcefile~casa_cnp.f90 sourcefile~casa_cable.f90->sourcefile~casa_dimension.f90 sourcefile~casa_cable.f90->sourcefile~casa_ncdf.f90 sourcefile~casa_cable.f90->sourcefile~casa_param.f90 sourcefile~casa_cable.f90->sourcefile~casa_phenology.f90 sourcefile~casa_cable.f90->sourcefile~casa_variable.f90 sourcefile~casa_cnp.f90->sourcefile~cable_define_types.f90 sourcefile~casa_cnp.f90->sourcefile~casa_dimension.f90 sourcefile~casa_cnp.f90->sourcefile~landuse_constant.f90 sourcefile~casa_cnp.f90->sourcefile~casa_param.f90 sourcefile~casa_cnp.f90->sourcefile~casa_phenology.f90 sourcefile~casa_cnp.f90->sourcefile~casa_variable.f90 sourcefile~casa_dimension.f90->sourcefile~cable_define_types.f90 sourcefile~casa_feedback.f90 casa_feedback.F90 sourcefile~casa_feedback.f90->sourcefile~cable_define_types.f90 sourcefile~casa_feedback.f90->sourcefile~casa_cnp.f90 sourcefile~casa_feedback.f90->sourcefile~casa_dimension.f90 sourcefile~casa_feedback.f90->sourcefile~casa_param.f90 sourcefile~casa_feedback.f90->sourcefile~casa_variable.f90 sourcefile~casa_inout.f90->sourcefile~cable_define_types.f90 sourcefile~casa_inout.f90->sourcefile~cable_iovars.f90 sourcefile~casa_inout.f90->sourcefile~casa_dimension.f90 sourcefile~casa_inout.f90->sourcefile~casa_offline_inout.f90 sourcefile~casa_inout.f90->sourcefile~casa_param.f90 sourcefile~casa_inout.f90->sourcefile~casa_phenology.f90 sourcefile~casa_inout.f90->sourcefile~casa_variable.f90 sourcefile~casa_ncdf.f90->sourcefile~cable_define_types.f90 sourcefile~casa_ncdf.f90->sourcefile~cable_iovars.f90 sourcefile~casa_offline_inout.f90->sourcefile~cable_define_types.f90 sourcefile~casa_offline_inout.f90->sourcefile~casa_ncdf.f90 sourcefile~casa_offline_inout.f90->sourcefile~casa_phenology.f90 sourcefile~casa_offline_inout.f90->sourcefile~casa_variable.f90 sourcefile~casa_readbiome.f90->sourcefile~cable_define_types.f90 sourcefile~casa_readbiome.f90->sourcefile~casa_dimension.f90 sourcefile~casa_readbiome.f90->sourcefile~casa_param.f90 sourcefile~casa_readbiome.f90->sourcefile~casa_phenology.f90 sourcefile~casa_readbiome.f90->sourcefile~casa_variable.f90 sourcefile~casa_rplant.f90->sourcefile~cable_define_types.f90 sourcefile~casa_rplant.f90->sourcefile~casa_cnp.f90 sourcefile~casa_rplant.f90->sourcefile~casa_dimension.f90 sourcefile~casa_rplant.f90->sourcefile~landuse_constant.f90 sourcefile~casa_rplant.f90->sourcefile~casa_param.f90 sourcefile~casa_rplant.f90->sourcefile~casa_phenology.f90 sourcefile~casa_rplant.f90->sourcefile~casa_variable.f90 sourcefile~casa_sumcflux.f90 casa_sumcflux.F90 sourcefile~casa_sumcflux.f90->sourcefile~cable_define_types.f90 sourcefile~casa_sumcflux.f90->sourcefile~cable_carbon.f90 sourcefile~casa_sumcflux.f90->sourcefile~casa_dimension.f90 sourcefile~casa_sumcflux.f90->sourcefile~casa_param.f90 sourcefile~casa_sumcflux.f90->sourcefile~casa_variable.f90 sourcefile~casaonly_luc.f90 CASAONLY_LUC.F90 sourcefile~casaonly_luc.f90->sourcefile~cable_define_types.f90 sourcefile~casaonly_luc.f90->sourcefile~biogeochem_casa.f90 sourcefile~casaonly_luc.f90->sourcefile~cable_carbon.f90 sourcefile~casaonly_luc.f90->sourcefile~cable_iovars.f90 sourcefile~casaonly_luc.f90->sourcefile~cable_luc_expt.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_cable.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_dimension.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_inout.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_ncdf.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_offline_inout.f90 sourcefile~casaonly_luc.f90->sourcefile~popluc.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_param.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_phenology.f90 sourcefile~casaonly_luc.f90->sourcefile~casa_variable.f90 sourcefile~cbl_dryleaf.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_fwsoil.f90 cbl_fwsoil.F90 sourcefile~cbl_dryleaf.f90->sourcefile~cbl_fwsoil.f90 sourcefile~cbl_photosynthesis.f90 cbl_photosynthesis.F90 sourcefile~cbl_dryleaf.f90->sourcefile~cbl_photosynthesis.f90 sourcefile~cbl_remove_trans.f90 cbl_remove_trans.F90 sourcefile~cbl_dryleaf.f90->sourcefile~cbl_remove_trans.f90 sourcefile~cbl_fwsoil.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_init_wetfac_mod.f90 cbl_init_wetfac_mod.F90 sourcefile~cbl_init_wetfac_mod.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_latent_heat.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_air.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_canopy.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_carbon.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_roughness.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cable_sli_main.f90 sourcefile~cbl_model_driver_offline.f90->sourcefile~casa_dimension.f90 sourcefile~cbl_soilsnow_main.f90 cbl_soilsnow_main.F90 sourcefile~cbl_model_driver_offline.f90->sourcefile~cbl_soilsnow_main.f90 sourcefile~cbl_photosynthesis.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_radiation.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_soilcolour_albedo.f90 cbl_soilColour_albedo.F90 sourcefile~cbl_soilcolour_albedo.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_soilsnow_data.f90 cbl_soilsnow_data.F90 sourcefile~cbl_soilsnow_data.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_surfacewetness.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_surfacewetness.f90->sourcefile~cbl_init_wetfac_mod.f90 sourcefile~cbl_wetleaf.f90->sourcefile~cable_define_types.f90 sourcefile~cbl_within_canopy.f90->sourcefile~cable_define_types.f90 sourcefile~landuse3.f90->sourcefile~cable_define_types.f90 sourcefile~landuse3.f90->sourcefile~cable_iovars.f90 sourcefile~landuse3.f90->sourcefile~casa_dimension.f90 sourcefile~landuse3.f90->sourcefile~landuse_constant.f90 sourcefile~landuse3.f90->sourcefile~casa_param.f90 sourcefile~landuse3.f90->sourcefile~casa_phenology.f90 sourcefile~landuse3.f90->sourcefile~casa_variable.f90 sourcefile~landuse_constant.f90->sourcefile~cable_define_types.f90 sourcefile~landuse_constant.f90->sourcefile~casa_dimension.f90 sourcefile~landuse_inout.f90 landuse_inout.F90 sourcefile~landuse_inout.f90->sourcefile~cable_define_types.f90 sourcefile~landuse_inout.f90->sourcefile~cable_abort.f90 sourcefile~landuse_inout.f90->sourcefile~cable_checks.f90 sourcefile~landuse_inout.f90->sourcefile~cable_iovars.f90 sourcefile~landuse_inout.f90->sourcefile~casa_ncdf.f90 sourcefile~landuse_inout.f90->sourcefile~landuse3.f90 sourcefile~landuse_inout.f90->sourcefile~landuse_constant.f90 sourcefile~landuse_inout.f90->sourcefile~casa_variable.f90 sourcefile~popluc.f90->sourcefile~cable_define_types.f90 sourcefile~popluc.f90->sourcefile~cable_iovars.f90 sourcefile~popluc.f90->sourcefile~cable_luc_expt.f90 sourcefile~popluc.f90->sourcefile~casa_ncdf.f90 sourcefile~popluc.f90->sourcefile~casa_param.f90 sourcefile~popluc.f90->sourcefile~casa_variable.f90 sourcefile~spincasacnp.f90 spincasacnp.F90 sourcefile~spincasacnp.f90->sourcefile~cable_define_types.f90 sourcefile~spincasacnp.f90->sourcefile~biogeochem_casa.f90 sourcefile~spincasacnp.f90->sourcefile~cable_carbon.f90 sourcefile~spincasacnp.f90->sourcefile~casa_cable.f90 sourcefile~spincasacnp.f90->sourcefile~casa_dimension.f90 sourcefile~spincasacnp.f90->sourcefile~casa_inout.f90 sourcefile~spincasacnp.f90->sourcefile~casa_param.f90 sourcefile~spincasacnp.f90->sourcefile~casa_phenology.f90 sourcefile~spincasacnp.f90->sourcefile~casa_variable.f90 sourcefile~cable_grid_reductions.f90->sourcefile~cable_iovars.f90 sourcefile~cable_site.f90->sourcefile~cable_iovars.f90 sourcefile~cable_site.f90->sourcefile~casa_ncdf.f90 sourcefile~casa_param.f90->sourcefile~casa_dimension.f90 sourcefile~casa_phenology.f90->sourcefile~casa_dimension.f90 sourcefile~casa_variable.f90->sourcefile~casa_dimension.f90 sourcefile~casa_variable.f90->sourcefile~casa_param.f90 sourcefile~cbl_conductivity.f90 cbl_conductivity.F90 sourcefile~cbl_conductivity.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_gw.f90 cbl_GW.F90 sourcefile~cbl_gw.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_gw.f90->sourcefile~cbl_conductivity.f90 sourcefile~cbl_oldconductivity.f90 cbl_Oldconductivity.F90 sourcefile~cbl_gw.f90->sourcefile~cbl_oldconductivity.f90 sourcefile~cbl_trimb.f90 cbl_trimb.F90 sourcefile~cbl_gw.f90->sourcefile~cbl_trimb.f90 sourcefile~cbl_hyd_redistrib.f90 cbl_hyd_redistrib.F90 sourcefile~cbl_hyd_redistrib.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_oldconductivity.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_remove_trans.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_smoisturev.f90 cbl_smoisturev.F90 sourcefile~cbl_smoisturev.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_smoisturev.f90->sourcefile~cbl_trimb.f90 sourcefile~cbl_snowaccum.f90 cbl_snowAccum.F90 sourcefile~cbl_snowaccum.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_snowcheck.f90 cbl_snowCheck.F90 sourcefile~cbl_snowcheck.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_snowdensity.f90 cbl_snowDensity.F90 sourcefile~cbl_snowdensity.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_snowl_adjust.f90 cbl_snowl_adjust.F90 sourcefile~cbl_snowl_adjust.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_snowmelt.f90 cbl_snowMelt.F90 sourcefile~cbl_snowmelt.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_soilfreeze.f90 cbl_soilfreeze.F90 sourcefile~cbl_soilfreeze.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_soilsnow_init_special.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_hyd_redistrib.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_remove_trans.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_snowaccum.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_snowcheck.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_snowdensity.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_snowl_adjust.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_snowmelt.f90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_soilfreeze.f90 sourcefile~cbl_stempv.f90 cbl_stempv.F90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_stempv.f90 sourcefile~cbl_surfbv.f90 cbl_surfbv.F90 sourcefile~cbl_soilsnow_main.f90->sourcefile~cbl_surfbv.f90 sourcefile~cbl_stempv.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_stempv.f90->sourcefile~cbl_conductivity.f90 sourcefile~cbl_stempv.f90->sourcefile~cbl_oldconductivity.f90 sourcefile~cbl_stempv.f90->sourcefile~cbl_trimb.f90 sourcefile~cbl_surfbv.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_surfbv.f90->sourcefile~cbl_smoisturev.f90 sourcefile~cbl_thermal.f90 cbl_thermal.F90 sourcefile~cbl_thermal.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_gw.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_snowaccum.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_snowcheck.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_snowdensity.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_snowl_adjust.f90 sourcefile~cbl_thermal.f90->sourcefile~cbl_snowmelt.f90 sourcefile~cbl_trimb.f90->sourcefile~cbl_soilsnow_data.f90 sourcefile~pop_io.f90 pop_io.F90 sourcefile~pop_io.f90->sourcefile~casa_ncdf.f90 sourcefile~pop_io.f90->sourcefile~casa_variable.f90

Source Code

! CSIRO Open Source Software License Agreement (variation of the BSD / MIT License)
! Copyright (c) 2015, Commonwealth Scientific and Industrial Research Organisation
! (CSIRO) ABN 41 687 119 230.

module cable_error_handler_mod
  !* This module provides error handling functionality that can be used
  ! throughout the CABLE codebase.
  !
  ! Error handling behaviour is controlled internally by either the global error
  ! handler instance (`error_handler_global`) or the fallback error handler
  ! instance (`error_handler_fallback`). The global error handler instance can be
  ! set via `cable_error_handler_set` to provide custom error handling behaviour,
  ! while the fallback error handler instance provides a default implementation of
  ! the error handling behaviour. The global error handler is polymorphic which
  ! allows for customising the error handling behaviour dynamically at runtime. To
  ! do this we can create a new type that extends `cable_error_handler_base_t` with
  ! the new error handling behaviour and set the global error handler to an
  ! instance of the extended type.

  use cable_error_handler_base_mod, only: cable_error_handler_base_t

  implicit none
  private

  public :: cable_error_handler_base_t
  public :: cable_error_handler_set
  public :: cable_error_handler_free
  public :: cable_abort

  type(cable_error_handler_base_t), target :: error_handler_fallback = cable_error_handler_base_t()

  class(cable_error_handler_base_t), allocatable, target :: error_handler_global

contains

  subroutine cable_error_handler_set(new_error_handler)
    !! Set the global error handler instance.
    class(cable_error_handler_base_t), intent(in) :: new_error_handler
      !! New error handler instance to set as the global error handler.
    error_handler_global = new_error_handler
  end subroutine

  subroutine cable_error_handler_free()
    !! Free the global error handler instance.
    if (allocated(error_handler_global)) deallocate(error_handler_global)
  end subroutine

  subroutine cable_abort(message, file, line, error_code)
    !! Abort CABLE with an error message.
    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
    class(cable_error_handler_base_t), pointer :: error_handler

    error_handler => error_handler_fallback
    if (allocated(error_handler_global)) error_handler => error_handler_global

    call error_handler%abort(message, file, line, error_code)

  end subroutine

end module