Browse wiki

From CSDMS
<i>Background</i><br>Whe<i>Background</i><br>When it comes to building a general, efficient, surface process code, there are a couple of significant challenges that stand in our way. One is to address the interesting operators that appear in the mathematical formulation that are not commonly encountered in computational mechanics. The other is to cater for the many different formulations that have been put forward in the literature as no single, universal set of equations has been agreed upon by the community.<br><br><i>Computational Approach</i><br>We view Quagmire as a community toolbox and acknowledge that this means there is no one best way to formulate any of the landscape evolution models. We instead provide a collection of useful operators and examples of how to assemble various kinds of models. We do assume that:<br><ul><li>the surface is a single-valued height field described by the coordinates on a two-dimensional plane</li><li>the vertical evolution can be described by the time-derivative of the height field</li><li>the horizontal evolution can be described by an externally imposed velocity field</li><li>the formulation can be expressed through (non-linear) operators on the two dimensional plane</li><li>any sub-grid parameterisation (e.g. of stream bed geometry) is expressible at the grid scale</li><li>a parallel algorithm is desirable</li></ul>We don't make any assumptions about:<br><ul><li>the nature of the mesh: triangulation or a regular array of 'pixels'</li><li>the parallel decomposition (except that it is assumed to be general)</li><li>the specific erosion / deposition / transport model</li></ul>Quagmire is a collection of python objects that represent parallel vector and matrix operations on meshes and provide a number of useful surface-process operators in matrix-vector form. The implementation is through PETSc, numpy, and scipy. Quagmire is open source and a work in progress.<br><br><i>Mathematical Approach</i><br>Matrix-vector multiplication is the duct tape of computational science: fast, versatile, ubiquitous. Any problem that can be formulated in terms of basic linear algebra operations can usually be rendered into an abstract form that opens up multiple avenues to solve the resulting matrix equations and it is often possible to make extensive use of existing fast, parallel software libraries. Quagmire provides parallel, matrix-based operators on regular Cartesian grid and unstructured triangulations for local operations such as gradient evaluation, diffusion, smoothing but also for non-local, graph-based operations that include catchment identification, upstream summation, and flood-filling. <br>The advantage of the formulation is in the degree of abstraction that is introduced, separating the details of the discrete implementation from the solution phase. The matrix-based approach also makes it trivial to introduce concepts such as multiple-pathways in graph traversal / summation operations without altering the structure of the solution phase in any way. Although we have not yet done so, there are obvious future possibilities in developing implicit, non-linear solvers to further improve computational performance and to place the model equations in an inverse modelling framework.ructure of the solution phase in any way. Although we have not yet done so, there are obvious future possibilities in developing implicit, non-linear solvers to further improve computational performance and to place the model equations in an inverse modelling framework.  
louis.moresi@monash.edu  +
CTSP: Coupling of Tectonic and Surface Processes  +
Ben  +  and Romain  +
Melbourne University  +
Melbourne University  +
Mather  +  and Beucher  +
Louis_Moresi_CTSP_2018_meeting.pdf  +
Invited oral presentation  +
Quagmire - Algorithms and a Toolbox for Parallel Surface Process Codes  +
Australia  +
Creation date"Creation date" is a predefined property that corresponds to the date of the first revision of a subject and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
15:44:10, 6 August 2018  +
Has query"Has query" is a predefined property that represents meta information (in form of a <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Subobject">subobject</a>) about individual queries and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
Last editor is"Last editor is" is a predefined property that contains the page name of the user who created the last revision and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
Modification date"Modification date" is a predefined property that corresponds to the date of the last modification of a subject and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
22:33:32, 11 June 2025  +
PETSc  +, Quagmire  +  and Landscape evolution models  +
Terrestrial Working Group  +