The Design Document page provides a description of the algorithms, implementation and planned testing including unit, verification, validation and performance testing. Please read Step 1.3 Performance Expectations that explains feature documentation requirements from the performance group point of view.
Design Document
In the table below 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation, - competed, - in progress, - not done
Title: General basal friction law for MALI
Requirements and Design
E3SM Ocean/Ice Group
Date: July 30, 2019
Summary
This feature will introduce a new general basal friction law to MALI that replaces the existing linear basal friction law with a flexible friction law that can take the form of several more theoretically sound friction laws. This friction law can be made a function of subglacial effective pressure, allowing it to eventually be coupled with a subglacial hydrology model. The new basal friction law will be implemented in the Albany side of MALI and require an update to the Albany and Trilinos libraries used in E3SM. The new friction law will be disabled by default, as additional work will be required to initialize the model with it.
Requirements
Requirement: Basal friction law that can take the form of Weertman, Schoof, or plastic friction laws
Date last modified: July 30, 2019
Contributors: Matt Hoffman
A general glacier basal friction law will be able to take the following forms:
Weertman:
Schoof
Plastic
Each requirement is to be listed under a ”section” heading, as there will be a one-to-one correspondence between requirements, design, proposed implementation and testing. Requirements should not discuss technical software issues, but rather focus on model capability. To the extent possible, requirements should be relatively independent of each other, thus allowing a clean design solution, implementation and testing plan.
Algorithmic Formulations
Design solution: Basal friction law that can take the form of Weertman, Schoof, or plastic friction laws
Date last modified: July 30, 2019
Contributors: Matt Hoffman
This can be accomplished with the Schoof form. To use the Weertman form, set . To use the plastic form, set
For each requirement, there is a design solution that is intended to meet that requirement. Design solutions can include detailed technical discussions of PDEs, algorithms, solvers and similar, as well as technical discussion of performance issues. In general, this section should steer away from a detailed discussion of low-level software issues such as variable declarations, interfaces and sequencing.
Design and Implementation
Implementation: Basal friction law that can take the form of Weertman, Schoof, or plastic friction laws
Date last modified: July 30, 2019
Contributors: Matt Hoffman
Because this basal friction law is nonlinear in the sliding velocity, it must be linearized. It thus takes the form:
and can thus be implemented in a fashion similar to the existing linear law:
The effective pressure, N, can either be a physical effective pressure coming from a subglacial hydrology model, or it can be used as a friction coefficient.
This section should detail the plan for implementing the design solution for requirement XXX. In general, this section is software-centric with a focus on software implementation. Pseudo code is appropriate in this section. Links to actual source code are appropriate. Project management items, such as svn branches, timelines and staffing are also appropriate. How do we typeset pseudo code?
Planned Verification and Unit Testing
Verification and Unit Testing: short-desciption-of-testing-here
Date last modified: July 30, 2019
Contributors: Matt Hoffman
How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?
Planned Validation Testing
Validation Testing: Basal friction law that can take the form of Weertman, Schoof, or plastic friction laws
Date last modified: July 30, 2019
Contributors: Matt Hoffman
How will XXX be tested? What observational or other dataset will be used? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?
Planned Performance Testing
Performance Testing: Basal friction law that can take the form of Weertman, Schoof, or plastic friction laws
Date last modified: July 30, 2019
Contributors: Matt Hoffman
How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?