LMO_1D Function

public function LMO_1D(PUSTAR, PTHETA, PRV, PSFTH, PSFRV)

Arguments

Type IntentOptional AttributesName
real, intent(in), DIMENSION(:):: PUSTAR
real, intent(in), DIMENSION(:):: PTHETA
real, intent(in), DIMENSION(:):: PRV
real, intent(in), DIMENSION(:):: PSFTH
real, intent(in), DIMENSION(:):: PSFRV

Return Value real, DIMENSION(SIZE(PUSTAR))


Contents

Source Code


Source Code

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

  WHERE(ABS(LMO_1D)>10000.) LMO_1D=XUNDEF
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:LMO_1D',1,ZHOOK_HANDLE)

END FUNCTION LMO_1D