SICOPOLIS V3.3
sico_variables_m.F90
Go to the documentation of this file.
1 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 !
3 ! Module : s i c o _ v a r i a b l e s _ m
4 !
5 !> @file
6 !!
7 !! Declarations of global variables for SICOPOLIS.
8 !!
9 !! @section Copyright
10 !!
11 !! Copyright 2009-2017 Ralf Greve
12 !!
13 !! @section License
14 !!
15 !! This file is part of SICOPOLIS.
16 !!
17 !! SICOPOLIS is free software: you can redistribute it and/or modify
18 !! it under the terms of the GNU General Public License as published by
19 !! the Free Software Foundation, either version 3 of the License, or
20 !! (at your option) any later version.
21 !!
22 !! SICOPOLIS is distributed in the hope that it will be useful,
23 !! but WITHOUT ANY WARRANTY; without even the implied warranty of
24 !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 !! GNU General Public License for more details.
26 !!
27 !! You should have received a copy of the GNU General Public License
28 !! along with SICOPOLIS. If not, see <http://www.gnu.org/licenses/>.
29 !<
30 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31 
32 !-------------------------------------------------------------------------------
33 !> Declarations of global variables for SICOPOLIS.
34 !<------------------------------------------------------------------------------
36 
37 use sico_types_m
38 
39 implicit none
40 save
41 
42 !-------- Field quantities --------
43 
44 !> maske(j,i): Ice-land-ocean mask.
45 !> 0: grounded ice,
46 !> 1: ice-free land,
47 !> 2: ocean,
48 !> 3: floating ice
49  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske
50 !> maske_old(j,i): Old value of maske (at the previous time step)
51  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_old
52 !> maske_neu(j,i): New value of maske computed during an integration step
53  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_neu
54 !> mask_run(j,i): mask indicating melt type.
55 !> 2: visible (ocean, for later developments),
56 !> 1: visible (grounded ice),
57 !> -1: hidden on land,
58 !> -2: hidden in ocean
59  integer(i2b), dimension(0:JMAX,0:IMAX) :: mask_run
60 !> n_cts(j,i): Mask for thermal conditions.
61 !> -1: cold ice base,
62 !> 0: temperate ice base with cold ice above,
63 !> 1: temperate ice base with temperate ice layer above
64 !> (only for POLY)
65  integer(i2b), dimension(0:JMAX,0:IMAX) :: n_cts
66 !> (.)_neu: New value of quantity (.) computed during an integration step
67  integer(i2b), dimension(0:JMAX,0:IMAX) :: n_cts_neu
68 !> kc_cts(j,i): Position kc of the CTS (for COLD, ENTC, ENTM)
69  integer(i2b), dimension(0:JMAX,0:IMAX) :: kc_cts
70 !> (.)_neu: New value of quantity (.) computed during an integration step
71  integer(i2b), dimension(0:JMAX,0:IMAX) :: kc_cts_neu
72 !> flag_inner_point(j,i): Inner-point flag.
73 !> .true.: inner point,
74 !> .false.: margin point
75  logical, dimension(0:JMAX,0:IMAX) :: flag_inner_point
76 !> flag_grounding_line_1(j,i): Grounding line flag.
77 !> .true.: grounding line point
78 !> (grounded ice point with at least
79 !> one floating ice neighbour),
80 !> .false.: otherwise
81  logical, dimension(0:JMAX,0:IMAX) :: flag_grounding_line_1
82 !> flag_grounding_line_2(j,i): Grounding line flag.
83 !> .true.: grounding line point
84 !> (floating ice point with at least
85 !> one grounded ice neighbour),
86 !> .false.: otherwise
87  logical, dimension(0:JMAX,0:IMAX) :: flag_grounding_line_2
88 !> flag_calving_front_1(j,i): Calving front flag.
89 !> .true.: calving front point
90 !> (floating ice point with at least
91 !> one ocean neighbour),
92 !> .false.: otherwise
93  logical, dimension(0:JMAX,0:IMAX) :: flag_calving_front_1
94 !> flag_calving_front_2(j,i): Calving front flag.
95 !> .true.: calving front point
96 !> (ocean point with at least
97 !> one floating ice neighbour),
98 !> .false.: otherwise
99  logical, dimension(0:JMAX,0:IMAX) :: flag_calving_front_2
100 !> flag_shelfy_stream_x(j,i): Shelfy stream flag in x-direction, at (i+1/2,j).
101 !> .true.: shelfy stream point
102 !> .false.: otherwise
103  logical, dimension(0:JMAX,0:IMAX) :: flag_shelfy_stream_x
104 !> flag_shelfy_stream_y(j,i): Shelfy stream flag in y-direction, at (i,j+1/2).
105 !> .true.: shelfy stream point
106 !> .false.: otherwise
107  logical, dimension(0:JMAX,0:IMAX) :: flag_shelfy_stream_y
108 !> flag_shelfy_stream(j,i): Shelfy stream flag on the main grid.
109 !> .true.: grounded ice,
110 !> and at least one neighbour on the
111 !> staggered grid is a shelfy stream point
112 !> .false.: otherwise
113  logical, dimension(0:JMAX,0:IMAX) :: flag_shelfy_stream
114 !> xi(i): Coordinate xi (= x) of grid point i
115  real(dp), dimension(0:IMAX) :: xi
116 !> eta(j): Coordinate eta (= y) of grid point j
117  real(dp), dimension(0:JMAX) :: eta
118 !> zeta_c(kc): Sigma coordinate zeta_c of grid point kc
119  real(dp), dimension(0:KCMAX) :: zeta_c
120 !> zeta_t(kt): Sigma coordinate zeta_t of grid point kt
121  real(dp), dimension(0:KTMAX) :: zeta_t
122 !> zeta_r(kr): Sigma coordinate zeta_r of grid point kr
123  real(dp), dimension(0:KRMAX) :: zeta_r
124 !> aa: Exponential stretch parameter of the non-equidistant vertical grid
125 !> in the upper (kc) ice domain
126  real(dp) :: aa
127 !> flag_aa_nonzero: Flag for the exponential stretch parameter aa.
128 !> .true.: aa greater than zero (non-equidistant grid)
129 !> .false.: aa equal to zero (equidistant grid)
130  logical :: flag_aa_nonzero
131 !> ea: Abbreviation for exp(aa)
132  real(dp) :: ea
133 !> eaz_c(kc): Abbreviation for exp(aa*zeta(kc))
134  real(dp), dimension(0:KCMAX) :: eaz_c
135 !> eaz_c_quotient(kc): Abbreviation for (eaz_c(kc)-1.0)/(ea-1.0)
136  real(dp), dimension(0:KCMAX) :: eaz_c_quotient
137 
138 !> lambda(j,i): Geographic longitude of grid point (i,j)
139  real(dp), dimension(0:JMAX,0:IMAX) :: lambda
140 !> phi(j,i): Geographic latitude of grid point (i,j)
141  real(dp), dimension(0:JMAX,0:IMAX) :: phi
142 !> area(j,i): Area of grid cell associated with grid point (i,j)
143  real(dp), dimension(0:JMAX,0:IMAX) :: area
144 !> sq_g11_g(j,i): Square root of the coefficient g11 of the metric tensor
145 !> on grid point (i,j)
146  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g11_g
147 !> sq_g22_g(j,i): Square root of the coefficient g22 of the metric tensor
148 !> on grid point (i,j)
149  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g22_g
150 !> insq_g11_g(j,i): Inverse square root of g11 on grid point (i,j)
151  real(dp), dimension(0:JMAX,0:IMAX) :: insq_g11_g
152 !> insq_g22_g(j,i): Inverse square root of g22 on grid point (i,j)
153  real(dp), dimension(0:JMAX,0:IMAX) :: insq_g22_g
154 !> sq_g11_sgx(j,i): Square root of g11, at (i+1/2,j)
155  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g11_sgx
156 !> sq_g11_sgy(j,i): Square root of g11, at (i,j+1/2)
157  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g11_sgy
158 !> sq_g22_sgx(j,i): Square root of g22, at (i+1/2,j)
159  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g22_sgx
160 !> sq_g22_sgy(j,i): Square root of g22, at (i,j+1/2)
161  real(dp), dimension(0:JMAX,0:IMAX) :: sq_g22_sgy
162 !> insq_g11_sgx(j,i): Inverse square root of g11, at (i+1/2,j)
163  real(dp), dimension(0:JMAX,0:IMAX) :: insq_g11_sgx
164 !> insq_g22_sgy(j,i): Inverse square root of g22, at (i,j+1/2)
165  real(dp), dimension(0:JMAX,0:IMAX) :: insq_g22_sgy
166 !> zs(j,i): Coordinate z of the surface topography
167  real(dp), dimension(0:JMAX,0:IMAX) :: zs
168 !> zm(j,i): Coordinate z of the bottom of the upper (kc) ice domain
169 !> = top of the lower (kt) ice domain
170 !> (position of the CTS for POLY,
171 !> equal to zb for ISOT, COLD, ENTC, ENTM)
172  real(dp), dimension(0:JMAX,0:IMAX) :: zm
173 !> zb(j,i): Coordinate z of the ice base
174  real(dp), dimension(0:JMAX,0:IMAX) :: zb
175 !> zl(j,i): Coordinate z of the lithosphere surface
176  real(dp), dimension(0:JMAX,0:IMAX) :: zl
177 !> zl0(j,i): zl for isostatically relaxed ice-free conditions
178  real(dp), dimension(0:JMAX,0:IMAX) :: zl0
179 !> wss(j,i): Isostatic steady-state displacement of the lithosphere
180  real(dp), dimension(0:JMAX,0:IMAX) :: wss
181 !> flex_rig_lith(j,i): Flexural rigidity of the lithosphere
182  real(dp), dimension(0:JMAX,0:IMAX) :: flex_rig_lith
183 !> time_lag_asth(j,i): Time lag of the relaxing asthenosphere
184  real(dp), dimension(0:JMAX,0:IMAX) :: time_lag_asth
185 !> H_c(j,i): Thickness of ice in the upper (kc) domain
186 !> (thickness of the cold-ice layer for POLY,
187 !> entire ice thickness for ISOT, COLD, ENTC, ENTM)
188  real(dp), dimension(0:JMAX,0:IMAX) :: h_c
189 !> H_t(j,i): Thickness of ice in the lower (kt) domain
190 !> (thickness of the temperate layer for POLY,
191 !> redundant and thus set to zero for ISOT, COLD, ENTC, ENTM)
192  real(dp), dimension(0:JMAX,0:IMAX) :: h_t
193 !> dzs_dxi(j,i): Derivative of zs by xi (at i+1/2,j)
194  real(dp), dimension(0:JMAX,0:IMAX) :: dzs_dxi
195 !> dzm_dxi(j,i): Derivative of zm by xi (at i+1/2,j)
196  real(dp), dimension(0:JMAX,0:IMAX) :: dzm_dxi
197 !> dzb_dxi(j,i): Derivative of zb by xi (at i+1/2,j)
198  real(dp), dimension(0:JMAX,0:IMAX) :: dzb_dxi
199 !> dH_c_dxi(j,i): Derivative of H_c by xi (at i+1/2,j)
200  real(dp), dimension(0:JMAX,0:IMAX) :: dh_c_dxi
201 !> dH_t_dxi(j,i): Derivative of H_t by xi (at i+1/2,j)
202  real(dp), dimension(0:JMAX,0:IMAX) :: dh_t_dxi
203 !> dzs_deta(j,i): Derivative of zs by eta (at i,j+1/2)
204  real(dp), dimension(0:JMAX,0:IMAX) :: dzs_deta
205 !> dzm_deta(j,i): Derivative of zm by eta (at i,j+1/2)
206  real(dp), dimension(0:JMAX,0:IMAX) :: dzm_deta
207 !> dzb_deta(j,i): Derivative of zb by eta (at i,j+1/2)
208  real(dp), dimension(0:JMAX,0:IMAX) :: dzb_deta
209 !> dH_c_deta(j,i): Derivative of H_c by eta (at i,j+1/2)
210  real(dp), dimension(0:JMAX,0:IMAX) :: dh_c_deta
211 !> dH_t_deta(j,i): Derivative of H_t by eta (at i,j+1/2)
212  real(dp), dimension(0:JMAX,0:IMAX) :: dh_t_deta
213 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
214  real(dp), dimension(0:JMAX,0:IMAX) :: dzs_dxi_g
215 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
216  real(dp), dimension(0:JMAX,0:IMAX) :: dzm_dxi_g
217 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
218  real(dp), dimension(0:JMAX,0:IMAX) :: dzb_dxi_g
219 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
220  real(dp), dimension(0:JMAX,0:IMAX) :: dh_c_dxi_g
221 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
222  real(dp), dimension(0:JMAX,0:IMAX) :: dh_t_dxi_g
223 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
224  real(dp), dimension(0:JMAX,0:IMAX) :: dzs_deta_g
225 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
226  real(dp), dimension(0:JMAX,0:IMAX) :: dzm_deta_g
227 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
228  real(dp), dimension(0:JMAX,0:IMAX) :: dzb_deta_g
229 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
230  real(dp), dimension(0:JMAX,0:IMAX) :: dh_c_deta_g
231 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
232  real(dp), dimension(0:JMAX,0:IMAX) :: dh_t_deta_g
233 !> dzs_dtau(j,i): Derivative of zs by tau (time)
234  real(dp), dimension(0:JMAX,0:IMAX) :: dzs_dtau
235 !> dzm_dtau(j,i): Derivative of zm by tau (time)
236  real(dp), dimension(0:JMAX,0:IMAX) :: dzm_dtau
237 !> dzb_dtau(j,i): Derivative of zb by tau (time)
238  real(dp), dimension(0:JMAX,0:IMAX) :: dzb_dtau
239 !> dzl_dtau(j,i): Derivative of zl by tau (time)
240  real(dp), dimension(0:JMAX,0:IMAX) :: dzl_dtau
241 !> dH_c_dtau(j,i): Derivative of H_c by tau (time)
242  real(dp), dimension(0:JMAX,0:IMAX) :: dh_c_dtau
243 !> dH_t_dtau(j,i): Derivative of H_t by tau (time)
244  real(dp), dimension(0:JMAX,0:IMAX) :: dh_t_dtau
245 !> p_weert(j,i): Weertman exponent for the basal shear stress
246  integer(i4b), dimension(0:JMAX,0:IMAX) :: p_weert
247 !> q_weert(j,i): Weertman exponent for the basal pressure
248  integer(i4b), dimension(0:JMAX,0:IMAX) :: q_weert
249 !> p_weert_inv(j,i): Inverse of p_weert
250  real(dp), dimension(0:JMAX,0:IMAX) :: p_weert_inv
251 !> c_slide(j,i): Basal sliding coefficient
252  real(dp), dimension(0:JMAX,0:IMAX) :: c_slide
253 !> d_help_b(j,i): Auxiliary quantity for the computation of vx_b and vy_b
254  real(dp), dimension(0:JMAX,0:IMAX) :: d_help_b
255 !> c_drag(j,i): Auxiliary quantity for the computation of the basal drag
256  real(dp), dimension(0:JMAX,0:IMAX) :: c_drag
257 !> p_b_w(j,i): Basal water pressure
258  real(dp), dimension(0:JMAX,0:IMAX) :: p_b_w
259 !> vx_b(j,i): Velocity in x-direction at the ice base, at (i+1/2,j)
260  real(dp), dimension(0:JMAX,0:IMAX) :: vx_b
261 !> vy_b(j,i): Velocity in y-direction at the ice base, at (i,j+1/2)
262  real(dp), dimension(0:JMAX,0:IMAX) :: vy_b
263 !> vx_m(j,i): Mean (depth-averaged) velocity in x-direction, at (i+1/2,j)
264  real(dp), dimension(0:JMAX,0:IMAX) :: vx_m
265 !> vy_m(j,i): Mean (depth-averaged) velocity in y-direction, at (i,j+1/2)
266  real(dp), dimension(0:JMAX,0:IMAX) :: vy_m
267 !> ratio_sl_x(j,i): Ratio of basal to surface velocity (slip ratio)
268 !> in x-direction, at (i+1/2,j)
269  real(dp), dimension(0:JMAX,0:IMAX) :: ratio_sl_x
270 !> ratio_sl_y(j,i): Ratio of basal to surface velocity (slip ratio)
271 !> in y-direction, at (i,j+1/2)
272  real(dp), dimension(0:JMAX,0:IMAX) :: ratio_sl_y
273 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
274  real(dp), dimension(0:JMAX,0:IMAX) :: vx_b_g
275 !> (.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
276  real(dp), dimension(0:JMAX,0:IMAX) :: vy_b_g
277 !> vz_b(j,i): Velocity in z-direction at the ice base, at (i,j)
278  real(dp), dimension(0:JMAX,0:IMAX) :: vz_b
279 !> vz_m(j,i): Velocity in z-direction at the position z=zm (interface between
280 !> the upper (kc) and the lower (kt) domain), at (i,j)
281  real(dp), dimension(0:JMAX,0:IMAX) :: vz_m
282 !> vx_s_g(j,i): Velocity in x-direction at the ice surface, at (i,j)
283  real(dp), dimension(0:JMAX,0:IMAX) :: vx_s_g
284 !> vy_s_g(j,i): Velocity in x-direction at the ice surface, at (i,j)
285  real(dp), dimension(0:JMAX,0:IMAX) :: vy_s_g
286 !> vz_s(j,i): Velocity in z-direction at the ice surface, at (i,j)
287  real(dp), dimension(0:JMAX,0:IMAX) :: vz_s
288 !> flui_ave_sia(j,i): Depth-averaged fluidity of the SIA
289  real(dp), dimension(0:JMAX,0:IMAX) :: flui_ave_sia
290 !> h_diff(j,i): Diffusivity of the SIA evolution equation of the ice surface
291  real(dp), dimension(0:JMAX,0:IMAX) :: h_diff
292 !> qx(j,i): Volume flux in x-direction (depth-integrated vx, at (i+1/2,j))
293  real(dp), dimension(0:JMAX,0:IMAX) :: qx
294 !> qy(j,i): Volume flux in y-direction (depth-integrated vy, at (i,j+1/2))
295  real(dp), dimension(0:JMAX,0:IMAX) :: qy
296 !> q_gl_g(j,i): Volume flux across the grounding line, at (i,j)
297  real(dp), dimension(0:JMAX,0:IMAX) :: q_gl_g
298 !> q_geo(j,i): Geothermal heat flux
299  real(dp), dimension(0:JMAX,0:IMAX) :: q_geo
300 !> temp_b(j,i): Basal temperature
301  real(dp), dimension(0:JMAX,0:IMAX) :: temp_b
302 !> temph_b(j,i): Basal temperature relative to the pressure melting point
303  real(dp), dimension(0:JMAX,0:IMAX) :: temph_b
304 !> Q_bm(j,i): Basal melting rate
305  real(dp), dimension(0:JMAX,0:IMAX) :: q_bm
306 !> Q_tld(j,i): Water drainage rate from the temperate layer
307  real(dp), dimension(0:JMAX,0:IMAX) :: q_tld
308 !> Q_b_tot(j,i): Sum of Q_bm and Q_tld
309  real(dp), dimension(0:JMAX,0:IMAX) :: q_b_tot
310 !> H_w(j,i): Thickness of the water column under the ice base
311  real(dp), dimension(0:JMAX,0:IMAX) :: h_w
312 !> accum(j,i): Accumulation rate at the ice surface
313 !> (includes liquid precipitation = rainfall!)
314  real(dp), dimension(0:JMAX,0:IMAX) :: accum
315 !> evap(j,i): Evaporation rate at the ice surface
316  real(dp), dimension(0:JMAX,0:IMAX) :: evap
317 !> runoff(j,i): Runoff rate at the ice surface
318  real(dp), dimension(0:JMAX,0:IMAX) :: runoff
319 !> as_perp(j,i): Accumulation-ablation function at the ice surface (SMB)
320  real(dp), dimension(0:JMAX,0:IMAX) :: as_perp
321 !> as_perp_apl(j,i): Applied accumulation-ablation function (SMB)
322  real(dp), dimension(0:JMAX,0:IMAX) :: as_perp_apl
323 !> mb_source_apl(j,i): Applied mass balance source (SMB, BMB, calving)
324  real(dp), dimension(0:JMAX,0:IMAX) :: mb_source_apl
325 !> runoff_top(j,i): Runoff rate (accounting at ice surface)
326  real(dp), dimension(0:JMAX,0:IMAX) :: runoff_top
327 !> runoff_bot(j,i): Runoff rate (accounting at ice bottom)
328  real(dp), dimension(0:JMAX,0:IMAX) :: runoff_bot
329 !> disc_top(j,i): Ice discharge rate (accounting at ice surface)
330  real(dp), dimension(0:JMAX,0:IMAX) :: disc_top
331 !> calv_grounded(j,i): Calving rate of grounded ice
332  real(dp), dimension(0:JMAX,0:IMAX) :: calv_grounded
333 !> temp_s(j,i): Ice surface temperature
334  real(dp), dimension(0:JMAX,0:IMAX) :: temp_s
335 !> am_perp(j,i): Ice volume flux across the z=zm interface
336  real(dp), dimension(0:JMAX,0:IMAX) :: am_perp
337 !> am_perp_st(j,i): Steady-state part of am_perp
338 !> (without contribution of dzm_dtau)
339  real(dp), dimension(0:JMAX,0:IMAX) :: am_perp_st
340 !> (.)_neu: New value of quantity (.) computed during an integration step
341  real(dp), dimension(0:JMAX,0:IMAX) :: zs_neu
342 !> (.)_neu: New value of quantity (.) computed during an integration step
343  real(dp), dimension(0:JMAX,0:IMAX) :: zm_neu
344 !> (.)_neu: New value of quantity (.) computed during an integration step
345  real(dp), dimension(0:JMAX,0:IMAX) :: zb_neu
346 !> (.)_neu: New value of quantity (.) computed during an integration step
347  real(dp), dimension(0:JMAX,0:IMAX) :: zl_neu
348 !> (.)_neu: New value of quantity (.) computed during an integration step
349  real(dp), dimension(0:JMAX,0:IMAX) :: h_c_neu
350 !> (.)_neu: New value of quantity (.) computed during an integration step
351  real(dp), dimension(0:JMAX,0:IMAX) :: h_t_neu
352 
353 !> zs_ref(j,i): Reference elevation for precip_present, temp_ma_present
354 !> and temp_mj_present
355  real(dp), dimension(0:JMAX,0:IMAX) :: zs_ref
356 
357 !> accum_present(j,i): Present-day accumulation rate at the ice surface
358 !> (for EISMINT, ISMIP HEINO and the north and south
359 !> polar caps of Mars)
360  real(dp), dimension(0:JMAX,0:IMAX) :: accum_present
361 !> precip_ma_present(j,i): Present-day mean annual precipitation rate
362 !> at the ice surface
363  real(dp), dimension(0:JMAX,0:IMAX) :: precip_ma_present
364 !> precip_ma_lgm_anom(j,i): LGM anomaly (ratio LGM/present) of the mean annual
365 !> precipitation rate at the ice surface
366  real(dp), dimension(0:JMAX,0:IMAX) :: precip_ma_lgm_anom
367 !> temp_ma_present(j,i): Present-day mean annual surface temperature
368  real(dp), dimension(0:JMAX,0:IMAX) :: temp_ma_present
369 !> temp_mj_present(j,i): Present-day mean summer (northern hemisphere: July,
370 !> southern hemisphere: January) surface temperature
371  real(dp), dimension(0:JMAX,0:IMAX) :: temp_mj_present
372 !> temp_ma_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean
373 !> annual surface temperature
374  real(dp), dimension(0:JMAX,0:IMAX) :: temp_ma_lgm_anom
375 !> temp_mj_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean
376 !> summer (northern hemisphere: July, southern
377 !> hemisphere: January) surface temperature
378  real(dp), dimension(0:JMAX,0:IMAX) :: temp_mj_lgm_anom
379 
380 !> dist_dxdy(jr,ir): Distance between grid points with delta_i=ir, delta_j=jr
381  real(dp), dimension(-JMAX:JMAX,-IMAX:IMAX) :: dist_dxdy
382 
383 !> precip_present(j,i,n): Present-day mean monthly precipitation rate
384 !> at the ice surface
385  real(dp), dimension(0:JMAX,0:IMAX,12) :: precip_present
386 !> precip_lgm_anom(j,i,n): LGM anomaly (ratio LGM/present) of the mean monthly
387 !> precipitation rate at the ice surface
388  real(dp), dimension(0:JMAX,0:IMAX,12) :: precip_lgm_anom
389 !> gamma_precip_lgm_anom(j,i,n): negative natural logarithm of
390 !> precip_lgm_anom(j,i,n)
391  real(dp), dimension(0:JMAX,0:IMAX,12) :: gamma_precip_lgm_anom
392 !> temp_mm_present(j,i,n): Present-day mean monthly surface temperature
393  real(dp), dimension(0:JMAX,0:IMAX,12) :: temp_mm_present
394 !> temp_mm_lgm_anom(j,i,n): LGM anomaly (difference LGM - present) of the mean
395 !> monthly surface temperature
396  real(dp), dimension(0:JMAX,0:IMAX,12) :: temp_mm_lgm_anom
397 
398 !> d_help_c(kc,j,i): Auxiliary quantity for the computation of vx, vy und zs
399  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: d_help_c
400 !> vx_c(kc,j,i): Velocity in x-direction in the upper (kc) ice domain
401 !> (at (i+1/2,j,kc))
402  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vx_c
403 !> vy_c(kc,j,i): Velocity in y-direction in the upper (kc) ice domain
404 !> (at (i,j+1/2,kc))
405  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vy_c
406 !> vz_c(kc,j,i): Velocity in z-direction in the upper (kc) ice domain
407 !> (at (i,j,kc+1/2))
408  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vz_c
409 !> temp_c(kc,j,i): Temperature in the upper (kc) ice domain
410  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c
411 !> (.)_neu: New value of quantity (.) computed during an integration step
412  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c_neu
413 !> temp_c_m(kc,j,i): Melting temperature in the upper (kc) ice domain
414  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c_m
415 !> age_c(kc,j,i): Age in the upper (kc) ice domain
416  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: age_c
417 !> (.)_neu: New value of quantity (.) computed during an integration step
418  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: age_c_neu
419 !> txz_c(kc,j,i): Shear stress txz in the upper (kc) ice domain
420 !> (at (i+1/2,j,kc))
421  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: txz_c
422 !> tyz_c(kc,j,i): Shear stress tyz in the upper (kc) ice domain
423 !> (at (i,j+1/2,kc))
424  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: tyz_c
425 !> sigma_c(kc,j,i): Effective stress in the upper (kc) ice domain
426  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: sigma_c
427 !> enh_c(kc,j,i): Flow enhancement factor in the upper (kc) ice domain
428  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enh_c
429 
430 !> de_ssa(j,i): Effective strain rate of the SSA, at (i,j)
431  real(dp), dimension(0:JMAX,0:IMAX) :: de_ssa
432 !> vis_int_g(j,i): Depth-integrated viscosity of the SSA, at (i,j)
433  real(dp), dimension(0:JMAX,0:IMAX) :: vis_int_g
434 !> vx_g(j,i): Velocity in x-direction of the SSA, at (i,j)
435  real(dp), dimension(0:JMAX,0:IMAX) :: vx_g
436 !> vy_g(j,i): Velocity in y-direction of the SSA, at (i,j)
437  real(dp), dimension(0:JMAX,0:IMAX) :: vy_g
438 
439 !> d_help_t(kt,j,i): Auxiliary quantity for the computation of vx, vy und zs
440  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: d_help_t
441 !> vx_t(kt,j,i): Velocity in x-direction in the lower (kt) ice domain
442 !> (at (i+1/2,j,kt))
443  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vx_t
444 !> vy_t(kt,j,i): Velocity in y-direction in the lower (kt) ice domain
445 !> (at (i,j+1/2,kt))
446  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vy_t
447 !> vz_t(kt,j,i): Velocity in z-direction in the lower (kt) ice domain
448 !> (at (i,j,kt+1/2))
449  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vz_t
450 !> omega_t(kt,j,i): Water content in the lower (kt) ice domain
451  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: omega_t
452 !> (.)_neu: New value of quantity (.) computed during an integration step
453  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: omega_t_neu
454 !> temp_t_m(kt,j,i): Melting temperature in the lower (kt) ice domain
455  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: temp_t_m
456 !> age_t(kt,j,i): Age in the lower (kt) ice domain
457  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: age_t
458 !> (.)_neu: New value of quantity (.) computed during an integration step
459  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: age_t_neu
460 !> txz_t(kt,j,i): Shear stress txz in the lower (kt) ice domain
461 !> (at (i+1/2,j,kt))
462  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: txz_t
463 !> tyz_t(kt,j,i): Shear stress tyz in the lower (kt) ice domain
464 !> (at (i,j+1/2,kt))
465  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: tyz_t
466 !> sigma_t(kt,j,i): Effective stress in the lower (kt) ice domain
467  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: sigma_t
468 !> enh_t(kt,j,i): Flow enhancement factor in the lower (kt) ice domain
469  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enh_t
470 
471 !> temp_r(kr,j,i): Temperature in the bedrock
472  real(dp), dimension(0:KRMAX,0:JMAX,0:IMAX) :: temp_r
473 !> (.)_neu: New value of quantity (.) computed during an integration step
474  real(dp), dimension(0:KRMAX,0:JMAX,0:IMAX) :: temp_r_neu
475 
476 !> enth_c(kc,j,i): Enthalpy in the upper (kc) ice domain
477  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enth_c
478 !> (.)_neu: New value of quantity (.) computed during an integration step
479  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enth_c_neu
480 !> omega_c(kc,j,i): Water content in the upper (kc) ice domain
481  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: omega_c
482 !> (.)_neu: New value of quantity (.) computed during an integration step
483  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: omega_c_neu
484 
485 !> enth_t(kt,j,i): Enthalpy in the lower (kt) ice domain
486  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enth_t
487 !> (.)_neu: New value of quantity (.) computed during an integration step
488  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enth_t_neu
489 
490 !> dxx_c(kc,j,i): Strain rate dxx in the upper (kc) ice domain
491  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxx_c
492 !> dyy_c(kc,j,i): Strain rate dyy in the upper (kc) ice domain
493  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dyy_c
494 !> dxy_c(kc,j,i): Strain rate dxy in the upper (kc) ice domain
495  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxy_c
496 !> dxz_c(kc,j,i): Strain rate dxz in the upper (kc) ice domain
497  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxz_c
498 !> dyz_c(kc,j,i): Strain rate dyz in the upper (kc) ice domain
499  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dyz_c
500 !> de_c(kc,j,i): Full effective strain rate in the upper (kc) ice domain
501  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: de_c
502 !> lambda_shear_c(kc,j,i): Shear fraction in the upper (kc) ice domain
503  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: lambda_shear_c
504 
505 !> dxx_t(kt,j,i): Strain rate dxx in the lower (kt) ice domain
506  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxx_t
507 !> dyy_t(kt,j,i): Strain rate dyy in the lower (kt) ice domain
508  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dyy_t
509 !> dxy_t(kt,j,i): Strain rate dxy in the lower (kt) ice domain
510  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxy_t
511 !> dxz_t(kt,j,i): Strain rate dxz in the lower (kt) ice domain
512  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxz_t
513 !> dyz_t(kt,j,i): Strain rate dyz in the lower (kt) ice domain
514  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dyz_t
515 !> de_t(kt,j,i): Full effective strain rate in the lower (kt) ice domain
516  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: de_t
517 !> lambda_shear_t(kt,j,i): Shear fraction in the lower (kt) ice domain
518  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: lambda_shear_t
519 
520 !-------- Physical parameters --------
521 
522 !> RHO: Density of ice
523  real(dp) :: rho
524 !> RHO_W: Density of pure water
525  real(dp) :: rho_w
526 !> RHO_SW: Density of sea water
527  real(dp) :: rho_sw
528 !> L: Latent heat of ice
529  real(dp) :: l
530 !> G: Acceleration due to gravity
531  real(dp) :: g
532 !> NUE: Water diffusivity in ice
533  real(dp) :: nue
534 !> BETA: Clausius-Clapeyron gradient of ice
535  real(dp) :: beta
536 !> DELTA_TM_SW: Melting point depression of sea water due to its
537 !> average salinity
538  real(dp) :: delta_tm_sw
539 !> OMEGA_MAX: Threshold value for the water content of temperate ice
540  real(dp) :: omega_max
541 !> H_R: Thickness of the modelled lithosphere layer
542  real(dp) :: h_r
543 !> RHO_C_R: Density times specific heat of the lithosphere
544  real(dp) :: rho_c_r
545 !> KAPPA_R: Heat conductivity of the lithosphere
546  real(dp) :: kappa_r
547 !> RHO_A: Density of the asthenosphere
548  real(dp) :: rho_a
549 !> R_T: Coefficient of the water-content dependence in the rate factor
550 !> for temperate ice
551  real(dp) :: r_t
552 !> R: Radius of the planet
553  real(dp) :: r
554 !> A: Semi-major axis of the planet
555  real(dp) :: a
556 !> B: Semi-minor axis of the planet
557  real(dp) :: b
558 !> LAMBDA0: Reference longitude (central meridian) of the stereographic
559 !> projection
560  real(dp) :: lambda0
561 !> PHI0: Standard parallel of the stereographic projection
562  real(dp) :: phi0
563 !> S_STAT_0: Standard deviation of the air termperature for the
564 !> degree-day model
565  real(dp) :: s_stat_0
566 !> BETA1_0: Degree-day factor for snow
567  real(dp) :: beta1_0
568 !> BETA1_LT_0: Degree-day factor for snow at low summer temperatures
569  real(dp) :: beta1_lt_0
570 !> BETA1_HT_0: Degree-day factor for snow at high summer temperatures
571  real(dp) :: beta1_ht_0
572 !> BETA2_0: Degree-day factor for ice
573  real(dp) :: beta2_0
574 !> BETA2_LT_0: Degree-day factor for ice at low summer temperatures
575  real(dp) :: beta2_lt_0
576 !> BETA2_HT_0: Degree-day factor for ice at high summer temperatures
577  real(dp) :: beta2_ht_0
578 !> PHI_SEP_0: Separation latitude for the computation of the degree-day
579 !> factors beta1 and beta2: Equatorward of phi_sep, only the
580 !> high-temperature values are used, whereas poleward of phi_sep,
581 !> beta1 and beta2 are temperature-dependent
582  real(dp) :: phi_sep_0
583 !> PMAX_0: Saturation factor for the formation of superimposed ice
584  real(dp) :: pmax_0
585 !> MU_0: Firn-warming correction
586  real(dp) :: mu_0
587 
588 !> RF(n): Tabulated values for the rate factor of cold ice
589  real(dp), dimension(-190:10) :: rf
590 !> KAPPA(n): Tabulated values for the heat conductivity of ice
591  real(dp), dimension(-190:10) :: kappa
592 !> C(n): Tabulated values for the specific heat of ice
593  real(dp), dimension(-190:10) :: c
594 
595 !-------- Mathematical constants --------
596 
597 !> pi: Constant pi
598  real(dp), parameter :: pi = 3.141592653589793_dp
599 !> pi_inv: Inverse of pi
600  real(dp), parameter :: pi_inv = 1.0_dp/pi
601 !> pi_180: pi divided by 180 (-> deg to rad)
602  real(dp), parameter :: pi_180 = pi/180.0_dp
603 !> pi_180_inv: 180 divided by pi (-> rad to deg)
604  real(dp), parameter :: pi_180_inv = 180.0_dp/pi
605 
606 !> euler: Euler number
607  real(dp), parameter :: euler = 2.718281828459045_dp
608 
609 !> eps: Small number
610  real(dp), parameter :: eps = 1.0e-05_dp
611 !> epsi: Very small number
612  real(dp), parameter :: epsi = 1.0e-12_dp
613 
614 !> eps_sp: Small number to single-precision accuracy
615  real(sp), parameter :: eps_sp = epsilon(1.0_sp)
616 !> eps_sp_dp: Small number to single-precision accuracy in double precision
617  real(dp), parameter :: eps_sp_dp = real(eps_sp,dp)
618 !> eps_dp: Small number to double-precision accuracy
619  real(dp), parameter :: eps_dp = epsilon(1.0_dp)
620 
621 !-------- Further quantities --------
622 
623 !> year_zero: SICOPOLIS year zero in astronomical year numbering
624 !> [ = signed year CE (AD) ]
625  real(dp) :: year_zero
626 
627 !> ch_domain_long: Long name of the computational domain
628  character(len=64) :: ch_domain_long
629 !> ch_domain_short: Short name of the computational domain
630  character(len=16) :: ch_domain_short
631 
632 !> forcing_flag: Flag for the forcing type.
633 !> 1: forcing by a spatially constant surface temperature
634 !> anomaly (delta_ts),
635 !> 2: forcing by a glacial index (glac_index),
636 !> 3: forcing by time-dependent surface temperature
637 !> and precipitation data.
638  integer(i2b) :: forcing_flag
639 
640 !> n_core: Number of positions to be considered in the time-series file
641 !> for deep boreholes
642  integer(i4b) :: n_core
643 !> lambda_core(n): Geographical longitude of the prescribed borehole positions
644  real(dp), dimension(:), allocatable :: lambda_core
645 !> phi_core(n): Geographical latitude of the prescribed borehole positions
646  real(dp), dimension(:), allocatable :: phi_core
647 !> x_core(n): Coordinate xi (= x) of the prescribed borehole positions
648  real(dp), dimension(:), allocatable :: x_core
649 !> y_core(n): Coordinate eta (= y) of the prescribed borehole positions
650  real(dp), dimension(:), allocatable :: y_core
651 !> ch_core(n): Names of the prescribed borehole positions
652  character(len=16), dimension(:), allocatable :: ch_core
653 
654 !> grip_time_min: Minimum time of the data values for the
655 !> surface temperature anomaly
656  integer(i4b) :: grip_time_min
657 !> grip_time_stp: Time step of the data values for the
658 !> surface temperature anomaly
659  integer(i4b) :: grip_time_stp
660 !> grip_time_max: Maximum time of the data values for the
661 !> surface temperature anomaly
662  integer(i4b) :: grip_time_max
663 !> ndata_grip: Number of data values for the surface temperature anomaly
664  integer(i4b) :: ndata_grip
665 !> griptemp(n): Data values for the surface temperature anomaly
666  real(dp), dimension(:), allocatable :: griptemp
667 
668 !> gi_time_min: Minimum time of the data values for the glacial index
669  integer(i4b) :: gi_time_min
670 !> gi_time_stp: Time step of the data values for the glacial index
671  integer(i4b) :: gi_time_stp
672 !> gi_time_max: Maximum time of the data values for the glacial index
673  integer(i4b) :: gi_time_max
674 !> ndata_gi: Number of data values for the glacial index
675  integer(i4b) :: ndata_gi
676 !> glacial_index(n): Data values for the glacial index
677  real(dp), dimension(:), allocatable :: glacial_index
678 
679 !> specmap_time_min: Minimum time of the data values for the sea level
680  integer(i4b) :: specmap_time_min
681 !> specmap_time_stp: Time step of the data values for the sea level
682  integer(i4b) :: specmap_time_stp
683 !> specmap_time_max: Maximum time of the data values for the sea level
684  integer(i4b) :: specmap_time_max
685 !> ndata_specmap: Number of data values for the sea level
686  integer(i4b) :: ndata_specmap
687 !> specmap_zsl(n): Data values for the sea level
688  real(dp), dimension(:), allocatable :: specmap_zsl
689 
690 !> time_target_topo_init: Initial time for target-topography adjustment
692 !> time_target_topo_final: Final time for target-topography adjustment
694 !> target_topo_tau: Relaxation time for target-topography adjustment
695  real(dp) :: target_topo_tau
696 !> maske_target(j,i): Target topography (ice-land-ocean mask)
697  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_target
698 !> zs_target(j,i): Target topography (ice surface)
699  real(dp), dimension(0:JMAX,0:IMAX) :: zs_target
700 !> zb_target(j,i): Target topography (ice base)
701  real(dp), dimension(0:JMAX,0:IMAX) :: zb_target
702 !> zl_target(j,i): Target topography (lithosphere surface)
703  real(dp), dimension(0:JMAX,0:IMAX) :: zl_target
704 !> H_target(j,i): Target topography (ice thickness)
705  real(dp), dimension(0:JMAX,0:IMAX) :: h_target
706 
707 !> maske_maxextent(j,i): Maximum ice extent mask.
708 !> 0: not allowed to glaciate,
709 !> 1: allowed to glaciate.
710  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_maxextent
711 
712 !> ncid_ser: ID of the NetCDF time-series output file
713  integer(i4b) :: ncid_ser
714 !> ncid_core: ID of the NetCDF time-series output file for the deep ice cores
715  integer(i4b) :: ncid_core
716 
717 !> ncid_temp_precip: ID of the NetCDF file containing the
718 !> surface-temperature and precipitation data
719 !> as functions of time
720  integer(i4b) :: ncid_temp_precip
721 !> ndata_temp_precip: Number of surface-temperature
722 !> and precipitation data
723  integer(i4b) :: ndata_temp_precip
724 !> temp_precip_time_min: Minimum time of the surface-temperature
725 !> and precipitation data
727 !> temp_precip_time_stp: Time step of the surface-temperature
728 !> and precipitation data
730 !> temp_precip_time_max: Maximum time of the surface-temperature
731 !> and precipitation data
733 !> temp_precip_time(n): Times of the surface-temperature
734 !> and precipitation data
735  real(dp), dimension(:), allocatable :: temp_precip_time
736 
737 !> kei(n): Tabulated values of the kei function (Kelvin function of zero order)
738  real(dp), dimension(-10000:10000) :: kei
739 !> n_data_kei: Number of tabulated values of the kei function
740  integer(i4b):: n_data_kei
741 !> kei_r_max: Maximum value of the argument r of the tabulated kei function
742  real(dp) :: kei_r_max
743 !> kei_r_incr: Increment of the argument r of the tabulated kei function
744  real(dp) :: kei_r_incr
745 
746 !> rcl1: Maximum length of record for input files
747 !> (with factor 3 safety margin)
748  integer(i4b), parameter :: rcl1 = 3*8*(imax+1)
749 !> rcl2: Maximum length of record for input mask files
750 !> (with factor 3 safety margin)
751  integer(i4b), parameter :: rcl2 = 3 *(imax+1)
752 
753 !> no_value_pos_1: Positive no-value parameter
754  real(dp), parameter :: no_value_pos_1 = 1.11e+11_dp
755 !> no_value_pos_2: Positive no-value parameter
756  real(dp), parameter :: no_value_pos_2 = 9.999e+03_dp
757 !> no_value_neg_1: Negative no-value parameter
758  real(dp), parameter :: no_value_neg_1 = -1.11e+11_dp
759 !> no_value_neg_2: Negative no-value parameter
760  real(dp), parameter :: no_value_neg_2 = -9.999e+03_dp
761 
762 end module sico_variables_m
763 !
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) vx_c
vx_c(kc,j,i): Velocity in x-direction in the upper (kc) ice domain (at (i+1/2,j,kc)) ...
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) temp_c
temp_c(kc,j,i): Temperature in the upper (kc) ice domain
real(dp) kappa_r
KAPPA_R: Heat conductivity of the lithosphere.
real(dp), dimension(0:jmax, 0:imax) c_slide
c_slide(j,i): Basal sliding coefficient
real(dp) delta_tm_sw
DELTA_TM_SW: Melting point depression of sea water due to its average salinity.
real(dp), dimension(0:krmax, 0:jmax, 0:imax) temp_r_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:jmax, 0:imax) phi
phi(j,i): Geographic latitude of grid point (i,j)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) de_c
de_c(kc,j,i): Full effective strain rate in the upper (kc) ice domain
real(dp) phi_sep_0
PHI_SEP_0: Separation latitude for the computation of the degree-day factors beta1 and beta2: Equator...
real(dp), dimension(:), allocatable phi_core
phi_core(n): Geographical latitude of the prescribed borehole positions
logical, dimension(0:jmax, 0:imax) flag_inner_point
flag_inner_point(j,i): Inner-point flag. .true.: inner point, .false.: margin point ...
integer(i4b) grip_time_stp
grip_time_stp: Time step of the data values for the surface temperature anomaly
integer(i4b) ncid_ser
ncid_ser: ID of the NetCDF time-series output file
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) age_c
age_c(kc,j,i): Age in the upper (kc) ice domain
integer(i2b), dimension(0:jmax, 0:imax) n_cts
n_cts(j,i): Mask for thermal conditions. -1: cold ice base, 0: temperate ice base with cold ice above...
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) lambda_shear_t
lambda_shear_t(kt,j,i): Shear fraction in the lower (kt) ice domain
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) d_help_c
d_help_c(kc,j,i): Auxiliary quantity for the computation of vx, vy und zs
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) dxy_t
dxy_t(kt,j,i): Strain rate dxy in the lower (kt) ice domain
integer(i4b) ndata_specmap
ndata_specmap: Number of data values for the sea level
real(dp), dimension(0:jmax, 0:imax) insq_g22_sgy
insq_g22_sgy(j,i): Inverse square root of g22, at (i,j+1/2)
real(dp), parameter epsi
epsi: Very small number
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) de_t
de_t(kt,j,i): Full effective strain rate in the lower (kt) ice domain
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) enth_c_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) dyy_t
dyy_t(kt,j,i): Strain rate dyy in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) vz_m
vz_m(j,i): Velocity in z-direction at the position z=zm (interface between the upper (kc) and the low...
real(dp) beta2_ht_0
BETA2_HT_0: Degree-day factor for ice at high summer temperatures.
real(dp), dimension(0:kcmax) eaz_c
eaz_c(kc): Abbreviation for exp(aa*zeta(kc))
real(dp), dimension(0:jmax, 0:imax) q_geo
q_geo(j,i): Geothermal heat flux
real(dp), dimension(0:jmax, 0:imax, 12) temp_mm_present
temp_mm_present(j,i,n): Present-day mean monthly surface temperature
real(dp), dimension(0:jmax, 0:imax) dh_c_deta
dH_c_deta(j,i): Derivative of H_c by eta (at i,j+1/2)
real(dp) beta1_ht_0
BETA1_HT_0: Degree-day factor for snow at high summer temperatures.
real(dp), dimension(0:jmax, 0:imax) vx_b_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) age_t
age_t(kt,j,i): Age in the lower (kt) ice domain
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) enh_c
enh_c(kc,j,i): Flow enhancement factor in the upper (kc) ice domain
real(dp) rho_w
RHO_W: Density of pure water.
real(dp), dimension(0:jmax, 0:imax) vx_m
vx_m(j,i): Mean (depth-averaged) velocity in x-direction, at (i+1/2,j)
real(dp), dimension(0:krmax, 0:jmax, 0:imax) temp_r
temp_r(kr,j,i): Temperature in the bedrock
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) age_t_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:jmax, 0:imax) mb_source_apl
mb_source_apl(j,i): Applied mass balance source (SMB, BMB, calving)
real(dp) h_r
H_R: Thickness of the modelled lithosphere layer.
real(dp) a
A: Semi-major axis of the planet.
real(dp), dimension(0:jmax, 0:imax) vz_b
vz_b(j,i): Velocity in z-direction at the ice base, at (i,j)
integer(i4b) specmap_time_max
specmap_time_max: Maximum time of the data values for the sea level
real(dp) temp_precip_time_stp
temp_precip_time_stp: Time step of the surface-temperature and precipitation data ...
real(dp) mu_0
MU_0: Firn-warming correction.
real(dp), dimension(0:jmax, 0:imax) vy_g
vy_g(j,i): Velocity in y-direction of the SSA, at (i,j)
real(dp), parameter eps
eps: Small number
real(dp), dimension(0:jmax, 0:imax) vx_s_g
vx_s_g(j,i): Velocity in x-direction at the ice surface, at (i,j)
integer(i2b), dimension(0:jmax, 0:imax) maske_maxextent
maske_maxextent(j,i): Maximum ice extent mask. 0: not allowed to glaciate, 1: allowed to glaciate...
integer(i2b) forcing_flag
forcing_flag: Flag for the forcing type. 1: forcing by a spatially constant surface temperature anoma...
real(dp) temp_precip_time_max
temp_precip_time_max: Maximum time of the surface-temperature and precipitation data ...
real(dp) omega_max
OMEGA_MAX: Threshold value for the water content of temperate ice.
real(dp), dimension(0:jmax, 0:imax) calv_grounded
calv_grounded(j,i): Calving rate of grounded ice
logical, dimension(0:jmax, 0:imax) flag_grounding_line_1
flag_grounding_line_1(j,i): Grounding line flag. .true.: grounding line point (grounded ice point wit...
real(dp), dimension(0:jmax, 0:imax) insq_g11_sgx
insq_g11_sgx(j,i): Inverse square root of g11, at (i+1/2,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) enth_t
enth_t(kt,j,i): Enthalpy in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) vz_s
vz_s(j,i): Velocity in z-direction at the ice surface, at (i,j)
real(dp), dimension(0:jmax, 0:imax) temp_mj_present
temp_mj_present(j,i): Present-day mean summer (northern hemisphere: July, southern hemisphere: Januar...
real(dp), dimension(0:jmax, 0:imax) insq_g22_g
insq_g22_g(j,i): Inverse square root of g22 on grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) dh_t_dtau
dH_t_dtau(j,i): Derivative of H_t by tau (time)
real(dp), dimension(0:jmax, 0:imax) lambda
lambda(j,i): Geographic longitude of grid point (i,j)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) dyz_c
dyz_c(kc,j,i): Strain rate dyz in the upper (kc) ice domain
real(dp), dimension(0:jmax, 0:imax) dh_c_dtau
dH_c_dtau(j,i): Derivative of H_c by tau (time)
integer(i2b), dimension(0:jmax, 0:imax) maske
maske(j,i): Ice-land-ocean mask. 0: grounded ice, 1: ice-free land, 2: ocean, 3: floating ice ...
real(dp), dimension(0:jmax, 0:imax) p_b_w
p_b_w(j,i): Basal water pressure
integer(i4b) specmap_time_min
specmap_time_min: Minimum time of the data values for the sea level
real(dp), dimension(0:jmax, 0:imax) sq_g22_sgx
sq_g22_sgx(j,i): Square root of g22, at (i+1/2,j)
real(dp), dimension(0:jmax, 0:imax) dh_c_dxi_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) vy_b
vy_b(j,i): Velocity in y-direction at the ice base, at (i,j+1/2)
real(dp), dimension(0:jmax, 0:imax) dh_c_dxi
dH_c_dxi(j,i): Derivative of H_c by xi (at i+1/2,j)
real(dp), dimension(0:jmax, 0:imax) as_perp
as_perp(j,i): Accumulation-ablation function at the ice surface (SMB)
real(dp), dimension(0:jmax, 0:imax) area
area(j,i): Area of grid cell associated with grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) dzs_deta_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(:), allocatable glacial_index
glacial_index(n): Data values for the glacial index
real(dp) s_stat_0
S_STAT_0: Standard deviation of the air termperature for the degree-day model.
real(dp), dimension(0:jmax, 0:imax) zl_target
zl_target(j,i): Target topography (lithosphere surface)
logical, dimension(0:jmax, 0:imax) flag_shelfy_stream_x
flag_shelfy_stream_x(j,i): Shelfy stream flag in x-direction, at (i+1/2,j). .true.: shelfy stream point .false.: otherwise
real(dp) beta2_lt_0
BETA2_LT_0: Degree-day factor for ice at low summer temperatures.
real(dp), dimension(0:jmax, 0:imax) dzm_deta
dzm_deta(j,i): Derivative of zm by eta (at i,j+1/2)
real(dp), dimension(0:jmax, 0:imax) runoff
runoff(j,i): Runoff rate at the ice surface
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) temp_t_m
temp_t_m(kt,j,i): Melting temperature in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) de_ssa
de_ssa(j,i): Effective strain rate of the SSA, at (i,j)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) txz_c
txz_c(kc,j,i): Shear stress txz in the upper (kc) ice domain (at (i+1/2,j,kc))
real(dp), dimension(0:jmax, 0:imax) dzs_dxi
dzs_dxi(j,i): Derivative of zs by xi (at i+1/2,j)
real(dp), dimension(0:jmax, 0:imax) h_t_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(sp), parameter eps_sp
eps_sp: Small number to single-precision accuracy
real(dp), dimension(0:jmax, 0:imax) zs_ref
zs_ref(j,i): Reference elevation for precip_present, temp_ma_present and temp_mj_present ...
real(dp), dimension(0:jmax, 0:imax) sq_g22_sgy
sq_g22_sgy(j,i): Square root of g22, at (i,j+1/2)
real(dp) target_topo_tau
target_topo_tau: Relaxation time for target-topography adjustment
real(dp), dimension(0:jmax, 0:imax) zs_target
zs_target(j,i): Target topography (ice surface)
real(dp), parameter pi_180_inv
pi_180_inv: 180 divided by pi (-> rad to deg)
real(dp) b
B: Semi-minor axis of the planet.
real(dp), dimension(0:jmax, 0:imax) temp_s
temp_s(j,i): Ice surface temperature
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) vz_t
vz_t(kt,j,i): Velocity in z-direction in the lower (kt) ice domain (at (i,j,kt+1/2)) ...
real(dp), dimension(0:jmax, 0:imax) zl
zl(j,i): Coordinate z of the lithosphere surface
real(dp) g
G: Acceleration due to gravity.
real(dp), dimension(0:jmax, 0:imax) dzb_dxi
dzb_dxi(j,i): Derivative of zb by xi (at i+1/2,j)
real(dp) r
R: Radius of the planet.
real(dp), dimension(0:jmax, 0:imax) vy_m
vy_m(j,i): Mean (depth-averaged) velocity in y-direction, at (i,j+1/2)
integer(i2b), dimension(0:jmax, 0:imax) kc_cts
kc_cts(j,i): Position kc of the CTS (for COLD, ENTC, ENTM)
integer(i4b) grip_time_max
grip_time_max: Maximum time of the data values for the surface temperature anomaly ...
real(dp), dimension(0:jmax, 0:imax) q_tld
Q_tld(j,i): Water drainage rate from the temperate layer.
real(dp), dimension(0:jmax, 0:imax) runoff_bot
runoff_bot(j,i): Runoff rate (accounting at ice bottom)
real(dp), dimension(0:jmax, 0:imax) zl_neu
(.)_neu: New value of quantity (.) computed during an integration step
integer(i4b), parameter rcl1
rcl1: Maximum length of record for input files (with factor 3 safety margin)
real(dp), dimension(0:jmax, 0:imax) vis_int_g
vis_int_g(j,i): Depth-integrated viscosity of the SSA, at (i,j)
real(dp), parameter pi_inv
pi_inv: Inverse of pi
real(dp), dimension(0:jmax, 0:imax) dh_t_deta
dH_t_deta(j,i): Derivative of H_t by eta (at i,j+1/2)
integer(i4b) ndata_gi
ndata_gi: Number of data values for the glacial index
real(dp), dimension(0:jmax, 0:imax) ratio_sl_y
ratio_sl_y(j,i): Ratio of basal to surface velocity (slip ratio) in y-direction, at (i...
real(dp), dimension(0:jmax, 0:imax) temp_b
temp_b(j,i): Basal temperature
integer(i4b) ndata_grip
ndata_grip: Number of data values for the surface temperature anomaly
integer(i4b), dimension(0:jmax, 0:imax) q_weert
q_weert(j,i): Weertman exponent for the basal pressure
real(dp) beta1_0
BETA1_0: Degree-day factor for snow.
real(dp), dimension(0:jmax, 0:imax) d_help_b
d_help_b(j,i): Auxiliary quantity for the computation of vx_b and vy_b
real(dp) ea
ea: Abbreviation for exp(aa)
real(dp), parameter pi_180
pi_180: pi divided by 180 (-> deg to rad)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) lambda_shear_c
lambda_shear_c(kc,j,i): Shear fraction in the upper (kc) ice domain
real(dp), parameter no_value_neg_2
no_value_neg_2: Negative no-value parameter
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) enth_c
enth_c(kc,j,i): Enthalpy in the upper (kc) ice domain
logical flag_aa_nonzero
flag_aa_nonzero: Flag for the exponential stretch parameter aa. .true.: aa greater than zero (non-equ...
real(dp), dimension(0:jmax, 0:imax) h_diff
h_diff(j,i): Diffusivity of the SIA evolution equation of the ice surface
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) dyz_t
dyz_t(kt,j,i): Strain rate dyz in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) runoff_top
runoff_top(j,i): Runoff rate (accounting at ice surface)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) d_help_t
d_help_t(kt,j,i): Auxiliary quantity for the computation of vx, vy und zs
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) age_c_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp) aa
aa: Exponential stretch parameter of the non-equidistant vertical grid in the upper (kc) ice domain ...
real(dp) rho_c_r
RHO_C_R: Density times specific heat of the lithosphere.
real(dp), dimension(0:jmax, 0:imax) wss
wss(j,i): Isostatic steady-state displacement of the lithosphere
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) dxz_t
dxz_t(kt,j,i): Strain rate dxz in the lower (kt) ice domain
Declarations of kind types for SICOPOLIS.
real(dp), dimension(0:jmax, 0:imax) zs
zs(j,i): Coordinate z of the surface topography
real(dp) pmax_0
PMAX_0: Saturation factor for the formation of superimposed ice.
real(dp), dimension(0:jmax, 0:imax) evap
evap(j,i): Evaporation rate at the ice surface
real(dp), dimension(0:jmax, 0:imax) flui_ave_sia
flui_ave_sia(j,i): Depth-averaged fluidity of the SIA
real(dp), dimension(0:jmax, 0:imax) accum
accum(j,i): Accumulation rate at the ice surface (includes liquid precipitation = rainfall!) ...
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) txz_t
txz_t(kt,j,i): Shear stress txz in the lower (kt) ice domain (at (i+1/2,j,kt))
real(dp), dimension(0:jmax, 0:imax) dh_c_deta_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) enh_t
enh_t(kt,j,i): Flow enhancement factor in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) precip_ma_present
precip_ma_present(j,i): Present-day mean annual precipitation rate at the ice surface ...
integer(i2b), dimension(0:jmax, 0:imax) kc_cts_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) temp_c_neu
(.)_neu: New value of quantity (.) computed during an integration step
integer(i4b) gi_time_min
gi_time_min: Minimum time of the data values for the glacial index
real(dp), dimension(0:jmax, 0:imax) h_c
H_c(j,i): Thickness of ice in the upper (kc) domain (thickness of the cold-ice layer for POLY...
real(dp), dimension(0:jmax, 0:imax) zb_target
zb_target(j,i): Target topography (ice base)
real(dp) temp_precip_time_min
temp_precip_time_min: Minimum time of the surface-temperature and precipitation data ...
real(dp) kei_r_max
kei_r_max: Maximum value of the argument r of the tabulated kei function
real(dp) year_zero
year_zero: SICOPOLIS year zero in astronomical year numbering [ = signed year CE (AD) ] ...
real(dp), parameter no_value_neg_1
no_value_neg_1: Negative no-value parameter
real(dp), dimension(:), allocatable specmap_zsl
specmap_zsl(n): Data values for the sea level
real(dp), dimension(0:jmax, 0:imax) vy_b_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) dxx_c
dxx_c(kc,j,i): Strain rate dxx in the upper (kc) ice domain
real(dp), parameter euler
euler: Euler number
integer(i4b) ncid_core
ncid_core: ID of the NetCDF time-series output file for the deep ice cores
real(dp) beta2_0
BETA2_0: Degree-day factor for ice.
real(dp), dimension(-190:10) kappa
KAPPA(n): Tabulated values for the heat conductivity of ice.
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) omega_t_neu
(.)_neu: New value of quantity (.) computed during an integration step
integer(i4b) gi_time_stp
gi_time_stp: Time step of the data values for the glacial index
integer(i4b) ndata_temp_precip
ndata_temp_precip: Number of surface-temperature and precipitation data
real(dp), dimension(0:jmax, 0:imax) dzm_dtau
dzm_dtau(j,i): Derivative of zm by tau (time)
real(dp), dimension(0:krmax) zeta_r
zeta_r(kr): Sigma coordinate zeta_r of grid point kr
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) omega_c
omega_c(kc,j,i): Water content in the upper (kc) ice domain
real(dp), dimension(:), allocatable y_core
y_core(n): Coordinate eta (= y) of the prescribed borehole positions
real(dp), dimension(:), allocatable temp_precip_time
temp_precip_time(n): Times of the surface-temperature and precipitation data
real(dp), dimension(0:jmax, 0:imax) sq_g11_sgy
sq_g11_sgy(j,i): Square root of g11, at (i,j+1/2)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) temp_c_m
temp_c_m(kc,j,i): Melting temperature in the upper (kc) ice domain
integer(i2b), dimension(0:jmax, 0:imax) maske_old
maske_old(j,i): Old value of maske (at the previous time step)
real(dp), dimension(0:jmax, 0:imax) qx
qx(j,i): Volume flux in x-direction (depth-integrated vx, at (i+1/2,j))
character(len=64) ch_domain_long
ch_domain_long: Long name of the computational domain
real(dp), dimension(0:jmax, 0:imax) accum_present
accum_present(j,i): Present-day accumulation rate at the ice surface (for EISMINT, ISMIP HEINO and the north and south polar caps of Mars)
real(dp), parameter eps_dp
eps_dp: Small number to double-precision accuracy
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) dxx_t
dxx_t(kt,j,i): Strain rate dxx in the lower (kt) ice domain
real(dp), dimension(0:jmax, 0:imax) dzb_deta_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) enth_t_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:jmax, 0:imax) temp_ma_present
temp_ma_present(j,i): Present-day mean annual surface temperature
real(dp) nue
NUE: Water diffusivity in ice.
real(dp), dimension(0:jmax, 0:imax) precip_ma_lgm_anom
precip_ma_lgm_anom(j,i): LGM anomaly (ratio LGM/present) of the mean annual precipitation rate at the...
real(dp), dimension(0:jmax, 0:imax) zs_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:jmax, 0:imax) zl0
zl0(j,i): zl for isostatically relaxed ice-free conditions
real(dp), dimension(0:jmax, 0:imax) p_weert_inv
p_weert_inv(j,i): Inverse of p_weert
integer(i4b) gi_time_max
gi_time_max: Maximum time of the data values for the glacial index
real(dp) beta1_lt_0
BETA1_LT_0: Degree-day factor for snow at low summer temperatures.
logical, dimension(0:jmax, 0:imax) flag_shelfy_stream
flag_shelfy_stream(j,i): Shelfy stream flag on the main grid. .true.: grounded ice, and at least one neighbour on the staggered grid is a shelfy stream point .false.: otherwise
real(dp), dimension(0:jmax, 0:imax) dzs_deta
dzs_deta(j,i): Derivative of zs by eta (at i,j+1/2)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) tyz_c
tyz_c(kc,j,i): Shear stress tyz in the upper (kc) ice domain (at (i,j+1/2,kc))
real(dp), dimension(0:jmax, 0:imax) q_gl_g
q_gl_g(j,i): Volume flux across the grounding line, at (i,j)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) vz_c
vz_c(kc,j,i): Velocity in z-direction in the upper (kc) ice domain (at (i,j,kc+1/2)) ...
real(dp) phi0
PHI0: Standard parallel of the stereographic projection.
real(dp), dimension(0:jmax, 0:imax) vy_s_g
vy_s_g(j,i): Velocity in x-direction at the ice surface, at (i,j)
real(dp), parameter no_value_pos_2
no_value_pos_2: Positive no-value parameter
real(dp), dimension(0:jmax, 0:imax) sq_g11_sgx
sq_g11_sgx(j,i): Square root of g11, at (i+1/2,j)
real(dp), dimension(0:jmax, 0:imax, 12) gamma_precip_lgm_anom
gamma_precip_lgm_anom(j,i,n): negative natural logarithm of precip_lgm_anom(j,i,n) ...
real(dp) time_target_topo_final
time_target_topo_final: Final time for target-topography adjustment
real(dp), dimension(0:jmax, 0:imax) h_c_neu
(.)_neu: New value of quantity (.) computed during an integration step
integer(i2b), dimension(0:jmax, 0:imax) maske_neu
maske_neu(j,i): New value of maske computed during an integration step
real(dp), dimension(0:jmax, 0:imax) zm
zm(j,i): Coordinate z of the bottom of the upper (kc) ice domain = top of the lower (kt) ice domain (...
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) dyy_c
dyy_c(kc,j,i): Strain rate dyy in the upper (kc) ice domain
real(dp), dimension(0:jmax, 0:imax) temp_mj_lgm_anom
temp_mj_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean summer (northern hemisphere...
real(dp), dimension(-190:10) rf
RF(n): Tabulated values for the rate factor of cold ice.
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) dxz_c
dxz_c(kc,j,i): Strain rate dxz in the upper (kc) ice domain
real(dp), dimension(0:jmax, 0:imax) q_b_tot
Q_b_tot(j,i): Sum of Q_bm and Q_tld.
real(dp), dimension(0:jmax, 0:imax) q_bm
Q_bm(j,i): Basal melting rate.
real(dp), dimension(0:jmax, 0:imax) disc_top
disc_top(j,i): Ice discharge rate (accounting at ice surface)
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) dxy_c
dxy_c(kc,j,i): Strain rate dxy in the upper (kc) ice domain
real(dp), dimension(0:jmax, 0:imax) vx_g
vx_g(j,i): Velocity in x-direction of the SSA, at (i,j)
real(dp), dimension(-190:10) c
C(n): Tabulated values for the specific heat of ice.
real(dp), dimension(0:kcmax) eaz_c_quotient
eaz_c_quotient(kc): Abbreviation for (eaz_c(kc)-1.0)/(ea-1.0)
real(dp), dimension(-10000:10000) kei
kei(n): Tabulated values of the kei function (Kelvin function of zero order)
real(dp), dimension(0:jmax, 0:imax) dzb_deta
dzb_deta(j,i): Derivative of zb by eta (at i,j+1/2)
real(dp), dimension(0:jmax, 0:imax) dh_t_deta_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp) time_target_topo_init
time_target_topo_init: Initial time for target-topography adjustment
real(dp), dimension(0:jmax, 0:imax) dh_t_dxi_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) dzm_dxi_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
integer(i4b) specmap_time_stp
specmap_time_stp: Time step of the data values for the sea level
integer(i4b), parameter rcl2
rcl2: Maximum length of record for input mask files (with factor 3 safety margin) ...
real(dp), dimension(0:jmax, 0:imax) dzm_dxi
dzm_dxi(j,i): Derivative of zm by xi (at i+1/2,j)
real(dp), dimension(0:jmax, 0:imax) temp_ma_lgm_anom
temp_ma_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean annual surface temperature ...
real(dp), dimension(0:jmax, 0:imax) temph_b
temph_b(j,i): Basal temperature relative to the pressure melting point
real(dp), dimension(0:jmax, 0:imax) dzs_dxi_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) vy_t
vy_t(kt,j,i): Velocity in y-direction in the lower (kt) ice domain (at (i,j+1/2,kt)) ...
real(dp), dimension(0:jmax, 0:imax) am_perp
am_perp(j,i): Ice volume flux across the z=zm interface
real(dp) beta
BETA: Clausius-Clapeyron gradient of ice.
real(dp), dimension(-jmax:jmax,-imax:imax) dist_dxdy
dist_dxdy(jr,ir): Distance between grid points with delta_i=ir, delta_j=jr
real(dp), parameter pi
pi: Constant pi
real(dp), dimension(0:jmax, 0:imax) dzm_deta_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
integer(i4b) ncid_temp_precip
ncid_temp_precip: ID of the NetCDF file containing the surface-temperature and precipitation data as ...
character(len=16), dimension(:), allocatable ch_core
ch_core(n): Names of the prescribed borehole positions
real(dp), dimension(0:jmax, 0:imax) sq_g11_g
sq_g11_g(j,i): Square root of the coefficient g11 of the metric tensor on grid point (i...
real(dp), parameter no_value_pos_1
no_value_pos_1: Positive no-value parameter
real(dp), dimension(0:jmax, 0:imax) as_perp_apl
as_perp_apl(j,i): Applied accumulation-ablation function (SMB)
logical, dimension(0:jmax, 0:imax) flag_calving_front_1
flag_calving_front_1(j,i): Calving front flag. .true.: calving front point (floating ice point with a...
real(dp), dimension(0:jmax, 0:imax) ratio_sl_x
ratio_sl_x(j,i): Ratio of basal to surface velocity (slip ratio) in x-direction, at (i+1/2...
integer(i4b) grip_time_min
grip_time_min: Minimum time of the data values for the surface temperature anomaly ...
real(dp), dimension(0:jmax, 0:imax) time_lag_asth
time_lag_asth(j,i): Time lag of the relaxing asthenosphere
real(dp), dimension(0:jmax) eta
eta(j): Coordinate eta (= y) of grid point j
real(dp), dimension(:), allocatable x_core
x_core(n): Coordinate xi (= x) of the prescribed borehole positions
real(dp), dimension(0:jmax, 0:imax) insq_g11_g
insq_g11_g(j,i): Inverse square root of g11 on grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) c_drag
c_drag(j,i): Auxiliary quantity for the computation of the basal drag
real(dp), dimension(0:imax) xi
xi(i): Coordinate xi (= x) of grid point i
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) vy_c
vy_c(kc,j,i): Velocity in y-direction in the upper (kc) ice domain (at (i,j+1/2,kc)) ...
character(len=16) ch_domain_short
ch_domain_short: Short name of the computational domain
real(dp) r_t
R_T: Coefficient of the water-content dependence in the rate factor for temperate ice...
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) omega_t
omega_t(kt,j,i): Water content in the lower (kt) ice domain
real(dp) kei_r_incr
kei_r_incr: Increment of the argument r of the tabulated kei function
real(dp), dimension(0:ktmax) zeta_t
zeta_t(kt): Sigma coordinate zeta_t of grid point kt
real(dp) rho_sw
RHO_SW: Density of sea water.
logical, dimension(0:jmax, 0:imax) flag_calving_front_2
flag_calving_front_2(j,i): Calving front flag. .true.: calving front point (ocean point with at least...
logical, dimension(0:jmax, 0:imax) flag_shelfy_stream_y
flag_shelfy_stream_y(j,i): Shelfy stream flag in y-direction, at (i,j+1/2). .true.: shelfy stream point .false.: otherwise
real(dp), dimension(0:jmax, 0:imax) zb_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp) l
L: Latent heat of ice.
real(dp), parameter eps_sp_dp
eps_sp_dp: Small number to single-precision accuracy in double precision
real(dp), dimension(0:jmax, 0:imax) zm_neu
(.)_neu: New value of quantity (.) computed during an integration step
integer(i2b), dimension(0:jmax, 0:imax) mask_run
mask_run(j,i): mask indicating melt type. 2: visible (ocean, for later developments), 1: visible (grounded ice), -1: hidden on land, -2: hidden in ocean
real(dp), dimension(0:jmax, 0:imax) dh_t_dxi
dH_t_dxi(j,i): Derivative of H_t by xi (at i+1/2,j)
integer(i4b) n_data_kei
n_data_kei: Number of tabulated values of the kei function
real(dp) rho
RHO: Density of ice.
integer(i2b), dimension(0:jmax, 0:imax) n_cts_neu
(.)_neu: New value of quantity (.) computed during an integration step
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) sigma_c
sigma_c(kc,j,i): Effective stress in the upper (kc) ice domain
real(dp), dimension(0:jmax, 0:imax) vx_b
vx_b(j,i): Velocity in x-direction at the ice base, at (i+1/2,j)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) sigma_t
sigma_t(kt,j,i): Effective stress in the lower (kt) ice domain
real(dp) rho_a
RHO_A: Density of the asthenosphere.
integer(i4b), dimension(0:jmax, 0:imax) p_weert
p_weert(j,i): Weertman exponent for the basal shear stress
real(dp), dimension(0:jmax, 0:imax) h_target
H_target(j,i): Target topography (ice thickness)
real(dp), dimension(:), allocatable lambda_core
lambda_core(n): Geographical longitude of the prescribed borehole positions
integer(i4b) n_core
n_core: Number of positions to be considered in the time-series file for deep boreholes ...
integer, parameter dp
Double-precision reals.
real(dp), dimension(0:jmax, 0:imax) zb
zb(j,i): Coordinate z of the ice base
real(dp), dimension(0:kcmax, 0:jmax, 0:imax) omega_c_neu
(.)_neu: New value of quantity (.) computed during an integration step
logical, dimension(0:jmax, 0:imax) flag_grounding_line_2
flag_grounding_line_2(j,i): Grounding line flag. .true.: grounding line point (floating ice point wit...
real(dp), dimension(0:jmax, 0:imax, 12) precip_present
precip_present(j,i,n): Present-day mean monthly precipitation rate at the ice surface ...
real(dp), dimension(0:jmax, 0:imax) am_perp_st
am_perp_st(j,i): Steady-state part of am_perp (without contribution of dzm_dtau)
real(dp), dimension(0:jmax, 0:imax) dzb_dtau
dzb_dtau(j,i): Derivative of zb by tau (time)
integer(i2b), dimension(0:jmax, 0:imax) maske_target
maske_target(j,i): Target topography (ice-land-ocean mask)
real(dp), dimension(0:kcmax) zeta_c
zeta_c(kc): Sigma coordinate zeta_c of grid point kc
real(dp) lambda0
LAMBDA0: Reference longitude (central meridian) of the stereographic projection.
real(dp), dimension(0:jmax, 0:imax, 12) precip_lgm_anom
precip_lgm_anom(j,i,n): LGM anomaly (ratio LGM/present) of the mean monthly precipitation rate at the...
real(dp), dimension(0:jmax, 0:imax) h_t
H_t(j,i): Thickness of ice in the lower (kt) domain (thickness of the temperate layer for POLY...
real(dp), dimension(0:jmax, 0:imax, 12) temp_mm_lgm_anom
temp_mm_lgm_anom(j,i,n): LGM anomaly (difference LGM - present) of the mean monthly surface temperatu...
real(dp), dimension(0:jmax, 0:imax) h_w
H_w(j,i): Thickness of the water column under the ice base.
Declarations of global variables for SICOPOLIS.
real(dp), dimension(0:jmax, 0:imax) dzs_dtau
dzs_dtau(j,i): Derivative of zs by tau (time)
real(dp), dimension(0:jmax, 0:imax) flex_rig_lith
flex_rig_lith(j,i): Flexural rigidity of the lithosphere
real(dp), dimension(:), allocatable griptemp
griptemp(n): Data values for the surface temperature anomaly
real(dp), dimension(0:jmax, 0:imax) dzl_dtau
dzl_dtau(j,i): Derivative of zl by tau (time)
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) tyz_t
tyz_t(kt,j,i): Shear stress tyz in the lower (kt) ice domain (at (i,j+1/2,kt))
real(dp), dimension(0:jmax, 0:imax) sq_g22_g
sq_g22_g(j,i): Square root of the coefficient g22 of the metric tensor on grid point (i...
real(dp), dimension(0:ktmax, 0:jmax, 0:imax) vx_t
vx_t(kt,j,i): Velocity in x-direction in the lower (kt) ice domain (at (i+1/2,j,kt)) ...
real(dp), dimension(0:jmax, 0:imax) dzb_dxi_g
(.)_g(j,i): Staggered-grid quantity (.) interpolated to grid point (i,j)
real(dp), dimension(0:jmax, 0:imax) qy
qy(j,i): Volume flux in y-direction (depth-integrated vy, at (i,j+1/2))