43 real(dp),
intent(in) :: z_sl
44 real(dp),
intent(in) :: dxi, deta, dzeta_c
46 integer(i4b) :: i, j, kt, kc
47 real(dp),
dimension(0:JMAX,0:IMAX) :: vz_sl
48 real(dp),
dimension(0:KCMAX) :: zeta_c_sgz, eaz_c_sgz, eaz_c_quotient_sgz
49 real(dp) :: dxi_inv, deta_inv
50 real(dp) :: dvx_dxi, dvy_deta
53 deta_inv = 1.0_dp/deta
59 zeta_c_sgz(kc) = (kc+0.5_dp)*dzeta_c
61 if (flag_aa_nonzero)
then
62 eaz_c_sgz(kc) = exp(aa*zeta_c_sgz(kc))
63 eaz_c_quotient_sgz(kc) = (eaz_c_sgz(kc)-1.0_dp)/(ea-1.0_dp)
65 eaz_c_sgz(kc) = 1.0_dp
66 eaz_c_quotient_sgz(kc) = zeta_c_sgz(kc)
76 if (maske(j,i)==3_i2b)
then
80 dvx_dxi = insq_g11_g(j,i)*insq_g22_g(j,i) &
81 *(vx_m(j,i)*sq_g22_sgx(j,i)-vx_m(j,i-1)*sq_g22_sgx(j,i-1)) &
84 dvy_deta = insq_g11_g(j,i)*insq_g22_g(j,i) &
85 *(vy_m(j,i)*sq_g11_sgy(j,i)-vy_m(j-1,i)*sq_g11_sgy(j-1,i)) &
90 vz_b(j,i) = 0.5_dp*(vx_m(j,i)+vx_m(j,i-1))*dzb_dxi_g(j,i) &
91 +0.5_dp*(vy_m(j,i)+vy_m(j-1,i))*dzb_deta_g(j,i) &
92 +dzb_dtau(j,i)-q_b_tot(j,i)
97 vz_sl(j,i) = vz_b(j,i) - (z_sl-zb(j,i))*(dvx_dxi+dvy_deta)
101 vz_s(j,i) = vz_sl(j,i) - (zs(j,i)-z_sl)*(dvx_dxi+dvy_deta)
106 if ((n_cts(j,i) == -1).or.(n_cts(j,i) == 0))
then
109 vz_m(j,i) = vz_b(j,i)
113 vz_m(j,i) = vz_b(j,i) - h_t(j,i)*(dvx_dxi+dvy_deta)
120 vz_c(kc,j,i) = vz_sl(j,i) &
121 -(zm(j,i)+eaz_c_quotient_sgz(kc)*h_c(j,i)-z_sl) &
125 if ((n_cts(j,i) == -1).or.(n_cts(j,i) == 0))
then
129 vz_t(kt,j,i) = vz_b(j,i)
135 vz_t(kt,j,i) = vz_sl(j,i) &
137 +0.5_dp*(zeta_t(kt)+zeta_t(kt+1))*h_t(j,i) &
subroutine calc_vz_ssa(z_sl, dxi, deta, dzeta_c)
Computation of the vertical velocity vz in the shallow shelf approximation.
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
Declarations of global variables for SICOPOLIS.