8 parg,pd2,pws,piveg,psab,&
12 pwfc,pwpmx,pwsat,pwsmx,pwwilt)
107 USE modd_assim, ONLY : ntvgla, xg1wsat, xg2wsat, xewfc, xgwfc, xewwilt, xgwwilt, xrd1, xreps2
111 USE yomhook
,ONLY : lhook, dr_hook
112 USE parkind1
,ONLY : jprb
116 REAL ,
INTENT(IN) :: parg(knbpt)
117 REAL ,
INTENT(IN) :: pd2(knbpt)
118 REAL ,
INTENT(IN) :: pws(knbpt)
119 REAL ,
INTENT(IN) :: piveg(knbpt)
120 REAL ,
INTENT(IN) :: psab(knbpt)
122 LOGICAL,
INTENT(IN) :: odhmt
124 REAL ,
INTENT(OUT) :: pwfc(knbpt)
125 REAL ,
INTENT(OUT) :: pwpmx(knbpt)
126 REAL ,
INTENT(OUT) :: pwsat(knbpt)
127 REAL ,
INTENT(OUT) :: pwsmx(knbpt)
128 REAL ,
INTENT(OUT) :: pwwilt(knbpt)
131 INTEGER :: knbpt, kst
134 REAL(KIND=JPRB) :: zhook_handle
147 IF (lhook) CALL dr_hook(
'OI_ACSOLW',0,zhook_handle)
150 IF ( pws(jrof) == xundef )
THEN
154 zarg = max(xreps2,parg(jrof))
155 pwwilt(jrof) = xgwwilt*(zarg**xewwilt)
156 pwfc(jrof) = xgwfc *(zarg**xewfc)
160 IF (odhmt .AND. lhook) CALL dr_hook(
'OI_ACSOLW',1,zhook_handle)
173 IF ( nint(10.*piveg(jrof))==(10*ntvgla+1) )
THEN
180 IF ( pws(jrof)==xundef .OR. nint(piveg(jrof))==ntvgla )
THEN
181 pwsat(jrof) = pwfc(jrof)
183 zsab = max(xreps2,psab(jrof))
184 pwsat(jrof) = xg1wsat*zsab + xg2wsat
189 pwpmx(jrof) = pwsat(jrof)*pd2(jrof)*xrholw
190 pwsmx(jrof) = pwsat(jrof)*xrd1*xrholw
194 IF (lhook) CALL dr_hook(
'OI_ACSOLW',1,zhook_handle)
subroutine oi_acsolw(KST, KNBPT,