tocean.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
---
tocean.rst (16562B)
---
1 .. include:: shortcuts.txt
2
3 Ocean model components
4 ----------------------
5
6 PISM Ocean model components provide sub-shelf ice temperature (:var:`shelfbtemp`) and
7 sub-shelf mass flux (:var:`shelfbmassflux`) to the ice dynamics core.
8
9 The sub-shelf ice temperature is used as a Dirichlet boundary condition in the energy
10 conservation code. The sub-shelf mass flux is used as a source in the mass-continuity
11 (transport) equation. Positive flux corresponds to ice loss; in other words, this
12 sub-shelf mass flux is a "melt rate".
13
14 .. contents::
15
16 .. _sec-ocean-constant:
17
18 Constant in time and space
19 ++++++++++++++++++++++++++
20
21 :|options|: ``-ocean constant``
22 :|variables|: none
23 :|implementation|: ``pism::ocean::Constant``
24
25 .. note:: This is the default choice.
26
27 This ocean model component implements boundary conditions at the ice/ocean interface that
28 are constant *both* in space and time.
29
30 The sub-shelf ice temperature is set to pressure melting and the sub-shelf melt rate is
31 assumed to be proportional to the heat flux from the ocean into the ice (configuration
32 parameter :config:`ocean.sub_shelf_heat_flux_into_ice`).
33
34 Alternatively, the sub-shelf melt rate in meters per year can be set using the
35 :opt:`-shelf_base_melt_rate` command-line option.
36
37 .. _sec-ocean-given:
38
39 Reading forcing data from a file
40 ++++++++++++++++++++++++++++++++
41
42 :|options|: ``-ocean given``
43 :|variables|: :var:`shelfbtemp` Kelvin,
44 :var:`shelfbmassflux` |flux|
45 :|implementation|: ``pism::ocean::Given``
46
47 This ocean model component reads sub-shelf ice temperature :var:`shelfbtemp` and the
48 sub-shelf mass flux :var:`shelfbmassflux` from a file. It takes the following command-line
49 options.
50
51 - :opt:`-ocean_given_file`: sets the name of the file to read forcing data from. The file
52 may contain several records. If only one record is provided it is interpreted as
53 time-independent.
54 - :opt:`-ocean_given_reference_year` specifies the reference date; see section :ref:`sec-periodic-forcing`.
55 - :opt:`-ocean_given_period` specifies the length of the period of the forcing data, in
56 model years; see section :ref:`sec-periodic-forcing`.
57
58 Variables :var:`shelfbtemp` and :var:`shelfbmassflux` may be time-dependent. (The ``-ocean
59 given`` component is very similar to ``-surface given`` and ``-atmosphere given``.)
60
61 .. _sec-ocean-pik:
62
63 PIK
64 +++
65
66 :|options|: ``-ocean pik``
67 :|variables|: none
68 :|implementation|: ``pism::ocean::PIK``
69
70 This ocean model component implements the ocean forcing setup used in :cite:`Martinetal2011`.
71 The sub-shelf ice temperature is set to pressure-melting; the sub-shelf mass flux
72 computation follows :cite:`BeckmannGoosse2003`.
73
74 It takes one command-line option:
75
76 - :opt:`-meltfactor_pik`: a melt factor `F_{\mathrm{melt}}` in sub-shelf-melting
77 parameterization, see equation (5) in :cite:`Martinetal2011`.
78
79 .. _sec-ocean-th:
80
81 Basal melt rate and temperature from thermodynamics in boundary layer
82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
83
84 :|options|: ``-ocean th``
85 :|variables|: :var:`theta_ocean` (absolute potential ocean temperature), [Kelvin],
86 :var:`salinity_ocean` (salinity of the adjacent ocean), [g/kg]
87 :|implementation|: ``pism::ocean::GivenTH``
88
89 This ocean model component derives basal melt rate and basal temperature from
90 thermodynamics in a boundary layer at the base of the ice shelf. It uses a set of three
91 equations describing
92
93 #. the energy flux balance,
94 #. the salt flux balance,
95 #. the pressure and salinity dependent freezing point in the boundary layer.
96
97 This model is described in :cite:`HollandJenkins1999` and :cite:`Hellmeretal1998`.
98
99 Inputs are potential temperature (variable :var:`theta_ocean`) and salinity (variable
100 :var:`salinity_ocean`) read from a file.
101
102 No ocean circulation is modeled, so melt water computed by this model is not fed back into
103 the surrounding ocean.
104
105 This implementation uses different approximations of the temperature gradient at the base
106 of an ice shelf column depending on whether there is sub-shelf melt, sub-shelf freeze-on,
107 or neither (see :cite:`HollandJenkins1999` for details).
108
109 It takes two command-line option:
110
111 - :opt:`-ocean_th_file`: specifies the NetCDF file providing potential temperature and
112 salinity fields.
113 - :opt:`-clip_shelf_base_salinity`: if this is set (which is the default), the sub-shelf
114 salinity is clipped so that it stays in the `[4, 40]` psu range. This is done to
115 ensure that we stay in the range of applicability of the melting point temperature
116 parameterization; see :cite:`HollandJenkins1999`. To disable salinity clipping, use the
117 :opt:`-no_clip_shelf_base_salinity` option or set the configuration parameter
118 :config:`ocean.three_equation_model_clip_salinity` to "no".
119
120 .. _sec-pico:
121
122 PICO
123 ++++
124
125 :|options|: ``-ocean pico``
126 :|variables|: :var:`theta_ocean` (potential ocean temperature), [Kelvin],
127
128 :var:`salinity_ocean` (salinity of the adjacent ocean), [g/kg],
129
130 :var:`basins` (mask of large-scale ocean basins that ocean input is averaged over), [integer]
131 :|implementation|: ``pism::ocean::Pico``
132
133 The PICO model provides sub-shelf melt rates and temperatures consistent with the vertical
134 overturning circulation in ice shelf cavities that drives the exchange with open ocean
135 water masses. It is based on the ocean box model of :cite:`OlbersHellmer2010` and includes
136 a geometric approach which makes it applicable to ice shelves that evolve in two
137 horizontal dimensions. For each ice shelf, PICO solves the box model equations describing
138 the transport between coarse ocean boxes. It applies a boundary layer melt formulation
139 :cite:`HellmerOlbers1989`, :cite:`HollandJenkins1999`. The overturning circulation is
140 driven by the ice-pump :cite:`LewisPerkin1986`: melting at the ice-shelf base reduces the
141 density of ambient water masses. Buoyant water rising along the shelf base draws in ocean
142 water at depth, which flows across the continental shelf towards the deep grounding lines.
143 The model captures this circulation by defining consecutive boxes following the flow
144 within the ice shelf cavity, with the first box adjacent to the grounding line. The
145 extents of the ocean boxes are computed adjusting to the evolving grounding lines and
146 calving fronts. Open ocean properties in front of the shelf as well as the geometry of the
147 shelf determine basal melt rate and basal temperature at each grid point.
148
149 The main equations reflect the
150
151 #. heat and salt balance for each ocean box in contact with the ice shelf base,
152 #. overturning flux driven by the density difference between open-ocean and grounding-line box,
153 #. boundary layer melt formulation.
154
155 The PICO model is described in detail in :cite:`ReeseAlbrecht2018`.
156
157 Inputs are potential temperature (variable :var:`theta_ocean`), salinity (variable
158 :var:`salinity_ocean`) and ocean basin mask (variable :var:`basins`). Variables
159 :var:`theta_ocean` and :var:`salinity_ocean` may be time-dependent.
160
161 Forcing ocean temperature and salinity are taken from the water masses that occupy the sea
162 floor in front of the ice shelves, which extends down to a specified continental shelf
163 depth (see :config:`ocean.pico.continental_shelf_depth`). These water masses are
164 transported by the overturning circulation into the ice shelf cavity and towards the
165 grounding line. The basin mask defines regions of similar, large-scale ocean conditions;
166 each region is marked with a distinct positive integer. In PICO, ocean input temperature
167 and salinity are averaged on the continental shelf within each basins. For each ice shelf,
168 the input values of the overturning circulation are calculated as an area-weighted average
169 over all basins that intersect the ice shelf. If ocean input parameters cannot be
170 identified, standard values are used (**Warning:** this could strongly influence melt
171 rates computed by PICO). In regions where the PICO geometry cannot be identified,
172 :cite:`BeckmannGoosse2003` is applied.
173
174 PICO has one command-line option and 7 configuration parameters:
175
176 - :opt:`-ocean_pico_file`: specifies the NetCDF file containing potential temperature
177 (:var:`theta_ocean`), salinity (:var:`salinity_ocean`) and ocean basins (:var:`basins`).
178 - :config:`ocean.pico.heat_exchange_coefficent` sets the coefficient for turbulent heat
179 exchange from the ambient ocean across the boundary layer beneath the ice shelf base.
180 - :config:`ocean.pico.overturning_coefficent`: sets the coefficient in the overturning
181 parameterization.
182 - :config:`ocean.pico.number_of_boxes`: For each ice shelf the number of ocean boxes is
183 determined by interpolating between 1 and number_of_boxes depending on its size and
184 geometry such that larger ice shelves are resolved with more boxes; a value of 5 is
185 suitable for the Antarctic setup.
186 - :config:`ocean.pico.number_of_basins`
187 - :config:`ocean.pico.exclude_ice_rises`: If set to true, grounding lines of ice rises are
188 excluded in the geometrical routines that determine the ocean boxes; using this option
189 is recommended.
190 - :config:`ocean.pico.continental_shelf_depth`: specifies the depth up to which oceanic
191 input temperatures and salinities are averaged over the continental shelf areas in front
192 of the ice shelf cavities.
193 - :config:`ocean.pico.maximum_ice_rise_area`: specifies an area threshold that separates
194 ice rises from continental regions.
195
196 .. _sec-ocean-delta-sl:
197
198 Scalar sea level offsets
199 ++++++++++++++++++++++++
200
201 :|options|: :opt:`-sea_level ...,delta_sl`
202 :|variables|: :var:`delta_SL` (meters)
203 :|implementation|: ``pism::ocean::sea_level::Delta_SL``
204
205 The ``delta_sl`` modifier implements sea level forcing using scalar offsets.
206
207 It takes the following command-line options:
208
209 - :opt:`-ocean_delta_sl_file`: specifies the name of the file containing forcing data.
210 This file has to contain the :var:`delta_SL` variable using units "meters" or
211 equivalent.
212 - :opt:`-ocean_delta_sl_period` specifies the length of the period of the forcing data, in
213 model years; see section :ref:`sec-periodic-forcing`.
214 - :opt:`-ocean_delta_sl_reference_year` specifies the reference date; see section
215 :ref:`sec-periodic-forcing`.
216
217 .. _sec-ocean-delta-sl-2d:
218
219 Two-dimensional sea level offsets
220 +++++++++++++++++++++++++++++++++
221
222 :|options|: :opt:`-sea_level ...,delta_sl_2d`
223 :|variables|: :var:`delta_SL` (meters)
224 :|implementation|: ``pism::ocean::sea_level::Delta_SL_2D``
225
226 The ``delta_sl`` modifier implements sea level forcing using time-dependent and
227 spatially-variable offsets.
228
229 It uses the following configuration parameters:
230
231 - :config:`ocean.delta_sl_2d.file`: specifies the name of the file containing forcing
232 data. This file has to contain the :var:`delta_SL` variable using units "meters" or
233 equivalent.
234 - :config:`ocean.delta_sl_2d.period` specifies the length of the period of the forcing
235 data, in model years; see section :ref:`sec-periodic-forcing`.
236 - :config:`ocean.delta_sl_2d.reference_year` specifies the reference date; see section
237 :ref:`sec-periodic-forcing`.
238
239 .. _sec-ocean-delta-t:
240
241 Scalar sub-shelf temperature offsets
242 ++++++++++++++++++++++++++++++++++++
243
244
245 :|options|: :opt:`-ocean ...,delta_T`
246 :|variables|: :var:`delta_T` (Kelvin)
247 :|implementation|: ``pism::ocean::Delta_T``
248
249 This modifier implements forcing using sub-shelf ice temperature offsets.
250
251 It takes the following command-line options:
252
253 - :opt:`-ocean_delta_T_file`: specifies the name of the file containing forcing data. This
254 file has to contain the :var:`delta_T` variable using units of "Kelvin" or equivalent.
255 - :opt:`-ocean_delta_T_period` specifies the length of the period of the forcing data, in
256 model years; see section :ref:`sec-periodic-forcing`.
257 - :opt:`-ocean_delta_T_reference_year` specifies the reference date; see section
258 :ref:`sec-periodic-forcing`.
259
260 .. _sec-ocean-delta-smb:
261
262 Scalar sub-shelf mass flux offsets
263 ++++++++++++++++++++++++++++++++++
264
265 :|options|: ``-ocean ...,delta_SMB``
266 :|variables|: :var:`delta_SMB` |flux|
267 :|implementation|: ``pism::ocean::Delta_SMB``
268
269 This modifier implements forcing using sub-shelf mass flux (melt rate) offsets.
270
271 It takes the following command-line options:
272
273 - :opt:`-ocean_delta_SMB_file`: specifies the name of the file containing forcing data.
274 This file has to contain the :var:`delta_SMB` variable using units |flux| or equivalent.
275 - :opt:`-ocean_delta_SMB_period` specifies the length of the period of the forcing data,
276 in model years; see section :ref:`sec-periodic-forcing`.
277 - :opt:`-ocean_delta_SMB_reference_year` specifies the reference date; see section
278 :ref:`sec-periodic-forcing`.
279
280 .. _sec-ocean-frac-smb:
281
282 Scalar sub-shelf mass flux fraction offsets
283 +++++++++++++++++++++++++++++++++++++++++++
284
285 :|options|: ``-ocean ...,frac_SMB``
286 :|variables|: :var:`frac_SMB` [1]
287 :|implementation|: ``pism::ocean::Frac_SMB``
288
289 This modifier implements forcing using sub-shelf mass flux (melt rate) fraction offsets.
290
291 It takes the following command-line options:
292
293 - :opt:`-ocean_frac_SMB_file`: specifies the name of the file containing forcing data.
294 This file has to contain the :var:`frac_SMB` variable.
295 - :opt:`-ocean_frac_SMB_period` specifies the length of the period of the forcing data, in
296 model years; see section :ref:`sec-periodic-forcing`.
297 - :opt:`-ocean_frac_SMB_reference_year` specifies the reference date; see section
298 :ref:`sec-periodic-forcing`.
299
300 .. _sec-ocean-anomaly:
301
302 Two-dimensional sub-shelf mass flux offsets
303 +++++++++++++++++++++++++++++++++++++++++++
304
305 :|options|: :opt:`-ocean ...,anomaly`
306 :|variables|: :var:`shelf_base_mass_flux_anomaly` |flux|
307 :|implementation|: ``pism::ocean::Anomaly``
308
309 This modifier implements a spatially-variable version of ``-ocean ...,delta_SMB`` which
310 applies time-dependent shelf base mass flux anomalies, as used for initMIP or LARMIP
311 model intercomparisons.
312
313 It takes the following command-line options:
314
315 - :opt:`-ocean_anomaly_file` specifies a file containing the variable
316 :var:`shelf_base_mass_flux_anomaly`.
317 - :opt:`-ocean_anomaly_period` (years) specifies the period of the forcing data, in
318 model years; see :ref:`sec-periodic-forcing`
319 - :opt:`-ocean_anomaly_reference_year` specifies the reference year; see
320 :ref:`sec-periodic-forcing`
321
322 See also to ``-atmosphere ...,anomaly`` or
323 ``-surface ...,anomaly`` (section :ref:`sec-surface-anomaly`)
324 which is similar, but applies anomalies at the atmosphere or surface level,
325 respectively.
326
327 .. _sec-ocean-frac-mbp:
328
329 Scalar melange back pressure fraction
330 +++++++++++++++++++++++++++++++++++++
331
332 :|options|: :opt:`-ocean ...,frac_MBP`
333 :|variables|: :var:`frac_MBP`
334 :|implementation|: ``pism::ocean::Frac_MBP``
335
336 This modifier implements forcing using melange back pressure fraction (scaling). The
337 scalar time-dependent variable :var:`frac_MBP` should take on values from 0 to 1; it is
338 understood as the fraction of the maximum melange back pressure possible at a given
339 location. (We assume that melange back pressure cannot exceed the pressure of the ice
340 column at a calving front.)
341
342 Please see :ref:`sec-model-melange-pressure` for details.
343
344 .. note::
345
346 This modifier *scales* the melange back pressure fraction provided by an ocean model.
347 The default value of :config:`ocean.melange_back_pressure_fraction` is zero and
348 *scaling it does nothing*.
349
350 We recommend setting :config:`ocean.melange_back_pressure_fraction` to 1.
351
352 This modifier takes the following command-line options:
353
354 - :opt:`-ocean_frac_MBP_file`: specifies the name of the file containing forcing data.
355 This file has to contain the :var:`frac_MBP` variable using units of "1" (a
356 dimensionless parameter)
357 - :opt:`-ocean_frac_MBP_period` specifies the length of the period of the forcing data, in
358 model years; see section :ref:`sec-periodic-forcing`.
359 - :opt:`-ocean_frac_MBP_reference_year` specifies the reference date; see section
360 :ref:`sec-periodic-forcing`.
361
362 .. _sec-ocean-cache:
363
364 The caching modifier
365 ++++++++++++++++++++
366
367 :|options|: :opt:`-ocean ...,cache`
368 :|implementation|: ``pism::ocean::Cache``
369 :|seealso|: :ref:`sec-surface-cache`
370
371 This modifier skips ocean model updates, so that a ocean model is called no more than
372 every :opt:`-ocean_cache_update_interval` years. A time-step of `1` year is used every
373 time a ocean model is updated.
374
375 This is useful in cases when inter-annual climate variability is important, but one year
376 differs little from the next. (Coarse-grid paleo-climate runs, for example.)
377
378 It takes the following options:
379
380 - :opt:`-ocean_cache_update_interval` (*years*) Specifies the minimum interval between
381 updates. PISM may take longer time-steps if the adaptive scheme allows it, though.