4 SUBROUTINE advy(limit,dty,pbarv,sm,s0,sx,sy,sz)
28 #include "dimensions.h"
45 REAL pbarv ( iip1,jjm,
llm )
75 REAL FX(
iim,jjm,ntra),FY(
iim,jjm,ntra)
88 REAL sbms,sfms,sfzs,sbmn,sfmn,sfzn
89 REAL sns0(ntra),snsz(ntra),snsm
92 REAL cx1(
llm,ntra), cxLAT(
llm,ntra)
93 REAL cy1(
llm,ntra), cyLAT(
llm,ntra)
95 real smpn,smps,s0pn,s0ps
116 vgri(i,j,
llm+1-l)=-1.*pbarv(i,j,l)
130 IF(.NOT.
limit)
GO TO 11
135 sy(i,k,l,jv)=sign(amin1(amax1(s0(i,k,l,jv),0.),
136 + abs(sy(i,k,l,jv))),sy(i,k,l,jv))
151 IF(vgri(i,0,l).LE.0.)
THEN
152 fm(i,0)=-vgri(i,0,l)*dty
153 alf(i,0)=fm(i,0)/sm(i,1,l)
154 sm(i,1,l)=sm(i,1,l)-fm(i,0)
158 alfq(i,0)=alf(i,0)*alf(i,0)
159 alf1(i,0)=1.-alf(i,0)
160 alf1q(i,0)=alf1(i,0)*alf1(i,0)
167 IF(vgri(i,0,l).LE.0.)
THEN
170 + ( s0(i,1,l,jv)-alf1(i,0)*sy(i,1,l,jv) )
172 s00(jv)=s00(jv)+f0(i,0,jv)
173 s0(i,1,l,jv)=s0(i,1,l,jv)-f0(i,0,jv)
174 sy(i,1,l,jv)=alf1q(i,0)*sy(i,1,l,jv)
175 sx(i,1,l,jv)=alf1(i,0)*sx(i,1,l,jv)
176 sz(i,1,l,jv)=alf1(i,0)*sz(i,1,l,jv)
184 IF(vgri(i,0,l).GT.0.)
THEN
185 fm(i,0)=vgri(i,0,l)*dty
192 IF(vgri(i,0,l).GT.0.)
THEN
193 f0(i,0,jv)=alf(i,0)*s00(jv)
202 IF(vgri(i,0,l).GT.0.)
THEN
203 sm(i,1,l)=sm(i,1,l)+fm(i,0)
204 alf(i,0)=fm(i,0)/sm(i,1,l)
207 alf1(i,0)=1.-alf(i,0)
214 IF(vgri(i,0,l).GT.0.)
THEN
216 temptm=alf(i,0)*s0(i,1,l,jv)-alf1(i,0)*f0(i,0,jv)
217 s0(i,1,l,jv)=s0(i,1,l,jv)+f0(i,0,jv)
218 sy(i,1,l,jv)=alf1(i,0)*sy(i,1,l,jv)+3.*temptm
235 IF(vgri(i,k,l).LT.0.)
THEN
236 fm(i,k)=-vgri(i,k,l)*dty
237 alf(i,k)=fm(i,k)/sm(i,kp,l)
238 sm(i,kp,l)=sm(i,kp,l)-fm(i,k)
240 fm(i,k)=vgri(i,k,l)*dty
241 alf(i,k)=fm(i,k)/sm(i,k,l)
242 sm(i,k,l)=sm(i,k,l)-fm(i,k)
245 alfq(i,k)=alf(i,k)*alf(i,k)
246 alf1(i,k)=1.-alf(i,k)
247 alf1q(i,k)=alf1(i,k)*alf1(i,k)
257 IF(vgri(i,k,l).LT.0.)
THEN
260 + ( s0(i,kp,l,jv)-alf1(i,k)*sy(i,kp,l,jv) )
261 fy(i,k,jv)=alfq(i,k)*sy(i,kp,l,jv)
262 fx(i,k,jv)=alf(i,k)*sx(i,kp,l,jv)
263 fz(i,k,jv)=alf(i,k)*sz(i,kp,l,jv)
265 s0(i,kp,l,jv)=s0(i,kp,l,jv)-f0(i,k,jv)
266 sy(i,kp,l,jv)=alf1q(i,k)*sy(i,kp,l,jv)
267 sx(i,kp,l,jv)=sx(i,kp,l,jv)-fx(i,k,jv)
268 sz(i,kp,l,jv)=sz(i,kp,l,jv)-fz(i,k,jv)
273 + ( s0(i,k,l,jv)+alf1(i,k)*sy(i,k,l,jv) )
274 fy(i,k,jv)=alfq(i,k)*sy(i,k,l,jv)
275 fx(i,k,jv)=alf(i,k)*sx(i,k,l,jv)
276 fz(i,k,jv)=alf(i,k)*sz(i,k,l,jv)
278 s0(i,k,l,jv)=s0(i,k,l,jv)-f0(i,k,jv)
279 sy(i,k,l,jv)=alf1q(i,k)*sy(i,k,l,jv)
280 sx(i,k,l,jv)=sx(i,k,l,jv)-fx(i,k,jv)
281 sz(i,k,l,jv)=sz(i,k,l,jv)-fz(i,k,jv)
294 IF(vgri(i,k,l).LT.0.)
THEN
295 sm(i,k,l)=sm(i,k,l)+fm(i,k)
296 alf(i,k)=fm(i,k)/sm(i,k,l)
298 sm(i,kp,l)=sm(i,kp,l)+fm(i,k)
299 alf(i,k)=fm(i,k)/sm(i,kp,l)
302 alf1(i,k)=1.-alf(i,k)
312 IF(vgri(i,k,l).LT.0.)
THEN
314 temptm=-alf(i,k)*s0(i,k,l,jv)+alf1(i,k)*f0(i,k,jv)
315 s0(i,k,l,jv)=s0(i,k,l,jv)+f0(i,k,jv)
316 sy(i,k,l,jv)=alf(i,k)*fy(i,k,jv)+alf1(i,k)*sy(i,k,l,jv)
318 sx(i,k,l,jv)=sx(i,k,l,jv)+fx(i,k,jv)
319 sz(i,k,l,jv)=sz(i,k,l,jv)+fz(i,k,jv)
323 temptm=alf(i,k)*s0(i,kp,l,jv)-alf1(i,k)*f0(i,k,jv)
324 s0(i,kp,l,jv)=s0(i,kp,l,jv)+f0(i,k,jv)
325 sy(i,kp,l,jv)=alf(i,k)*fy(i,k,jv)+alf1(i,k)*sy(i,kp,l,jv)
327 sx(i,kp,l,jv)=sx(i,kp,l,jv)+fx(i,k,jv)
328 sz(i,kp,l,jv)=sz(i,kp,l,jv)+fz(i,k,jv)
346 IF(vgri(i,k,l).GE.0.)
THEN
347 fm(i,k)=vgri(i,k,l)*dty
348 alf(i,k)=fm(i,k)/sm(i,k,l)
349 sm(i,k,l)=sm(i,k,l)-fm(i,k)
353 alfq(i,k)=alf(i,k)*alf(i,k)
354 alf1(i,k)=1.-alf(i,k)
355 alf1q(i,k)=alf1(i,k)*alf1(i,k)
362 IF(vgri(i,k,l).GE.0.)
THEN
364 + ( s0(i,k,l,jv)+alf1(i,k)*sy(i,k,l,jv) )
365 s00(jv)=s00(jv)+f0(i,k,jv)
367 s0(i,k,l,jv)=s0(i,k,l,jv)-f0(i,k,jv)
368 sy(i,k,l,jv)=alf1q(i,k)*sy(i,k,l,jv)
369 sx(i,k,l,jv)=alf1(i,k)*sx(i,k,l,jv)
370 sz(i,k,l,jv)=alf1(i,k)*sz(i,k,l,jv)
377 IF(vgri(i,k,l).LT.0.)
THEN
378 fm(i,k)=-vgri(i,k,l)*dty
385 IF(vgri(i,k,l).LT.0.)
THEN
386 f0(i,k,jv)=alf(i,k)*s00(jv)
395 IF(vgri(i,k,l).LT.0.)
THEN
396 sm(i,k,l)=sm(i,k,l)+fm(i,k)
397 alf(i,k)=fm(i,k)/sm(i,k,l)
400 alf1(i,k)=1.-alf(i,k)
407 IF(vgri(i,k,l).LT.0.)
THEN
409 temptm=-alf(i,k)*s0(i,k,l,jv)+alf1(i,k)*f0(i,k,jv)
410 s0(i,k,l,jv)=s0(i,k,l,jv)+f0(i,k,jv)
411 sy(i,k,l,jv)=alf1(i,k)*sy(i,k,l,jv)+3.*temptm
!$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
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
subroutine advy(limit, dty, pbarv, sm, s0, sx, sy, sz)
c c zjulian c cym CALL iim cym klev iim