tismip6.rst - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
(HTM) git clone git://src.adamsgaard.dk/pism
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
tismip6.rst (6771B)
---
1 .. include:: ../../global.txt
2
3 .. _sec-ismip6:
4
5 ISMIP6 Greenland
6 ----------------
7
8 Running ISMIP6-Greenland_ projections required implementing some additional sub-models as
9 well as several modifications needed to follow ISMIP6 conventions. This section describes
10 these modifications and explains how to use PISM to run ISMIP6 projections.
11
12 Top surface mass balance and temperature
13 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14
15 Use the ``ismip6`` surface model to implement ISMIP6 surface mass balance forcing.
16
17 .. code-block:: bash
18
19 pismr -surface ismip6 \
20 -surface_ismip6_file climate_forcing.nc \
21 -surface_ismip6_reference_file climate_forcing_reference.nc
22
23 Here ``climate_forcing.nc`` should contain time-dependent variables
24
25 - :var:`climatic_mass_balance_anomaly` (units: `kg / (m^2 s)`) and
26 - :var:`ice_surface_temp_anomaly` (units: *Kelvin*).
27
28 The file ``climate_forcing_reference.nc`` should contain time-independent (2D) variables
29
30 - :var:`climatic_mass_balance_reference` (units: `kg / (m^2 s)`),
31 - :var:`climatic_mass_balance_gradient` (units: `(kg / (m^2 s)) / m`),
32 - :var:`ice_surface_temp_reference` (units: *Kelvin*),
33 - :var:`ice_surface_temp_gradient` (units: *Kelvin / m*),
34 - :var:`surface_elevation` (units: *m*)
35
36 The surface mass balance is computed using the following formula:
37
38 .. code-block:: none
39
40 SMB(x,y,t) = SMB_ref(x,y) + aSMB(x,y,t) + dSMBdz(x,y) * [h(x,y,t) - h_ref(x,y)]
41
42 .. _sec-ismip6-frontal-melt:
43
44 Frontal melt parameterization
45 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
46
47 Use the ``discharge_given`` frontal melt model to implement the ISMIP6 frontal melt
48 parameterization.
49
50 .. code-block:: bash
51
52 pismr -frontal_melt discharge_given \
53 -frontal_melt_discharge_given_file forcing.nc ...
54
55 The file ``forcing.nc`` has to contain variables :var:`theta_ocean` (potential temperature
56 of adjacent ocean, *degrees Celsius*) and :var:`subglacial_discharge` (water flux per unit
57 area of submerged ice front, `kg / (m^2 s)`).
58
59 These inputs are used in the frontal melt parameterization described in
60 :cite:`Rignotetal2016`:
61
62 .. math::
63
64 q_m = (A\, h\, q_{sg}^{\alpha} + B)\, \theta^{\beta}
65
66 Here `q_m` is the frontal melt rate in *m/day*, `h` is the water depth at an ice front,
67 `\theta` in the *thermal forcing* and `A`, `B`, `\alpha`, `\beta` are model parameters.
68
69
70 Parameterized front retreat
71 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 To use the `parameterized front retreat mechanism <ismip6-greenland_>`_ use the
74 :ref:`sec-prescribed-retreat` mechanism.
75
76 .. code-block:: bash
77
78 pismr -front_retreat_file retreat_forcing.nc ...
79
80 The file ``retreat_forcing.nc`` should contain the variable
81 ``land_ice_area_fraction_retreat`` which defines the maximum ice extent at a given time.
82
83 Mass losses resulting from applying this mechanism are reported as a part of
84 :var:`tendency_of_ice_amount_due_to_discharge` and related diagnostics (i.e. they are
85 *not* attributed to calving or frontal melt).
86
87
88 Output variables
89 ^^^^^^^^^^^^^^^^
90
91 See :numref:`tab-ismip6-variables` for a list of variables requested by ISMIP6. Note that
92 they have names different from the ones listed in :ref:`sec-extra_vars` and use MKS units.
93 To reduce the amount of post-processing output files require PISM can follow these
94 conventions.
95
96 Setting :config:`output.ISMIP6` makes PISM save diagnostics using MKS units and recognize
97 ISMIP6 variable names.
98
99 To save *all* the diagnostics requested by ISMIP6 use the short-cut
100
101 .. code-block:: bash
102
103 pismr -extra_vars ismip6 ...
104
105 The list of variables is stored in the configuration parameter
106 :config:`output.ISMIP6_extra_variables` and contains variables Greenland projections are
107 required to provide. (Add ``base,ligroundf`` to this list for Antarctic projections.)
108
109 To save all the time series supported by PISM, omit the ``-ts_vars`` option:
110
111 .. code-block:: bash
112
113 pismr -ts_times TIMES -ts_file ts.nc
114
115 To save all variables requested by ISMIP6, use ``-ts_vars ismip6``:
116
117 .. code-block:: bash
118
119 pismr -ts_times TIMES -ts_file ts.nc -ts_vars ismip6
120
121 .. list-table:: ISMIP6 variables
122 :name: tab-ismip6-variables
123 :header-rows: 1
124 :widths: 1,1,3
125
126 * - Variable
127 - Units
128 - Description
129
130 * - ``lithk(x,y,t)``
131 - m
132 - Ice thickness
133
134 * - ``orog(x,y,t)``
135 - m
136 - Surface elevation
137
138 * - ``base(x,y,t)``
139 - m
140 - Base elevation
141
142 * - ``topg(x,y,t)``
143 - m
144 - Bedrock elevation
145
146 * - ``hfgeoubed(x,y)``
147 - W m-2
148 - Geothermal heat flux
149
150 * - ``acabf(x,y,t)``
151 - kg m-2 s-1
152 - Surface mass balance flux
153
154 * - ``libmassbfgr(x,y,t)``
155 - kg m-2 s-1
156 - Basal mass balance flux beneath grounded ice
157
158 * - ``libmassbffl(x,y,t)``
159 - kg m-2 s-1
160 - Basal mass balance flux beneath floating ice
161
162 * - ``dlithkdt(x,y,t)``
163 - m s-1
164 - Ice thickness imbalance
165
166 * - ``xvelsurf(x,y,t)``
167 - m s-1
168 - Surface velocity in x
169
170 * - ``yvelsurf(x,y,t)``
171 - m s-1
172 - Surface velocity in y
173
174 * - ``zvelsurf(x,y,t)``
175 - m s-1
176 - Surface velocity in z
177
178 * - ``xvelbase(x,y,t)``
179 - m s-1
180 - Basal velocity in x
181
182 * - ``yvelbase(x,y,t)``
183 - m s-1
184 - Basal velocity in y
185
186 * - ``zvelbase(x,y,t)``
187 - m s-1
188 - Basal velocity in z
189
190 * - ``xvelmean(x,y,t)``
191 - m s-1
192 - Mean velocity in x
193
194 * - ``yvelmean(x,y,t)``
195 - m s-1
196 - Mean velocity in y
197
198 * - ``litemptop(x,y,t)``
199 - K
200 - Surface temperature
201
202 * - ``litempbotgr(x,y,t)``
203 - K
204 - Basal temperature beneath grounded ice sheet
205
206 * - ``litempbotfl(x,y,t)``
207 - K
208 - Basal temperature beneath floating ice shelf
209
210 * - ``strbasemag(x,y,t)``
211 - Pa
212 - Basal drag
213
214 * - ``licalvf(x,y,t)``
215 - kg m-2 s-1
216 - Calving flux
217
218 * - ``lifmassbf(x,y,t)``
219 - kg m-2 s-1
220 - Ice front melt and calving flux
221
222 * - ``ligroundf(x,y,t)``
223 - kg m-2 s-1
224 - Grounding line flux
225
226 * - ``sftgif(x,y,t)``
227 - 1
228 - Land ice area fraction
229
230 * - ``sftgrf(x,y,t)``
231 - 1
232 - Grounded ice sheet area fraction
233
234 * - ``sftflf(x,y,t)``
235 - 1
236 - Floating ice sheet area fraction
237
238 * - ``lim(t)``
239 - kg
240 - Total ice mass
241
242 * - ``limnsw(t)``
243 - kg
244 - Mass above floatation
245
246 * - ``iareagr(t)``
247 - m^2
248 - Grounded ice area
249
250 * - ``iareafl(t)``
251 - m^2
252 - Floating ice area
253
254 * - ``tendacabf(t)``
255 - kg s-1
256 - Total SMB flux
257
258 * - ``tendlibmassbf(t)``
259 - kg s-1
260 - Total BMB flux
261
262 * - ``tendlibmassbffl(t)``
263 - kg s-1
264 - Total BMB flux beneath floating ice
265
266 * - ``tendlicalvf(t)``
267 - kg s-1
268 - Total calving flux
269
270 * - ``tendlifmassbf(t)``
271 - kg s-1
272 - Total calving and ice front melting flux
273
274 * - ``tendligroundf(t)``
275 - kg s-1
276 - Total grounding line flux