42 real(dp), 
intent(in) :: dxi, deta, dzeta_c, dzeta_t
 
   44 integer(i4b) :: i, j, kc, kt
 
   45 real(dp)     :: vz_m(0:jmax,0:imax)
 
   46 real(dp)     :: avz3(0:kcmax)
 
   47 real(dp)     :: cvz00, cvz0(0:ktmax), cvz1(0:ktmax), cvz2(0:ktmax), &
 
   48                 cvz3(0:kcmax), cvz4(0:kcmax), cvz5(0:kcmax)
 
   49 real(dp)     :: dxi_inv, deta_inv
 
   54 deta_inv = 1.0_dp/deta
 
   57    avz3(kc)  = deform*eaz_c(kc)/(ea-1.0_dp)*dzeta_c
 
   63    if (maske(j,i) == 0) 
then    
   67       cvz00 = 0.5_dp*(vx_t(0,j,i)+vx_t(0,j,i-1))*dzb_dxi_g(j,i) &
 
   68               +0.5_dp*(vy_t(0,j,i)+vy_t(0,j-1,i))*dzb_deta_g(j,i) &
 
   69               +dzb_dtau(j,i)-q_b_tot(j,i)
 
   72       cvz0(kt) = h_t(j,i)*insq_g11_g(j,i)*insq_g22_g(j,i) &
 
   73               *( (vx_t(kt,j,i)*sq_g22_sgx(j,i) &
 
   74                  -vx_t(kt,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
   75                 +(vy_t(kt,j,i)*sq_g11_sgy(j,i) &
 
   76                  -vy_t(kt,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv ) &
 
   78       cvz1(kt) = (dzb_dxi_g(j,i)+zeta_t(kt)*dh_t_dxi_g(j,i)) &
 
   79               *(vx_t(kt+1,j,i)+vx_t(kt+1,j,i-1) &
 
   80                -vx_t(kt,j,i)  -vx_t(kt,j,i-1))*0.5_dp
 
   81       cvz2(kt) = (dzb_deta_g(j,i)+zeta_t(kt)*dh_t_deta_g(j,i)) &
 
   82               *(vy_t(kt+1,j,i)+vy_t(kt+1,j-1,i) &
 
   83                -vy_t(kt,j,i)  -vy_t(kt,j-1,i))*0.5_dp
 
   86          cvz0(kt) = h_t(j,i)*insq_g11_g(j,i)*insq_g22_g(j,i) &
 
   87               *( (vx_t(kt,j,i)*sq_g22_sgx(j,i) &
 
   88                  -vx_t(kt,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
   89                 +(vy_t(kt,j,i)*sq_g11_sgy(j,i) &
 
   90                  -vy_t(kt,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv ) &
 
   92          cvz1(kt) = (dzb_dxi_g(j,i)+zeta_t(kt)*dh_t_dxi_g(j,i)) &
 
   93               *(vx_t(kt+1,j,i)+vx_t(kt+1,j,i-1) &
 
   94                -vx_t(kt-1,j,i)-vx_t(kt-1,j,i-1))*0.25_dp
 
   95          cvz2(kt) = (dzb_deta_g(j,i)+zeta_t(kt)*dh_t_deta_g(j,i)) &
 
   96               *(vy_t(kt+1,j,i)+vy_t(kt+1,j-1,i) &
 
   97                -vy_t(kt-1,j,i)-vy_t(kt-1,j-1,i))*0.25_dp
 
  101       cvz0(kt) = h_t(j,i)*insq_g11_g(j,i)*insq_g22_g(j,i) &
 
  102               *( (vx_t(kt,j,i)*sq_g22_sgx(j,i) &
 
  103                  -vx_t(kt,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
  104                 +(vy_t(kt,j,i)*sq_g11_sgy(j,i) &
 
  105                  -vy_t(kt,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv ) &
 
  107       cvz1(kt) = (dzb_dxi_g(j,i)+zeta_t(kt)*dh_t_dxi_g(j,i)) &
 
  108               *(vx_t(kt,j,i)  +vx_t(kt,j,i-1) &
 
  109                -vx_t(kt-1,j,i)-vx_t(kt-1,j,i-1))*0.5_dp
 
  110       cvz2(kt) = (dzb_deta_g(j,i)+zeta_t(kt)*dh_t_deta_g(j,i)) &
 
  111               *(vy_t(kt,j,i)  +vy_t(kt,j-1,i) &
 
  112                -vy_t(kt-1,j,i)-vy_t(kt-1,j-1,i))*0.5_dp
 
  115       cvz3(kc) = avz3(kc)*h_c(j,i) &
 
  116                  *insq_g11_g(j,i)*insq_g22_g(j,i) &
 
  117               *( (vx_c(kc,j,i)*sq_g22_sgx(j,i) &
 
  118                  -vx_c(kc,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
  119                 +(vy_c(kc,j,i)*sq_g11_sgy(j,i) &
 
  120                  -vy_c(kc,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv )
 
  121       cvz4(kc) = (dzm_dxi_g(j,i) &
 
  122               +eaz_c_quotient(kc)*dh_c_dxi_g(j,i)) &
 
  123               *(vx_c(kc+1,j,i)+vx_c(kc+1,j,i-1) &
 
  124                -vx_c(kc,j,i)  -vx_c(kc,j,i-1))*0.5_dp
 
  125       cvz5(kc) = (dzm_deta_g(j,i) &
 
  126               +eaz_c_quotient(kc)*dh_c_deta_g(j,i)) &
 
  127               *(vy_c(kc+1,j,i)+vy_c(kc+1,j-1,i) &
 
  128                -vy_c(kc,j,i)  -vy_c(kc,j-1,i))*0.5_dp
 
  131          cvz3(kc) = avz3(kc)*h_c(j,i) &
 
  132                     *insq_g11_g(j,i)*insq_g22_g(j,i) &
 
  133               *( (vx_c(kc,j,i)*sq_g22_sgx(j,i) &
 
  134                  -vx_c(kc,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
  135                 +(vy_c(kc,j,i)*sq_g11_sgy(j,i) &
 
  136                  -vy_c(kc,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv )
 
  137          cvz4(kc) = (dzm_dxi_g(j,i) &
 
  138               +eaz_c_quotient(kc)*dh_c_dxi_g(j,i)) &
 
  139               *(vx_c(kc+1,j,i)+vx_c(kc+1,j,i-1) &
 
  140                -vx_c(kc-1,j,i)-vx_c(kc-1,j,i-1))*0.25_dp
 
  141          cvz5(kc) = (dzm_deta_g(j,i) &
 
  142               +eaz_c_quotient(kc)*dh_c_deta_g(j,i)) &
 
  143               *(vy_c(kc+1,j,i)+vy_c(kc+1,j-1,i) &
 
  144                -vy_c(kc-1,j,i)-vy_c(kc-1,j-1,i))*0.25_dp
 
  148       cvz3(kc) = avz3(kc)*h_c(j,i) &
 
  149                  *insq_g11_g(j,i)*insq_g22_g(j,i) &
 
  150               *( (vx_c(kc,j,i)*sq_g22_sgx(j,i) &
 
  151                  -vx_c(kc,j,i-1)*sq_g22_sgx(j,i-1))*dxi_inv &
 
  152                 +(vy_c(kc,j,i)*sq_g11_sgy(j,i) &
 
  153                  -vy_c(kc,j-1,i)*sq_g11_sgy(j-1,i))*deta_inv )
 
  154       cvz4(kc) = (dzm_dxi_g(j,i) &
 
  155               +eaz_c_quotient(kc)*dh_c_dxi_g(j,i)) &
 
  156               *(vx_c(kc,j,i)  +vx_c(kc,j,i-1) &
 
  157                -vx_c(kc-1,j,i)-vx_c(kc-1,j,i-1))*0.5_dp
 
  158       cvz5(kc) = (dzm_deta_g(j,i) &
 
  159               +eaz_c_quotient(kc)*dh_c_deta_g(j,i)) &
 
  160               *(vy_c(kc,j,i)  +vy_c(kc,j-1,i) &
 
  161                -vy_c(kc-1,j,i)-vy_c(kc-1,j-1,i))*0.5_dp
 
  169       if ((n_cts(j,i) == -1).or.(n_cts(j,i) == 0)) 
then 
  173             vz_t(kt,j,i) = vz_b(j,i)
 
  176          vz_m(j,i) = vz_b(j,i)
 
  178          vz_c(0,j,i) = vz_m(j,i) &
 
  179                        +0.5_dp*(-cvz3(0)+cvz4(0)+cvz5(0))
 
  182             vz_c(kc,j,i) = vz_c(kc-1,j,i) &
 
  183                            -cvz3(kc)+cvz4(kc)+cvz5(kc)
 
  188          vz_t(0,j,i) = vz_b(j,i) &
 
  189                        +0.5_dp*(-cvz0(0)+cvz1(0)+cvz2(0))
 
  192             vz_t(kt,j,i) = vz_t(kt-1,j,i) &
 
  193                            -cvz0(kt)+cvz1(kt)+cvz2(kt)
 
  196          vz_m(j,i) = vz_t(ktmax-1,j,i) &
 
  197                      +0.5_dp*(-cvz0(ktmax)+cvz1(ktmax)+cvz2(ktmax))
 
  199          vz_c(0,j,i) = vz_m(j,i) &
 
  200                        +0.5_dp*(-cvz3(0)+cvz4(0)+cvz5(0))
 
  203             vz_c(kc,j,i) = vz_c(kc-1,j,i) &
 
  204                            -cvz3(kc)+cvz4(kc)+cvz5(kc)
 
  213       vz_s(j,i) = vz_c(kc-1,j,i) &
 
  214                   +0.5_dp*(-cvz3(kc)+cvz4(kc)+cvz5(kc))
 
  221          vz_t(kt,j,i) = 0.0_dp
 
  225          vz_c(kc,j,i) = 0.0_dp