jupyter | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
The Surface Processes class inherits from the Topography class, which in turn inherits from TriMesh or PixMesh depending on the type of mesh.
Running on mybinder.org
Quagmire workflow examples and tutorials on the Underworld cloud
Tutorial notebooks (getting started)
- Meshing / Stripy
- Topography Meshes
- Surface Process Meshes
- Downhill Pathways
- Pit filling, lakes, swamps etc
- Catchments
Idealised Examples (mathematical landscapes for testing the methods):
Worked Examples:
NOT running on binder as additional dependencies for mapping are required
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