Description and evaluation of the Community Ice Sheet Model (CISM) v2.1 - GMD
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Geosci. Model Dev., 12, 387–424, 2019 https://doi.org/10.5194/gmd-12-387-2019 © Author(s) 2019. This work is distributed under the Creative Commons Attribution 4.0 License. Description and evaluation of the Community Ice Sheet Model (CISM) v2.1 William H. Lipscomb1,2 , Stephen F. Price1 , Matthew J. Hoffman1 , Gunter R. Leguy2 , Andrew R. Bennett3,4 , Sarah L. Bradley5 , Katherine J. Evans3 , Jeremy G. Fyke1,6 , Joseph H. Kennedy3 , Mauro Perego7 , Douglas M. Ranken1 , William J. Sacks2 , Andrew G. Salinger7 , Lauren J. Vargo1,8 , and Patrick H. Worley3 1 Los Alamos National Laboratory, Los Alamos, NM 87544, USA 2 Climate and Global Dynamics Laboratory, National Center for Atmospheric Research, Boulder, CO 80305, USA 3 Computational Earth Sciences Group, Oak Ridge National Laboratory, Oak Ridge, TN 37830, USA 4 University of Washington, Seattle, WA 98195, USA 5 Delft University of Technology, Delft, 2600 AA, the Netherlands 6 Associated Engineering Group, Ltd., Vernon, BC V1T 9P9, Canada 7 Center for Computing Research, Sandia National Laboratories, Albuquerque, NM 87185, USA 8 Victoria University of Wellington, Wellington 6140, New Zealand Correspondence: William H. Lipscomb (lipscomb@ucar.edu) Received: 18 June 2018 – Discussion started: 18 July 2018 Revised: 17 December 2018 – Accepted: 3 January 2019 – Published: 22 January 2019 Abstract. We describe and evaluate version 2.1 of the Com- 1 Introduction munity Ice Sheet Model (CISM). CISM is a parallel, 3- D thermomechanical model, written mainly in Fortran, that As mass loss from the Greenland and Antarctic ice sheets solves equations for the momentum balance and the thick- has accelerated (Shepherd et al., 2012; Church et al., 2013; ness and temperature evolution of ice sheets. CISM’s veloc- Hanna et al., 2013; Shepherd et al., 2017), climate modelers ity solver incorporates a hierarchy of Stokes flow approxi- have recognized the importance of dynamic ice sheet mod- mations, including shallow-shelf, depth-integrated higher or- els (ISMs) for predicting future mass loss and sea level rise der, and 3-D higher order. CISM also includes a suite of test (Vizcaino, 2014). Meanwhile, ISMs have become more ac- cases, links to third-party solver libraries, and parameteri- curate and complex in their representation of ice flow dy- zations of physical processes such as basal sliding, iceberg namics. Early ISMs used either the shallow-ice approxima- calving, and sub-ice-shelf melting. The model has been veri- tion (SIA; Hutter, 1983) or the shallow-shelf approximation fied for standard test problems, including the Ice Sheet Model (SSA; MacAyeal, 1989). The SIA, which assumes that verti- Intercomparison Project for Higher-Order Models (ISMIP- cal shear stresses are dominant, is valid for slow-moving ice HOM) experiments, and has participated in the initMIP- sheet interiors, whereas the SSA, which assumes that flow is Greenland initialization experiment. In multimillennial sim- dominated by lateral and longitudinal stresses in the horizon- ulations with modern climate forcing on a 4 km grid, CISM tal plane, is valid for floating ice shelves. Neither approxima- reaches a steady state that is broadly consistent with ob- tion is valid for ice streams and outlet glaciers where both served flow patterns of the Greenland ice sheet. CISM has vertical shear and horizontal plane stresses are important. been integrated into version 2.0 of the Community Earth Sys- Advanced ISMs developed in recent years solve the Stokes tem Model, where it is being used for Greenland simulations equations or various higher-order approximations (Pattyn under past, present, and future climates. The code is open- et al., 2008; Schoof and Hindmarsh, 2010). Among the mod- source with extensive documentation and remains under ac- els that solve Stokes or higher-order equations, or other- tive development. wise combine features of the SIA and SSA, are the Parallel Ice Sheet Model (PISM; Bueler and Brown, 2009; Winkel- mann et al., 2011), the Ice Sheet System Model (ISSM; Published by Copernicus Publications on behalf of the European Geosciences Union.
388 W. H. Lipscomb et al.: Community Ice Sheet Model Larour et al., 2012), the Penn State Model (Pollard and De- Many of these features were present in CISM v.2.0, which Conto, 2012), BISICLES (Cornford et al., 2013), Elmer- was released in 2014 (Price et al., 2015). Ice (Gagliardini et al., 2013), and MPAS-Albany Land Ice Changes between versions 2.0 and 2.1 have been made (MALI; Tezaur et al., 2015; Hoffman et al., 2018). Higher- primarily to support robust, accurate, and efficient Green- order models have performed well for standard test cases land ice sheet simulations, both as a stand-alone model and (Pattyn et al., 2008; Pattyn et al., 2012) and have been ap- in CESM. These changes include a depth-integrated higher- plied to many scientific problems. order velocity solver (Sect. 3.1.4), new parameterizations of Here, we describe and evaluate the Community Ice basal sliding (Sect. 3.4), iceberg calving (Sect. 3.5), and sub- Sheet Model (CISM) version 2.1, a higher-order model that ice-shelf melting (Sect. 3.6), a new build-and-test structure evolved from the Glimmer model (Rutt et al., 2009). The cur- (Sect. 4.6), and many improvements in model numerics. rent name reflects the model’s evolution as a component of We begin with an overview of CISM, including the core the Community Earth System Model (CESM; Hurrell et al., model and its testing and coupling infrastructure (Sect. 2). 2013). Like Glimmer, CISM is written mainly in Fortran 90 We then describe the model dynamics and physics, focusing and its extensions, to maximize efficiency and to simplify on the new Glissade dycore (Sect. 3). To verify the model, coupling to climate models. Glimmer, however, is a serial we present results from standard test cases (Sect. 4). We then SIA model, whereas CISM is a parallel model that solves not present results from long spin-ups of the Greenland ice sheet, only the SIA but also higher-order Stokes approximations. with and without floating ice shelves (Sect. 5). Finally, we CISM development was guided by the following goals: summarize the model results and suggest directions for future work (Sect. 6). – The model should be well documented and easy to in- stall and run on a variety of platforms, ranging from lap- tops to local clusters to high-performance supercomput- 2 Model overview ers. CISM is a numerical model – a collection of software li- – It should solve a range of Stokes approximations, in- braries, utilities, and drivers – used to simulate ice sheet cluding the SIA, SSA, and higher-order approxima- evolution. It is modular in design and is coded mainly in tions. Velocity solvers for these approximations are in- standard-compliant Fortran 90/95. CISM consists of several cluded in a new dynamical core called Glissade. (The components: dynamical core, or “dycore”, is the part of the model that solves equations for conservation of mass, energy, cism_driver is the high-level driver (i.e., the executable) and momentum.) that is used to run the stand-alone model in all config- urations, including idealized test cases with simplified – It should remain backward-compatible with Glimmer, climate forcing, as well as model runs with realistic ge- allowing continued use of the older Glide SIA dycore. ometry and climate forcing data. – It should be well verified for standard test cases such Glide is the serial dycore based on shallow-ice dynamics. as the Ice Sheet Model Intercomparison Project for Glide solves the governing conservation equations and Higher-Order Models (ISMIP-HOM) (Pattyn et al., computes ice velocities, internal ice temperature, and 2008), with a user-friendly verification framework. ice geometry evolution. Apart from minor changes, this – It should run efficiently – supporting whole-ice-sheet is the same dycore used in Glimmer and described by applications even on small platforms – and should scale Rutt et al. (2009). It will not be discussed further here. to hundreds of processor cores, enabling century- to Glissade is the dycore that solves higher-order approxima- millennial-scale simulations with higher-order solvers tions of the Stokes equations for ice flow. Glissade, un- at grid resolutions of ∼ 5 km or finer. like Glide, is fully parallel in order to take advantage – It should support not only stand-alone ice sheet simu- of multiprocessor, high-performance architectures. It is lations but also coupled applications in which fields are described in detail in Sect. 3. exchanged with a global climate or Earth system model Glint is the original climate model interface for Glimmer. (CESM in particular). Glint allows the core ice sheet model to be coupled to – It should support simulations of the Greenland ice sheet, a global climate model or any other source of time- a scientific focus of CESM. Support for Antarctic appli- varying climate data on a lat–long grid. Glint computes cations is deferred to future model releases and publica- the surface mass balance (SMB) on the ice sheet grid tions. using a positive-degree-day (PDD) scheme. – The code should be open-source, with periodic public Glad is a lightweight climate model interface that has re- releases. placed Glint in CESM. The CESM coupler supports Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
W. H. Lipscomb et al.: Community Ice Sheet Model 389 remapping and downscaling between general land- configuration file includes the input and output filenames, the surface grids and ice sheet grids, and thus is able to send grid dimensions, the time step and length of the run, the dy- CISM an SMB that is already downscaled. The Glad in- core (Glide or Glissade), and various options and parameter terface simply sends and receives fields on the ice sheet values appropriate for a given application. If not set in the grid, accumulating and averaging as needed based on config file, each option or parameter takes a default value. the ice dynamic time step and the coupling interval. Supported options are described in the model documentation. Multiple input, forcing, and output files can be specified, Test cases are provided for the Glide and Glissade dynam- containing any subset of a large number of global scalars and ical cores. These are used to confirm that the model is fields (1-D, 2-D, and 3-D). If a given field is “loadable” and working as expected and to provide a range of simple is present in the input file, it is read automatically at startup; model configurations from which new users can learn otherwise, it is set to a default value. Loadable fields in- about model options and create their own configura- clude the initial ice thickness and temperature, bedrock to- tions. CISM test cases are described in Sect. 4. pography, surface mass balance, surface air temperature, and Shared code consists of modules shared by different parts geothermal heat flux. Forcing files are input files that are of the code. Examples include modules for defining de- read at every time step (not just at initialization) so that time- rived types, physical constants, and model parameters, dependent forcing can be applied during a simulation. and modules that parse CISM configuration files and Each output file includes a user-chosen set of variables handle data input/output (I/O). (listed in the configuration file) and can contain multiple time slices, written at any frequency. A special kind of I/O file is In order to reduce development effort, CISM runs on a the restart file, which includes all the fields needed to restart structured rectangular grid and thus lacks the flexibility of the model exactly. Whatever configuration options are cho- models that run on variable-resolution or adaptive meshes sen, model results are exactly reproducible (i.e., bit for bit) (e.g., ISSM and BISICLES). Although CISM includes sev- for a given computer platform and processor count, regard- eral common Stokes approximations, it does not solve the less of how many times a simulation is stopped and restarted. more complex “full Stokes” equations (Pattyn et al., 2008). Some basic information is sent to standard output during CISM is distributed as source code and therefore requires the run, and more verbose output is written at regular inter- a reasonably complete build environment to compile the vals to a log file. The log file lists the options and parame- model. For UNIX- and LINUX-based systems, the CMake ter values chosen for the run and also notes the simulation (http://www.cmake.org/, last access: 20 January 2019) sys- time when CISM reads or writes I/O. In addition, the log tem is used to build the model. Sample build scripts for file includes diagnostic information about the global state of a number of standard architectures are included, as are the model (e.g., the total ice area and volume, total surface working build scripts for a number of high-performance- and basal mass balance, and maximum surface and basal ice computing architectures including Cheyenne (NCAR Com- speeds), along with vertical profiles of ice speed and temper- putational and Information Systems Laboratory), Titan (Oak ature for a user-chosen grid point. Ridge Leadership Computing Facility), Edison (National En- CISM2.1 has been implemented in CESM version 2.0, re- ergy Research Scientific Computing Center), and Cartesius leased in June 2018. Earlier versions of CESM supported (the Dutch national supercomputer). one-way forcing of the Greenland ice sheet (using SIA dy- The source code can be obtained by downloading a re- namics) by the SMB computed in CESM’s land model (Lip- leased version from the CISM website or by cloning the scomb et al., 2013). CESM2.0 extends this capability by sup- code from a public git repository; see Sect. . In either case, porting conservative, interactive coupling between ice sheets a Fortran 90 compiler is required. Other software dependen- and the land and atmosphere. Coupling of ice sheets with cies include the NetCDF library (https://www.unidata.ucar. the ocean is not yet supported but is under development. edu/software/netcdf/, last access: 20 January 2019) (used for CESM2.0 does not have an interactive Antarctic ice sheet, data I/O) and a Python (http://www.python.org, last access: in part because of the many scientific and technical issues as- 20 January 2019) distribution (used to analyze dependencies sociated with ice sheet–ocean coupling. However, CISM2.1 and to automatically generate parts of the code) with sev- includes many of the features needed to simulate marine eral specific Python modules. Parallel builds require Mes- ice sheets, and a developmental model version (including sage Passing Interface (MPI), and users desiring access to a grounding-line parameterization to be included in a near- Trilinos packages (Heroux et al., 2005) will need to build future code release) has been used for Antarctic simulations. Trilinos and then link it to CISM. Finally, CMake and Gnu Make are needed to compile the code and link to the vari- ous third-party libraries. The CISM documentation contains 3 Model dynamics and physics detailed instructions for downloading and building the code. CISM is run by specifying the names of the executable CISM includes a parallel, higher-order dynamical core called (usually cism_driver) and a configuration file. Typically, the Glissade, which solves equations for conservation of mo- www.geosci-model-dev.net/12/387/2019/ Geosci. Model Dev., 12, 387–424, 2019
390 W. H. Lipscomb et al.: Community Ice Sheet Model mentum (i.e., an appropriate approximation of Stokes flow), Table 1. Model variables defined in the text. mass, and internal energy. Glissade numerics differ substan- tially from Glide numerics: Variables Definition – Velocity: Glide solves the SIA only, but Glissade can A Temperature-dependent rate factor B Surface mass balance solve several Stokes approximations, including the SIA, Bb Basal mass balance SSA, a depth-integrated higher-order approximation b Ice sheet bed elevation based on Goldberg (2011), and a 3-D higher-order ap- c Lateral calving rate proximation based on Blatter (1995) and Pattyn (2003). Fd Diffusive heat flux Glide uses finite differences, whereas the Glissade ve- Fg Geothermal heat flux locity solvers use finite-element methods. Ff Frictional heat flux H Ice thickness – Temperature: To evolve the ice temperature, Glide Heff Effective thickness at calving front solves a prognostic equation that incorporates horizon- Hf Flotation thickness tal advection as well as vertical heat diffusion and in- N Effective pressure ternal dissipation. In Glissade, temperature advection is P0 Full overburden pressure handled by the transport scheme, and a separate module p Pressure at lateral boundaries solves for vertical diffusion and internal dissipation in s Surface elevation each column. T Ice temperature Tf Ice temperature at floating lower surface – Mass and tracer transport: Glide solves an implicit Tpmp Pressure melting point temperature diffusion equation for mass transport, incorporating T? Absolute temperature corrected for Tpmp shallow-ice velocities. Glissade solves explicit equa- u Horizontal ice velocity component tions for horizontal transport of mass (i.e., ice thick- ub Basal u v Horizontal ice velocity component ness) and tracers (e.g., ice temperature) using either an vb Basal v incremental remapping scheme (Lipscomb and Hunke, W Water depth 2004) or a simpler first-order upwind scheme. Hori- β Basal traction parameter zontal transport is followed by vertical remapping to βeff Effective basal traction parameter (DIVA) terrain-following sigma coordinates. η Effective viscosity ˙e Effective strain rate Glissade numerics are described in detail below. ˙ ij Strain rate tensor σ Vertical sigma coordinate 3.1 Velocity solvers τb Basal shear stress τ ij Deviatoric stress tensor Glissade computes the ice velocity by solving approximate τe Effective stress Stokes equations, given the surface elevation, ice thick- τc Yield stress ness, ice temperature, and relevant boundary conditions. Sec- τec Effective calving stress tion 3.1.1 describes the solution method for the Blatter– 8 Rate of internal heating Pattyn (BP; Blatter, 1995; Pattyn, 2003) approximation, φ Till friction angle which is the most sophisticated and accurate solver in CISM. Subsequent sections discuss simpler approximations. 3.1.1 Blatter–Pattyn approximation constant), g is gravitational acceleration, s is the surface ele- vation, and x, y, z are 3-D Cartesian coordinates. These and The basic equations of the Blatter–Pattyn approximation are other variables and parameters used in CISM are listed in Ta- bles 1 and 2 for reference. In each equation, the three terms ∂ ∂u ∂v ∂ ∂u ∂v ∂ ∂u 2η 2 + + η + + η on the left-hand side (LHS) describe gradients of longitudinal ∂x ∂x ∂y ∂y ∂y ∂x ∂z ∂z stress, lateral shear stress, and vertical shear stress, respec- ∂s tively, and the right-hand side (RHS) gives the gravitational = ρi g , ∂x driving force. The longitudinal and lateral shear stresses to- ∂ ∂v ∂u ∂ ∂u ∂v ∂ ∂v gether are sometimes called membrane stresses (Hindmarsh, 2η 2 + + η + + η ∂y ∂y ∂x ∂x ∂y ∂x ∂z ∂z 2006). Neglecting membrane stress gradients leads to the ∂s much simpler SIA, and neglecting vertical shear stress gradi- = ρi g , (1) ents leads to the SSA. ∂y The equations are discretized on a structured 3-D mesh. In where u and v are the components of horizontal velocity, η the map plane, the mesh consists of rectangular cells, each is the effective viscosity, ρi is the density of ice (assumed with four vertices. The nz vertical levels of the mesh are Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
W. H. Lipscomb et al.: Community Ice Sheet Model 391 Table 2. Model constant and parameter values used for simulations described in the text. The calving and sub-shelf melting parameters are used only for simulations with ice shelves; other parameters are used for all Greenland simulations. Parameters Value Units Definition g 9.81 m s−2 Gravitational acceleration ci 2009 J kg−1 K−1 Specific heat of ice ki 2.1 W m−1 K−1 Thermal conductivity of ice L 335 J kg−1 Latent heat of melting ρi 917 kg m−3 Ice density ρo 1026 kg m−3 Ocean water density ρw 1000 kg m−3 Fresh water density n 3 – Glen flaw low exponent q 0.5 – Exponent for pseudo-plastic sliding u0 100 m yr−1 Velocity scale for pseudo-plastic sliding φmax 40 ◦ Maximum bed angle for pseudo-plastic sliding φmin 5 ◦ Minimum bed angle for pseudo-plastic sliding bmax 700 m Upper bed limit for pseudo-plastic sliding bmin −700 m Lower bed limit for pseudo-plastic sliding δ 0.02 – Minimum effective pressure relative to overburden Cd 0.001 m yr−1 Till drainage rate Wmax 2 m Maximum till water depth N0 1000 Pa Reference effective pressure e0 0.69 – Void ratio at reference effective pressure CC 0.12 – Till compressibility τc 106 Pa Yield stress for cliff limiting kτ 0.0025 m yr−1 Pa−1 Empirical constant for calving w2 25 – Empirical constant for calving Hcmin 75 m Minimum thickness for calving tc 1 years Calving timescale z0 −200 m Neutral elevation for sub-shelf melting max Bfrz 3 m yr−1 Maximum sub-shelf freezing rate max zfrz −100 m yr−1 Elevation for maximum sub-shelf freezing max Bmlt 100 m yr−1 Maximum sub-shelf melting rate max zfrz −500 m yr−1 Elevation for maximum sub-shelf melting H0 20 m Length scale for reducing melt in shallow cavities based on a terrain-following sigma coordinate system, with the elements in its column. Likewise, any vertex of an active σ = (s − z)/H , where H is the ice thickness. Each cell layer cell is active, as are the nodes in its column. is treated as a 3-D hexahedral element with eight nodes. (In The effective viscosity η is defined in each active element other words, cells and vertices are defined to lie in the map by plane, whereas elements and nodes live in 3-D space.) Scalar 1 −1 1−n 2-D fields such as H and s are defined at cell centers, and η ≡ A n ε̇e n , (2) 3-D scalars such as the ice temperature T lie at the centers 2 of elements. Gradients of 2-D scalars (e.g., the surface slope where A is the temperature-dependent rate factor in Glen’s ∇s) live at vertices. The velocity components u and v are flow law (Glen, 1955), and ε̇e is the effective strain rate, given 3-D fields defined at nodes. in the BP approximation by For problems on multiple processors, a cell or vertex (and ε̇e2 = ε̇xx 2 2 + ε̇yy 2 + ε̇xx ε̇yy + ε̇xy 2 + ε̇xz 2 + ε̇yz , (3) the associated elements and nodes in its column) may be either locally owned or part of a computational halo. Each where the components of the symmetric strain rate tensor are processor is responsible for computing u and v at its lo- cally owned nodes. Any cell that contains one or more lo- 1 ∂ui ∂uj ε̇ij = + . (4) cally owned nodes and has H exceeding a threshold thick- 2 ∂xj ∂xi ness (typically 1 m) is considered dynamically active, as are The rate factor A is given by an Arrhenius relationship: ∗ A(T ∗ ) = ae−Q/RT , (5) www.geosci-model-dev.net/12/387/2019/ Geosci. Model Dev., 12, 387–424, 2019
392 W. H. Lipscomb et al.: Community Ice Sheet Model Z ∂s where T ∗ is the absolute temperature corrected for the + ρi g ϕ2 d = 0, (9) dependence of the melting point on pressure (T ∗ = T + ∂y 8.7 × 10−4 (s − z), with T in Kelvin), a is a temperature- independent material constant from Paterson and Budd where represents the domain volume, 0B denotes the lower (1982), Q is the activation energy for creep, and R is the boundary, 0L denotes the lateral boundary (e.g., the calving universal gas constant. front of an ice shelf), β is a basal traction parameter, p is the The coupled partial differential equations (PDEs) (1) are pressure at the lateral boundary, and n1 and n2 are compo- discretized using the finite-element method (e.g., Hughes, nents of the normal to 0L . These equations can also be ob- 2000; Huebner et al., 2001). This method is more often ap- tained from a variational principle as described by Dukowicz plied to unstructured grids but was chosen for CISM’s rect- et al. (2010). The four terms in Eq. (9) represent internal ice angular grid because of its robustness and natural treatment stresses, basal friction, lateral pressure, and the gravitational of boundary conditions (Dukowicz et al., 2010). The PDEs, driving force, respectively. with appropriate boundary conditions, are converted to a sys- At the basal boundary, we assume a friction law of the tem of algebraic equations by dividing the full domain into form subdomains (i.e., hexahedral elements), representing the ve- τ b = βub , (10) locity solution on each element, and integrating over ele- ments. The solution is approximated as a sum over trilinear where τ b is the basal shear stress, ub = (ub , vb ) is the basal basis functions ϕ. Each active node is associated with a basis velocity, and β is a non-negative friction parameter that is function whose value is ϕ = 1 at that node, with ϕ = 0 at all defined at each vertex and can vary spatially. For some basal other nodes. The solution at a point within an element can be sliding laws (see Sect. 3.4), β depends on the basal velocity. expanded in terms of basis functions and nodal values: The lateral pressure p applies at marine-terminating X boundaries. The net pressure is equal to the pressure directed u(x, y, z) = ϕn (x, y, z)un , n outward from the ice toward the ocean by the ice, minus the X (smaller) pressure directed inward from the ocean by the hy- v(x, y, z) = ϕn (x, y, z)vn , (6) drostatic water pressure. The outward pressure is found by n integrating ρi g(s − z)dz from (s − H ) to s and then dividing where the sum is over the nodes of the element; un and vn are by H ; it is given by nodal values of the solution; and ϕn varies smoothly between 0 and 1 within the element. ρi gH pout = . (11) Glissade’s finite-element scheme is formally equivalent to 2 that described by Perego et al. (2012). Equation (1) can be The inward pressure is found by integrating ρo gzdz (where written as ρo is the seawater pressure) from (s − H ) to 0 and then di- ∂s viding by (H − s); it is given by − ∇ · (2ηε̇1 ) = −ρi g , ∂x ρo g(s − H )2 ∂s pin = . (12) − ∇ · (2ηε̇2 ) = −ρi g , (7) 2H ∂y Assuming hydrostatic balance (i.e., a floating margin), we where have s − H = (ρi /ρo )H , in which case Eqs. (11) and (12) 2ε̇xx + ε̇yy ε̇xy can be combined to give the net pressure ε̇1 = ε̇xy , ε̇2 = ε̇xx + 2ε̇yy . (8) ρi gH ρi ε̇xz ε̇yz p= 1− , (13) 2 ρw Following Perego et al. (2012), these equations can be rewrit- ten in weak form. This is done by multiplying Eq. (7) by the directed from the ice to the ocean. However, Eqs. (11) and basis functions and integrating over the domain, using inte- (12) are used in the code because they are valid at both gration by parts to eliminate the second derivative: grounded and floating marine margins. They are combined Z Z Z to give the net pressure p = pout − pin that is integrated over vertical cliff faces 0L in Eq. (9). 2ηε̇1 (u, v) · ∇ϕ1 d + βuϕ1 d0 + pn1 ϕ1 d0 The gravitational forcing terms require evaluating the gra- 0B 0L dients ∂s/∂x and ∂s/∂y at each active vertex. For vertex Z ∂s (i, j ) (which lies at the upper right corner of cell (i, j )), + ρi g ϕ1 d = 0, ∂x these are computed using a second-order-accurate centered approximation: Z Z Z 2ηε̇2 (u, v) · ∇ϕ2 d + βuϕ2 d0 + pn2 ϕ2 d0 ∂s 0B 0L (i, j ) = ∂x Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
W. H. Lipscomb et al.: Community Ice Sheet Model 393 s(i + 1, j + 1) + s(i + 1, j ) − s(i, j + 1) − s(i, j ) , (14) vector b. Section 3.1.5 discusses solution methods for the in- 21x ner linear problem and the outer nonlinear problem. and similarly for ∂s/∂y. This is equivalent to computing ∂s/∂x at the edge midpoints adjacent to the vertex in the y 3.1.2 Shallow-ice approximation direction, and then averaging the two edge gradients to the The shallow-ice equations follow from the Blatter–Pattyn vertex. In some cases (e.g., near steep margins), Eq. (14) can equations if membrane stresses are neglected. The SIA lead to checkerboard noise (i.e., 2-D patterns of alternating analogs of Eq. (1) are positive and negative deviations in s at the grid scale), be- cause centered averaging of s permits a computational mode. ∂ ∂u ∂s η = ρi g , To damp this noise, Glissade also supports upstream gradient ∂z ∂z ∂x calculations that do not have this computational mode but are ∂ ∂v ∂s formally less accurate. η = ρi g . (17) ∂z ∂z ∂y Equation (14) is ambiguous at the ice margin, where at least one of the four cells neighboring a vertex is ice-free. The SIA could be considered a special case of the Blatter– One option is to include all cells, including ice-free cells, Pattyn equations and solved using the same finite-element in the gradient. This approach works reasonably well (albeit methods, ignoring the horizontal stresses. With these meth- with numerical errors; see, e.g., Van den Berg et al., 2006) ods, however, each ice column cannot be solved indepen- for land-based ice but can give large gradients and exces- dently, because each node is linked to its horizontal neigh- sive ice speeds at floating shelf margins. A second option bors by terms that arise during element assembly. As a result, is to include only ice-covered cells in the gradient. For ex- a finite-element-based SIA solver is not very efficient. ample, suppose cells (i, j ) and (i, j + 1) have ice, but cells Instead, Glissade has an efficient local SIA solver. The (i + 1, j ) and (i + 1, j + 1) are ice-free. Then, lacking the solver is local in the sense that u and v in each column are required information to compute x gradients at the adjacent found independently of u and v in other columns. It resem- edges, we would set ∂s/∂x = 0. With a y gradient available bles Glide’s SIA solver as described by Payne and Dongel- at one adjacent edge, we would have ∂s/∂y = (s(i, j + 1) − mans (1997) and Rutt et al. (2009), except that Glide incor- s(i, j ))/(21y). This option works well at shelf margins but porates the velocity solution in a diffusion equation for ice tends to underestimate gradients at land margins. A third, hy- thickness, whereas Glissade’s SIA solver computes u and brid option is to compute a gradient at edges where either v only, with thickness evolution handled separately as de- (1) both adjacent cells are ice-covered or (2) one cell is ice- scribed in Sect. 3.3. covered and lies higher in elevation than a neighboring ice- For small problems that can run on one processor, there is free land cell. Thus, gradients are set to zero at edges where no particular advantage to using Glissade’s local SIA solver an ice-covered cell (either grounded or floating) lies above in place of Glide. Glide’s implicit thickness solver permits a ice-free ocean, or where an ice-covered land cell lies below longer time step and thus is more efficient for problems run ice-free land (i.e., a nunatak). Since this option works well in serial. For whole-ice-sheet problems, however, Glissade’s for both land and shelf margins, it is the default. parallel solver can hold more data in memory and may have Given T , s, H , and an initial guess for u and v, the prob- faster throughput, simply because it can run on tens to hun- lem is to solve Eq. (1) for u and v at each active node. This dreds of processors. problem can be written as 3.1.3 Shallow-shelf approximation Ax = b, (15) The SSA equations can be derived by vertically integrating or more fully, the BP equations, given the assumption of small basal shear stress and vertically uniform velocity. The shallow-shelf ana- Auu Auv u b log of Eq. (1) is = u . (16) Avu Avv v bv ∂ ∂u ∂v ∂ ∂u ∂v 2η̄H 2 + + η̄H + In Glissade, A is always symmetric and positive definite. ∂x ∂x ∂y ∂y ∂y ∂x Since A depends (through η and possibly β) on u and v, ∂s the problem is nonlinear and must be solved iteratively. For = ρi gH , ∂x each nonlinear iteration, Glissade computes the 3-D η field ∂ ∂v ∂u ∂ ∂u ∂v based on the current guess for the velocity field and solves a 2η̄H 2 + + η̄H + ∂y ∂y ∂x ∂x ∂y ∂x linear problem of the form (16). Then, η is updated and the ∂s process is repeated until the solution converges to within a = ρi gH , (18) given tolerance. This procedure is known as Picard iteration. ∂y Appendix A describes how the terms in Eq. (9) are where η̄ is the vertically averaged effective viscosity, and u summed over elements and assembled into the matrix A and and v are vertically averaged velocity components. The SSA www.geosci-model-dev.net/12/387/2019/ Geosci. Model Dev., 12, 387–424, 2019
394 W. H. Lipscomb et al.: Community Ice Sheet Model equations in weak form resemble Eqs. (8) and (9) but with- ∂ ∂u ∂s + η = ρi g , out the vertical shear terms. Thus, the SSA matrix and RHS ∂z ∂z ∂x can be assembled using the methods described in Sect. 3.1.1 1 ∂ ∂ v̄ ∂ ū 1 ∂ ∂ ū ∂ v̄ 2η̄H 2 + + η̄H + and Appendix A, using 2-D rectangular (instead of 3-D hex- H ∂y ∂y ∂x H ∂x ∂y ∂x ahedral) elements and omitting the vertical shear terms. The ∂ ∂v ∂s effective viscosity is defined as in Eq. (2) but with a vertically + η = ρi g , (23) ∂z ∂z ∂y averaged flow factor and with Eq. (3) replaced by where the depth-integrated effective viscosity is given by ε̇e2 = ε̇xx 2 2 + ε̇yy 2 + ε̇xx ε̇yy + ε̇xy . (19) Zs 1 The element matrices are 2-D analogs of Eqs. (A3)–(A6), η̄ = η(z)dz. (24) H with vertical derivatives excluded. b The vertical shear terms still contain η(z). 3.1.4 Depth-integrated-viscosity approximation Since the horizontal stress terms are depth-independent, Goldberg (2011) derived a higher-order stress approximation Eq. (23) can be integrated in the vertical to give that in most cases is similar in accuracy to BP but is much ∂ ∂ ū ∂ v̄ ∂ ∂ ū ∂ v̄ cheaper to solve, because (as with the SSA) the matrix sys- 2η̄H 2 + + η̄H + − βub ∂x ∂x ∂y ∂y ∂y ∂x tem is assembled and solved in two dimensions. Since the ∂s stress balance equations use a depth-integrated effective vis- = ρi gH , cosity in place of a vertically varying viscosity, we refer to ∂x ∂ ∂ v̄ ∂ ū ∂ ∂ ū ∂ v̄ this scheme as a depth-integrated-viscosity approximation, 2η̄H 2 + + η̄H + − βvb or DIVA. Arthern and Williams (2017) used a similar model, ∂y ∂y ∂x ∂x ∂y ∂x also based on Goldberg (2011), to simulate ice flow in the ∂s = ρi gH , (25) Amundsen Sea sector of West Antarctica. To our knowl- ∂y edge, CISM is the first model to adapt this scheme for mul- where the boundary conditions at b and s have been used to timillennial whole-ice-sheet simulations. Here, we summa- evaluate the vertical stress terms, with a sliding law of the rize the DIVA stress balance and describe Glissade’s solution form Eq. (10). Equation (25) is equivalent to the SSA stress method. Section 4.2 compares DIVA results to BP results for balance (Eq. 18), except for the addition of basal stress terms. the ISMIP-HOM experiments (Pattyn et al., 2008). Thus, the methods used to assemble and solve the SSA equa- Dukowicz et al. (2010) showed that the Blatter–Pattyn tions can be applied to the DIVA equations to find the mean equations (Eq. 1) and associated boundary conditions can be velocity components ū and v̄. derived by taking the first variation of a functional and set- In order to solve Eq. (25), however, the basal stress terms ting it to zero. The functional includes terms that depend on must be rewritten in terms of ū and v̄. Following Goldberg the effective strain rate (Eq. 3), which can be written as (2011), we show how this is done for the x component of 1 2 1 1 velocity; the y component is analogous. The x component of 2 ε̇BP = u2x + vy2 + ux vy + uy + vx + u2z + vz2 , (20) Eq. (25) can be rearranged and divided by H : 4 4 4 βub 1 ∂ ∂ ū ∂ v̄ where ux denotes the partial derivative ∂u/∂x, and similarly = 2H η̄ 2 + H H ∂x ∂x ∂y for other derivatives. Goldberg (2011) derived an alternate set of equations using a similar functional but with the horizontal 1 ∂ ∂ ū ∂ v̄ ∂s + H η̄ + − ρi g . (26) velocity gradients in the effective strain rate replaced by their H ∂y ∂y ∂x ∂x vertical averages: From Eq. (23), the RHS of Eq. (26) is just −(ηuz )z , giving 2 1 2 1 1 βub ∂ ∂u ε̇DIVA = ū2x + v̄y2 + ūx v̄y + ūy + v̄x + u2z + vz2 , (21) =− η . (27) 4 4 4 H ∂z ∂z where Integrating Eq. (27) from z to the surface s gives Zs Zs ∂u βub (s − z) 1 1 η = . (28) ū = u(z)dz, v̄ = v(z)dz. (22) ∂z H H H b b Dividing by η and integrating from b to z gives u(z) in terms of ub and η(z): The resulting equations of motion, analogous to Eq. (1), are Zz s − z0 βub dz0 . 1 ∂ ∂ ū ∂ v̄ 1 ∂ ∂ ū ∂ v̄ u(z) = ub + (29) 2η̄H 2 + + η̄H + H η(z0 ) H ∂x ∂x ∂y H ∂y ∂y ∂x b Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
W. H. Lipscomb et al.: Community Ice Sheet Model 395 Following Arthern et al. (2015), we can define some useful – Evaluate numerically the vertical integrals in integrals Fn as Eqs. (29) and (30). Zs – Interpolate F2 to vertices and compute βeff . 1 s −z n Fn ≡ dz. (30) η H 2. Solve the matrix system for ū and v̄. b In this notation, the surface velocity is related to the bed ve- 3. Given (ū, v̄) at each vertex, use Eq. (32) to find (ub , vb ), locity by and then use Eq. (29) to find u(z) at each level. us = ub (1 + βF1 ) . (31) 4. Iterate to convergence. Integrating u(z) from the bed to the surface gives the depth- The code is initialized with (u, v) = 0 everywhere, and there- averaged mean velocity ū: after each iterated solution starts with (u, v) from the previ- ous time step. ū = ub (1 + βF2 ) . (32) DIVA assumes that horizontal gradients of membrane We can think of F2 as a depth-integrated inverse viscosity. stresses are vertically uniform. It is less accurate than the The less viscous the ice, the greater the value of F2 , and the BP approximation in regions of slow sliding and rough bed greater the difference between ū and ub . topography, where the horizontal gradients of membrane Given Eq. (32), we can replace βub and βvb in Eq. (25) stresses vary strongly with height, and may also be less accu- with βeff ū and βeff v̄, respectively, where rate where vertical temperature gradients are large. The accu- racy of DIVA compared to BP is discussed in Sect. 4.2 with β reference to the ISMIP-HOM benchmark experiments. βeff = . (33) 1 + βF2 3.1.5 Solving the matrix system For a frozen bed (ub = vb = 0, with nonzero basal stress τbx ), the βub term on the RHS of Eq. (29) is replaced by τbx , lead- After assembling the matrices and right-hand side vectors for ing to the chosen approximation (SSA, DIVA, or BP), we solve the ū = τbx F2 . (34) linear problem of Eq. (16). Glissade supports three kinds of solvers: (1) a native Fortran preconditioned conjugate gradi- Then, the basal stress terms in Eq. (25) can be replaced by ent (PCG) solver, (2) links to Trilinos solver libraries, and frz ū and β frz v̄, where βeff (3) links to the Sparse Linear Algebra Package (SLAP). eff The native PCG solver works directly with the assembled frz 1 matrices (Auu , Auv , Avu , and Avv ) and the right-hand-side βeff = . (35) F2 vectors (bu and bv ). Instead of converting to a sparse matrix format such as compressed row storage, Glissade maintains With these substitutions, Eq. (25) can be written in terms of these matrices and vectors as structured rectangular arrays mean velocities ū and v̄ and is fully analogous to the SSA. with i and j indices, so that they can be handled by CISM’s In order to compute η̄, the effective viscosity η(z) must halo update routines. Each node location (i, j ) (in 2-D) or be evaluated at each level. We use Eq. (2) with the effective 2 (i, j, k) (in 3-D) corresponds to a row of the matrix, and an strain rate (Eq. 21). The horizontal terms in ε̇DIVA are found additional index m ranges over the neighboring nodes that using the mean velocities from the previous iteration. The can have nonzero terms in the columns of that row. The max- vertical shear terms are computed using Eq. (28): imum number of nonzero terms per row is 9 in 2-D and 27 in τbx (s − z) τby (s − z) 3-D. uz (z) = , vz (z) = , (36) The matrices and RHS vectors are passed to either a “stan- η(z)H η(z)H dard” PCG solver (Shewchuk, 1994) or a Chronopoulos– where both η(z) and τ b are from the previous iteration. Gear PCG solver (Chronopoulos, 1986; Chronopoulos and The DIVA solution procedure can be summarized as fol- Gear, 1989). The PCG algorithm includes two dot prod- lows: ucts (each requiring a global sum), one matrix–vector prod- 1. Starting with the current guess for the velocity field uct, and one preconditioning step per iteration. For small (u, v), assemble the DIVA solution matrix in analogy problems, the dominant computational cost is the matrix– to the SSA solution matrix, with the following DIVA- vector product. For large problems, however, the global specific computations: sums become increasingly expensive. In this case, the Chronopoulos–Gear solver is more efficient than the stan- – Compute η(z) using Eqs. (2), (21), and (36), and dard solver, because it rearranges operations such that both integrate to find the depth-averaged η̄. global sums are done with a single MPI call. www.geosci-model-dev.net/12/387/2019/ Geosci. Model Dev., 12, 387–424, 2019
396 W. H. Lipscomb et al.: Community Ice Sheet Model As described by Shewchuk (1994), the convergence rate wise, the linear solver is called again, until the solution con- of the PCG method depends on the effectiveness of the pre- verges or the maximum number of nonlinear iterations (typ- conditioner (i.e., a matrix M which approximates A and can ically 100) is reached. The number of nonlinear iterations be inverted efficiently). Glissade’s native PCG solver has two per solve – and optionally, the number of linear iterations per preconditioning options: nonlinear iteration – is written to standard output. In the event of non-convergence, a warning message is written to output, – diagonal preconditioning, in which M consists of the but the run continues. In some cases, convergence may im- diagonal terms of A and is trivial to invert, and prove later in the simulation, or solutions may be deemed – shallow-ice-based preconditioning (for the BP approx- sufficiently accurate even when not fully converged. imation only). In this case, M includes only the terms 3.2 Temperature solver in A that link a given node to itself and its neighbors above and below. Thus, M is tridiagonal and can be in- The thermal evolution of the ice sheet is given by verted efficiently. This preconditioner works well when the physics is dominated by vertical shear but not as ∂T ki 2 ∂T 8 = ∇ T − u · ∇T − w + , (37) well when membrane stresses are important. Since the ∂t ρi ci ∂z ρi ci preconditioner is local (it consists of independent col- where T is the temperature in ◦ C, u = (u, v) is the horizon- umn solves), it scales well for large problems. tal velocity, w is the vertical velocity, ki is the thermal con- The Trilinos solver (Heroux et al., 2005) uses C++ pack- ductivity of ice, ci is the specific heat of ice, ρi is the ice ages developed at Sandia National Laboratories. As de- density, and 8 is the rate of heating due to internal defor- scribed by Evans et al. (2012), an earlier version of CISM’s mation and dissipation. This equation describes the conser- higher-order dycore, known as Glam, was parallelized and vation of internal energy under horizontal and vertical dif- linked to Trilinos. The Trilinos links developed for Glam fusion (the first term on the RHS), horizontal and vertical were then adapted for Glissade’s SSA, DIVA, and BP advection (the second and third terms, respectively), and in- solvers. The CISM documentation gives instructions for ternal heat dissipation (the last term). Unlike Glide, which building and linking to Trilinos and choosing appropriate solves this equation in a single calculation, Glissade divides solver settings. the temperature evolution into separate advection and diffu- SLAP is a set of Fortran routines for solving sparse sys- sion/dissipation components. The temperature module uses tems of linear equations. SLAP was part of Glimmer and finite-difference methods to solve for vertical diffusion and is used to solve for thickness evolution and temperature ad- internal dissipation in each ice column: vection in Glide. It can also be used to solve higher-order ∂T ki ∂ 2 T 8 systems in Glissade, using either GMRES or a biconjugate = 2 + , (38) ∂t ρi c ∂z ρi ci gradient solver. The SLAP solver, however, is a serial code unsuited for large problems. as described in this section. The advective part of Eq. (37) is The default linear solver is native PCG using the described in Sect. 3.3. Horizontal diffusion is assumed to be 2 Chronopoulos–Gear algorithm. Although it has been found negligible compared to vertical diffusion, giving ∇ 2 T ' ∂∂zT2 . to run efficiently on platforms ranging from laptops to super- In Glissade’s vertical discretization of temperature, T is computers, its preconditioning options are limited, so con- located at the midpoints of the (nz − 1) layers, staggered rel- vergence can be slow for problems with dominant membrane ative to the velocity. This staggering makes it easier to con- stresses (e.g., large marine ice sheets). SLAP solvers are gen- serve internal energy under transport, where the internal en- erally robust and efficient but are limited to one processor. ergy in an ice column is equal to the sum over layers of Trilinos contains many solver options, but in tests to date – ρi ci T 1z, with layer thickness 1z. The upper surface skin using a generalized minimal residual (GMRES) solver with temperature is denoted by T0 and the lower surface skin tem- incomplete lower–upper (ILU) preconditioning – it has been perature by Tnz , giving a total of nz + 1 temperature values found to be slower than the native PCG solver because of the in each column. extra cost of setting up Trilinos data structures, and possibly The following sections describe how the terms in Eq. (38) the slower performance of C++ compared to Fortran for the are computed, how the boundary conditions are specified, solver. and how the equation is solved. The linear solver is wrapped by a nonlinear solver that does Picard iteration. Following each iteration, a new global 3.2.1 Vertical diffusion matrix is assembled, using the latest velocity solution to com- pute the effective viscosity. Glissade then computes the new Glissade uses a vertical σ coordinate, with σ ≡ (s − z)/H . residual, r = b−Ax. If the l2 norm of the residual, defined as Thus, the vertical diffusion terms can be written as √ (r, r), is smaller than a prescribed tolerance threshold, the ∂ 2T 1 ∂ 2T nonlinear system of equations is considered solved. Other- 2 = 2 . (39) ∂z H ∂σ 2 Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
W. H. Lipscomb et al.: Community Ice Sheet Model 397 The central difference formulas for first derivatives at the up- 3.2.3 Boundary conditions per and lower interfaces of layer k are The temperature T0 at the upper boundary is set to ∂T Tk − Tk−1 min(Tair , 0), where the surface air temperature Tair is usu- = , ally specified from data or passed from a climate model. The ∂σ σk σk − e e σk−1 diffusive heat flux at the upper boundary (defined as positive ∂T Tk+1 − Tk up) is = , (40) ∂σ σk+1 σk+1 − e e σk top ki T1 − T0 Fd = , (47) where eσk is the value of σ at the midpoint of layer k, halfway H e σ1 between σk and σk+1 . The second partial derivative, defined where the denominator contains just one term because σ0 = at the midpoint of layer k, is 0. The lower ice boundary is more complex. For grounded ∂T ∂T ∂ 2T ∂σ σk+1 − ∂σ σk ice, there are three heat sources and sinks. First, the diffusive = . (41) flux from the bottom surface to the ice interior (positive up) ∂σ 2 σk e σk+1 − σk is Inserting Eq. (40) into (41), we obtain the vertical diffusion ki Tnz − Tnz−1 term: Fdbot = . (48) H 1 −e σnz−1 ∂ 2T Tk−1 Second, there is a geothermal heat flux Fg which can be pre- 2 = scribed as a constant (∼ 0.05 W m−2 ) or read from an input ∂σ e σ σk − e (e σk−1 ) (σk+1 − σk ) k file. Finally, there is a frictional heat flux associated with 1 1 −Tk + basal sliding, given by (eσk − e σk−1 ) (σk+1 − σk ) (eσk+1 − e σk ) (σk+1 − σk ) Tk+1 F f = τ b · ub , (49) + . (42) σk+1 − e (e σk ) (σk+1 − σk ) where τ b and ub are 2-D vectors of basal shear stress and 3.2.2 Heat dissipation basal velocity, respectively. With a friction law given by Eq. (10), this becomes In higher-order models, the internal heating rate 8 in Eq. (38) Ff = β(u2b + vb2 ). (50) is given by the tensor product of strain rate and stress: If the basal temperature Tnz < Tpmp (where Tpmp is the 8 = ε̇ij τij , (43) pressure melting point temperature), then the fluxes at the lower boundary must balance: where τij is the deviatoric stress tensor. The effective stress (cf. Eq. 3) is defined by Fg + Ff = Fdbot . (51) 1 In other words, the energy supplied by geothermal heating τe2 = τij τij . (44) and sliding friction is equal to the energy removed by vertical 2 diffusion. If, on the other hand, Tnz = Tpmp , then the net flux The stress tensor is related to the strain rate and the effective is nonzero and is used to melt or freeze ice at the boundary: viscosity by Fg + Ff − Fdbot Mb = , (52) τij = 2ηε̇ij . (45) ρi L where Mb is the melt rate and L is the latent heat of melt- Dividing each side of Eq. (45) by 2η, substituting in Eq. (43), ing. Melting generates basal water, which may either stay and using Eq. (44) gives in place, flow downstream (possibly replaced by water from upstream), or simply disappear from the system, depending τe2 on the basal water parameterization. While basal water is 8= . (46) η present, Tnz is held at Tpmp . For floating ice, the basal boundary condition is simpler; Both terms on the RHS of Eq. (46) are available to the tem- Tnz is set to the freezing temperature Tf of seawater, taken as perature solver, since the higher-order velocity solver com- a linear function of depth based on the pressure-dependent putes η during matrix assembly and diagnoses τe from η and melting point of seawater. Optionally, a melt rate can be pre- ε̇ij at the end of the calculation. scribed at the lower surface (Sect. 3.6). www.geosci-model-dev.net/12/387/2019/ Geosci. Model Dev., 12, 387–424, 2019
398 W. H. Lipscomb et al.: Community Ice Sheet Model 3.2.4 Vertical temperature solution equivalent to mass conservation. There is a similar conserva- tion equation for the internal energy in each ice layer: Equation (38) can be discretized for layer k as ∂(hT ) + ∇ · (hT u) = 0, (59) Tkn+1 − Tkn ki h n+1 n+1 n+1 i ∂t = a k T k−1 − (a k + bk )T k + bk T k+1 where h is the layer thickness, T is the temperature (located 1t ρi ci H 2 8k at the layer midpoint), and u is the layer-average horizon- + , (53) tal velocity. (Vertical diffusion and internal dissipation are ρi c i handled separately as described in Sect. 3.2.) If other tracers where the coefficients ak and bk are inferred from Eq. (42), are present, their transport is described by conservation equa- and n is the current time level. The vertical diffusion terms tions of the same form as Eq. (59). Glissade solves Eqs. (58) are evaluated at the new time level, making the discretization and (59) in a coordinated way, one layer at a time. All trac- backward Euler (i.e., fully implicit) in time. Equation (53) ers, including temperature, are advected using the same al- can be rewritten as gorithm. Glissade has two horizontal transport schemes: a first- n+1 − αk Tk−1 + (1 + αk + βk )Tkn+1 − βk Tk+1 n+1 order upwind scheme and a more accurate incremental 8k 1t remapping (IR) scheme (Dukowicz and Baumgardner, 2000; = Tkn + , (54) Lipscomb and Hunke, 2004). The IR scheme is the default. ρi ci This scheme was first implemented in the Los Alamos sea where ice model, CICE, and has been adapted for CISM. Since the ki ak 1t ki bk 1t scheme is fairly complex, we give a summary in Sect. 3.3.1 αk = , βk = . (55) and refer the reader to the earlier publications for details. ρi ci H 2 ρi ci H 2 After horizontal transport, the mass balance is applied at At the lower surface, we have either a temperature bound- the top and bottom ice surfaces. The new vertical layers gen- ary condition (Tnz = Tpmp for grounded ice, or Tnz = Tf for erally do not have the desired spacing in σ coordinates. For floating ice) or a flux boundary condition: this reason, a vertical remapping scheme is applied to trans- fer ice volume, internal energy, and other conserved quanti- n+1 − T n+1 ki Tnz nz−1 ties between adjacent layers, thus restoring each column to Ff + Fg − = 0, (56) H 1 −e σnz−1 the desired σ coordinates while conserving mass and energy. (This is a common feature of arbitrary Lagrangian–Eulerian which can be rearranged to give (ALE) methods.) Internal energy divided by mass gives the new layer temperatures, and similarly for other tracers. n+1 n+1 Ff + Fg H (1 − e σnz−1 ) −Tnz−1 + Tnz = . (57) ki 3.3.1 Incremental remapping In each ice column, the above equations form a tridiagonal The incremental remapping scheme has several desirable fea- system that is solved for Tk in each layer. tures: Occasionally, the solution Tk can exceed Tpmp for a given layer. If so, we set Tk = Tpmp and use the extra energy to melt – It conserves the quantities being transported (including ice internally. This melt is assumed to drain immediately to mass and internal energy). the bed. If Eq. (52) applies, we compute Mb and adjust the – It is non-oscillatory; that is, it does not create spurious basal water depth. When the basal water goes to zero, Tnz ripples in the transported fields. is set to the temperature of the lowest layer (less than Tpmp at the bed), so that the flux boundary condition will apply – It preserves tracer monotonicity. That is, it does not cre- during the next time step. ate new extrema in tracers such as temperature; the val- ues at time n + 1 are bounded by the values at time n. 3.3 Mass and tracer transport Thus, T never rises above the melting point under ad- vection. The transport equation for ice thickness H can be written as – It is second-order accurate in space and therefore is less ∂H diffusive than first-order schemes. The accuracy may be + ∇ · (H U ) = B, (58) ∂t reduced locally to first order to preserve monotonicity. where U is the vertically averaged 2-D velocity and B is – It is efficient for large numbers of tracers. Much of the the total surface mass balance. This equation describes the work is geometrical and is performed only once per cell conservation of ice volume under horizontal transport. With edge instead of being repeated for each field being trans- the assumption of uniform density, volume conservation is ported. Geosci. Model Dev., 12, 387–424, 2019 www.geosci-model-dev.net/12/387/2019/
You can also read