Skip to content
Bayeslands Workshop
Fortran Python Other
Branch: master
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.

Bayeslands Workshop

Part of the Badlands (Basin and landscape Dynamics) suite from the The University of Sydney .

These materials are designed to give you a brief introduction to the Badlands (BAsin nD LANdscape DynamicS) modelling code, extended functionality provided by pyBadlands, the Bayesian inference methods in Bayeslands, and additional helper tools. See and the repositories therin for details on various Badlands/Bayeslands incantations.

email us


This repo is at

Via Docker

The easiest way to install and run the Bayeslands Workshop is by downloading through Docker.

Download the dockerfile

Change into the folder with the docker file, then execute:

docker build -t bayeslands . 

Then to run, execute:

docker run -p 8888:8888 bayeslands

From there, launch a web browser on your local machine, navigate to and you can explore the folder structure within the Jupyter notebook environment. Click on the StartHere.ipynb for some instructions! Note, you may need to use the --no-cache flag in the docker build command to re-download the git repository and install a up-to-date copy.

Via Compile

Or download the repo and compile pyBadlands.

git clone
cd Bayeslands_Workshop/pyBadlands/libUtils
cd -
pip install -e Bayeslands_Workshop

Dependecies for compiliation

If you compile this workshop locally, then several dependencies (easily installed with anaconda and pip) are required. These steps should get you an evironment ready to compile pyBadlands (above).

conda create --name pybad python=2.7.13 
source activate pybad
conda install jupyter h5py markupsafe numba=0.35.0 singledispatch backports_abc certifi jsonschema ipyparallel
conda install matplotlib=2.0.2 pandas scipy=0.19.1 basemap=1.0.7 mpi4py plotly  Cython==0.20 
conda install PIL  
pip install ez_setup colorlover cmocean scikit-fuzzy pyevtk zmq git+

git clone 
cd gFlex/
python install
cd ..


Following the notebooks in order will guide you through understanding how the Badlands and Bayeslands models are built and executed. Hopefully you should be able to replace these example datasets with your own workflows.

Building input

These notebooks will help you to create surface grids for generic, real (based on etopo1) topographic/bathymetric datasets.

Running Badlands and Bayeslands

We provide a full examples that create a surface and then runs multiple simulations to estimate uncertainties in your parameter selections.

Additional theory on Bayseian methods.

Post-processing and other tools

Many post processing analysis steps can be done to produce various figures and interrogate different parts of the numerical model.

Additional notes

Badlands, Bayeslands, What?

Badlands is the code (originally written in Fortran) to model surface processes.

pyBadlands was an extension to Badlands that allowed for easy manipulation of model parameters, input files, execution, etc via the Python programming language.

Bayeslands uses pyBadlands and applies Bayesian inference to the Badlands models to essentially provide estimates of error. It runs 1000's of Badlands models with slightly different parameter choices, and compares the results against a 'known' solution to estimate an error. There are different versions of Bayeslands being developed that use different techniques (paralleltempering, surrogate assissted) to optimise accuracy and exploration efficiency in the models with different trade-offs.



Parallel Tempering Bayeslands


Jupyter Notebooks
Bayes, Probability, and Statistics

You can’t perform that action at this time.