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

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