102 TYPE(t_mxl),
DIMENSION(nx,ny),
INTENT(in) :: &
104 TYPE(t_sit),
DIMENSION(:,:,:,:),
INTENT(in) :: &
106 TYPE(t_vtp),
DIMENSION(:,:,:,:,:),
INTENT(in) :: &
108 TYPE(t_sit),
DIMENSION(nt,nx,ny),
INTENT(inout) :: &
110 TYPE(t_vtp),
DIMENSION(nl,nt,nx,ny),
INTENT(inout) :: &
114 REAL,
DIMENSION(nt,nx,ny) :: &
115 zmlf3,zvsi,zvsn,zmsn,zagevsi,zssivsi,zaux,zvmpvsi
124 zmlf3(:,:,:) = spread(tpmxl(:,:)%mlf,1,nt)
128 zvsi(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsi,dim=1 )
132 zvsn(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsn,dim=1 )
133 zmsn(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsn* &
134 tplsit(:,:,:,:)%rsn,dim=1 )
139 zagevsi(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsi* &
140 tplsit(:,:,:,:)%age,dim=1 )
145 zssivsi(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsi* &
146 tplsit(:,:,:,:)%ssi,dim=1 )
152 zvmpvsi(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsi* &
153 tplsit(:,:,:,:)%vmp,dim=1 )
166 tpsit(:,:,:)%fsi = sum(tplsit(:,:,:,:)%fsi,dim=1)
175 WHERE ( tpsit(:,:,:)%fsi>epsil1 )
176 tpsit(:,:,:)%esi = .true.
177 tpsit(:,:,:)%hsi = zvsi(:,:,:) / tpsit(:,:,:)%fsi
178 tpsit(:,:,:)%hsn = zvsn(:,:,:) / tpsit(:,:,:)%fsi
179 tpsit(:,:,:)%tsf = sum( &
180 tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%tsf, dim=1 ) / &
182 tpsit(:,:,:)%asn = sum( &
183 tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%asn, dim=1 ) / &
186 WHERE ( tpsit(:,:,:)%fsi<=epsil1 )
187 tpsit(:,:,:)%esi = .false.
188 tpsit(:,:,:)%hsi = 0.
189 tpsit(:,:,:)%hsn = 0.
190 tpsit(:,:,:)%tsf = zmlf3(:,:,:)
191 tpsit(:,:,:)%asn = albw
196 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsn>epsil1 )
197 tpsit(:,:,:)%rsn = zmsn(:,:,:) / &
198 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsn )
200 WHERE ( tpsit(:,:,:)%fsi<=epsil1 .OR. tpsit(:,:,:)%hsn<=epsil1 )
201 tpsit(:,:,:)%rsn = rhosnwmin
206 IF ( niceage==1 )
THEN
207 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsi>epsil1 )
208 tpsit(:,:,:)%age = zagevsi(:,:,:) / &
209 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsi )
211 WHERE ( tpsit(:,:,:)%fsi<=epsil1 .OR. tpsit(:,:,:)%hsi<=epsil1 )
212 tpsit(:,:,:)%age = 0.
215 tpsit(:,:,:)%age = 0.
220 IF ( nicesal==1 )
THEN
221 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsi>epsil1 )
222 tpsit(:,:,:)%ssi = zssivsi(:,:,:) / &
223 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsi )
225 WHERE ( tpsit(:,:,:)%fsi<=epsil1 .OR. tpsit(:,:,:)%hsi<=epsil1 )
226 tpsit(:,:,:)%ssi = 0.
232 IF ( nmponds==1 )
THEN
233 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsi>epsil1 )
234 tpsit(:,:,:)%vmp = zvmpvsi(:,:,:) / &
235 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsi )
237 WHERE ( tpsit(:,:,:)%fsi<=epsil1 .OR. tpsit(:,:,:)%hsi<=epsil1 )
238 tpsit(:,:,:)%vmp = 0.
241 tpsit(:,:,:)%vmp = 0.
253 zaux(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsi* &
254 tplsil(:,jl,:,:,:)%ent,dim=1 )
255 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsi>epsil1 )
256 tpsil(jl,:,:,:)%ent = zaux(:,:,:) / &
257 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsi )
264 zaux(:,:,:) = sum( tplsit(:,:,:,:)%fsi*tplsit(:,:,:,:)%hsn* &
265 tplsit(:,:,:,:)%rsn*tplsil(:,jl,:,:,:)%ent,dim=1 )
266 WHERE ( tpsit(:,:,:)%fsi>epsil1 .AND. tpsit(:,:,:)%hsn>epsil1 .AND. &
267 tpsit(:,:,:)%rsn>epsil1 )
268 tpsil(jl,:,:,:)%ent = zaux(:,:,:) / &
269 ( tpsit(:,:,:)%fsi*tpsit(:,:,:)%hsn*tpsit(:,:,:)%rsn )
274 WHERE ( tpsit(:,:,:)%fsi<=epsil1 .OR. tpsit(:,:,:)%hsi<=epsil1 )
275 tpsil(jl,:,:,:)%ent = 0.