8.6.4. SHELFICE Remeshing¶
Author: James Jordan and Daniel Goldberg
This code works the nonlinear free surface feature of the ocean model to allow continuous updating of the ice shelf draft in a mass-, salt- and heat-conservative fashion. Note ‘Shelfice Remeshing’ is not a separate physical package as such, but works in conjunction with pkg/shelfice, and all code is contained within pkg/shelfice. However, as a separate line of development its application and use warrants its own entry in the documentation. By using pkg/streamice at the same time, remeshing can allow synchronous coupling between ocean and ice shelf.
126.96.36.199. REMESHING configuration and compiling¶
188.8.131.52.1. Compile-time options¶
Shelfice remeshing requires that pkg/shelfice be enabled, which is done by adding
(see Section Section 3.5). Nonlinear free surface is required, which is enabled by adding
to CPP_OPTIONS.h. Additionally,
184.108.40.206. Run-time parameters¶
|SHI_withBL_realFWflux||FALSE||Necessary for mass/volume-conservative freezing/melting when SHELFICEboundaryLayer
|SHELFICEmassFile||' '||Initialization file for ice shelf mass (kg m-2)|
|SHELFICEMassStepping||FALSE||Enables ice mass to change in time|
|SHELFICEMassDynTendFile||' '||Input file to specify non-thermodynamic ice mass change rate in kg/s (overridden when pkg/streamice enabled)|
|SHELFICEDynMassOnly||FALSE||Update shelficeMass via non-thermodynamic change only (overridden when pkg/streamice enabled|
|SHELFICERemeshFrequency||2592000||Frequency of remeshing operation (seconds)|
|SHELFICESplitThreshold||1.25||Maximum allowed hFacC for a cell|
|SHELFICEMergeThreshold||0.26||Minimum allowed hFacC for a cell|
When pkg/shelfice is enabled, the elevation of the free surface in a grid cell is
determined by the mass of the ice shelf in that cell. In general use of shelfice
this mass is held constant, but if it is allowed to change the free surface adjusts if implicitFreeSurface
through adjustment of the thickness of the top-level cell (Figure 8.12). If nonlinFreeSurf
these changes are fully accounted for in the ocean dynamics and tracer transport. However:
- in the case of ice thinning, the numerical approximation to the governing equations will break down if the top-level cell becomes too thick, and
- in the case of ice thickening, the top-level cell thickness cannot become negative or the model will fail.
Remeshing addresses these issues. At predefined intervals (set by SHELFICERemeshFrequency), the code checks every column and flags those where the top-level cell is too thick (\(h_c\) is larger than SHELFICESplitThreshold) or where it is too thin (\(h_c\) is smaller than SHELFICEMergeThreshold). In the former case, the cell is split into two cells as described in Figure 8.13. In the latter case, the top cells is “merged” with the one below it. In both cases, splitting and merging conserves mass, heat, and salt. Momentum is conserved where possible but this is more difficult because velocities live at cell edges.
Ice shelf basal melt and freezing add and remove water from the ocean. useRealFreshWaterFlux
= .true. will cause
the ocean volume to be updated - unless SHELFICEboundaryLayer`` = .true.``, which inputs heat
and salt fluxes over a distance \(\Delta z\) from the ice-ocean interface, instead of inputting directly
into the top cell (Figure 8.12). In this case, an additional option SHI_withBL_realFWflux
can be set in
data.shelfice to allow volume conservation.
220.127.116.11. Alternate boundary layer formulation¶
= .true., then salt and temperature are averaged over a distance \(\Delta z\)
from the ice-ocean interface in order to calculate melt rates, as described in Losch (2008) [losch:08].
When SHI_ALLOW_GAMMAFRICT is defined and SHELFICEuseGammaFrict
near-ice velocities are used to calculate exchange coefficients of heat and salt, which can lead to spurious
features where there is a change in the level of the top fluid cell. In the default formulation velocities
(or rather square velocities) are first averaged horizontally from cell faces to cell centers, and then
vertically over a distance \(\Delta z\). The run-time parameter SHI_withBL_uStarTopDz
= .true. reverses
this order: velocities are first averaged vertically, and then horizontally. In some cases this has been found
to give less spurious variability, but either can be used.
18.104.22.168. Coupling with pkg/streamice¶
Shelfice remeshing can be used on its own (i.e. without coupling to an ice sheet model), with the effects of ice dynamics specified via SHELFICEMassDynTendFile. Alternatively it can be coupled to the pkg/streamice. To allow this, pkg/streamice must be enabled. Please see the verification/shelfice_2d_remesh for an example. (Documentation on SHELFICE is under construction)