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