FUNCTION BUSINGER_PHIH_3D(PZ_O_LMO)
IMPLICIT NONE
REAL, DIMENSION(:,:,:), INTENT(IN) :: PZ_O_LMO
REAL, DIMENSION(SIZE(PZ_O_LMO,1), &
SIZE(PZ_O_LMO,2),SIZE(PZ_O_LMO,3)) :: BUSINGER_PHIH_3D
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:BUSINGER_PHIH_3D',0,ZHOOK_HANDLE)
WHERE ( PZ_O_LMO(:,:,:) < 0. )
BUSINGER_PHIH_3D(:,:,:) = 0.74 * (1.-9.*PZ_O_LMO)**(-0.5)
ELSEWHERE
BUSINGER_PHIH_3D(:,:,:) = 0.74 + 4.7 * PZ_O_LMO
END WHERE
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:BUSINGER_PHIH_3D',1,ZHOOK_HANDLE)
END FUNCTION BUSINGER_PHIH_3D