tbootstrapping.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
---
tbootstrapping.rst (5751B)
---
1 .. include:: ../../global.txt
2
3 .. _sec-bootstrapping:
4
5 Bootstrapping
6 -------------
7
8 "Bootstrapping" in PISM means starting a modeling run with less than sufficient data, and
9 letting essentially heuristic models fill in needed fields. These heuristics are applied
10 before the first time step is taken, so they are part of an initialization process.
11 Bootstrapping uses the option :opt:`-bootstrap`; see section :ref:`sec-runscript` for an
12 example.
13
14 The need for an identified stage like "bootstrapping" comes from the fact that initial
15 conditions for the evolution equations describing an ice sheet are not all observable. As
16 a principal example of this problem, these initial conditions include the temperature
17 within the ice. Glaciological observations, specifically remote-sensed observations which
18 cover a large fraction or all of an ice sheet, never include this temperature field in
19 practice.
20
21 Ice sheet models often need to do something like this to get "reasonable" initial fields
22 within the ice:
23
24 #. start only with (potentially) observable quantities like surface elevation, ice
25 thickness, ice surface temperature, surface mass balance, and geothermal flux,
26 #. "bootstrap" as defined here, using heuristics to fill in temperatures at depth and to
27 give a preliminary estimate of the basal sliding condition and the three-dimensional
28 velocity field, and
29 #. #. *either* do a long run, often holding the current geometry and surface conditions
30 steady, to evolve toward a steady state which has compatible temperature, stress,
31 and velocity fields,
32 #. *or* do a long run using an additional (typically spatially-imprecise) historical
33 record from an ice core or a sea bed core (or both), to apply forcing to the surface
34 temperature or sea level (for instance), but with the same functional result of
35 filling in temperature, stress, and velocity fields.
36
37 When using :opt:`-bootstrap` you will need to specify both grid dimensions (using
38 :opt:`-Mx`, :opt:`-My` and :opt:`-Mz`; see section :ref:`sec-grid`) and the height of the
39 computational box for the ice with :opt:`-Lz` (section :ref:`sec-coords`). The data read
40 from the file can determine the horizontal extent of the model, if options :opt:`-Lx`,
41 :opt:`-Ly` are not set. The additional required specification of vertical extent by
42 :opt:`-Lz` is reasonably natural because typical data used in "bootstrapping" are
43 two-dimensional. Using :opt:`-bootstrap` without specifying all four options :opt:`-Mx`,
44 :opt:`-My`, :opt:`-Mz`, :opt:`-Lz` is an error.
45
46 If :opt:`-Lx` and :opt:`-Ly` specify horizontal grid dimensions smaller than in the
47 bootstrapping file, PISM will cut out the center portion of the domain. Alternatively,
48 options :opt:`-x_range` and :opt:`-y_range` each take a list of two numbers, a list of
49 minimum and maximum :math:`x` and :math:`y` coordinates, respectively (in meters), which
50 makes it possible to select a subset that is not centered in the bootstrapping file's
51 grid.
52
53 For the key issue of what heuristic is used to determine the temperatures at depth, there
54 are two methods. The default method uses ice thickness, surface temperature, surface mass
55 balance, and geothermal flux. The temperature is set to the solution of a steady
56 one-dimensional differential equation in which conduction and vertical advection are in
57 balance, and the vertical velocity linearly-interpolates between the surface mass balance
58 rate at the top and zero at the bottom. The non-default method, set with option
59 :opt:`-boot_temperature_heuristic quartic_guess`, was the default in older PISM versions
60 (``stable0.5`` and earlier); it does not use the surface mass balance and instead makes a
61 more-heuristic estimate of the vertical temperature profile based only on the ice
62 thickness, surface temperature, and geothermal flux.
63
64 .. _sec-bootstrapping-format:
65
66 ``-bootstrap`` file format
67 ^^^^^^^^^^^^^^^^^^^^^^^^^^
68
69 Allowed formats for a bootstrapping file are relatively simple to describe.
70
71 #. NetCDF variables should have the ``units`` containing a UDUNITS_\-compatible string. If
72 this attribute is missing, PISM will assume that a field uses MKS units.\ [#]_
73 #. NetCDF coordinate variables should have ``standard_name`` or ``axis`` attributes. These
74 are used to determine which *spatial* dimension a NetCDF dimension corresponds to; for
75 example see ``ncdump -h`` output from a file produced by PISM. The :var:`x` and
76 :var:`y` dimensions need not be called ":var:`x`" and ":var:`y`".
77 #. Coordinate variables have to be strictly-increasing.
78 #. Three-dimensional variables will be ignored in bootstrapping.
79 #. The ``standard_name`` attribute is used, when available, to identify a variable, so
80 variable names need not match corresponding variables in a PISM output file. See the
81 :ref:`sec-cf-standard-names` for a list of CF standard names used in
82 PISM.
83
84 Specifically, the bed elevation (topography) is read by ``standard_name`` =
85 ``bedrock_altitude`` and the ice thickness by ``standard_name`` =
86 ``land_ice_thickness``.
87 #. Any two-dimensional variable except bed topography and ice thickness may be missing.
88 For missing variables some heuristic will be applied. See :numref:`tab-modelhierarchy`
89 for a sketch of the data necessary for bootstrapping; see ``src/base/iMbootstrap.cc``
90 for all further details.
91 #. Surface elevation is ignored if present. Users with surface elevation and bed elevation
92 data should compute the ice thickness variable, put it in the bootstrapping file, and
93 set its ``standard_name`` to ``land_ice_thickness``.
94
95 .. [#] PISM automatically converts data present in an input file to MKS. This means that
96 having ice thickness in feet or temperature in Fahrenheit *is* allowed.