36 at4_1, at4_2, at5, at6, at7, atr1, am1, am2, alb1, &
37 aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld, &
38 ai1, ai2, ai3, dzeta_t, &
39 dtime_temp, dtt_2dxi, dtt_2deta, dtime_temp_inv, &
48 integer(i4b),
intent(in) :: i, j
49 real(dp),
intent(in) :: at1(0:kcmax), at2_1(0:kcmax), at2_2(0:kcmax), &
50 at3_1(0:kcmax), at3_2(0:kcmax), at4_1(0:kcmax), &
51 at4_2(0:kcmax), at5(0:kcmax), at6(0:kcmax), at7, &
52 ai1(0:kcmax), ai2(0:kcmax), ai3, &
54 real(dp),
intent(in) :: aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld
55 real(dp),
intent(in) :: dzeta_t
56 real(dp),
intent(in) :: dtime_temp, dtime_temp_inv, dtt_2dxi, dtt_2deta
59 real(dp) :: difftemp_a, difftemp_b, interpol
66 difftemp_a = temp_c_neu(0,j,i)-(-beta*h_c_neu(j,i))
67 if (difftemp_a <= 0.0_dp)
return
73 zm_neu(j,i) = zm_neu(j,i) + zm_shift
74 if (zm_neu(j,i) >= zs(j,i))
then
75 zm_neu(j,i) = zm_neu(j,i) - zm_shift
78 h_c_neu(j,i) = h_c_neu(j,i) - zm_shift
79 h_t_neu(j,i) = h_t_neu(j,i) + zm_shift
81 dh_t_dtau(j,i) = (zm_neu(j,i)-zm(j,i))*dtime_temp_inv
82 dzm_dtau(j,i) = dzb_dtau(j,i)+dh_t_dtau(j,i)
83 dh_c_dtau(j,i) = dzs_dtau(j,i)-dzm_dtau(j,i)
85 am_perp(j,i) = am_perp_st(j,i) + dzm_dtau(j,i)
87 call
calc_temp3(at1, at2_1, at2_2, at3_1, at3_2, &
88 at4_1, at4_2, at5, at6, at7, atr1, &
90 aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld, &
91 ai1, ai2, ai3, dzeta_t, &
92 dtime_temp, dtt_2dxi, dtt_2deta, i, j)
94 difftemp_b = difftemp_a
95 difftemp_a = temp_c_neu(0,j,i)-(-beta*h_c_neu(j,i))
97 if (difftemp_a > 0.0_dp) go to 10
103 interpol = difftemp_a/(difftemp_b-difftemp_a)*zm_shift
105 zm_neu(j,i) = zm_neu(j,i) + interpol
106 h_c_neu(j,i) = h_c_neu(j,i) - interpol
107 h_t_neu(j,i) = h_t_neu(j,i) + interpol
109 dh_t_dtau(j,i) = (zm_neu(j,i)-zm(j,i))*dtime_temp_inv
110 dzm_dtau(j,i) = dzb_dtau(j,i)+dh_t_dtau(j,i)
111 dh_c_dtau(j,i) = dzs_dtau(j,i)-dzm_dtau(j,i)
113 am_perp(j,i) = am_perp_st(j,i) + dzm_dtau(j,i)
115 call
calc_temp3(at1, at2_1, at2_2, at3_1, at3_2, &
116 at4_1, at4_2, at5, at6, at7, atr1, &
118 aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld, &
119 ai1, ai2, ai3, dzeta_t, &
120 dtime_temp, dtt_2dxi, dtt_2deta, i, j)
subroutine calc_temp3(at1, at2_1, at2_2, at3_1, at3_2, at4_1, at4_2, at5, at6, at7, atr1, am1, am2, alb1, aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld, ai1, ai2, ai3, dzeta_t, dtime_temp, dtt_2dxi, dtt_2deta, i, j)
Computation of temperature, water content and age for an ice column with a temperate base overlain by...
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
subroutine shift_cts_upward(at1, at2_1, at2_2, at3_1, at3_2, at4_1, at4_2, at5, at6, at7, atr1, am1, am2, alb1, aw1, aw2, aw3, aw4, aw5, aw7, aw8, aw9, aqtld, ai1, ai2, ai3, dzeta_t, dtime_temp, dtt_2dxi, dtt_2deta, dtime_temp_inv, i, j)
Upward shifting of the CTS.
Declarations of global variables for SICOPOLIS.