Basal Melt

Physical basis

This model is described in [Reese2018] and [Pelle2019]. It consists in calculating basal melt rates under ice shelves based only on far field ocean temperature and salinity.

PICO

PICO is a box model of ocean circulation under ice shelf cavities. each ice shelf is divided in a set of boxes, and the temperature (Equation 2) and salinity (Equation 1) of each box is given by:

Equation 3

where:

  • Equation 5 is the surface area of box Equation 4
  • Equation 7 is the melt rate in box Equation 6
  • Equation 8 is the strength of the overturning circulation
Figure 1: pico

Schematic view of the PICO model (taken from [Reese2018]).

PICOP

PICOP is described in [Pelle2019]. The idea is to use PICO to calculate the temperature and salinity in each box, but instead of using PICO’s calculated melt, use these quantities to drive a plume model from [Lazeroms2018]:

Figure 2: picop

Melt calculation in PICOP, adapted from [Pelle2019].

Model parameters

To activate this melt parameterization, you need to use the class basalforcingspico:

>> md.basalforcings = basalforcingspico();

The parameters relevant to the calculation can be displayed by running:

>> md.basalforcings
  • md.basalforcings.num_basins: number of basins the model domain is partitioned into [unitless]
  • md.basalforcings.basin_id: basin number assigned to each node [unitless]
  • md.basalforcings.maxboxcount: maximum number of boxes initialized under all ice shelves
  • md.basalforcings.overturning_coeff: overturning strength [Equation 9/s]
  • md.basalforcings.gamma_T: turbulent temperature exchange velocity [m/s]
  • md.basalforcings.farocean_temperature: depth averaged ocean temperature in front of the ice shelf for basin i [K]
  • md.basalforcings.farocean_salinity: depth averaged ocean salinity in front of the ice shelf for basin i [psu]
  • md.basalforcings.isplume: boolean to use buoyant plume melt rate parameterization from Lazeroms et al., 2018 (PICOP, default false)

Example: the Amundsen sea

To set up a model of the Amundsen sea using PICOP, we only need one basin:

>> md.basalforcings = basalforcingspico();
>> md.basalforcings.basin_id = ones(md.mesh.numberofelements, 1);
>> md.basalforcings.num_basins = 1;

We generally do not need to have more than 5 boxes per ice shelf:

>> md.basalforcings.maxboxcount = 5;

and finally, we can prescribe the far field ocean properties (they can be time series):

>> md.basalforcings.farocean_temperature = [0.47 + 273.15]; %0.47C converted to K
>> md.basalforcings.farocean_salinity = [34.73]; %PSU

To activate PICOP instead of PICO:

>> md.basalforcings.isplume = 1;

To run a simulation, use the following command:

>> md = solve(md, 'Transient');

References