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.