pyBadlands – Basin & Landscape Dynamics



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-lineardiffusion), fluvial incision (‘modified’ Stream Power LawTransport 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

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.
  • Long-term evolution of longshore currents and induced sediment transport is simulated based on linear wave theory.
  • Fuzzy logic approach is used to estimate carbonate growth based on depth, wave energy and sedimentation rate.

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 :

Release v2.0.0 :


  • The master branch is a stable version of the code with the most recent developments embedded.


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

Documentation related to the physics & assumptions

Published research studies using Badlands:

When you use Badlands, please cite the above papers.