PAULSON_PSIH_3D Function

public function PAULSON_PSIH_3D(PZ_O_LMO)

Arguments

Type IntentOptional AttributesName
real, intent(in), DIMENSION(:,:,:):: PZ_O_LMO

Return Value real, DIMENSION(SIZE(PZ_O_LMO,1), SIZE(PZ_O_LMO,2),SIZE(PZ_O_LMO,3))


Contents

Source Code


Source Code

FUNCTION PAULSON_PSIH_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)) :: PAULSON_PSIH_3D  
!
  REAL, DIMENSION(SIZE(PZ_O_LMO,1), &
                    SIZE(PZ_O_LMO,2),SIZE(PZ_O_LMO,3)) :: ZY  
  REAL(KIND=JPRB) :: ZHOOK_HANDLE

  IF (LHOOK) CALL DR_HOOK('MODE_SBLS:PAULSON_PSIH_3D',0,ZHOOK_HANDLE)
  ZY=1.
  WHERE ( PZ_O_LMO(:,:,:) < 0. )
    ZY=(1.-9.*PZ_O_LMO)**(0.5)
    PAULSON_PSIH_3D(:,:,:) = LOG( (1.+ZY)/2. )
  ELSEWHERE
    PAULSON_PSIH_3D(:,:,:) = - 4.7 * PZ_O_LMO / 0.74
  END WHERE
IF (LHOOK) CALL DR_HOOK('MODE_SBLS:PAULSON_PSIH_3D',1,ZHOOK_HANDLE)
END FUNCTION PAULSON_PSIH_3D