Overview
Basin and Landscape Dynamics (Badlands) is a parallel TIN-based landscape evolution model, built to simulate topography development at various space and time scales. The model is capable of simulating hillslope processes (linear & non-linear diffusion), fluvial incision (‘modified’ Stream Power Law, Transport Capacity Law both for sediment erosion/transport/deposition), spatially and temporally varying geodynamic (horizontal + vertical displacements) and climatic forces which can be used to simulate changes in base level, as well as effects of climate changes or sea-level fluctuations. The model uses gFlex package which is designed to solve elastic plate flexure for applications to Earth’s lithosphere.
Badlands overview - Basin Genesis Hub presentation (2017)
Getting started
For installation information and documentation visit our github wiki page which provides several useful notes on how to start using the tool.
The easiest way to get started is with the Docker container using Kitematic. Once Kitematic is installed on your computer, open it and look for pybadlands-demo via the search menu.
If you want to install it yourself, these 2 Dockerfiles (dependencies & code) are the best documentation of the required packages.
The latest pyBadlands version is the one that’s in our Github repository. Get it using this shell command, which requires Git:
- git clone https://github.com/badlands-model/pyBadlands.git
API documentation is available from http://pybadlands.readthedocs.io
The specs…
The model is based on the following characteristics: + The finite volume approach from Tucker et al. (2001) based on the dual Delaunay-Voronoi framework is used to solve the continuity equation explicitly, + Node ordering is perform efficiently based on the work from Braun & Willett (2013), + 3D surface deformations using the node refinement technique proposed by Thieulot et al. ( 2014). + Orographic precipitation using Smith & Barstad (2004) linear model to compute topographic induced rain field. + Varying erodibility layers (both horizontally and vertically) to simulate impact of changing sediment characteristics on landscape evolution.
A set of functions for pre & post-processing of Badlands inputs and outputs is available in a GitHub Companion repository which is already shipped with the Badlands Docker container.
Community driven
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/lgpl-3.0.en.html.
Versioning
Current releases (DOI citable):
Release v1.0.0 :
- Release 1: badlands-model/pyBadlands, Zenodo, doi:10.5281/zenodo.160412, 2016.
Release v1.1.0 :
- Release 2: badlands-model/pyBadlands, Zenodo, doi:10.5281/zenodo.268053, 2017.
v2.0.0 Release Candidate :
- The
master
branch is a stable version of the code with the most recent developments embedded and is expected to be released as version 2.0.0
Reporting
If you come accross a bug or if you need some help compiling or using the code you can:
- go through our mailing list Archive
- subscribe to our mailing list
- or drop us a line
Hands-on examples
A compilation of notebooks with examples are proposed to give you a quick feeling of what could be done with the code. Testing models:
- delta evolution under sea-level fluctuation nbviewer
- impact of climate on mountain dynamic nbviewer
- basin filling associated to a strike-slip fault system nbviewer
- infilling of a crater-type topography nbviewer
- flexural response due to loading and unloading under variable elastic thickness nbviewer
- quick setup of real topography/bathymetry model using etopo1 nbviewer