@brief Write error/warning message to a given unit. @details
| Type | Intent | Optional | 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 |
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