# Ocean model components¶

PISM’s ocean model components provide sub-shelf ice temperature (shelfbtemp) and sub-shelf mass flux (shelfbmassflux) to the ice dynamics core.

The sub-shelf ice temperature is used as a Dirichlet boundary condition in the energy conservation code. The sub-shelf mass flux is used as a source in the mass-continuity (transport) equation. Positive flux corresponds to ice loss; in other words, this sub-shelf mass flux is a “melt rate”.

## Constant in time and space¶

Options

-ocean constant

Variables

none

C++ class

pism::ocean::Constant

Note

This is the default choice.

This ocean model component implements boundary conditions at the ice/ocean interface that are constant both in space and time.

The sub-shelf ice temperature is set to pressure melting and the sub-shelf melt rate is controlled by ocean­.constant­.melt_rate.

## Reading forcing data from a file¶

Options

-ocean given

Variables

shelfbtemp Kelvin, shelfbmassflux $$kg / (m^{2} s)$$

C++ class

pism::ocean::Given

This ocean model component reads sub-shelf ice temperature shelfbtemp and the sub-shelf mass flux shelfbmassflux from a file.

Variables shelfbtemp and shelfbmassflux may be time-dependent. (The -ocean given component is very similar to -surface given and -atmosphere given.)

Parameters

Prefix: ocean.given.

1. file Name of the file containing climate forcing fields.

2. periodic (no) If true, interpret forcing data as periodic in time

## PIK¶

Options

-ocean pik

Variables

none

C++ class

pism::ocean::PIK

This ocean model component implements the ocean forcing setup used in [52]. The sub-shelf ice temperature is set to pressure-melting; the sub-shelf mass flux computation follows [153].

Parameters

Prefix: ocean.pik_

1. melt_factor (0.005) dimensionless tuning parameter in the -ocean pik ocean heat flux parameterization; see [52]

## Basal melt rate and temperature from thermodynamics in boundary layer¶

Options

-ocean th

Variables

theta_ocean (absolute potential ocean temperature), [Kelvin], salinity_ocean (salinity of the adjacent ocean), [g/kg]

C++ class

pism::ocean::GivenTH

This ocean model component derives basal melt rate and basal temperature from thermodynamics in a boundary layer at the base of the ice shelf. It uses a set of three equations describing

1. the energy flux balance,

2. the salt flux balance,

3. the pressure and salinity dependent freezing point in the boundary layer.

This model is described in [146] and [154].

Inputs are potential temperature (variable theta_ocean) and salinity (variable salinity_ocean) read from a file. A constant salinity (see constants­.sea_water­.salinity) is used if the input file does not contain salinity_ocean.

No ocean circulation is modeled, so melt water computed by this model is not fed back into the surrounding ocean.

This implementation uses different approximations of the temperature gradient at the base of an ice shelf column depending on whether there is sub-shelf melt, sub-shelf freeze-on, or neither (see [146] for details).

Parameters

Prefix: ocean.th.

1. clip_salinity (yes) Clip shelf base salinity so that it is in the range [4, 40] k/kg. See [146].

2. file Name of the file containing climate forcing fields.

3. gamma_S (5.05e-07 m s-1) Turbulent salt transfer coefficient. See [146].

4. gamma_T (0.0001 m s-1) Turbulent heat transfer coefficient. See [146].

5. periodic (no) If true, interpret forcing data as periodic in time

Note

If ocean­.th­.clip_salinity is set (the default), the sub-shelf salinity is clipped so that it stays in the $$[4, 40]$$ psu range. This is done to ensure that we stay in the range of applicability of the melting point temperature parameterization; see [146].

Set ocean­.th­.clip_salinity to false if restricting salinity is not appropriate.

See Three-equation ocean model (implementation details) for implementation details.

## PICO¶

Options

-ocean pico

Variables

theta_ocean (potential ocean temperature), [Kelvin],

salinity_ocean (salinity of the adjacent ocean), [g/kg],

basins (mask of large-scale ocean basins that ocean input is averaged over), [integer]

C++ class

pism::ocean::Pico

The PICO model provides sub-shelf melt rates and temperatures consistent with the vertical overturning circulation in ice shelf cavities that drives the exchange with open ocean water masses. It is based on the ocean box model of [155] and includes a geometric approach which makes it applicable to ice shelves that evolve in two horizontal dimensions. For each ice shelf, PICO solves the box model equations describing the transport between coarse ocean boxes. It applies a boundary layer melt formulation [156], [146]. The overturning circulation is driven by the ice-pump [157]: melting at the ice-shelf base reduces the density of ambient water masses. Buoyant water rising along the shelf base draws in ocean water at depth, which flows across the continental shelf towards the deep grounding lines. The model captures this circulation by defining consecutive boxes following the flow within the ice shelf cavity, with the first box adjacent to the grounding line. The extents of the ocean boxes are computed adjusting to the evolving grounding lines and calving fronts. Open ocean properties in front of the shelf as well as the geometry of the shelf determine basal melt rate and basal temperature at each grid point.

The main equations reflect the

1. heat and salt balance for each ocean box in contact with the ice shelf base,

2. overturning flux driven by the density difference between open-ocean and grounding-line box,

3. boundary layer melt formulation.

The PICO model is described in detail in [158].

Inputs are potential temperature (variable theta_ocean), salinity (variable salinity_ocean) and ocean basin mask (variable basins). Variables theta_ocean and salinity_ocean may be time-dependent.

Forcing ocean temperature and salinity are taken from the water masses that occupy the sea floor in front of the ice shelves, which extends down to a specified continental shelf depth (see ocean­.pico­.continental_shelf_depth). These water masses are transported by the overturning circulation into the ice shelf cavity and towards the grounding line. The basin mask defines regions of similar, large-scale ocean conditions; each region is marked with a distinct positive integer. In PICO, ocean input temperature and salinity are averaged on the continental shelf within each basins. For each ice shelf, the input values of the overturning circulation are calculated as an area-weighted average over all basins that intersect the ice shelf. Only those basins are considered in the average, in which the ice shelf has in fact a connection to the ocean. Large ice shelves, that cover across two basins, that do not share an ocean boundary, are considered as two separate ice shelves with individual ocean inputs. If ocean input parameters cannot be identified, standard values are used (Warning: this could strongly influence melt rates computed by PICO). In regions where the PICO geometry cannot be identified, [153] is applied.

Parameters

Prefix: ocean.pico.

1. continental_shelf_depth (-800 meters) Specifies the depth up to which oceanic input temperatures and salinities are averaged over the continental shelf areas in front of the ice shelf cavities.

2. exclude_ice_rises (yes) If set to true, grounding lines of ice rises are excluded in the geometrical routines that determine the ocean boxes; using this option is recommended.

3. file Specifies the NetCDF file containing potential temperature (theta_ocean), salinity (salinity_ocean) and ocean basins (basins).

4. heat_exchange_coefficent (2e-05 meters second-1) Sets the coefficient for turbulent heat exchange from the ambient ocean across the boundary layer beneath the ice shelf base.

5. maximum_ice_rise_area (100000 km2) Specifies an area threshold that separates ice rises from continental regions.

6. number_of_boxes (5) For each ice shelf the number of ocean boxes is determined by interpolating between 1 and number_of_boxes depending on its size and geometry such that larger ice shelves are resolved with more boxes; a value of 5 is suitable for the Antarctic setup.

7. overturning_coefficent (1e+06 meters6 seconds-1 kg-1) Sets the overturning strength coefficient.

8. periodic (no) If true, interpret forcing data as periodic in time

## Scalar sea level offsets¶

Options

-sea_level ...,delta_sl

Variables

delta_SL (meters)

C++ class

pism::ocean::sea_level::Delta_SL

The delta_sl modifier implements sea level forcing using scalar offsets.

Parameters

Prefix: ocean.delta_sl.

1. file Name of the file containing sea level offsets.

2. periodic (no) If true, interpret forcing data as periodic in time

3. 2d­.file Name of the file containing climate forcing fields.

4. 2d­.periodic (no) If true, interpret forcing data as periodic in time

## Two-dimensional sea level offsets¶

Options

-sea_level ...,delta_sl_2d

Variables

delta_SL (meters)

C++ class

pism::ocean::sea_level::Delta_SL_2D

The delta_sl modifier implements sea level forcing using time-dependent and spatially-variable offsets.

Parameters

Prefix: ocean.delta_sl_2d.

1. file Name of the file containing climate forcing fields.

2. periodic (no) If true, interpret forcing data as periodic in time

## Scalar sub-shelf temperature offsets¶

Options

-ocean ...,delta_T

Variables

delta_T (Kelvin)

C++ class

pism::ocean::Delta_T

This modifier implements forcing using sub-shelf ice temperature offsets.

Parameters

Prefix: ocean.delta_T.

1. file Name of the file containing temperature offsets.

2. periodic (no) If true, interpret forcing data as periodic in time

## Scalar sub-shelf mass flux offsets¶

Options

-ocean ...,delta_SMB

Variables

delta_SMB $$kg / (m^{2} s)$$

C++ class

pism::ocean::Delta_SMB

This modifier implements forcing using sub-shelf mass flux (melt rate) offsets.

Parameters

Prefix: ocean.delta_mass_flux.

1. file Name of the file containing sub-shelf mass flux offsets.

2. periodic (no) If true, interpret forcing data as periodic in time

## Scalar sub-shelf mass flux fraction offsets¶

Options

-ocean ...,frac_SMB

Variables

frac_SMB [1]

C++ class

pism::ocean::Frac_SMB

This modifier implements forcing using sub-shelf mass flux (melt rate) fraction offsets.

Parameters

Prefix: ocean.frac_mass_flux.

1. file Name of the file containing sub-shelf mass flux scaling.

2. periodic (no) If true, interpret forcing data as periodic in time

## Two-dimensional sub-shelf mass flux offsets¶

Options

-ocean ...,anomaly

Variables

shelf_base_mass_flux_anomaly $$kg / (m^{2} s)$$

C++ class

pism::ocean::Anomaly

This modifier implements a spatially-variable version of -ocean ...,delta_SMB which applies time-dependent shelf base mass flux anomalies, as used for initMIP or LARMIP model intercomparisons.

See also to -atmosphere ...,anomaly or -surface ...,anomaly (section Using climate data anomalies) which is similar, but applies anomalies at the atmosphere or surface level, respectively.

Parameters

Prefix: ocean.anomaly.

1. file Name of the file containing shelf basal mass flux offset fields.

2. periodic (no) If true, interpret forcing data as periodic in time

## Scalar melange back pressure offsets¶

Options

-ocean ...,delta_MBP

Variables

delta_MBP [Pascal]

C++ class

pism::ocean::Delta_MBP

The scalar time-dependent variable delta_MBP (units: Pascal) has the meaning of the melange back pressure $$\sigma_b$$ in [159]. It is assumed that $$\sigma_b$$ is applied over the thickness of melange $$h$$ specified using ocean­.delta_MBP­.melange_thickness.

To convert to the average pressure over the ice front thickness, we compute

(45)$\bar p_{\text{melange}} = \frac{\sigma_b\cdot h}{H},$

where $$H$$ is ice thickness.

See Modeling melange back-pressure for details.

Parameters

Prefix: ocean.delta_MBP.

1. file Name of the file containing melange back-pressure offsets

2. melange_thickness (100 meters) Melange thickness (assumed to be constant in space and time)

3. periodic (no) If true, interpret forcing data as periodic in time

## Melange back pressure as a fraction of pressure difference¶

Options

-ocean ...,frac_MBP

Variables

frac_MBP

C++ class

pism::ocean::Frac_MBP

This modifier implements forcing using melange back pressure fraction (scaling).

Here we assume that the total vertically-averaged back pressure at an ice margin cannot exceed the vertically-averaged ice pressure at the same location:

\begin{align}\begin{aligned}\bar p_{\text{water}} + \bar p_{\text{melange}} &\le \bar p_{\text{ice}},\, \text{or}\\\bar p_{\text{melange}} &\le \bar p_{\text{ice}} - \bar p_{\text{water}}.\end{aligned}\end{align}

We introduce $$\lambda \in [0, 1]$$ such that

$\bar p_{\text{melange}} = \lambda (\bar p_{\text{ice}} - \bar p_{\text{water}}).$

The scalar time-dependent variable frac_MBP should take on values between 0 and 1 and has the meaning of $$\lambda$$ above.

Please see Modeling melange back-pressure for details.

Parameters

Prefix: ocean.frac_MBP.

1. file Name of the file containing melange back-pressure scaling.

2. periodic (no) If true, interpret forcing data as periodic in time

## The caching modifier¶

Options

-ocean ...,cache

C++ class

pism::ocean::Cache

The caching modifier

This modifier skips ocean model updates, so that a ocean model is called no more than every ocean­.cache­.update_interval 365-day “years”. A time-step of $$1$$ year (respecting the chosen calendar) is used every time a ocean model is updated.

This is useful in cases when inter-annual climate variability is important, but one year differs little from the next. (Coarse-grid paleo-climate runs, for example.)

Parameters

Prefix: ocean.cache.

1. update_interval (10 365days) update interval of the cache ocean modifier

 Previous Up Next