42 #if (CALCMOD==2 || CALCMOD==3)
48 integer(i4b),
intent(in) :: i, j
49 real(dp),
intent(in) :: atr1, alb1
51 integer(i4b) :: kc, kt, kr
52 real(dp) :: ctr1, clb1
53 real(dp) :: lgs_a0(0:kcmax+ktmax+krmax+imax+jmax), &
54 lgs_a1(0:kcmax+ktmax+krmax+imax+jmax), &
55 lgs_a2(0:kcmax+ktmax+krmax+imax+jmax), &
56 lgs_x(0:kcmax+ktmax+krmax+imax+jmax), &
57 lgs_b(0:kcmax+ktmax+krmax+imax+jmax)
63 clb1 = alb1*q_geo(j,i)
77 lgs_a1(kr) = 1.0_dp + 2.0_dp*ctr1
79 lgs_b(kr) = temp_r(kr,j,i)
89 lgs_b(kr) = 2.0_dp*clb1
97 lgs_b(kr) = temp_s(j,i)
101 call
tri_sle(lgs_a0, lgs_a1, lgs_a2, lgs_x, lgs_b, krmax)
106 temp_r_neu(kr,j,i) = lgs_x(kr)
112 #if (CALCMOD==2 || CALCMOD==3)
117 omega_t_neu(kt,j,i) = 0.0_dp
118 age_t_neu(kt,j,i) = 0.0_dp
119 #if (CALCMOD==2 || CALCMOD==3)
120 enth_t_neu(kt,j,i) = enth_val
129 temp_c_neu(kc,j,i) = temp_s(j,i)
130 age_c_neu(kc,j,i) = 0.0_dp
131 #if (CALCMOD==2 || CALCMOD==3)
132 omega_c_neu(kc,j,i) = 0.0_dp
133 enth_c_neu(kc,j,i) = enth_val
subroutine tri_sle(a0, a1, a2, x, b, nrows)
Solution of a system of linear equations Ax=b with tridiagonal matrix A.
Declarations of kind types for SICOPOLIS.
Declarations of global variables for SICOPOLIS (for the ANT domain).
Solvers for systems of linear equations used by SICOPOLIS.
Declarations of global variables for SICOPOLIS.
Conversion from temperature (temp) and water content (omega) to enthalpy (enth) and vice versa...
subroutine calc_temp_r(atr1, alb1, i, j)
Computation of temperature for an ice-free column.
real(dp) function, public enth_fct_temp_omega(temp_val, omega_val)
Enthalpy as a function of temperature and water content.