errout Subroutine

private subroutine errout(out_unit, severity, file_name, line_num, caller, message)

@brief Write error/warning message to a given unit. @details

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: out_unit
character(len=1), intent(in) :: severity
character(len=*), intent(in) :: file_name
integer, intent(in) :: line_num
character(len=*), intent(in) :: caller
character(len=*), intent(in) :: message

Called by

proc~~errout~~CalledByGraph proc~errout errout proc~sll_s_error_handler sll_s_error_handler proc~sll_s_error_handler->proc~errout proc~sll_s_warning_handler sll_s_warning_handler proc~sll_s_warning_handler->proc~errout proc~s_spline_interpolator_1d__compute_interpolant sll_t_spline_interpolator_1d%s_spline_interpolator_1d__compute_interpolant proc~s_spline_interpolator_1d__compute_interpolant->proc~sll_s_error_handler proc~s_spline_matrix_banded__factorize sll_t_spline_matrix_banded%s_spline_matrix_banded__factorize proc~s_spline_matrix_banded__factorize->proc~sll_s_error_handler proc~s_spline_matrix_banded__solve_inplace sll_t_spline_matrix_banded%s_spline_matrix_banded__solve_inplace proc~s_spline_matrix_banded__solve_inplace->proc~sll_s_error_handler proc~s_spline_matrix_dense__factorize sll_t_spline_matrix_dense%s_spline_matrix_dense__factorize proc~s_spline_matrix_dense__factorize->proc~sll_s_error_handler proc~s_spline_matrix_dense__solve_inplace sll_t_spline_matrix_dense%s_spline_matrix_dense__solve_inplace proc~s_spline_matrix_dense__solve_inplace->proc~sll_s_error_handler proc~sll_s_spline_1d_compute_num_cells sll_s_spline_1d_compute_num_cells proc~sll_s_spline_1d_compute_num_cells->proc~sll_s_error_handler proc~sll_s_spline_matrix_new sll_s_spline_matrix_new proc~sll_s_spline_matrix_new->proc~sll_s_error_handler proc~applyprecond ApplyPrecond proc~applyprecond->proc~s_spline_matrix_banded__solve_inplace proc~interpolate_cubic_spline interpolate_cubic_spline proc~interpolate_cubic_spline->proc~sll_s_spline_matrix_new proc~s_spline_interpolator_1d__init sll_t_spline_interpolator_1d%s_spline_interpolator_1d__init proc~s_spline_interpolator_1d__init->proc~sll_s_spline_matrix_new proc~sbase_init t_sBase%sBase_init proc~sbase_init->proc~sll_s_spline_matrix_new proc~sbase_test sBase_test proc~sbase_init->proc~sbase_test proc~evalforce EvalForce proc~evalforce->proc~applyprecond proc~sbase_copy t_sBase%sBase_copy proc~sbase_copy->proc~sbase_init proc~sbase_new sBase_new proc~sbase_new->proc~sbase_init proc~base_copy t_base%base_copy proc~base_copy->proc~sbase_copy proc~base_new Base_new proc~base_new->proc~sbase_new proc~initsolutionmhd3d t_functional_mhd3d%InitSolutionMHD3D proc~initsolutionmhd3d->proc~evalforce proc~minimizemhd3d_descent t_minimizer_mhd3d%MinimizeMHD3D_descent proc~minimizemhd3d_descent->proc~evalforce proc~minimizemhd3d_resetdescent t_minimizer_mhd3d%MinimizeMHD3d_ResetDescent proc~minimizemhd3d_descent->proc~minimizemhd3d_resetdescent proc~minimizemhd3d_resetdescent->proc~evalforce proc~readstatefilefromascii ReadStateFileFromASCII proc~readstatefilefromascii->proc~sbase_new proc~readstatefilefromascii->proc~base_new proc~sbase_test->proc~sbase_new program~gvec_post GVEC_POST program~gvec_post->proc~evalforce proc~initmhd3d t_functional_mhd3d%InitMHD3D program~gvec_post->proc~initmhd3d interface~readstate ReadState interface~readstate->proc~readstatefilefromascii proc~init_base Init_Base proc~init_base->proc~base_new proc~initmhd3d->proc~base_new proc~initsolution~2 InitSolution proc~initsolution~2->proc~initsolutionmhd3d proc~minimizemhd3d t_functional_mhd3d%MinimizeMHD3D proc~minimizemhd3d->proc~minimizemhd3d_descent proc~rungvec rungvec proc~rungvec->proc~initsolutionmhd3d proc~rungvec->proc~initmhd3d proc~rungvec->proc~minimizemhd3d proc~transform_sfl_init t_transform_sfl%transform_SFL_init proc~transform_sfl_init->proc~base_new proc~init Init proc~init->proc~initmhd3d proc~init_gvec_to_jorek init_gvec_to_jorek proc~init_gvec_to_jorek->interface~readstate proc~init_gvec_to_jorek->proc~init_base proc~minimize minimize proc~minimize->proc~minimizemhd3d proc~restartfromstate RestartFromState proc~restartfromstate->interface~readstate proc~start_rungvec start_rungvec proc~start_rungvec->proc~rungvec proc~transform_sfl_new transform_sfl_new proc~transform_sfl_new->proc~transform_sfl_init program~gvec GVEC program~gvec->proc~rungvec

Source Code

  subroutine errout( out_unit, severity, file_name, line_num, caller, message )

    integer         , intent(in) :: out_unit  !< output file unit number
    character(len=1), intent(in) :: severity  !< "W" or "F" : Warning or Fatal
    character(len=*), intent(in) :: file_name !< file name
    integer         , intent(in) :: line_num  !< line number
    character(len=*), intent(in) :: caller    !< program/subroutine/function
    character(len=*), intent(in) :: message   !< error message

    character(len=64) :: line_num_str


    write( out_unit,* )
    select case ( severity )  !     *** Severity ***
    case ( 'W' )!
      write( out_unit,"(/10x,a)" ) '*** WARNING ***'
    case ( 'F' )
      write( out_unit,"(/10x,a)" ) '*** FATAL ERROR ***'
    case default
      write( out_unit,"(/10x,a)" ) '*** FATAL ERROR ***'
      write( out_unit,"(/10x,a)" ) &
        'Error handler (ERROUT) called with unknown severity level: ', severity
    end select

    write( line_num_str,* ) line_num
    line_num_str = adjustl( line_num_str )

    write( out_unit,"(/10x,a)") &
      'Generated by program or subroutine: '// trim( caller )
    write( out_unit,"(/10x,a)") &
      'In '//trim( file_name )//':'// trim( line_num_str )
    write( out_unit,"(/10x,a)") trim( message )
    write( out_unit,*)

  end subroutine errout