serial version of pyBadlands
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

pyBadlands - Basin & Landscape Dynamics

sketch Badlands



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.

Recent examples part of our pyBadlands workshops are available through the following github repository.

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

API documentation is available from

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


Current releases (DOI citable):

Release v1.0.0 :

Release v1.1.0 :

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


If you come accross a bug or if you need some help compiling or using the code you can:

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

Stratigraphy & Wheeler diagram in pyBadlands

Youtube video


Documentation related to the physics & assumptions

Published research studies using Badlands:

When you use Badlands, please cite the above papers.