4 SUBROUTINE advzp(LIMIT,DTZ,W,SM,S0,SSX,SY,SZ
5 . ,ssxx,ssxy,ssxz,syy,syz,szz,ntra )
33 #include "dimensions.h"
45 INTEGER i,j,jv,k,kp,l,lp
107 REAL SLPMAX,S1MAX,S1NEW,S2NEW
126 sqi = sqi + s0(i,j,l,ntra)
130 print*,
'---------- DIAG DANS ADVZP - ENTREE --------'
142 wgri(i,j,
llm+1-l) = w(i,j,l)
163 IF(.NOT.
limit)
GO TO 101
168 IF(s0(i,k,l,jv).GT.0.)
THEN
171 s1new =amin1(s1max,amax1(-s1max,sz(i,k,l,jv)))
172 s2new =amin1( 2.*slpmax-abs(s1new)/3. ,
173 + amax1(abs(s1new)-slpmax,szz(i,k,l,jv)) )
176 ssxz(i,k,l,jv)=amin1(slpmax,amax1(-slpmax,ssxz(i,k,l,jv)))
177 syz(i,k,l,jv)=amin1(slpmax,amax1(-slpmax,syz(i,k,l,jv)))
202 IF(wgri(i,k,l).LT.0.)
THEN
203 fm(i,l)=-wgri(i,k,l)*dtz
204 alf(i)=fm(i,l)/sm(i,k,lp)
205 sm(i,k,lp)=sm(i,k,lp)-fm(i,l)
207 fm(i,l)=wgri(i,k,l)*dtz
208 alf(i)=fm(i,l)/sm(i,k,l)
209 sm(i,k,l)=sm(i,k,l)-fm(i,l)
212 alfq(i)=alf(i)*alf(i)
214 alf1q(i)=alf1(i)*alf1(i)
215 alf2(i)=alf1(i)-alf(i)
216 alf3(i)=alf(i)*alfq(i)
217 alf4(i)=alf1(i)*alf1q(i)
224 IF(wgri(i,k,l).LT.0.)
THEN
226 f0(i,l,jv)=alf(i)* ( s0(i,k,lp,jv)-alf1(i)*
227 + ( sz(i,k,lp,jv)-alf2(i)*szz(i,k,lp,jv) ) )
228 fz(i,l,jv)=alfq(i)*(sz(i,k,lp,jv)-3.*alf1(i)*szz(i,k,lp,jv))
229 fzz(i,l,jv)=alf3(i)*szz(i,k,lp,jv)
230 fxz(i,l,jv)=alfq(i)*ssxz(i,k,lp,jv)
231 fyz(i,l,jv)=alfq(i)*syz(i,k,lp,jv)
232 fx(i,l,jv)=alf(i)*(ssx(i,k,lp,jv)-alf1(i)*ssxz(i,k,lp,jv))
233 fy(i,l,jv)=alf(i)*(sy(i,k,lp,jv)-alf1(i)*syz(i,k,lp,jv))
234 fxx(i,l,jv)=alf(i)*ssxx(i,k,lp,jv)
235 fxy(i,l,jv)=alf(i)*ssxy(i,k,lp,jv)
236 fyy(i,l,jv)=alf(i)*syy(i,k,lp,jv)
238 s0(i,k,lp,jv)=s0(i,k,lp,jv)-f0(i,l,jv)
239 sz(i,k,lp,jv)=alf1q(i)
240 + *(sz(i,k,lp,jv)+3.*alf(i)*szz(i,k,lp,jv))
241 szz(i,k,lp,jv)=alf4(i)*szz(i,k,lp,jv)
242 ssxz(i,k,lp,jv)=alf1q(i)*ssxz(i,k,lp,jv)
243 syz(i,k,lp,jv)=alf1q(i)*syz(i,k,lp,jv)
244 ssx(i,k,lp,jv)=ssx(i,k,lp,jv)-fx(i,l,jv)
245 sy(i,k,lp,jv)=sy(i,k,lp,jv)-fy(i,l,jv)
246 ssxx(i,k,lp,jv)=ssxx(i,k,lp,jv)-fxx(i,l,jv)
247 ssxy(i,k,lp,jv)=ssxy(i,k,lp,jv)-fxy(i,l,jv)
248 syy(i,k,lp,jv)=syy(i,k,lp,jv)-fyy(i,l,jv)
252 f0(i,l,jv)=alf(i)*(s0(i,k,l,jv)
253 + +alf1(i) * (sz(i,k,l,jv)+alf2(i)*szz(i,k,l,jv)) )
254 fz(i,l,jv)=alfq(i)*(sz(i,k,l,jv)+3.*alf1(i)*szz(i,k,l,jv))
255 fzz(i,l,jv)=alf3(i)*szz(i,k,l,jv)
256 fxz(i,l,jv)=alfq(i)*ssxz(i,k,l,jv)
257 fyz(i,l,jv)=alfq(i)*syz(i,k,l,jv)
258 fx(i,l,jv)=alf(i)*(ssx(i,k,l,jv)+alf1(i)*ssxz(i,k,l,jv))
259 fy(i,l,jv)=alf(i)*(sy(i,k,l,jv)+alf1(i)*syz(i,k,l,jv))
260 fxx(i,l,jv)=alf(i)*ssxx(i,k,l,jv)
261 fxy(i,l,jv)=alf(i)*ssxy(i,k,l,jv)
262 fyy(i,l,jv)=alf(i)*syy(i,k,l,jv)
264 s0(i,k,l,jv)=s0(i,k,l,jv)-f0(i,l,jv)
265 sz(i,k,l,jv)=alf1q(i)*(sz(i,k,l,jv)-3.*alf(i)*szz(i,k,l,jv))
266 szz(i,k,l,jv)=alf4(i)*szz(i,k,l,jv)
267 ssxz(i,k,l,jv)=alf1q(i)*ssxz(i,k,l,jv)
268 syz(i,k,l,jv)=alf1q(i)*syz(i,k,l,jv)
269 ssx(i,k,l,jv)=ssx(i,k,l,jv)-fx(i,l,jv)
270 sy(i,k,l,jv)=sy(i,k,l,jv)-fy(i,l,jv)
271 ssxx(i,k,l,jv)=ssxx(i,k,l,jv)-fxx(i,l,jv)
272 ssxy(i,k,l,jv)=ssxy(i,k,l,jv)-fxy(i,l,jv)
273 syy(i,k,l,jv)=syy(i,k,l,jv)-fyy(i,l,jv)
289 IF(wgri(i,k,l).LT.0.)
THEN
290 sm(i,k,l)=sm(i,k,l)+fm(i,l)
291 alf(i)=fm(i,l)/sm(i,k,l)
293 sm(i,k,lp)=sm(i,k,lp)+fm(i,l)
294 alf(i)=fm(i,l)/sm(i,k,lp)
298 alfq(i)=alf(i)*alf(i)
299 alf1q(i)=alf1(i)*alf1(i)
300 alf2(i)=alf(i)*alf1(i)
301 alf3(i)=alf1(i)-alf(i)
308 IF(wgri(i,k,l).LT.0.)
THEN
310 temptm=-alf(i)*s0(i,k,l,jv)+alf1(i)*f0(i,l,jv)
311 s0(i,k,l,jv)=s0(i,k,l,jv)+f0(i,l,jv)
312 szz(i,k,l,jv)=alfq(i)*fzz(i,l,jv)+alf1q(i)*szz(i,k,l,jv)
313 + +5.*( alf2(i)*(fz(i,l,jv)-sz(i,k,l,jv))+alf3(i)*temptm )
314 sz(i,k,l,jv)=alf(i)*fz(i,l,jv)+alf1(i)*sz(i,k,l,jv)
316 ssxz(i,k,l,jv)=alf(i)*fxz(i,l,jv)+alf1(i)*ssxz(i,k,l,jv)
317 + +3.*(alf1(i)*fx(i,l,jv)-alf(i)*ssx(i,k,l,jv))
318 syz(i,k,l,jv)=alf(i)*fyz(i,l,jv)+alf1(i)*syz(i,k,l,jv)
319 + +3.*(alf1(i)*fy(i,l,jv)-alf(i)*sy(i,k,l,jv))
320 ssx(i,k,l,jv)=ssx(i,k,l,jv)+fx(i,l,jv)
321 sy(i,k,l,jv)=sy(i,k,l,jv)+fy(i,l,jv)
322 ssxx(i,k,l,jv)=ssxx(i,k,l,jv)+fxx(i,l,jv)
323 ssxy(i,k,l,jv)=ssxy(i,k,l,jv)+fxy(i,l,jv)
324 syy(i,k,l,jv)=syy(i,k,l,jv)+fyy(i,l,jv)
328 temptm=alf(i)*s0(i,k,lp,jv)-alf1(i)*f0(i,l,jv)
329 s0(i,k,lp,jv)=s0(i,k,lp,jv)+f0(i,l,jv)
330 szz(i,k,lp,jv)=alfq(i)*fzz(i,l,jv)+alf1q(i)*szz(i,k,lp,jv)
331 + +5.*( alf2(i)*(sz(i,k,lp,jv)-fz(i,l,jv))-alf3(i)*temptm )
332 sz(i,k,lp,jv)=alf(i)*fz(i,l,jv)+alf1(i)*sz(i,k,lp,jv)
334 ssxz(i,k,lp,jv)=alf(i)*fxz(i,l,jv)+alf1(i)*ssxz(i,k,lp,jv)
335 + +3.*(alf(i)*ssx(i,k,lp,jv)-alf1(i)*fx(i,l,jv))
336 syz(i,k,lp,jv)=alf(i)*fyz(i,l,jv)+alf1(i)*syz(i,k,lp,jv)
337 + +3.*(alf(i)*sy(i,k,lp,jv)-alf1(i)*fy(i,l,jv))
338 ssx(i,k,lp,jv)=ssx(i,k,lp,jv)+fx(i,l,jv)
339 sy(i,k,lp,jv)=sy(i,k,lp,jv)+fy(i,l,jv)
340 ssxx(i,k,lp,jv)=ssxx(i,k,lp,jv)+fxx(i,l,jv)
341 ssxy(i,k,lp,jv)=ssxy(i,k,lp,jv)+fxy(i,l,jv)
342 syy(i,k,lp,jv)=syy(i,k,lp,jv)+fyy(i,l,jv)
357 sm(iip1,j,l) = sm(1,j,l)
358 s0(iip1,j,l,ntra) = s0(1,j,l,ntra)
359 ssx(iip1,j,l,ntra) = ssx(1,j,l,ntra)
360 sy(iip1,j,l,ntra) = sy(1,j,l,ntra)
361 sz(iip1,j,l,ntra) = sz(1,j,l,ntra)
370 sqf = sqf + s0(i,j,l,ntra)
374 print*,
'-------- DIAG DANS ADVZ - SORTIE ---------'
subroutine advzp(LIMIT, DTZ, W, SM, S0, SSX, SY, SZ, SSXX, SSXY, SSXZ, SYY, SYZ, SZZ, ntra)
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
c c zjulian c cym CALL iim cym klev iim