ttime.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.rst (3059B)
       ---
            1 .. include:: shortcuts.txt
            2 
            3 .. _sec-model-time:
            4 
            5 Managing model time
            6 -------------------
            7 
            8 Most of PISM only needs to know how long the current time step is. The climate forcing
            9 (reporting) code, on the other hand, uses time in a precise manner to provide (and report)
           10 the correct values at the right time. For example: the February mass balance should be
           11 used for 28 days (except during leap years) and not `365/12 = 30.4167` days.
           12 
           13 .. _sec-periodic-forcing:
           14 
           15 Periodic forcing
           16 ++++++++++++++++
           17 
           18 All components reading time-dependent forcing data from files can interpret it as
           19 "periodic". The length of the period (in years) is specified using a :opt:`-..._period`
           20 option. For example, to prescribe a periodic climate which has the same values each year
           21 but which includes inter-annual variations, using the :opt:`-surface given` option, set:
           22 
           23 .. code-block:: none
           24 
           25     -surface given -surface_given_period 1 -surface_given_file forcing.nc
           26 
           27 Each component has a unique command-line option prefix for a :opt:`-..._period` option.
           28 Please refer to corresponding sections for allowed prefixes.
           29 
           30 If forcing data has the period other than one year it is also necessary to specify the
           31 "starting time" using the :opt:`-..._reference_year` option.
           32 
           33 For example, to use a 20 year long climate record as periodic climate starting at the
           34 beginning of the model year 10, do
           35 
           36 .. code-block:: none
           37 
           38     -surface given -surface_given_period 20 -surface_given_file forcing.nc \
           39     -surface_given_reference_year 10
           40 
           41 Note that the reference year is given in *model years*, not calendar years.
           42 
           43 The :var:`time` variable in a forcing file that is to be used as periodic should start at
           44 `0`. (In other words, time in a file with periodic forcing data is *time since the
           45 beginning of a period*.) Please see the :ref:`sec-time` for a discussion of time units
           46 appropriate in forcing files.
           47 
           48 .. _sec-time-bounds:
           49 
           50 Using time bounds in forcing data
           51 +++++++++++++++++++++++++++++++++
           52 
           53 PISM interprets climate forcing data as piecewise-constant in time. A forcing file is
           54 required to contain time bounds corresponding to each record.
           55 
           56 PISM follows the CF (Climate and Forecasting) meta-data conventions. The ``ncdump -h``
           57 output from a conforming file would look similar to:
           58 
           59 .. code-block:: none
           60 
           61     netcdf forcing {
           62     dimensions:
           63             time = UNLIMITED ; // (214 currently)
           64             nv = 2 ;
           65     variables:
           66             double time(time) ;
           67                     time:units = "seconds since 2000-1-1" ;
           68                     time:axis = "T" ;
           69                     time:bounds = "time_bounds" ;
           70                     time:calendar = "gregorian" ;
           71                     time:long_name = "time" ;
           72             double nv(nv) ;
           73             double time_bounds(time, nv) ;
           74 
           75 The :var:`time_bounds` variable stores the starting and the ending time for each interval
           76 in the forcing. This variable is assumed to have the same units as the :var:`time`
           77 variable it is associated with, which is why its arguments are not set in this example.
           78 
           79 Please see the `CF Conventions`_ document for details.
           80