104 TYPE(t_mxl),
DIMENSION(np),
INTENT(in) :: &
106 TYPE(t_sit),
DIMENSION(:,:,:),
INTENT(in) :: &
108 TYPE(t_vtp),
DIMENSION(:,:,:,:),
INTENT(in) :: &
110 TYPE(t_sit),
DIMENSION(nt,np),
INTENT(inout) :: &
112 TYPE(t_vtp),
DIMENSION(nl,nt,np),
INTENT(inout) :: &
116 REAL,
DIMENSION(nt,np) :: &
117 zmlf3,zvsi,zvsn,zmsn,zagevsi,zssivsi,zaux,zvmpvsi
126 zmlf3(:,:) = spread(tpmxl(:)%mlf,1,nt)
130 zvsi(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsi,dim=1 )
134 zvsn(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsn,dim=1 )
135 zmsn(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsn* &
136 tplsit(:,:,:)%rsn,dim=1 )
141 zagevsi(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsi* &
142 tplsit(:,:,:)%age,dim=1 )
147 zssivsi(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsi* &
148 tplsit(:,:,:)%ssi,dim=1 )
153 zvmpvsi(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsi* &
154 tplsit(:,:,:)%vmp,dim=1 )
167 tpsit(:,:)%fsi = sum(tplsit(:,:,:)%fsi,dim=1)
176 WHERE ( tpsit(:,:)%fsi>epsil1 )
177 tpsit(:,:)%esi = .true.
178 tpsit(:,:)%hsi = zvsi(:,:) / tpsit(:,:)%fsi
179 tpsit(:,:)%hsn = zvsn(:,:) / tpsit(:,:)%fsi
180 tpsit(:,:)%tsf = sum( &
181 tplsit(:,:,:)%fsi*tplsit(:,:,:)%tsf, dim=1 ) / &
183 tpsit(:,:)%asn = sum( &
184 tplsit(:,:,:)%fsi*tplsit(:,:,:)%asn, dim=1 ) / &
187 WHERE ( tpsit(:,:)%fsi<=epsil1 )
188 tpsit(:,:)%esi = .false.
191 tpsit(:,:)%tsf = zmlf3(:,:)
192 tpsit(:,:)%asn = albw
197 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsn>epsil1 )
198 tpsit(:,:)%rsn = zmsn(:,:) / &
199 ( tpsit(:,:)%fsi*tpsit(:,:)%hsn )
201 WHERE ( tpsit(:,:)%fsi<=epsil1 .OR. tpsit(:,:)%hsn<=epsil1 )
202 tpsit(:,:)%rsn = rhosnwmin
207 IF ( niceage==1 )
THEN
208 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsi>epsil1 )
209 tpsit(:,:)%age = zagevsi(:,:) / &
210 ( tpsit(:,:)%fsi*tpsit(:,:)%hsi )
212 WHERE ( tpsit(:,:)%fsi<=epsil1 .OR. tpsit(:,:)%hsi<=epsil1 )
221 IF ( nicesal==1 )
THEN
222 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsi>epsil1 )
223 tpsit(:,:)%ssi = zssivsi(:,:) / &
224 ( tpsit(:,:)%fsi*tpsit(:,:)%hsi )
226 WHERE ( tpsit(:,:)%fsi<=epsil1 .OR. tpsit(:,:)%hsi<=epsil1 )
233 IF ( nmponds==1 )
THEN
234 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsi>epsil1 )
235 tpsit(:,:)%vmp = zvmpvsi(:,:) / &
236 ( tpsit(:,:)%fsi*tpsit(:,:)%hsi )
238 WHERE ( tpsit(:,:)%fsi<=epsil1 .OR. tpsit(:,:)%hsi<=epsil1 )
254 zaux(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsi* &
255 tplsil(:,jl,:,:)%ent,dim=1 )
256 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsi>epsil1 )
257 tpsil(jl,:,:)%ent = zaux(:,:) / &
258 ( tpsit(:,:)%fsi*tpsit(:,:)%hsi )
265 zaux(:,:) = sum( tplsit(:,:,:)%fsi*tplsit(:,:,:)%hsn* &
266 tplsit(:,:,:)%rsn*tplsil(:,jl,:,:)%ent,dim=1 )
267 WHERE ( tpsit(:,:)%fsi>epsil1 .AND. tpsit(:,:)%hsn>epsil1 .AND. &
268 tpsit(:,:)%rsn>epsil1 )
269 tpsil(jl,:,:)%ent = zaux(:,:) / &
270 ( tpsit(:,:)%fsi*tpsit(:,:)%hsn*tpsit(:,:)%rsn )
275 WHERE ( tpsit(:,:)%fsi<=epsil1 .OR. tpsit(:,:)%hsi<=epsil1 )
276 tpsil(jl,:,:)%ent = 0.