48 real(dp),
intent(in) :: dzeta_c, dzeta_t
50 integer(i4b) :: i, j, kc, kt
51 real(dp) :: avxy3(0:kcmax), aqxy1(0:kcmax)
52 real(dp) :: ctxyz1(0:kcmax,0:jmax,0:imax), &
53 ctxyz2(0:ktmax,0:jmax,0:imax)
54 real(dp) :: flui_t(0:ktmax), flui_c(0:kcmax)
55 real(dp) :: cflui0(0:ktmax), cflui1(0:kcmax)
56 real(dp) :: cvxy2(0:ktmax), cvxy3(0:kcmax)
57 real(dp) :: cqxy0(0:ktmax), cqxy1(0:kcmax)
63 avxy3(kc) = deform*eaz_c(kc)/(ea-1.0_dp)*dzeta_c
64 aqxy1(kc) = deform/(ea-1.0_dp)*eaz_c(kc)*dzeta_c
74 if (maske(j,i) == 0)
then
77 ctxyz1(kc,j,i) = rho*g*h_c(j,i)*(1.0_dp-eaz_c_quotient(kc))
80 if (n_cts(j,i) == 1)
then
83 ctxyz2(kt,j,i) = rho*g*h_t(j,i)*(1.0_dp-zeta_t(kt))
89 ctxyz2(kt,j,i) = 0.0_dp
97 ctxyz1(kc,j,i) = 0.0_dp
101 ctxyz2(kt,j,i) = 0.0_dp
115 txz_c(kc,j,i) = -0.5_dp*(ctxyz1(kc,j,i)+ctxyz1(kc,j,i+1)) &
120 txz_t(kt,j,i) = txz_c(0,j,i) &
121 -0.5_dp*(ctxyz2(kt,j,i)+ctxyz2(kt,j,i+1)) &
134 tyz_c(kc,j,i) = -0.5_dp*(ctxyz1(kc,j,i)+ctxyz1(kc,j+1,i)) &
139 tyz_t(kt,j,i) = tyz_c(0,j,i) &
140 -0.5_dp*(ctxyz2(kt,j,i)+ctxyz2(kt,j+1,i)) &
153 sigma_c(kc,j,i) = ctxyz1(kc,j,i) &
154 *(dzs_dxi_g(j,i)**2+dzs_deta_g(j,i)**2)**0.5_dp
158 sigma_t(kt,j,i) = sigma_c(0,j,i) &
160 *(dzs_dxi_g(j,i)**2+dzs_deta_g(j,i)**2)**0.5_dp
172 if (maske(j,i) == 0)
then
177 flui_t(kt) = 2.0_dp &
180 *
creep(sigma_t(kt,j,i))
181 cflui0(kt) = h_t(j,i)*flui_t(kt)*dzeta_t
185 flui_c(kc) = 2.0_dp &
187 *
ratefac(temp_c(kc,j,i), temp_c_m(kc,j,i)) &
188 *
creep(sigma_c(kc,j,i))
189 cflui1(kc) = aqxy1(kc)*h_c(j,i)*flui_c(kc)
194 flui_ave_sia(j,i) = 0.0_dp
196 if (n_cts(j,i) == 1)
then
199 flui_ave_sia(j,i) = flui_ave_sia(j,i)+0.5_dp*(cflui0(kt+1)+cflui0(kt))
205 flui_ave_sia(j,i) = flui_ave_sia(j,i)+0.5_dp*(cflui1(kc+1)+cflui1(kc))
208 flui_ave_sia(j,i) = flui_ave_sia(j,i)/(h_c(j,i)+h_t(j,i))
212 flui_ave_sia(j,i) = 0.0_dp
225 if (maske(j,i) == 0)
then
230 cvxy2(kt) = 2.0_dp*h_t(j,i) &
233 *
creep(sigma_t(kt,j,i)) &
234 *(ctxyz1(0,j,i)+ctxyz2(kt,j,i)) &
239 cvxy3(kc) = 2.0_dp*avxy3(kc)*h_c(j,i) &
241 *
ratefac(temp_c(kc,j,i), temp_c_m(kc,j,i)) &
242 *
creep(sigma_c(kc,j,i)) &
248 if (n_cts(j,i) == -1)
then
251 d_help_t(kt,j,i) = d_help_b(j,i)
254 d_help_c(0,j,i) = d_help_t(ktmax,j,i)
257 d_help_c(kc+1,j,i) = d_help_c(kc,j,i) &
258 +0.5_dp*(cvxy3(kc+1)+cvxy3(kc))
261 else if (n_cts(j,i) == 0)
then
264 d_help_t(kt,j,i) = d_help_b(j,i)
267 d_help_c(0,j,i) = d_help_t(ktmax,j,i)
270 d_help_c(kc+1,j,i) = d_help_c(kc,j,i) &
271 +0.5_dp*(cvxy3(kc+1)+cvxy3(kc))
276 d_help_t(0,j,i) = d_help_b(j,i)
279 d_help_t(kt+1,j,i) = d_help_t(kt,j,i) &
280 +0.5_dp*(cvxy2(kt+1)+cvxy2(kt))
283 d_help_c(0,j,i) = d_help_t(ktmax,j,i)
286 d_help_c(kc+1,j,i) = d_help_c(kc,j,i) &
287 +0.5_dp*(cvxy3(kc+1)+cvxy3(kc))
295 d_help_t(kt,j,i) = 0.0_dp
299 d_help_c(kc,j,i) = 0.0_dp
313 vx_t(kt,j,i) = -0.5_dp*(d_help_t(kt,j,i)+d_help_t(kt,j,i+1)) &
318 vx_c(kc,j,i) = -0.5_dp*(d_help_c(kc,j,i)+d_help_c(kc,j,i+1)) &
331 vy_t(kt,j,i) = -0.5_dp*(d_help_t(kt,j,i)+d_help_t(kt,j+1,i)) &
336 vy_c(kc,j,i) = -0.5_dp*(d_help_c(kc,j,i)+d_help_c(kc,j+1,i)) &
348 vx_s_g(j,i) = -d_help_c(kcmax,j,i)*dzs_dxi_g(j,i)
349 vy_s_g(j,i) = -d_help_c(kcmax,j,i)*dzs_deta_g(j,i)
356 vh_max = vh_max/year_sec
360 vx_s_g(j,i) = max(vx_s_g(j,i), -vh_max)
361 vx_s_g(j,i) = min(vx_s_g(j,i), vh_max)
362 vy_s_g(j,i) = max(vy_s_g(j,i), -vh_max)
363 vy_s_g(j,i) = min(vy_s_g(j,i), vh_max)
365 vx_t(kt,j,i) = max(vx_t(kt,j,i), -vh_max)
366 vx_t(kt,j,i) = min(vx_t(kt,j,i), vh_max)
367 vy_t(kt,j,i) = max(vy_t(kt,j,i), -vh_max)
368 vy_t(kt,j,i) = min(vy_t(kt,j,i), vh_max)
371 vx_c(kc,j,i) = max(vx_c(kc,j,i), -vh_max)
372 vx_c(kc,j,i) = min(vx_c(kc,j,i), vh_max)
373 vy_c(kc,j,i) = max(vy_c(kc,j,i), -vh_max)
374 vy_c(kc,j,i) = min(vy_c(kc,j,i), vh_max)
385 if (maske(j,i) == 0)
then
390 cqxy0(kt) = h_t(j,i)*d_help_t(kt,j,i)*dzeta_t
394 cqxy1(kc) = aqxy1(kc)*h_c(j,i)*d_help_c(kc,j,i)
401 if (n_cts(j,i) == 1)
then
404 h_diff(j,i) = h_diff(j,i)+0.5_dp*(cqxy0(kt+1)+cqxy0(kt))
410 h_diff(j,i) = h_diff(j,i)+0.5_dp*(cqxy1(kc+1)+cqxy1(kc))
415 if (h_diff(j,i) < hd_min) h_diff(j,i) = 0.0_dp
416 if (h_diff(j,i) > hd_max) h_diff(j,i) = hd_max
433 qx(j,i) = -0.5_dp*(h_diff(j,i)+h_diff(j,i+1))*dzs_dxi(j,i)
435 if ( (maske(j,i)==0).or.(maske(j,i+1)==0) )
then
438 vx_m(j,i) = qx(j,i) / ( 0.5_dp*(h_c(j,i)+h_t(j,i)+h_c(j,i+1)+h_t(j,i+1)) )
450 qy(j,i) = -0.5_dp*(h_diff(j,i)+h_diff(j+1,i))*dzs_deta(j,i)
452 if ( (maske(j,i)==0).or.(maske(j+1,i)==0) )
then
455 vy_m(j,i) = qy(j,i) / ( 0.5_dp*(h_c(j,i)+h_t(j,i)+h_c(j+1,i)+h_t(j+1,i)) )