jupyter
jupytext kernelspec
formats text_representation
ipynb,md
extension format_name format_version jupytext_version
.md
markdown
1.2
1.4.2
display_name language name
Python 3
python
python3

Quagmire

Quagmire is a Python surface process framework for building erosion and deposition models on highly parallel, decomposed structured and unstructured meshes. Quagmire is suitable for models that focus on very large tectonic length and timescales and consider the generic, coupled surface / tectonics problem. This problem poses interesting challenges in algorithms for parallel computation in models where there is likely to be significant lateral deformation and catchment changes. Quagmire algorithms are specifically developed to manage this problem efficiently.

Quagmire is structured into three major classes that inherit methods and attributes from lower tiers.

Quagmire hierarchy

The Surface Processes class inherits from the Topography class, which in turn inherits from TriMesh or PixMesh depending on the type of mesh.

Demonstration

Running on mybinder.org

Binder

Quagmire workflow examples and tutorials on the Underworld cloud

Launch Demo

Notebooks

Tutorial notebooks (getting started)

Idealised Examples (mathematical landscapes for testing the methods):

Worked Examples:

NOT running on binder as additional dependencies for mapping are required

Parallel Usage

Quagmire is highly scalable. All of the python scripts in the tests subdirectory can be run in parallel, e.g.

mpirun -np 4 python stream_power.py

where the number after the -np flag specifies the number of processors. To do this, you need a local installation which we recommend you do using docker

docker pull underworldcode/quagmire:0.3
docker run -v ${PWD}:/home/jovyan -P underworldcode/quagmire:0.3