ttime-stepping.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
       ---
       ttime-stepping.rst (5548B)
       ---
            1 .. include:: ../../global.txt
            2 
            3 .. _sec-adapt:
            4 
            5 Understanding adaptive time-stepping
            6 ------------------------------------
            7 
            8 At each time step the PISM standard output includes "flags" and then a summary of the
            9 model state using a few numbers. A typical example is
           10 
           11 .. code-block:: none
           12 
           13    v$Eh  diffusivity (dt=0.83945 in 2 substeps; av dt_sub_mass_cont=0.41972)
           14    S -124791.571:  3.11640   2.25720      3.62041    18099.93737
           15    y  SSA:     3 outer iterations, ~17.0 KSP iterations each
           16 
           17 The characters "``v$Eh``" at the beginning of the flags line, the first line in the above
           18 example, give a very terse description of which physical processes were modeled in that
           19 time step. Here "``v``" means that a stress balance was solved to compute the velocity.
           20 Then the enthalpy was updated ("``E``") and the ice thickness and surface elevation were
           21 updated ("``h``"). The rest of the flags line looks like
           22 
           23 .. code-block:: none
           24 
           25    diffusivity (dt=0.83945 in 2 substeps; av dt_sub_mass_cont=0.41972)
           26 
           27 Recall that the PISM time step is determined by an adaptive mechanism. Stable mass
           28 conservation and conservation of energy solutions require such an adaptive time-stepping
           29 scheme :cite:`BBL`. The first character we see here, namely "``diffusivity``", is the
           30 adaptive-timestepping "reason" flag. See :numref:`tab-adaptiveflag`. We also see
           31 that there was a major time step of :math:`0.83945` model years divided into :math:`2`
           32 substeps of about :math:`0.42` years. The :opt:`-skip` option enables this mechanism,
           33 while :opt:`-skip_max` sets the maximum number of such substeps. The adaptive mechanism
           34 may choose to take fewer substeps than ``-skip_max`` so as to satisfy certain numerical
           35 stability criteria, however.
           36 
           37 The second line in the above, the line which starts with "``S``", is the summary. Its
           38 format, and the units for these numbers, is simple and is given by a couple of lines
           39 printed near the beginning of the standard output for the run:
           40 
           41 .. code-block:: none
           42 
           43    P       YEAR:       ivol      iarea  max_diffusivity  max_hor_vel
           44    U      years   10^6_km^3  10^6_km^2         m^2 s^-1       m/year
           45 
           46 That is, in each summary we have the total ice volume, total ice area, maximum diffusivity
           47 (of the SIA mass conservation equation), and maximum horizontal velocity (i.e.
           48 :math:`\max(\max(|u|), \max(|v|))`).
           49 
           50 The third line of the above example shows that the SSA stress balance was solved.
           51 Information on the number of nonlinear (outer) and linear (inner) iterations is provided
           52 :cite:`BBssasliding`.
           53 
           54 .. list-table:: Meaning of the adaptive time-stepping "reason" flag in the standard output
           55                 flag line.
           56    :header-rows: 1
           57    :name: tab-adaptiveflag
           58    :widths: 1,2
           59 
           60    * - PISM output
           61      - Active adaptive constraint or PISM sub-system that limited time-step size
           62 
           63    * - ``3D CFL``
           64      - three-dimensional CFL for temperature/age advection :cite:`BBL`
           65 
           66    * - ``diffusivity``
           67      - diffusivity for SIA mass conservation :cite:`BBL`, :cite:`HindmarshPayne`
           68 
           69    * - ``end of the run``
           70      - end of prescribed run time
           71 
           72    * - ``max``
           73      - maximum allowed :math:`\Delta t` applies; set with ``-max_dt``
           74 
           75    * - ``internal (derived class)``
           76      - maximum :math:`\Delta t` was temporarily set by a derived class
           77 
           78    * - ``2D CFL``
           79      - 2D CFL for mass conservation in SSA regions (upwinded; :cite:`BBssasliding`)
           80 
           81    * - ``-ts_... reporting``
           82      - the ``-ts_times`` option and the configuration flag
           83        :config:`time_stepping.hit_ts_times`; see section :ref:`sec-saving-time-series`
           84 
           85    * - ``-extra_... reporting``
           86      - the ``-extra_times`` option; see section :ref:`sec-saving-diagnostics`
           87 
           88    * - ``surface``
           89      - a surface or an atmosphere model
           90 
           91    * - ``ocean``
           92      - an ocean model
           93 
           94    * - ``hydrology``
           95      - a hydrology model stability criterion, see section :ref:`sec-subhydro`
           96 
           97    * - ``BTU``
           98      - time-the bedrock thermal layer model, see section :ref:`sec-energy`
           99 
          100    * - ``eigencalving``
          101      - the eigen-calving model, see section :ref:`sec-calving`
          102 
          103 .. list-table:: Options controlling time-stepping
          104    :header-rows: 1
          105    :name: tab-time-stepping
          106    :widths: 3,5
          107 
          108    * - Option
          109      - Description
          110 
          111    * - :opt:`-adapt_ratio`
          112      - Adaptive time stepping ratio for the explicit scheme for the mass balance equation.
          113 
          114    * - :opt:`-max_dt` (years)
          115      - The maximum time-step in years. The adaptive time-stepping scheme will make the
          116        time-step shorter than this as needed for stability, but not longer.
          117 
          118    * - :opt:`-skip`
          119      - Enables time-step skipping, see below.
          120 
          121    * - :opt:`-skip_max`
          122      - Number of mass-balance steps, including SIA diffusivity updates, to perform before
          123        temperature, age, and SSA stress balance computations are done. This is only
          124        effective if the time step is being limited by the diffusivity time step
          125        restriction associated to mass continuity using the SIA. The maximum recommended
          126        value for ``-skip_max`` is, unfortunately, dependent on the context. The
          127        temperature field should be updated when the surface changes significantly, and
          128        likewise the basal sliding velocity if it comes (as it should) from the SSA
          129        calculation.
          130 
          131    * - :opt:`-timestep_hit_multiples` (years)
          132      - Hit multiples of the number of model years specified. For example, if stability
          133        criteria require a time-step of 11 years and the ``-timestep_hit_multiples 3``
          134        option is set, PISM will take a 9 model year long time step. This can be useful to
          135        enforce consistent sampling of periodic climate data.