!WRF:DRIVER_LAYER:UTIL
!
MODULE module_wrf_error 40
INTEGER :: wrf_debug_level = 0
CHARACTER*256 :: wrf_err_message
CONTAINS
LOGICAL FUNCTION wrf_at_debug_level ( level )
IMPLICIT NONE
INTEGER , INTENT(IN) :: level
wrf_at_debug_level = ( level .LE. wrf_debug_level )
RETURN
END FUNCTION wrf_at_debug_level
SUBROUTINE init_module_wrf_error
END SUBROUTINE init_module_wrf_error
END MODULE module_wrf_error
SUBROUTINE set_wrf_debug_level ( level ) 8,1
USE module_wrf_error
IMPLICIT NONE
INTEGER , INTENT(IN) :: level
wrf_debug_level = level
RETURN
END SUBROUTINE set_wrf_debug_level
SUBROUTINE get_wrf_debug_level ( level ) 1,1
USE module_wrf_error
IMPLICIT NONE
INTEGER , INTENT(OUT) :: level
level = wrf_debug_level
RETURN
END SUBROUTINE get_wrf_debug_level
SUBROUTINE wrf_debug( level , str ) 296,3
USE module_wrf_error
IMPLICIT NONE
CHARACTER*(*) str
INTEGER , INTENT (IN) :: level
INTEGER :: debug_level
CALL get_wrf_debug_level
( debug_level )
IF ( level .LE. debug_level ) THEN
CALL wrf_message
( str )
ENDIF
RETURN
END SUBROUTINE wrf_debug
SUBROUTINE wrf_message( str ) 92,1
USE module_wrf_error
IMPLICIT NONE
CHARACTER*(*) str
write(0,*) str
print*, str
END SUBROUTINE wrf_message
SUBROUTINE wrf_error_fatal( str ) 391,5
USE module_wrf_error
IMPLICIT NONE
CHARACTER*(*) str
CALL wrf_message
( '-------------- FATAL CALLED ---------------' )
CALL wrf_message
( str )
CALL wrf_message
( '-------------------------------------------' )
CALL wrf_abort
END SUBROUTINE wrf_error_fatal