FUNCTION BUSINGER_PHIE_2D(PZ_O_LMO)
USE MODD_CANOPY_TURB, ONLY : XALPSBL
IMPLICIT NONE
REAL, DIMENSION(:,:), INTENT(IN) :: PZ_O_LMO
REAL, DIMENSION(SIZE(PZ_O_LMO,1),SIZE(PZ_O_LMO,2)) :: BUSINGER_PHIE_2D
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:BUSINGER_PHIE_2D',0,ZHOOK_HANDLE)
WHERE ( PZ_O_LMO(:,:) < 0. )
BUSINGER_PHIE_2D(:,:) = (1.+(-PZ_O_LMO)**(2./3.)/XALPSBL) &
* (1.-15.*PZ_O_LMO)**(0.5)
ELSEWHERE
BUSINGER_PHIE_2D(:,:) = 1./(1. + 4.7 * PZ_O_LMO)**2
END WHERE
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:BUSINGER_PHIE_2D',1,ZHOOK_HANDLE)
END FUNCTION BUSINGER_PHIE_2D