FUNCTION LMO_0D(PUSTAR,PTHETA,PRV,PSFTH,PSFRV)
USE MODD_CSTS
USE MODD_SURF_PAR, ONLY : XUNDEF
IMPLICIT NONE
REAL, INTENT(IN) :: PUSTAR
REAL, INTENT(IN) :: PTHETA
REAL, INTENT(IN) :: PRV
REAL, INTENT(IN) :: PSFTH
REAL, INTENT(IN) :: PSFRV
REAL :: LMO_0D
!
REAL :: ZTHETAV
REAL :: ZEPS
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
!
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:LMO_0D',0,ZHOOK_HANDLE)
ZEPS=(XRV-XRD)/XRD
!
!
ZTHETAV = PTHETA * ( 1. +ZEPS * PRV)
!
LMO_0D = XUNDEF
IF ( PSFTH/ZTHETAV+ZEPS*PSFRV/=0. ) &
LMO_0D = - MAX(PUSTAR,1.E-6)**3 &
/ ( XKARMAN * ( XG / ZTHETAV * PSFTH &
+ XG * ZEPS * PSFRV ) )
IF(ABS(LMO_0D)>10000.) LMO_0D=XUNDEF
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:LMO_0D',1,ZHOOK_HANDLE)
END FUNCTION LMO_0D