6 SUBROUTINE soilstress( HISBA, PF2, KK, PK, PEK, PF2WGHT, PF5 )
62 USE modd_isba_par
, ONLY : xdenom_min
72 CHARACTER(LEN=*),
INTENT(IN) :: HISBA
77 REAL,
DIMENSION(:),
INTENT(OUT) :: PF2
83 REAL,
DIMENSION(:),
INTENT(OUT) :: PF5
86 REAL,
DIMENSION(:,:),
INTENT(OUT):: PF2WGHT
92 REAL,
DIMENSION(SIZE(KK%XWFC,1)) :: ZWFC_AVGZ, ZWSAT_AVGZ, ZWWILT_AVGZ
100 INTEGER :: INI, INL, JJ, JL, IDEPTH
105 REAL(KIND=JPRB) :: ZHOOK_HANDLE
115 IF (
SIZE(pk%NWG_LAYER)>0)
THEN 116 inl=maxval(pk%NWG_LAYER(:))
141 IF(hisba ==
'DIF')
THEN 151 pf2wght(:,1) = (pek%XWG(:,1)-kk%XWWILT(:,1))/(kk%XWFC(:,1)-kk%XWWILT(:,1))
154 pf2wght(:,1) = pk%XROOTFRAC(:,1)*max(0.0,min(1.0,pf2wght(:,1)))
157 pf2(:) = pf2wght(:,1)
166 idepth=pk%NWG_LAYER(jj)
170 zrootfracn = pk%XROOTFRAC(jj,jl) - pk%XROOTFRAC(jj,jl-1)
173 pf2wght(jj,jl) = (pek%XWG(jj,jl)-kk%XWWILT(jj,jl))/(kk%XWFC(jj,jl)-kk%XWWILT(jj,jl))
176 pf2wght(jj,jl) = zrootfracn*max(0.0,min(1.0,pf2wght(jj,jl)))
179 pf2(jj) = pf2(jj) + pf2wght(jj,jl)
195 zwsat_avgz(:) = kk%XWSAT (:,1) - pek%XWGI(:,2)
196 zwfc_avgz(:) = kk%XWFC (:,1)*zwsat_avgz(:)/kk%XWSAT(:,1)
197 zwwilt_avgz(:) = kk%XWWILT(:,1)*zwsat_avgz(:)/kk%XWSAT(:,1)
201 pf2(:) = (pek%XWG(:,2)-zwwilt_avgz(:))/(zwfc_avgz(:)-zwwilt_avgz(:))
202 pf2(:) = max(0.0,min(1.0, pf2(:)))
subroutine soilstress(HISBA, PF2, KK, PK, PEK, PF2WGHT, PF5)