SICOPOLIS V5-dev  Revision 1173
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 !> smb_corr_prescribed(j,i): Prescribed SMB correction
324  real(dp), dimension(0:JMAX,0:IMAX) :: smb_corr_prescribed
325 !> smb_corr(j,i): Diagnosed SMB correction
326  real(dp), dimension(0:JMAX,0:IMAX) :: smb_corr
327 !> mb_source_apl(j,i): Applied mass balance source (SMB, BMB, calving)
328  real(dp), dimension(0:JMAX,0:IMAX) :: mb_source_apl
329 !> runoff_top(j,i): Runoff rate (accounting at ice surface)
330  real(dp), dimension(0:JMAX,0:IMAX) :: runoff_top
331 !> runoff_bot(j,i): Runoff rate (accounting at ice bottom)
332  real(dp), dimension(0:JMAX,0:IMAX) :: runoff_bot
333 !> disc_top(j,i): Ice discharge rate (accounting at ice surface)
334  real(dp), dimension(0:JMAX,0:IMAX) :: disc_top
335 !> calv_grounded(j,i): Calving rate of grounded ice
336  real(dp), dimension(0:JMAX,0:IMAX) :: calv_grounded
337 !> temp_s(j,i): Ice surface temperature
338  real(dp), dimension(0:JMAX,0:IMAX) :: temp_s
339 !> am_perp(j,i): Ice volume flux across the z=zm interface
340  real(dp), dimension(0:JMAX,0:IMAX) :: am_perp
341 !> am_perp_st(j,i): Steady-state part of am_perp
342 !> (without contribution of dzm_dtau)
343  real(dp), dimension(0:JMAX,0:IMAX) :: am_perp_st
344 !> (.)_neu: New value of quantity (.) computed during an integration step
345  real(dp), dimension(0:JMAX,0:IMAX) :: zs_neu
346 !> (.)_neu: New value of quantity (.) computed during an integration step
347  real(dp), dimension(0:JMAX,0:IMAX) :: zm_neu
348 !> (.)_neu: New value of quantity (.) computed during an integration step
349  real(dp), dimension(0:JMAX,0:IMAX) :: zb_neu
350 !> (.)_neu: New value of quantity (.) computed during an integration step
351  real(dp), dimension(0:JMAX,0:IMAX) :: zl_neu
352 !> (.)_neu: New value of quantity (.) computed during an integration step
353  real(dp), dimension(0:JMAX,0:IMAX) :: h_c_neu
354 !> (.)_neu: New value of quantity (.) computed during an integration step
355  real(dp), dimension(0:JMAX,0:IMAX) :: h_t_neu
356 
357 !> zs_ref(j,i): Reference elevation for precip_present, temp_ma_present
358 !> and temp_mj_present
359  real(dp), dimension(0:JMAX,0:IMAX) :: zs_ref
360 
361 !> accum_present(j,i): Present-day accumulation rate at the ice surface
362 !> (for EISMINT, ISMIP HEINO and the north and south
363 !> polar caps of Mars)
364  real(dp), dimension(0:JMAX,0:IMAX) :: accum_present
365 !> precip_ma_present(j,i): Present-day mean annual precipitation rate
366 !> at the ice surface
367  real(dp), dimension(0:JMAX,0:IMAX) :: precip_ma_present
368 !> precip_ma_lgm_anom(j,i): LGM anomaly (ratio LGM/present) of the mean annual
369 !> precipitation rate at the ice surface
370  real(dp), dimension(0:JMAX,0:IMAX) :: precip_ma_lgm_anom
371 !> temp_ma_present(j,i): Present-day mean annual surface temperature
372  real(dp), dimension(0:JMAX,0:IMAX) :: temp_ma_present
373 !> temp_mj_present(j,i): Present-day mean summer (northern hemisphere: July,
374 !> southern hemisphere: January) surface temperature
375  real(dp), dimension(0:JMAX,0:IMAX) :: temp_mj_present
376 !> temp_ma_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean
377 !> annual surface temperature
378  real(dp), dimension(0:JMAX,0:IMAX) :: temp_ma_lgm_anom
379 !> temp_mj_lgm_anom(j,i): LGM anomaly (difference LGM - present) of the mean
380 !> summer (northern hemisphere: July, southern
381 !> hemisphere: January) surface temperature
382  real(dp), dimension(0:JMAX,0:IMAX) :: temp_mj_lgm_anom
383 
384 !> dist_dxdy(jr,ir): Distance between grid points with delta_i=ir, delta_j=jr
385  real(dp), dimension(-JMAX:JMAX,-IMAX:IMAX) :: dist_dxdy
386 
387 !> precip_present(j,i,n): Present-day mean monthly precipitation rate
388 !> at the ice surface
389  real(dp), dimension(0:JMAX,0:IMAX,12) :: precip_present
390 !> precip_lgm_anom(j,i,n): LGM anomaly (ratio LGM/present) of the mean monthly
391 !> precipitation rate at the ice surface
392  real(dp), dimension(0:JMAX,0:IMAX,12) :: precip_lgm_anom
393 !> gamma_precip_lgm_anom(j,i,n): negative natural logarithm of
394 !> precip_lgm_anom(j,i,n)
395  real(dp), dimension(0:JMAX,0:IMAX,12) :: gamma_precip_lgm_anom
396 !> temp_mm_present(j,i,n): Present-day mean monthly surface temperature
397  real(dp), dimension(0:JMAX,0:IMAX,12) :: temp_mm_present
398 !> temp_mm_lgm_anom(j,i,n): LGM anomaly (difference LGM - present) of the mean
399 !> monthly surface temperature
400  real(dp), dimension(0:JMAX,0:IMAX,12) :: temp_mm_lgm_anom
401 
402 !> d_help_c(kc,j,i): Auxiliary quantity for the computation of vx, vy und zs
403  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: d_help_c
404 !> vx_c(kc,j,i): Velocity in x-direction in the upper (kc) ice domain
405 !> (at (i+1/2,j,kc))
406  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vx_c
407 !> vy_c(kc,j,i): Velocity in y-direction in the upper (kc) ice domain
408 !> (at (i,j+1/2,kc))
409  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vy_c
410 !> vz_c(kc,j,i): Velocity in z-direction in the upper (kc) ice domain
411 !> (at (i,j,kc+1/2))
412  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: vz_c
413 !> temp_c(kc,j,i): Temperature in the upper (kc) ice domain
414  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c
415 !> (.)_neu: New value of quantity (.) computed during an integration step
416  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c_neu
417 !> temp_c_m(kc,j,i): Melting temperature in the upper (kc) ice domain
418  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: temp_c_m
419 !> age_c(kc,j,i): Age in the upper (kc) ice domain
420  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: age_c
421 !> (.)_neu: New value of quantity (.) computed during an integration step
422  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: age_c_neu
423 !> txz_c(kc,j,i): Shear stress txz in the upper (kc) ice domain
424 !> (at (i+1/2,j,kc))
425  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: txz_c
426 !> tyz_c(kc,j,i): Shear stress tyz in the upper (kc) ice domain
427 !> (at (i,j+1/2,kc))
428  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: tyz_c
429 !> sigma_c(kc,j,i): Effective stress in the upper (kc) ice domain
430  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: sigma_c
431 !> enh_c(kc,j,i): Flow enhancement factor in the upper (kc) ice domain
432  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enh_c
433 
434 !> de_ssa(j,i): Effective strain rate of the SSA, at (i,j)
435  real(dp), dimension(0:JMAX,0:IMAX) :: de_ssa
436 !> vis_int_g(j,i): Depth-integrated viscosity of the SSA, at (i,j)
437  real(dp), dimension(0:JMAX,0:IMAX) :: vis_int_g
438 !> vx_g(j,i): Velocity in x-direction of the SSA, at (i,j)
439  real(dp), dimension(0:JMAX,0:IMAX) :: vx_g
440 !> vy_g(j,i): Velocity in y-direction of the SSA, at (i,j)
441  real(dp), dimension(0:JMAX,0:IMAX) :: vy_g
442 
443 !> d_help_t(kt,j,i): Auxiliary quantity for the computation of vx, vy und zs
444  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: d_help_t
445 !> vx_t(kt,j,i): Velocity in x-direction in the lower (kt) ice domain
446 !> (at (i+1/2,j,kt))
447  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vx_t
448 !> vy_t(kt,j,i): Velocity in y-direction in the lower (kt) ice domain
449 !> (at (i,j+1/2,kt))
450  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vy_t
451 !> vz_t(kt,j,i): Velocity in z-direction in the lower (kt) ice domain
452 !> (at (i,j,kt+1/2))
453  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: vz_t
454 !> omega_t(kt,j,i): Water content in the lower (kt) ice domain
455  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: omega_t
456 !> (.)_neu: New value of quantity (.) computed during an integration step
457  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: omega_t_neu
458 !> temp_t_m(kt,j,i): Melting temperature in the lower (kt) ice domain
459  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: temp_t_m
460 !> age_t(kt,j,i): Age in the lower (kt) ice domain
461  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: age_t
462 !> (.)_neu: New value of quantity (.) computed during an integration step
463  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: age_t_neu
464 !> txz_t(kt,j,i): Shear stress txz in the lower (kt) ice domain
465 !> (at (i+1/2,j,kt))
466  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: txz_t
467 !> tyz_t(kt,j,i): Shear stress tyz in the lower (kt) ice domain
468 !> (at (i,j+1/2,kt))
469  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: tyz_t
470 !> sigma_t(kt,j,i): Effective stress in the lower (kt) ice domain
471  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: sigma_t
472 !> enh_t(kt,j,i): Flow enhancement factor in the lower (kt) ice domain
473  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enh_t
474 
475 !> temp_r(kr,j,i): Temperature in the bedrock
476  real(dp), dimension(0:KRMAX,0:JMAX,0:IMAX) :: temp_r
477 !> (.)_neu: New value of quantity (.) computed during an integration step
478  real(dp), dimension(0:KRMAX,0:JMAX,0:IMAX) :: temp_r_neu
479 
480 !> enth_c(kc,j,i): Enthalpy in the upper (kc) ice domain
481  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enth_c
482 !> (.)_neu: New value of quantity (.) computed during an integration step
483  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: enth_c_neu
484 !> omega_c(kc,j,i): Water content in the upper (kc) ice domain
485  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: omega_c
486 !> (.)_neu: New value of quantity (.) computed during an integration step
487  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: omega_c_neu
488 
489 !> enth_t(kt,j,i): Enthalpy in the lower (kt) ice domain
490  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enth_t
491 !> (.)_neu: New value of quantity (.) computed during an integration step
492  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: enth_t_neu
493 
494 !> dxx_c(kc,j,i): Strain rate dxx in the upper (kc) ice domain
495  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxx_c
496 !> dyy_c(kc,j,i): Strain rate dyy in the upper (kc) ice domain
497  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dyy_c
498 !> dxy_c(kc,j,i): Strain rate dxy in the upper (kc) ice domain
499  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxy_c
500 !> dxz_c(kc,j,i): Strain rate dxz in the upper (kc) ice domain
501  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dxz_c
502 !> dyz_c(kc,j,i): Strain rate dyz in the upper (kc) ice domain
503  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: dyz_c
504 !> de_c(kc,j,i): Full effective strain rate in the upper (kc) ice domain
505  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: de_c
506 !> lambda_shear_c(kc,j,i): Shear fraction in the upper (kc) ice domain
507  real(dp), dimension(0:KCMAX,0:JMAX,0:IMAX) :: lambda_shear_c
508 
509 !> dxx_t(kt,j,i): Strain rate dxx in the lower (kt) ice domain
510  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxx_t
511 !> dyy_t(kt,j,i): Strain rate dyy in the lower (kt) ice domain
512  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dyy_t
513 !> dxy_t(kt,j,i): Strain rate dxy in the lower (kt) ice domain
514  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxy_t
515 !> dxz_t(kt,j,i): Strain rate dxz in the lower (kt) ice domain
516  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dxz_t
517 !> dyz_t(kt,j,i): Strain rate dyz in the lower (kt) ice domain
518  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: dyz_t
519 !> de_t(kt,j,i): Full effective strain rate in the lower (kt) ice domain
520  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: de_t
521 !> lambda_shear_t(kt,j,i): Shear fraction in the lower (kt) ice domain
522  real(dp), dimension(0:KTMAX,0:JMAX,0:IMAX) :: lambda_shear_t
523 
524 !-------- Physical parameters --------
525 
526 !> RHO: Density of ice
527  real(dp) :: rho
528 !> RHO_W: Density of pure water
529  real(dp) :: rho_w
530 !> RHO_SW: Density of sea water
531  real(dp) :: rho_sw
532 !> L: Latent heat of ice
533  real(dp) :: l
534 !> G: Acceleration due to gravity
535  real(dp) :: g
536 !> NUE: Water diffusivity in ice
537  real(dp) :: nue
538 !> BETA: Clausius-Clapeyron gradient of ice
539  real(dp) :: beta
540 !> DELTA_TM_SW: Melting point depression of sea water due to its
541 !> average salinity
542  real(dp) :: delta_tm_sw
543 !> OMEGA_MAX: Threshold value for the water content of temperate ice
544  real(dp) :: omega_max
545 !> H_R: Thickness of the modelled lithosphere layer
546  real(dp) :: h_r
547 !> RHO_C_R: Density times specific heat of the lithosphere
548  real(dp) :: rho_c_r
549 !> KAPPA_R: Heat conductivity of the lithosphere
550  real(dp) :: kappa_r
551 !> RHO_A: Density of the asthenosphere
552  real(dp) :: rho_a
553 !> R_T: Coefficient of the water-content dependence in the rate factor
554 !> for temperate ice
555  real(dp) :: r_t
556 !> R: Radius of the planet
557  real(dp) :: r
558 !> A: Semi-major axis of the planet
559  real(dp) :: a
560 !> B: Semi-minor axis of the planet
561  real(dp) :: b
562 !> LAMBDA0: Reference longitude (central meridian) of the stereographic
563 !> projection
564  real(dp) :: lambda0
565 !> PHI0: Standard parallel of the stereographic projection
566  real(dp) :: phi0
567 !> S_STAT_0: Standard deviation of the air termperature for the
568 !> degree-day model
569  real(dp) :: s_stat_0
570 !> BETA1_0: Degree-day factor for snow
571  real(dp) :: beta1_0
572 !> BETA1_LT_0: Degree-day factor for snow at low summer temperatures
573  real(dp) :: beta1_lt_0
574 !> BETA1_HT_0: Degree-day factor for snow at high summer temperatures
575  real(dp) :: beta1_ht_0
576 !> BETA2_0: Degree-day factor for ice
577  real(dp) :: beta2_0
578 !> BETA2_LT_0: Degree-day factor for ice at low summer temperatures
579  real(dp) :: beta2_lt_0
580 !> BETA2_HT_0: Degree-day factor for ice at high summer temperatures
581  real(dp) :: beta2_ht_0
582 !> PHI_SEP_0: Separation latitude for the computation of the degree-day
583 !> factors beta1 and beta2: Equatorward of phi_sep, only the
584 !> high-temperature values are used, whereas poleward of phi_sep,
585 !> beta1 and beta2 are temperature-dependent
586  real(dp) :: phi_sep_0
587 !> PMAX_0: Saturation factor for the formation of superimposed ice
588  real(dp) :: pmax_0
589 !> MU_0: Firn-warming correction
590  real(dp) :: mu_0
591 
592 !> RF(n): Tabulated values for the rate factor of cold ice
593  real(dp), dimension(-190:10) :: rf
594 !> KAPPA(n): Tabulated values for the heat conductivity of ice
595  real(dp), dimension(-190:10) :: kappa
596 !> C(n): Tabulated values for the specific heat of ice
597  real(dp), dimension(-190:10) :: c
598 
599 !-------- Mathematical constants --------
600 
601 !> pi: Constant pi
602  real(dp), parameter :: pi = 3.141592653589793_dp
603 !> pi_inv: Inverse of pi
604  real(dp), parameter :: pi_inv = 1.0_dp/pi
605 !> pi_180: pi divided by 180 (-> deg to rad)
606  real(dp), parameter :: pi_180 = pi/180.0_dp
607 !> pi_180_inv: 180 divided by pi (-> rad to deg)
608  real(dp), parameter :: pi_180_inv = 180.0_dp/pi
609 
610 !> euler: Euler number
611  real(dp), parameter :: euler = 2.718281828459045_dp
612 
613 !> eps: Small number
614  real(dp), parameter :: eps = 1.0e-05_dp
615 !> epsi: Very small number
616  real(dp), parameter :: epsi = 1.0e-12_dp
617 
618 !> eps_sp: Small number to single-precision accuracy
619  real(sp), parameter :: eps_sp = epsilon(1.0_sp)
620 !> eps_sp_dp: Small number to single-precision accuracy in double precision
621  real(dp), parameter :: eps_sp_dp = real(eps_sp,dp)
622 !> eps_dp: Small number to double-precision accuracy
623  real(dp), parameter :: eps_dp = epsilon(1.0_dp)
624 
625 !-------- Further quantities --------
626 
627 !> year_zero: SICOPOLIS year zero in astronomical year numbering
628 !> [ = signed year CE (AD) ]
629  real(dp) :: year_zero
630 
631 !> ch_domain_long: Long name of the computational domain
632  character(len=64) :: ch_domain_long
633 !> ch_domain_short: Short name of the computational domain
634  character(len=16) :: ch_domain_short
635 
636 !> forcing_flag: Flag for the forcing type.
637 !> 1: forcing by a spatially constant surface temperature
638 !> anomaly (delta_ts),
639 !> 2: forcing by a glacial index (glac_index),
640 !> 3: forcing by time-dependent surface temperature
641 !> and precipitation data.
642  integer(i2b) :: forcing_flag
643 
644 !> n_core: Number of positions to be considered in the time-series file
645 !> for deep boreholes
646  integer(i4b) :: n_core
647 !> lambda_core(n): Geographical longitude of the prescribed borehole positions
648  real(dp), dimension(:), allocatable :: lambda_core
649 !> phi_core(n): Geographical latitude of the prescribed borehole positions
650  real(dp), dimension(:), allocatable :: phi_core
651 !> x_core(n): Coordinate xi (= x) of the prescribed borehole positions
652  real(dp), dimension(:), allocatable :: x_core
653 !> y_core(n): Coordinate eta (= y) of the prescribed borehole positions
654  real(dp), dimension(:), allocatable :: y_core
655 !> ch_core(n): Names of the prescribed borehole positions
656  character(len=16), dimension(:), allocatable :: ch_core
657 
658 !> grip_time_min: Minimum time of the data values for the
659 !> surface temperature anomaly
660  integer(i4b) :: grip_time_min
661 !> grip_time_stp: Time step of the data values for the
662 !> surface temperature anomaly
663  integer(i4b) :: grip_time_stp
664 !> grip_time_max: Maximum time of the data values for the
665 !> surface temperature anomaly
666  integer(i4b) :: grip_time_max
667 !> ndata_grip: Number of data values for the surface temperature anomaly
668  integer(i4b) :: ndata_grip
669 !> griptemp(n): Data values for the surface temperature anomaly
670  real(dp), dimension(:), allocatable :: griptemp
671 
672 !> gi_time_min: Minimum time of the data values for the glacial index
673  integer(i4b) :: gi_time_min
674 !> gi_time_stp: Time step of the data values for the glacial index
675  integer(i4b) :: gi_time_stp
676 !> gi_time_max: Maximum time of the data values for the glacial index
677  integer(i4b) :: gi_time_max
678 !> ndata_gi: Number of data values for the glacial index
679  integer(i4b) :: ndata_gi
680 !> glacial_index(n): Data values for the glacial index
681  real(dp), dimension(:), allocatable :: glacial_index
682 
683 !> specmap_time_min: Minimum time of the data values for the sea level
684  integer(i4b) :: specmap_time_min
685 !> specmap_time_stp: Time step of the data values for the sea level
686  integer(i4b) :: specmap_time_stp
687 !> specmap_time_max: Maximum time of the data values for the sea level
688  integer(i4b) :: specmap_time_max
689 !> ndata_specmap: Number of data values for the sea level
690  integer(i4b) :: ndata_specmap
691 !> specmap_zsl(n): Data values for the sea level
692  real(dp), dimension(:), allocatable :: specmap_zsl
693 
694 !> time_target_topo_init: Initial time for target-topography adjustment
696 !> time_target_topo_final: Final time for target-topography adjustment
698 !> target_topo_tau: Relaxation time for target-topography adjustment
699  real(dp) :: target_topo_tau
700 !> maske_target(j,i): Target topography (ice-land-ocean mask)
701  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_target
702 !> zs_target(j,i): Target topography (ice surface)
703  real(dp), dimension(0:JMAX,0:IMAX) :: zs_target
704 !> zb_target(j,i): Target topography (ice base)
705  real(dp), dimension(0:JMAX,0:IMAX) :: zb_target
706 !> zl_target(j,i): Target topography (lithosphere surface)
707  real(dp), dimension(0:JMAX,0:IMAX) :: zl_target
708 !> H_target(j,i): Target topography (ice thickness)
709  real(dp), dimension(0:JMAX,0:IMAX) :: h_target
710 
711 !> maske_maxextent(j,i): Maximum ice extent mask.
712 !> 0: not allowed to glaciate,
713 !> 1: allowed to glaciate.
714  integer(i2b), dimension(0:JMAX,0:IMAX) :: maske_maxextent
715 
716 !> ncid_ser: ID of the NetCDF time-series output file
717  integer(i4b) :: ncid_ser
718 !> ncid_core: ID of the NetCDF time-series output file for the deep ice cores
719  integer(i4b) :: ncid_core
720 
721 !> ncid_temp_precip: ID of the NetCDF file containing the
722 !> surface-temperature and precipitation data
723 !> as functions of time
724  integer(i4b) :: ncid_temp_precip
725 !> ndata_temp_precip: Number of surface-temperature
726 !> and precipitation data
727  integer(i4b) :: ndata_temp_precip
728 !> temp_precip_time_min: Minimum time of the surface-temperature
729 !> and precipitation data
731 !> temp_precip_time_stp: Time step of the surface-temperature
732 !> and precipitation data
734 !> temp_precip_time_max: Maximum time of the surface-temperature
735 !> and precipitation data
737 !> temp_precip_time(n): Times of the surface-temperature
738 !> and precipitation data
739  real(dp), dimension(:), allocatable :: temp_precip_time
740 
741 !> kei(n): Tabulated values of the kei function (Kelvin function of zero order)
742  real(dp), dimension(-10000:10000) :: kei
743 !> n_data_kei: Number of tabulated values of the kei function
744  integer(i4b):: n_data_kei
745 !> kei_r_max: Maximum value of the argument r of the tabulated kei function
746  real(dp) :: kei_r_max
747 !> kei_r_incr: Increment of the argument r of the tabulated kei function
748  real(dp) :: kei_r_incr
749 
750 !> rcl1: Maximum length of record for input files
751 !> (with factor 3 safety margin)
752  integer(i4b), parameter :: rcl1 = 3*8*(imax+1)
753 !> rcl2: Maximum length of record for input mask files
754 !> (with factor 3 safety margin)
755  integer(i4b), parameter :: rcl2 = 3 *(imax+1)
756 
757 !> no_value_pos_1: Positive no-value parameter
758  real(dp), parameter :: no_value_pos_1 = 1.11e+11_dp
759 !> no_value_pos_2: Positive no-value parameter
760  real(dp), parameter :: no_value_pos_2 = 9.999e+03_dp
761 !> no_value_neg_1: Negative no-value parameter
762  real(dp), parameter :: no_value_neg_1 = -1.11e+11_dp
763 !> no_value_neg_2: Negative no-value parameter
764  real(dp), parameter :: no_value_neg_2 = -9.999e+03_dp
765 
766 end module sico_variables_m
767 !
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), dimension(0:jmax, 0:imax) smb_corr
smb_corr(j,i): Diagnosed SMB correction
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:jmax, 0:imax) smb_corr_prescribed
smb_corr_prescribed(j,i): Prescribed SMB correction
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))