Solving the equation for thickness evolution
A generic conservation equation
Evolution of the ice sheet geometry is simply the result of mass conservation. Consider a generic conservation equation for some scalar value Φ
On the left-hand side we have the change in φ per unit time, which is given by the negative of the divergence of the flux, Q (a vector), plus any contribution from sources, . The negative sign in front of the divergence operator (the ) insures that, for example in the case of heat flow, a negative temperature gradient causes an increase in temperature over time in the absence of source. Intuitively, we expect heat to flow from warmer to colder regions rather than vice versa. This is, perhaps, more obvious if we expand the equation above in terms of partial derivatives and the vector-valued flux components,
Conservation of mass for an ice sheet
For an ice sheet (or any depth-integrated mass flow for that matter), the equation becomes
where is the depth-averaged velocity vector (in map plane), and U and V are the depth integrated x and y velocity fields, H is the ice thickness, and is the source term, which is the surface mass balance (>0 for accumulation and <0 for ablation). Note that, as above, a negative sign in front of the divergence insures sensible behavior. Consider a section of the ice sheet where the thickness is nearly constant and there is no accumulation or ablation. If the velocity gradient along-flow is negative (the ice is slowing down), we expect that to lead to thickening locally (left-hand side of the equation > 0) and vice versa (if the ice is speeding up along flow, that should lead to thinning locally).
This is the equation that needs to be solved to calculate ice sheet evolution. For the case of a SIA model, the values of U and V are recast in terms of ice thickness and elevation gradients, in which case the whole problem can be recast as a diffusion equation in ice thickness. In 1d, the equation becomes
where D is the non-linear diffusivity (because it depends on the solution to the equation, H), A is the rate factor in Glen's flow lay and n is the power-law exponent, h is the ice surface elevation, and ρ and g are the ice density and the acceleration due to gravity.
Importantly, we need only local information in order to solve the above equation. If our velocity solution can not be solved locally, as in the case of higher-order models, we cannot easily use the above formulation to solve ice sheet evolution. In attempt to use this form and retain a diffusion-solution approach to the problem (diffusion problems generally have nice numerical properties), we could try the following approach (again, in 1d only),
where the U in the expression for D is the depth-integrated velocity field from the higher-order model. This is the approach initially taken by Pattyn (2003). Notice, however, that ice sheet surface slope is in the denominator of the diffusivity here and, as the slopes get smaller and smaller, as they tend to do in regions of fast flow like ice streams and ice shelves, the diffusivity will get larger and larger (approaching infinity as the slope goes to zero). The faster velocities in these regions appear in the numerator of the diffusivity, also making it larger. This is a severe restriction on this approach because the diffusive CFL condition says that
where Δt is the time step required for stability and Δx is the grid spacing. As the diffusivity goes to infinity, the stable time step goes to zero. In practice, this approach has proven very difficult to use for calculating ice sheet evolution in most of the areas we care about (fast flowing areas with shallow slopes). Thus, it seems that we need an alternate approach.
The alternate approach is to solve the evolution equation using an advection scheme. Numerically, advection schemes are more problematic than diffusion schemes, but in some cases like this one, they are difficult to get around. The most general advection scheme, and one that we will implement in a related exercise, is a first-order, upwind advection scheme (first-order refers to first-order accurate, as opposed to second-order accurate, which we might prefer). For the 1d version of our ice sheet evolution equation
Most ice sheet models (and fluid dynamic models in general) perform calculations on a "staggered" grid of the type shown below, where velocity components live on one grid and scalar components (e.g. temperatures, pressures, thickness, etc.) live on a grid that is staggered 1/2 grid space in the horizontal dimensions (this leads to numerical advantages - like stability - that we won't get in to much here).
Figure 1: Staggered grid in two dimensions, showing scalars (like thickness, H) at grid cell centers and velocity components, U and V, at grid cell faces. This is a "C" grid. Another staggered-grid possibility is a "B" grid, for which both velocity components live at the grid cell corners. While Glimmer/CISM uses a B grid, averaging of corner velocities to face centers allows one to express them on a C grid if necessary.
A "control volume" (or finite volume) approach to solving the problem would be to integrate our equation over the control volume centered on the scalar values. Ignoring source terms for now, and assuming flow only along the x direction (that is, assuming that V~0) we have
The "east" and "west" (subscripts e and w) faces of the control volume are shown in the figure below.
Figure 2: Staggered grid in two dimensions, showing locations of interfaces and control volume dimensions. Interfaces e, w, n and s connect the volume centered at P with those volumes to the east, west, north, and south (E, W, N, and S).
In the above equation, we've deliberately left it vague as to which value of H is being advected across the east and west interfaces, into or out of the volume. This is where the term "upwinding" comes in - we choose the scalar value to advect across the interface based on an upwinding criterion. If, for example, the flow at interface e is from left to right (U>0), we would advect the value of H at P OUT of the volume centered at P and INTO the volume centered at E. If, on the other hand, the flow at e was from right to left (U<0), we would advect the value of H at E INTO the volume at P and OUT of the volume at E.
That's more-or-less all there is to a first-order upwinding scheme, other than extending it to two dimensions for non-zero V. The finite volume formulation guarantees that it will be conservative globally (i.e. all the thickness that's get's moved around on the grid is accounted for at each time step). There are many other "higher-order" advection schemes available, but they are mainly based on the principles outlined here, and mostly rely on fancy corrections to the simple upwind assumption in order to gain more accuracy.
For step-by-step instructions for adding a first-order advection scheme (identical to the one detailed above) to Glimmer/CISM and applying it to velocities calculated from the higher-order model proceed to the Adding a module to Glimmer I exercise.
- Pattyn, F. A new three-dimensional higher-order thermomechanical ice sheet model: Basic sensitivity, ice stream development, and ice flow across subglacial lakes, J. Geophys. Res., 108(B8), 2003.