4       SUBROUTINE advyp(LIMIT,DTY,PBARV,SM,S0,SSX,SY,SZ
 
    5      .                 ,ssxx,ssxy,ssxz,syy,syz,szz,ntra )
 
   30 #include "dimensions.h" 
   47       REAL pbarv ( iip1,jjm, 
llm )
 
   88       REAL FX(
iim,jjm,ntra),FY(
iim,jjm,ntra)
 
   90       REAL FXX(
iim,jjm,ntra),FXY(
iim,jjm,ntra)
 
   91       REAL FXZ(
iim,jjm,ntra),FYY(
iim,jjm,ntra)
 
   92       REAL FYZ(
iim,jjm,ntra),FZZ(
iim,jjm,ntra)
 
  103       REAL SLPMAX,S1MAX,S1NEW,S2NEW
 
  107       REAL sbms,sfms,sfzs,sbmn,sfmn,sfzn
 
  108       REAL sns0(ntra),snsz(ntra),snsm
 
  110       REAL cx1(
llm,ntra), cxLAT(
llm,ntra)
 
  111       REAL cy1(
llm,ntra), cyLAT(
llm,ntra)
 
  143               sqi = sqi + s0(i,j,l,ntra)
 
  147       print*,
'---------- DIAG DANS ADVY - ENTREE --------' 
  160             vgri(i,j,
llm+1-l)=-1.*pbarv(i,j,l)
 
  180       IF(.NOT.
limit) 
GO TO 11
 
  185          IF(s0(i,k,l,jv).GT.0.) 
THEN 
  186            slpmax=amax1(s0(i,k,l,jv),0.)
 
  188            s1new=amin1(s1max,amax1(-s1max,sy(i,k,l,jv)))
 
  189            s2new=amin1( 2.*slpmax-abs(s1new)/3. ,
 
  190      +                  amax1(abs(s1new)-slpmax,syy(i,k,l,jv)) )
 
  193        ssxy(i,k,l,jv)=amin1(slpmax,amax1(-slpmax,ssxy(i,k,l,jv)))
 
  194        syz(i,k,l,jv)=amin1(slpmax,amax1(-slpmax,syz(i,k,l,jv)))
 
  215          IF(vgri(i,0,l).LE.0.) 
THEN 
  216            fm(i,0)=-vgri(i,0,l)*dty
 
  217            alf(i,0)=fm(i,0)/sm(i,1,l)
 
  218            sm(i,1,l)=sm(i,1,l)-fm(i,0)
 
  222          alfq(i,0)=alf(i,0)*alf(i,0)
 
  223          alf1(i,0)=1.-alf(i,0)
 
  224          alf1q(i,0)=alf1(i,0)*alf1(i,0)
 
  225          alf2(i,0)=alf1(i,0)-alf(i,0)
 
  226          alf3(i,0)=alf(i,0)*alfq(i,0)
 
  227          alf4(i,0)=alf1(i,0)*alf1q(i,0)
 
  235          IF(vgri(i,0,l).LE.0.) 
THEN 
  237            f0(i,0,jv)=alf(i,0)* ( s0(i,1,l,jv)-alf1(i,0)*
 
  238      +        ( sy(i,1,l,jv)-alf2(i,0)*syy(i,1,l,jv) ) )
 
  240            s00(jv)=s00(jv)+f0(i,0,jv)
 
  241            s0(i,1,l,jv)=s0(i,1,l,jv)-f0(i,0,jv)
 
  242            sy(i,1,l,jv)=alf1q(i,0)*
 
  243      +            (sy(i,1,l,jv)+3.*alf(i,0)*syy(i,1,l,jv))
 
  244            syy(i,1,l,jv)=alf4(i,0)*syy(i,1,l,jv)
 
  245            ssx(i,1,l,jv)=alf1(i,0)*
 
  246      +            (ssx(i,1,l,jv)+alf(i,0)*ssxy(i,1,l,jv) )
 
  247            sz(i,1,l,jv)=alf1(i,0)*
 
  248      +            (sz(i,1,l,jv)+alf(i,0)*ssxz(i,1,l,jv) )
 
  249            ssxx(i,1,l,jv)=alf1(i,0)*ssxx(i,1,l,jv)
 
  250            ssxz(i,1,l,jv)=alf1(i,0)*ssxz(i,1,l,jv)
 
  251            szz(i,1,l,jv)=alf1(i,0)*szz(i,1,l,jv)
 
  252            ssxy(i,1,l,jv)=alf1q(i,0)*ssxy(i,1,l,jv)
 
  253            syz(i,1,l,jv)=alf1q(i,0)*syz(i,1,l,jv)
 
  261          IF(vgri(i,0,l).GT.0.) 
THEN 
  262            fm(i,0)=vgri(i,0,l)*dty
 
  269          IF(vgri(i,0,l).GT.0.) 
THEN 
  270            f0(i,0,jv)=alf(i,0)*s00(jv)
 
  280          IF(vgri(i,0,l).GT.0.) 
THEN 
  281            sm(i,1,l)=sm(i,1,l)+fm(i,0)
 
  282            alf(i,0)=fm(i,0)/sm(i,1,l)
 
  285          alfq(i,0)=alf(i,0)*alf(i,0)
 
  286          alf1(i,0)=1.-alf(i,0)
 
  287          alf1q(i,0)=alf1(i,0)*alf1(i,0)
 
  288          alf2(i,0)=alf1(i,0)-alf(i,0)
 
  289          alf3(i,0)=alf1(i,0)*alf(i,0)
 
  297          IF(vgri(i,0,l).GT.0.) 
THEN 
  299          temptm=alf(i,0)*s0(i,1,l,jv)-alf1(i,0)*f0(i,0,jv)
 
  300          s0(i,1,l,jv)=s0(i,1,l,jv)+f0(i,0,jv)
 
  301          syy(i,1,l,jv)=alf1q(i,0)*syy(i,1,l,jv)
 
  302      +        +5.*( alf3(i,0)*sy(i,1,l,jv)-alf2(i,0)*temptm )
 
  303          sy(i,1,l,jv)=alf1(i,0)*sy(i,1,l,jv)+3.*temptm
 
  304       ssxy(i,1,l,jv)=alf1(i,0)*ssxy(i,1,l,jv)+3.*alf(i,0)*ssx(i,1,l,jv)
 
  305       syz(i,1,l,jv)=alf1(i,0)*syz(i,1,l,jv)+3.*alf(i,0)*sz(i,1,l,jv)
 
  323          IF(vgri(i,k,l).LT.0.) 
THEN 
  324            fm(i,k)=-vgri(i,k,l)*dty
 
  325            alf(i,k)=fm(i,k)/sm(i,kp,l)
 
  326            sm(i,kp,l)=sm(i,kp,l)-fm(i,k)
 
  328            fm(i,k)=vgri(i,k,l)*dty
 
  329            alf(i,k)=fm(i,k)/sm(i,k,l)
 
  330            sm(i,k,l)=sm(i,k,l)-fm(i,k)
 
  333          alfq(i,k)=alf(i,k)*alf(i,k)
 
  334          alf1(i,k)=1.-alf(i,k)
 
  335          alf1q(i,k)=alf1(i,k)*alf1(i,k)
 
  336          alf2(i,k)=alf1(i,k)-alf(i,k)
 
  337          alf3(i,k)=alf(i,k)*alfq(i,k)
 
  338          alf4(i,k)=alf1(i,k)*alf1q(i,k)
 
  349          IF(vgri(i,k,l).LT.0.) 
THEN 
  351            f0(i,k,jv)=alf(i,k)* ( s0(i,kp,l,jv)-alf1(i,k)*
 
  352      +        ( sy(i,kp,l,jv)-alf2(i,k)*syy(i,kp,l,jv) ) )
 
  353            fy(i,k,jv)=alfq(i,k)*
 
  354      +                 (sy(i,kp,l,jv)-3.*alf1(i,k)*syy(i,kp,l,jv))
 
  355            fyy(i,k,jv)=alf3(i,k)*syy(i,kp,l,jv)
 
  357      +                 (ssx(i,kp,l,jv)-alf1(i,k)*ssxy(i,kp,l,jv))
 
  359      +                 (sz(i,kp,l,jv)-alf1(i,k)*syz(i,kp,l,jv))
 
  360            fxy(i,k,jv)=alfq(i,k)*ssxy(i,kp,l,jv)
 
  361            fyz(i,k,jv)=alfq(i,k)*syz(i,kp,l,jv)
 
  362            fxx(i,k,jv)=alf(i,k)*ssxx(i,kp,l,jv)
 
  363            fxz(i,k,jv)=alf(i,k)*ssxz(i,kp,l,jv)
 
  364            fzz(i,k,jv)=alf(i,k)*szz(i,kp,l,jv)
 
  366            s0(i,kp,l,jv)=s0(i,kp,l,jv)-f0(i,k,jv)
 
  367            sy(i,kp,l,jv)=alf1q(i,k)*
 
  368      +                 (sy(i,kp,l,jv)+3.*alf(i,k)*syy(i,kp,l,jv))
 
  369            syy(i,kp,l,jv)=alf4(i,k)*syy(i,kp,l,jv)
 
  370            ssx(i,kp,l,jv)=ssx(i,kp,l,jv)-fx(i,k,jv)
 
  371            sz(i,kp,l,jv)=sz(i,kp,l,jv)-fz(i,k,jv)
 
  372            ssxx(i,kp,l,jv)=ssxx(i,kp,l,jv)-fxx(i,k,jv)
 
  373            ssxz(i,kp,l,jv)=ssxz(i,kp,l,jv)-fxz(i,k,jv)
 
  374            szz(i,kp,l,jv)=szz(i,kp,l,jv)-fzz(i,k,jv)
 
  375            ssxy(i,kp,l,jv)=alf1q(i,k)*ssxy(i,kp,l,jv)
 
  376            syz(i,kp,l,jv)=alf1q(i,k)*syz(i,kp,l,jv)
 
  380            f0(i,k,jv)=alf(i,k)* ( s0(i,k,l,jv)+alf1(i,k)*
 
  381      +             ( sy(i,k,l,jv)+alf2(i,k)*syy(i,k,l,jv) ) )
 
  382            fy(i,k,jv)=alfq(i,k)*
 
  383      +                 (sy(i,k,l,jv)+3.*alf1(i,k)*syy(i,k,l,jv))
 
  384            fyy(i,k,jv)=alf3(i,k)*syy(i,k,l,jv)
 
  385       fx(i,k,jv)=alf(i,k)*(ssx(i,k,l,jv)+alf1(i,k)*ssxy(i,k,l,jv))
 
  386       fz(i,k,jv)=alf(i,k)*(sz(i,k,l,jv)+alf1(i,k)*syz(i,k,l,jv))
 
  387            fxy(i,k,jv)=alfq(i,k)*ssxy(i,k,l,jv)
 
  388            fyz(i,k,jv)=alfq(i,k)*syz(i,k,l,jv)
 
  389            fxx(i,k,jv)=alf(i,k)*ssxx(i,k,l,jv)
 
  390            fxz(i,k,jv)=alf(i,k)*ssxz(i,k,l,jv)
 
  391            fzz(i,k,jv)=alf(i,k)*szz(i,k,l,jv)
 
  393            s0(i,k,l,jv)=s0(i,k,l,jv)-f0(i,k,jv)
 
  394            sy(i,k,l,jv)=alf1q(i,k)*
 
  395      +                  (sy(i,k,l,jv)-3.*alf(i,k)*syy(i,k,l,jv))
 
  396            syy(i,k,l,jv)=alf4(i,k)*syy(i,k,l,jv)
 
  397            ssx(i,k,l,jv)=ssx(i,k,l,jv)-fx(i,k,jv)
 
  398            sz(i,k,l,jv)=sz(i,k,l,jv)-fz(i,k,jv)
 
  399            ssxx(i,k,l,jv)=ssxx(i,k,l,jv)-fxx(i,k,jv)
 
  400            ssxz(i,k,l,jv)=ssxz(i,k,l,jv)-fxz(i,k,jv)
 
  401            szz(i,k,l,jv)=szz(i,k,l,jv)-fzz(i,k,jv)
 
  402            ssxy(i,k,l,jv)=alf1q(i,k)*ssxy(i,k,l,jv)
 
  403            syz(i,k,l,jv)=alf1q(i,k)*syz(i,k,l,jv)
 
  417          IF(vgri(i,k,l).LT.0.) 
THEN 
  418            sm(i,k,l)=sm(i,k,l)+fm(i,k)
 
  419            alf(i,k)=fm(i,k)/sm(i,k,l)
 
  421            sm(i,kp,l)=sm(i,kp,l)+fm(i,k)
 
  422            alf(i,k)=fm(i,k)/sm(i,kp,l)
 
  425          alfq(i,k)=alf(i,k)*alf(i,k)
 
  426          alf1(i,k)=1.-alf(i,k)
 
  427          alf1q(i,k)=alf1(i,k)*alf1(i,k)
 
  428          alf2(i,k)=alf1(i,k)-alf(i,k)
 
  429          alf3(i,k)=alf1(i,k)*alf(i,k)
 
  440          IF(vgri(i,k,l).LT.0.) 
THEN 
  442          temptm=-alf(i,k)*s0(i,k,l,jv)+alf1(i,k)*f0(i,k,jv)
 
  443          s0(i,k,l,jv)=s0(i,k,l,jv)+f0(i,k,jv)
 
  444        syy(i,k,l,jv)=alfq(i,k)*fyy(i,k,jv)+alf1q(i,k)*syy(i,k,l,jv)
 
  445      +  +5.*( alf3(i,k)*(fy(i,k,jv)-sy(i,k,l,jv))+alf2(i,k)*temptm )
 
  446          sy(i,k,l,jv)=alf(i,k)*fy(i,k,jv)+alf1(i,k)*sy(i,k,l,jv)
 
  448        ssxy(i,k,l,jv)=alf(i,k)*fxy(i,k,jv)+alf1(i,k)*ssxy(i,k,l,jv)
 
  449      +         +3.*(alf1(i,k)*fx(i,k,jv)-alf(i,k)*ssx(i,k,l,jv))
 
  450        syz(i,k,l,jv)=alf(i,k)*fyz(i,k,jv)+alf1(i,k)*syz(i,k,l,jv)
 
  451      +         +3.*(alf1(i,k)*fz(i,k,jv)-alf(i,k)*sz(i,k,l,jv))
 
  452          ssx(i,k,l,jv)=ssx(i,k,l,jv)+fx(i,k,jv)
 
  453          sz(i,k,l,jv)=sz(i,k,l,jv)+fz(i,k,jv)
 
  454          ssxx(i,k,l,jv)=ssxx(i,k,l,jv)+fxx(i,k,jv)
 
  455          ssxz(i,k,l,jv)=ssxz(i,k,l,jv)+fxz(i,k,jv)
 
  456          szz(i,k,l,jv)=szz(i,k,l,jv)+fzz(i,k,jv)
 
  460          temptm=alf(i,k)*s0(i,kp,l,jv)-alf1(i,k)*f0(i,k,jv)
 
  461          s0(i,kp,l,jv)=s0(i,kp,l,jv)+f0(i,k,jv)
 
  462        syy(i,kp,l,jv)=alfq(i,k)*fyy(i,k,jv)+alf1q(i,k)*syy(i,kp,l,jv)
 
  463      +  +5.*( alf3(i,k)*(sy(i,kp,l,jv)-fy(i,k,jv))-alf2(i,k)*temptm )
 
  464          sy(i,kp,l,jv)=alf(i,k)*fy(i,k,jv)+alf1(i,k)*sy(i,kp,l,jv)
 
  466        ssxy(i,kp,l,jv)=alf(i,k)*fxy(i,k,jv)+alf1(i,k)*ssxy(i,kp,l,jv)
 
  467      +             +3.*(alf(i,k)*ssx(i,kp,l,jv)-alf1(i,k)*fx(i,k,jv))
 
  468          syz(i,kp,l,jv)=alf(i,k)*fyz(i,k,jv)+alf1(i,k)*syz(i,kp,l,jv)
 
  469      +             +3.*(alf(i,k)*sz(i,kp,l,jv)-alf1(i,k)*fz(i,k,jv))
 
  470          ssx(i,kp,l,jv)=ssx(i,kp,l,jv)+fx(i,k,jv)
 
  471          sz(i,kp,l,jv)=sz(i,kp,l,jv)+fz(i,k,jv)
 
  472          ssxx(i,kp,l,jv)=ssxx(i,kp,l,jv)+fxx(i,k,jv)
 
  473          ssxz(i,kp,l,jv)=ssxz(i,kp,l,jv)+fxz(i,k,jv)
 
  474          szz(i,kp,l,jv)=szz(i,kp,l,jv)+fzz(i,k,jv)
 
  493          IF(vgri(i,k,l).GE.0.) 
THEN 
  494            fm(i,k)=vgri(i,k,l)*dty
 
  495            alf(i,k)=fm(i,k)/sm(i,k,l)
 
  496            sm(i,k,l)=sm(i,k,l)-fm(i,k)
 
  500          alfq(i,k)=alf(i,k)*alf(i,k)
 
  501          alf1(i,k)=1.-alf(i,k)
 
  502          alf1q(i,k)=alf1(i,k)*alf1(i,k)
 
  503          alf2(i,k)=alf1(i,k)-alf(i,k)
 
  504          alf3(i,k)=alf(i,k)*alfq(i,k)
 
  505          alf4(i,k)=alf1(i,k)*alf1q(i,k)
 
  513          IF(vgri(i,k,l).GE.0.) 
THEN 
  514            f0(i,k,jv)=alf(i,k)* ( s0(i,k,l,jv)+alf1(i,k)*
 
  515      +             ( sy(i,k,l,jv)+alf2(i,k)*syy(i,k,l,jv) ) )
 
  516            s00(jv)=s00(jv)+f0(i,k,jv)
 
  518            s0(i,k,l,jv)=s0(i,k,l,jv)-f0(i,k,jv)
 
  519            sy(i,k,l,jv)=alf1q(i,k)*
 
  520      +                  (sy(i,k,l,jv)-3.*alf(i,k)*syy(i,k,l,jv))
 
  521            syy(i,k,l,jv)=alf4(i,k)*syy(i,k,l,jv)
 
  522       ssx(i,k,l,jv)=alf1(i,k)*(ssx(i,k,l,jv)-alf(i,k)*ssxy(i,k,l,jv))
 
  523       sz(i,k,l,jv)=alf1(i,k)*(sz(i,k,l,jv)-alf(i,k)*syz(i,k,l,jv))
 
  524            ssxx(i,k,l,jv)=alf1(i,k)*ssxx(i,k,l,jv)
 
  525            ssxz(i,k,l,jv)=alf1(i,k)*ssxz(i,k,l,jv)
 
  526            szz(i,k,l,jv)=alf1(i,k)*szz(i,k,l,jv)
 
  527            ssxy(i,k,l,jv)=alf1q(i,k)*ssxy(i,k,l,jv)
 
  528            syz(i,k,l,jv)=alf1q(i,k)*syz(i,k,l,jv)
 
  536          IF(vgri(i,k,l).LT.0.) 
THEN 
  537            fm(i,k)=-vgri(i,k,l)*dty
 
  545          IF(vgri(i,k,l).LT.0.) 
THEN 
  546            f0(i,k,jv)=alf(i,k)*s00(jv)
 
  555          IF(vgri(i,k,l).LT.0.) 
THEN 
  556            sm(i,k,l)=sm(i,k,l)+fm(i,k)
 
  557            alf(i,k)=fm(i,k)/sm(i,k,l)
 
  560          alfq(i,k)=alf(i,k)*alf(i,k)
 
  561          alf1(i,k)=1.-alf(i,k)
 
  562          alf1q(i,k)=alf1(i,k)*alf1(i,k)
 
  563          alf2(i,k)=alf1(i,k)-alf(i,k)
 
  564          alf3(i,k)=alf1(i,k)*alf(i,k)
 
  572          IF(vgri(i,k,l).LT.0.) 
THEN 
  574          temptm=-alf(i,k)*s0(i,k,l,jv)+alf1(i,k)*f0(i,k,jv)
 
  575          s0(i,k,l,jv)=s0(i,k,l,jv)+f0(i,k,jv)
 
  576          syy(i,k,l,jv)=alf1q(i,k)*syy(i,k,l,jv)
 
  577      +           +5.*(-alf3(i,k)*sy(i,k,l,jv)+alf2(i,k)*temptm )
 
  578          sy(i,k,l,jv)=alf1(i,k)*sy(i,k,l,jv)+3.*temptm
 
  579       ssxy(i,k,l,jv)=alf1(i,k)*ssxy(i,k,l,jv)-3.*alf(i,k)*ssx(i,k,l,jv)
 
  580       syz(i,k,l,jv)=alf1(i,k)*syz(i,k,l,jv)-3.*alf(i,k)*sz(i,k,l,jv)
 
  596                sm(iip1,j,l) = sm(1,j,l)
 
  597                s0(iip1,j,l,jv) = s0(1,j,l,jv)
 
  598                ssx(iip1,j,l,jv) = ssx(1,j,l,jv)   
 
  599                sy(iip1,j,l,jv) = sy(1,j,l,jv)
 
  600                sz(iip1,j,l,jv) = sz(1,j,l,jv)
 
  630               sqf = sqf + s0(i,j,l,ntra)
 
  634       print*,
'---------- DIAG DANS ADVY - SORTIE --------' 
!$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
 
subroutine advyp(LIMIT, DTY, PBARV, SM, S0, SSX, SY, SZ, SSXX, SSXY, SSXZ, SYY, SYZ, SZZ, ntra)