!
! This file contains needed WRF subroutine for WRF external
! I/O package, such as PHDF5, binary etc.
!
! These subroutines have been rewritten to remove the dependence
! on WRF framework.
!
! Author: Yunheng Wang (01/07/2005).
!
SUBROUTINE wrf_debug(level, str)
IMPLICIT NONE
CHARACTER*(*), INTENT(IN) :: str
INTEGER , INTENT(IN) :: level
IF (level > 0) WRITE(0,*) str
RETURN
END SUBROUTINE wrf_debug
SUBROUTINE wrf_message(str)
IMPLICIT NONE
CHARACTER*(*), INTENT(IN) :: str
WRITE(6,*) 'WRF MESSAGE: ',str
RETURN
END SUBROUTINE wrf_message
SUBROUTINE wrf_error_fatal( str ),2
IMPLICIT NONE
CHARACTER*(*), INTENT(IN) :: str
WRITE(0,*) '-------------- FATAL CALLED ---------------'
WRITE(0,*) str
WRITE(0,*) '-------------------------------------------'
CALL arpsstop
('ARPSSTOP called.',1)
END SUBROUTINE wrf_error_fatal
!
! This subroutine uses an extended intrinsic procedure
! sizeof(A). Some compilers, such as PGF90 may not provide this
! intrinsic function.
!
SUBROUTINE wrf_sizeof_integer( retval )
IMPLICIT NONE
INTEGER retval
#ifndef NOSIZEOF
retval = sizeof(retval) ! works on IBM XL Fortran IFORT_SIZEOF
! Intel IFORT Fortran
! PGI Fortran compiler
! OSF1 Fortran compiler
#else
retval = 4 ! for PGF90 etc. PGF_SIZEOF
#endif
RETURN
END SUBROUTINE wrf_sizeof_integer
SUBROUTINE wrf_sizeof_real( retval )
IMPLICIT NONE
INTEGER, INTENT(OUT) :: retval
REAL :: tmp
#ifndef NOSIZEOF
retval = sizeof(tmp) ! IFORT_SIZEOF
#else
retval = 4 ! for PGF90 etc. PGF_SIZEOF
#endif
RETURN
END SUBROUTINE wrf_sizeof_real