“Bootstrapping” in PISM means starting a modeling run with less than sufficient data, and then either
interpolating some of the missing fields from a separate file, and
letting essentially heuristic models fill in remaining ones.
So, “bootstrapping” is used whenever some fields are missing or interpolation is necessary, for example when going to a finer grid during grid sequencing.
These steps are performed before the first time step is taken, so they are part of an
initialization process. Bootstrapping uses the option
-bootstrap; see section
First run for an example.
The need for an identified stage like “bootstrapping” comes from the fact that initial conditions for the evolution equations describing an ice sheet are not all observable. As a principal example of this problem, these initial conditions include the temperature within the ice. Glaciological observations, specifically remote-sensed observations which cover a large fraction or all of an ice sheet, never include this temperature field in practice.
Ice sheet models often need to do something like this to get “reasonable” initial fields within the ice:
start only with (potentially) observable quantities like surface elevation, ice thickness, ice surface temperature, surface mass balance, and geothermal flux,
“bootstrap” as defined here, using heuristics to fill in temperatures at depth and to give a preliminary estimate of the basal sliding condition and the three-dimensional velocity field, and
either do a long run, often holding the current geometry and surface conditions steady, to evolve toward a steady state which has compatible temperature, stress, and velocity fields,
or do a long run using an additional (typically spatially-imprecise) historical record from an ice core or a sea bed core (or both), to apply forcing to the surface temperature or sea level (for instance), but with the same functional result of filling in temperature, stress, and velocity fields.
-bootstrap you will need to specify both grid dimensions (using
-Mz; see section Spatial grid) and the height of the
computational box for the ice with
-Lz (section Computational box). The data read
from the file can determine the horizontal extent of the model, if options
-Ly are not set. The additional required specification of vertical extent by
-Lz is reasonably natural because input data used in “bootstrapping” are
-bootstrap without specifying all four options
-Lz is an error.
-Ly specify horizontal grid dimensions smaller than in the
bootstrapping file, PISM will cut out the center portion of the domain. In PISM’s regional
-y_range each take a list of two numbers, a list
of minimum and maximum \(x\) and \(y\) coordinates, respectively (in meters), which makes it
possible to select a subset that is not centered in the bootstrapping file’s grid.
For the key issue of what heuristic is used to determine the temperatures at depth, there
are two methods. The default method uses ice thickness, surface temperature, surface mass
balance, and geothermal flux. The temperature is set to the solution of a steady
one-dimensional differential equation in which conduction and vertical advection are in
balance, and the vertical velocity linearly-interpolates between the surface mass balance
rate at the top and zero at the bottom. The non-default method, selected by setting
quartic_guess, was the default in
older PISM versions (
stable0.5 and earlier); it does not use the surface mass balance
and instead makes a more-heuristic estimate of the vertical temperature profile based only
on the ice thickness, surface temperature, and geothermal flux.
-bootstrap file format¶
Allowed formats for a bootstrapping file are relatively simple to describe.
NetCDF variables should have the
unitscontaining a UDUNITS-compatible string. If this attribute is missing, PISM will assume that a field uses MKS units.1
NetCDF coordinate variables should have
axisattributes. These are used to determine which spatial dimension a NetCDF dimension corresponds to; for example see
ncdump -houtput from a file produced by PISM. The
ydimensions need not be called “
x” and “
Coordinate variables have to be strictly-increasing.
Three-dimensional variables will be ignored in bootstrapping.
standard_nameattribute is used, when available, to identify a variable, so variable names need not match corresponding variables in a PISM output file. See the CF standard names used by PISM for a list of CF standard names used in PISM.
For example, the bed elevation (topography) is read by
bedrock_altitudeand the ice thickness by
Any two-dimensional variable except bed topography and ice thickness may be missing. For missing variables some heuristic will be applied. See Table 4 for a sketch of the data necessary for bootstrapping.
Surface elevation is ignored if present. Users with surface elevation and bed elevation data should compute the ice thickness variable, put it in the bootstrapping file, and set its
PISM automatically converts data present in an input file to MKS. This means that having ice thickness in feet or temperature in Fahrenheit is allowed.