4   &, pgg  , pref , prmuz, pto1, pw &
 
    5   &, pre1 , pre2 , ptr1 , ptr2 &
 
   92 real_b :: za11, za12, za13, za21, za22, za23, zalpha,&
 
   93           &zam2b, zap2b, zarg, zarg2, zb21, zb22, zb23, &
 
   94           &zbeta, zc1a, zc1b, zc2a, zc2b, zdena, zdenb, &
 
   95           &zdt, zexkm, zexkp, zexmu0, zff, zgp, zri0a, &
 
   96           &zri0b, zri0c, zri0d, zri1a, zri1b, zri1c, &
 
   97           &zri1d, zrk, zrm2, zrp, ztop, zwcp, zwm, zx1, &
 
  112   zff = pgg(jl)*pgg(jl)
 
  113   zgp = pgg(jl)/(_one_+pgg(jl))
 
  114   ztop = (_one_- pw(jl) * zff) * pto1(jl)
 
  115   zwcp = (1-zff)* pw(jl) /(_one_- pw(jl) * zff)
 
  119   zrm2 =  prmuz(jl) * prmuz(jl)
 
  120   zrk = sqrt(3._jprb*zwm*zx1)
 
  121   zx2 = 4._jprb*(_one_-zrk*zrk*zrm2)
 
  123   zalpha = 3._jprb*zwcp*zrm2*(_one_+zgp*zwm)/zx2
 
  124   zbeta = 3._jprb*zwcp* prmuz(jl) *(_one_+3._jprb*zgp*zrm2*zwm)/zx2
 
  126   zarg=max(-085._jprb,min(ztop/prmuz(jl),085._jprb))
 
  128   zarg2=min(zrk*ztop,085._jprb)
 
  131   zxp2p = _one_+zdt*zrp
 
  132   zxm2p = _one_-zdt*zrp
 
  133   zap2b = zalpha+zdt*zbeta
 
  134   zam2b = zalpha-zdt*zbeta
 
  145   zdena = za11 * za22 - za21 * za12
 
  146   zc1a = (za22*za13-za12*za23)/zdena
 
  147   zc2a = (za11*za23-za21*za13)/zdena
 
  148   zri0a = zc1a+zc2a-zalpha
 
  149   zri1a = zrp*(zc1a-zc2a)-zbeta
 
  150   pre1(jl) = (zri0a-zdt*zri1a)/ prmuz(jl)
 
  151   zri0b = zc1a*zexkm+zc2a*zexkp-zalpha*zexmu0
 
  152   zri1b = zrp*(zc1a*zexkm-zc2a*zexkp)-zbeta*zexmu0
 
  153   ptr1(jl) = zexmu0+(zri0b+zdt*zri1b)/ prmuz(jl)
 
  155   pre1(jl) = max(_zero_,min(pre1(jl),_one_))   
 
  156   ptr1(jl) = max(_zero_,min(ptr1(jl),_one_))   
 
  161   zb21 = za21- pref(jl) *zxp2p*zexkm
 
  162   zb22 = za22- pref(jl) *zxm2p*zexkp
 
  163   zb23 = za23- pref(jl) *zexmu0*(zap2b - prmuz(jl) )
 
  164   zdenb = za11 * zb22 - zb21 * za12
 
  165   zc1b = (zb22*za13-za12*zb23)/zdenb
 
  166   zc2b = (za11*zb23-zb21*za13)/zdenb
 
  167   zri0c = zc1b+zc2b-zalpha
 
  168   zri1c = zrp*(zc1b-zc2b)-zbeta
 
  169   pre2(jl) = (zri0c-zdt*zri1c) / prmuz(jl)
 
  170   zri0d = zc1b*zexkm + zc2b*zexkp - zalpha*zexmu0
 
  171   zri1d = zrp * (zc1b*zexkm - zc2b*zexkp) - zbeta*zexmu0
 
  172   ptr2(jl) = zexmu0 + (zri0d + zdt*zri1d) / prmuz(jl)
 
  174   pre2(jl) = max(_zero_,min(pre2(jl),_one_))   
 
  175   ptr2(jl) = max(_zero_,min(ptr2(jl),_one_))   
 
subroutine swde(KIDIA, KFDIA, KLON, PGG, PREF, PRMUZ, PTO1, PW, PRE1, PRE2, PTR1, PTR2)