tocean.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
       ---
       tocean.rst (16562B)
       ---
            1 .. include:: shortcuts.txt
            2 
            3 Ocean model components
            4 ----------------------
            5 
            6 PISM Ocean model components provide sub-shelf ice temperature (:var:`shelfbtemp`) and
            7 sub-shelf mass flux (:var:`shelfbmassflux`) to the ice dynamics core.
            8 
            9 The sub-shelf ice temperature is used as a Dirichlet boundary condition in the energy
           10 conservation code. The sub-shelf mass flux is used as a source in the mass-continuity
           11 (transport) equation. Positive flux corresponds to ice loss; in other words, this
           12 sub-shelf mass flux is a "melt rate".
           13 
           14 .. contents::
           15 
           16 .. _sec-ocean-constant:
           17 
           18 Constant in time and space
           19 ++++++++++++++++++++++++++
           20 
           21 :|options|: ``-ocean constant``
           22 :|variables|: none
           23 :|implementation|: ``pism::ocean::Constant``
           24 
           25 .. note:: This is the default choice.
           26 
           27 This ocean model component implements boundary conditions at the ice/ocean interface that
           28 are constant *both* in space and time.
           29 
           30 The sub-shelf ice temperature is set to pressure melting and the sub-shelf melt rate is
           31 assumed to be proportional to the heat flux from the ocean into the ice (configuration
           32 parameter :config:`ocean.sub_shelf_heat_flux_into_ice`).
           33 
           34 Alternatively, the sub-shelf melt rate in meters per year can be set using the
           35 :opt:`-shelf_base_melt_rate` command-line option.
           36 
           37 .. _sec-ocean-given:
           38 
           39 Reading forcing data from a file
           40 ++++++++++++++++++++++++++++++++
           41 
           42 :|options|: ``-ocean given``
           43 :|variables|: :var:`shelfbtemp` Kelvin,
           44               :var:`shelfbmassflux`  |flux|
           45 :|implementation|: ``pism::ocean::Given``
           46 
           47 This ocean model component reads sub-shelf ice temperature :var:`shelfbtemp` and the
           48 sub-shelf mass flux :var:`shelfbmassflux` from a file. It takes the following command-line
           49 options.
           50 
           51 - :opt:`-ocean_given_file`: sets the name of the file to read forcing data from. The file
           52   may contain several records. If only one record is provided it is interpreted as
           53   time-independent.
           54 - :opt:`-ocean_given_reference_year` specifies the reference date; see section :ref:`sec-periodic-forcing`.
           55 - :opt:`-ocean_given_period` specifies the length of the period of the forcing data, in
           56   model years; see section :ref:`sec-periodic-forcing`.
           57 
           58 Variables :var:`shelfbtemp` and :var:`shelfbmassflux` may be time-dependent. (The ``-ocean
           59 given`` component is very similar to ``-surface given`` and ``-atmosphere given``.)
           60 
           61 .. _sec-ocean-pik:
           62 
           63 PIK
           64 +++
           65 
           66 :|options|: ``-ocean pik``
           67 :|variables|: none
           68 :|implementation|: ``pism::ocean::PIK``
           69 
           70 This ocean model component implements the ocean forcing setup used in :cite:`Martinetal2011`.
           71 The sub-shelf ice temperature is set to pressure-melting; the sub-shelf mass flux
           72 computation follows :cite:`BeckmannGoosse2003`.
           73 
           74 It takes one command-line option:
           75 
           76 - :opt:`-meltfactor_pik`: a melt factor `F_{\mathrm{melt}}` in sub-shelf-melting
           77   parameterization, see equation (5) in :cite:`Martinetal2011`.
           78 
           79 .. _sec-ocean-th:
           80 
           81 Basal melt rate and temperature from thermodynamics in boundary layer
           82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
           83 
           84 :|options|: ``-ocean th``
           85 :|variables|: :var:`theta_ocean` (absolute potential ocean temperature), [Kelvin],
           86               :var:`salinity_ocean` (salinity of the adjacent ocean), [g/kg]
           87 :|implementation|: ``pism::ocean::GivenTH``
           88 
           89 This ocean model component derives basal melt rate and basal temperature from
           90 thermodynamics in a boundary layer at the base of the ice shelf. It uses a set of three
           91 equations describing
           92 
           93 #. the energy flux balance,
           94 #. the salt flux balance,
           95 #. the pressure and salinity dependent freezing point in the boundary layer.
           96 
           97 This model is described in :cite:`HollandJenkins1999` and :cite:`Hellmeretal1998`.
           98 
           99 Inputs are potential temperature (variable :var:`theta_ocean`) and salinity (variable
          100 :var:`salinity_ocean`) read from a file.
          101 
          102 No ocean circulation is modeled, so melt water computed by this model is not fed back into
          103 the surrounding ocean.
          104 
          105 This implementation uses different approximations of the temperature gradient at the base
          106 of an ice shelf column depending on whether there is sub-shelf melt, sub-shelf freeze-on,
          107 or neither (see :cite:`HollandJenkins1999` for details).
          108 
          109 It takes two command-line option:
          110 
          111 - :opt:`-ocean_th_file`: specifies the NetCDF file providing potential temperature and
          112   salinity fields.
          113 - :opt:`-clip_shelf_base_salinity`: if this is set (which is the default), the sub-shelf
          114   salinity is clipped so that it stays in the `[4, 40]` psu range. This is done to
          115   ensure that we stay in the range of applicability of the melting point temperature
          116   parameterization; see :cite:`HollandJenkins1999`. To disable salinity clipping, use the
          117   :opt:`-no_clip_shelf_base_salinity` option or set the configuration parameter
          118   :config:`ocean.three_equation_model_clip_salinity`  to "no".
          119 
          120 .. _sec-pico:
          121 
          122 PICO
          123 ++++
          124 
          125 :|options|: ``-ocean pico``
          126 :|variables|: :var:`theta_ocean` (potential ocean temperature), [Kelvin],
          127 
          128               :var:`salinity_ocean` (salinity of the adjacent ocean), [g/kg],
          129 
          130               :var:`basins` (mask of large-scale ocean basins that ocean input is averaged over), [integer]
          131 :|implementation|: ``pism::ocean::Pico``
          132 
          133 The PICO model provides sub-shelf melt rates and temperatures consistent with the vertical
          134 overturning circulation in ice shelf cavities that drives the exchange with open ocean
          135 water masses. It is based on the ocean box model of :cite:`OlbersHellmer2010` and includes
          136 a geometric approach which makes it applicable to ice shelves that evolve in two
          137 horizontal dimensions. For each ice shelf, PICO solves the box model equations describing
          138 the transport between coarse ocean boxes. It applies a boundary layer melt formulation
          139 :cite:`HellmerOlbers1989`, :cite:`HollandJenkins1999`. The overturning circulation is
          140 driven by the ice-pump :cite:`LewisPerkin1986`: melting at the ice-shelf base reduces the
          141 density of ambient water masses. Buoyant water rising along the shelf base draws in ocean
          142 water at depth, which flows across the continental shelf towards the deep grounding lines.
          143 The model captures this circulation by defining consecutive boxes following the flow
          144 within the ice shelf cavity, with the first box adjacent to the grounding line. The
          145 extents of the ocean boxes are computed adjusting to the evolving grounding lines and
          146 calving fronts. Open ocean properties in front of the shelf as well as the geometry of the
          147 shelf determine basal melt rate and basal temperature at each grid point.
          148 
          149 The main equations reflect the
          150 
          151 #. heat and salt balance for each ocean box in contact with the ice shelf base,
          152 #. overturning flux driven by the density difference between open-ocean and grounding-line box,
          153 #. boundary layer melt formulation.
          154 
          155 The PICO model is described in detail in :cite:`ReeseAlbrecht2018`.
          156 
          157 Inputs are potential temperature (variable :var:`theta_ocean`), salinity (variable
          158 :var:`salinity_ocean`) and ocean basin mask (variable :var:`basins`). Variables
          159 :var:`theta_ocean` and :var:`salinity_ocean` may be time-dependent.
          160 
          161 Forcing ocean temperature and salinity are taken from the water masses that occupy the sea
          162 floor in front of the ice shelves, which extends down to a specified continental shelf
          163 depth (see :config:`ocean.pico.continental_shelf_depth`). These water masses are
          164 transported by the overturning circulation into the ice shelf cavity and towards the
          165 grounding line. The basin mask defines regions of similar, large-scale ocean conditions;
          166 each region is marked with a distinct positive integer. In PICO, ocean input temperature
          167 and salinity are averaged on the continental shelf within each basins. For each ice shelf,
          168 the input values of the overturning circulation are calculated as an area-weighted average
          169 over all basins that intersect the ice shelf. If ocean input parameters cannot be
          170 identified, standard values are used (**Warning:** this could strongly influence melt
          171 rates computed by PICO). In regions where the PICO geometry cannot be identified,
          172 :cite:`BeckmannGoosse2003` is applied.
          173 
          174 PICO has one command-line option and 7 configuration parameters:
          175 
          176 - :opt:`-ocean_pico_file`: specifies the NetCDF file containing potential temperature
          177   (:var:`theta_ocean`), salinity (:var:`salinity_ocean`) and ocean basins (:var:`basins`).
          178 - :config:`ocean.pico.heat_exchange_coefficent` sets the coefficient for turbulent heat
          179   exchange from the ambient ocean across the boundary layer beneath the ice shelf base.
          180 - :config:`ocean.pico.overturning_coefficent`: sets the coefficient in the overturning
          181   parameterization.
          182 - :config:`ocean.pico.number_of_boxes`: For each ice shelf the number of ocean boxes is
          183   determined by interpolating between 1 and number_of_boxes depending on its size and
          184   geometry such that larger ice shelves are resolved with more boxes; a value of 5 is
          185   suitable for the Antarctic setup.
          186 - :config:`ocean.pico.number_of_basins`
          187 - :config:`ocean.pico.exclude_ice_rises`: If set to true, grounding lines of ice rises are
          188   excluded in the geometrical routines that determine the ocean boxes; using this option
          189   is recommended.
          190 - :config:`ocean.pico.continental_shelf_depth`: specifies the depth up to which oceanic
          191   input temperatures and salinities are averaged over the continental shelf areas in front
          192   of the ice shelf cavities.
          193 - :config:`ocean.pico.maximum_ice_rise_area`: specifies an area threshold that separates
          194   ice rises from continental regions.
          195 
          196 .. _sec-ocean-delta-sl:
          197 
          198 Scalar sea level offsets
          199 ++++++++++++++++++++++++
          200 
          201 :|options|: :opt:`-sea_level ...,delta_sl`
          202 :|variables|: :var:`delta_SL` (meters)
          203 :|implementation|: ``pism::ocean::sea_level::Delta_SL``
          204 
          205 The ``delta_sl`` modifier implements sea level forcing using scalar offsets.
          206 
          207 It takes the following command-line options:
          208 
          209 - :opt:`-ocean_delta_sl_file`: specifies the name of the file containing forcing data.
          210   This file has to contain the :var:`delta_SL` variable using units "meters" or
          211   equivalent.
          212 - :opt:`-ocean_delta_sl_period` specifies the length of the period of the forcing data, in
          213   model years; see section :ref:`sec-periodic-forcing`.
          214 - :opt:`-ocean_delta_sl_reference_year` specifies the reference date; see section
          215   :ref:`sec-periodic-forcing`.
          216 
          217 .. _sec-ocean-delta-sl-2d:
          218 
          219 Two-dimensional sea level offsets
          220 +++++++++++++++++++++++++++++++++
          221 
          222 :|options|: :opt:`-sea_level ...,delta_sl_2d`
          223 :|variables|: :var:`delta_SL` (meters)
          224 :|implementation|: ``pism::ocean::sea_level::Delta_SL_2D``
          225 
          226 The ``delta_sl`` modifier implements sea level forcing using time-dependent and
          227 spatially-variable offsets.
          228 
          229 It uses the following configuration parameters:
          230 
          231 - :config:`ocean.delta_sl_2d.file`: specifies the name of the file containing forcing
          232   data. This file has to contain the :var:`delta_SL` variable using units "meters" or
          233   equivalent.
          234 - :config:`ocean.delta_sl_2d.period` specifies the length of the period of the forcing
          235   data, in model years; see section :ref:`sec-periodic-forcing`.
          236 - :config:`ocean.delta_sl_2d.reference_year` specifies the reference date; see section
          237   :ref:`sec-periodic-forcing`.
          238 
          239 .. _sec-ocean-delta-t:
          240 
          241 Scalar sub-shelf temperature offsets
          242 ++++++++++++++++++++++++++++++++++++
          243 
          244 
          245 :|options|: :opt:`-ocean ...,delta_T`
          246 :|variables|: :var:`delta_T` (Kelvin)
          247 :|implementation|: ``pism::ocean::Delta_T``
          248 
          249 This modifier implements forcing using sub-shelf ice temperature offsets.
          250 
          251 It takes the following command-line options:
          252 
          253 - :opt:`-ocean_delta_T_file`: specifies the name of the file containing forcing data. This
          254   file has to contain the :var:`delta_T` variable using units of "Kelvin" or equivalent.
          255 - :opt:`-ocean_delta_T_period` specifies the length of the period of the forcing data, in
          256   model years; see section :ref:`sec-periodic-forcing`.
          257 - :opt:`-ocean_delta_T_reference_year` specifies the reference date; see section
          258   :ref:`sec-periodic-forcing`.
          259 
          260 .. _sec-ocean-delta-smb:
          261 
          262 Scalar sub-shelf mass flux offsets
          263 ++++++++++++++++++++++++++++++++++
          264 
          265 :|options|: ``-ocean ...,delta_SMB``
          266 :|variables|: :var:`delta_SMB` |flux|
          267 :|implementation|: ``pism::ocean::Delta_SMB``
          268 
          269 This modifier implements forcing using sub-shelf mass flux (melt rate) offsets.
          270 
          271 It takes the following command-line options:
          272 
          273 - :opt:`-ocean_delta_SMB_file`: specifies the name of the file containing forcing data.
          274   This file has to contain the :var:`delta_SMB` variable using units |flux| or equivalent.
          275 - :opt:`-ocean_delta_SMB_period` specifies the length of the period of the forcing data,
          276   in model years; see section :ref:`sec-periodic-forcing`.
          277 - :opt:`-ocean_delta_SMB_reference_year` specifies the reference date; see section
          278   :ref:`sec-periodic-forcing`.
          279 
          280 .. _sec-ocean-frac-smb:
          281 
          282 Scalar sub-shelf mass flux fraction offsets
          283 +++++++++++++++++++++++++++++++++++++++++++
          284 
          285 :|options|: ``-ocean ...,frac_SMB``
          286 :|variables|: :var:`frac_SMB` [1]
          287 :|implementation|: ``pism::ocean::Frac_SMB``
          288 
          289 This modifier implements forcing using sub-shelf mass flux (melt rate) fraction offsets.
          290 
          291 It takes the following command-line options:
          292 
          293 - :opt:`-ocean_frac_SMB_file`: specifies the name of the file containing forcing data.
          294   This file has to contain the :var:`frac_SMB` variable.
          295 - :opt:`-ocean_frac_SMB_period` specifies the length of the period of the forcing data, in
          296   model years; see section :ref:`sec-periodic-forcing`.
          297 - :opt:`-ocean_frac_SMB_reference_year` specifies the reference date; see section
          298   :ref:`sec-periodic-forcing`.
          299 
          300 .. _sec-ocean-anomaly:
          301 
          302 Two-dimensional sub-shelf mass flux offsets
          303 +++++++++++++++++++++++++++++++++++++++++++
          304 
          305 :|options|: :opt:`-ocean ...,anomaly`
          306 :|variables|: :var:`shelf_base_mass_flux_anomaly` |flux|
          307 :|implementation|: ``pism::ocean::Anomaly``
          308 
          309 This modifier implements a spatially-variable version of ``-ocean ...,delta_SMB`` which
          310 applies time-dependent shelf base mass flux anomalies, as used for initMIP or LARMIP
          311 model intercomparisons.
          312 
          313 It takes the following command-line options:
          314 
          315 - :opt:`-ocean_anomaly_file` specifies a file containing the variable
          316   :var:`shelf_base_mass_flux_anomaly`.
          317 - :opt:`-ocean_anomaly_period` (years) specifies the period of the forcing data, in
          318   model years; see :ref:`sec-periodic-forcing`
          319 - :opt:`-ocean_anomaly_reference_year` specifies the reference year; see
          320   :ref:`sec-periodic-forcing`
          321 
          322   See also to ``-atmosphere ...,anomaly`` or
          323   ``-surface ...,anomaly`` (section :ref:`sec-surface-anomaly`)
          324   which is similar, but applies anomalies at the atmosphere or surface level,
          325   respectively.
          326 
          327 .. _sec-ocean-frac-mbp:
          328 
          329 Scalar melange back pressure fraction
          330 +++++++++++++++++++++++++++++++++++++
          331 
          332 :|options|: :opt:`-ocean ...,frac_MBP`
          333 :|variables|: :var:`frac_MBP`
          334 :|implementation|: ``pism::ocean::Frac_MBP``
          335 
          336 This modifier implements forcing using melange back pressure fraction (scaling). The
          337 scalar time-dependent variable :var:`frac_MBP` should take on values from 0 to 1; it is
          338 understood as the fraction of the maximum melange back pressure possible at a given
          339 location. (We assume that melange back pressure cannot exceed the pressure of the ice
          340 column at a calving front.)
          341 
          342 Please see :ref:`sec-model-melange-pressure` for details.
          343 
          344 .. note::
          345 
          346    This modifier *scales* the melange back pressure fraction provided by an ocean model.
          347    The default value of :config:`ocean.melange_back_pressure_fraction` is zero and
          348    *scaling it does nothing*.
          349 
          350    We recommend setting :config:`ocean.melange_back_pressure_fraction` to 1.
          351 
          352 This modifier takes the following command-line options:
          353 
          354 - :opt:`-ocean_frac_MBP_file`: specifies the name of the file containing forcing data.
          355   This file has to contain the :var:`frac_MBP` variable using units of "1" (a
          356   dimensionless parameter)
          357 - :opt:`-ocean_frac_MBP_period` specifies the length of the period of the forcing data, in
          358   model years; see section :ref:`sec-periodic-forcing`.
          359 - :opt:`-ocean_frac_MBP_reference_year` specifies the reference date; see section
          360   :ref:`sec-periodic-forcing`.
          361 
          362 .. _sec-ocean-cache:
          363 
          364 The caching modifier
          365 ++++++++++++++++++++
          366 
          367 :|options|: :opt:`-ocean ...,cache`
          368 :|implementation|: ``pism::ocean::Cache``
          369 :|seealso|: :ref:`sec-surface-cache`
          370 
          371 This modifier skips ocean model updates, so that a ocean model is called no more than
          372 every :opt:`-ocean_cache_update_interval` years. A time-step of `1` year is used every
          373 time a ocean model is updated.
          374 
          375 This is useful in cases when inter-annual climate variability is important, but one year
          376 differs little from the next. (Coarse-grid paleo-climate runs, for example.)
          377 
          378 It takes the following options:
          379 
          380 - :opt:`-ocean_cache_update_interval` (*years*) Specifies the minimum interval between
          381   updates. PISM may take longer time-steps if the adaptive scheme allows it, though.