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.