tsurface-gradient.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
---
tsurface-gradient.rst (2780B)
---
1 .. include:: ../../../global.txt
2
3 .. _sec-gradient:
4
5 Surface gradient method
6 -----------------------
7
8 PISM computes surface gradients to determine the "driving stress"
9
10 .. math::
11
12 (\tau_{d,x},\tau_{d,y}) = - \rho g H \nabla h,
13
14 where `H` is the ice thickness, and `h` is the ice surface elevation. The driving stress
15 enters into both the SIA and SSA stress balances, but in the former the driving stress is
16 needed on a staggered grid, while in the latter the driving stress is needed on the
17 regular grid.
18
19 Surface gradients are computed by finite differences in several slightly-different ways.
20 There are options for choosing which method to use **in the SIA model**, but to the best
21 of our knowledge there is no theoretical advice on the best, most robust mechanism.
22
23 The SSA model uses centered finite differences, switching from centered to one-sided near
24 the ice margin and does not recognize choices other than :opt:`-gradient eta`.
25
26 There are three :opt:`-gradient` methods in PISM:
27
28 .. list-table:: Options controlling the surface gradient computation in the SIA code
29 :name: tab-sia-gradient
30 :header-rows: 1
31 :widths: 1,3
32
33 * - Option
34 - Description
35
36 * - :opt:`-gradient mahaffy`
37 - This most "standard" way computes the surface slope onto the staggered grid for the
38 SIA :cite:`Mahaffy`. It makes `O(\Delta x^2,\Delta y^2)` errors. For computations
39 of driving stress on the regular grid, centered differencing is used instead.
40
41 * - :opt:`-gradient haseloff`
42 - This is the default method. It only differs from ``mahaffy`` at ice-margin
43 locations, where the slope is approximated using one-sided finite differences in
44 cases where an adjacent ice-free bedrock surface elevation is above the ice
45 elevation.
46
47 * - :opt:`-gradient eta`
48 - In this method we first transform the thickness `H` by `\eta = H^{(2n+2)/n}` and
49 then differentiate the sum of the thickness and the bed using centered differences:
50
51 .. math::
52
53 \nabla h = \nabla H + \nabla b = \frac{n}{(2n+2)}
54 \eta^{(-n-2)/(2n+2)} \nabla \eta + \nabla b.
55
56 Here `b` is the bed elevation and `h` is the surface elevation. This transformation
57 sometimes has the benefits that the surface values of the horizontal velocity and
58 vertical velocity, and the driving stress, are better behaved near the margin. See
59 :cite:`BLKCB` for technical explanation of this transformation and compare
60 :cite:`SaitoMargin`. The actual finite difference schemes applied to compute the
61 surface slope are similar to option ``mahaffy``.
62
63 .. note:: The :opt:`-gradient eta` may improve the model performance near *grounded*
64 margins but should not be used in simulations of marine ice sheets.