Badlands companion

Part of the badlands (Basin & landscape dynamics) suite

The University of Sydney

The companion contains a series of IPython notebooks to perform post and pre-processing tasks useful to run and analyse Badlands model.

Online ressources

Github repositories

Docker containers

Installation

The easiest way to install and run Badlands code and this Companion is by loading the associated Docker containers using Kitematic. Once Kitematic is installed on your computer, open it and look for badlands-companion and badlands-notebook via the search menu.

What is this ?

This is an example of the iPython / Jupyter notebook system. They are a form of literate programming in which we can mix textbook instruction and explanations with code (in this case, python) that can also be run and edited. The text and mathematics in the notebooks requires a little preliminary learning.

Note: The docker containers will not save your information when you will refresh the notebooks. So the content that you will create is ephemeral: it will disappear with the container if you do not capture the output by mounting the volume or copying the data to your local machine. Therefore it is better to attach a volume to the docker image. You can do that using the Kitematic interface and selecting a folder where you will store your own notebooks as well as your Badlands input and output files.

The docker containers system settings are configurable in the VirtualBox which is running in the background of each docker image. For example, you can change the Base Memory and the Number of Processors associated to the vm.

Structure of the companion

Each post and pre-processing notebook is associated with a Python file. We have chosen this structure to give you the transparency and opportunity to:

  • clearly understand the creation and format of Badlands input file,
  • perform some basic quantitative analyses of Badlands output file,
  • easily design your own notebook and further improve this workflow.

To have a look at the complete repository with the IPython & Python files you can simply click the following link:

  • Browse tree-view of the jupyter filesystem, create and edit notebooks

If you have any suggestions or if you would like to share your own Badlands template with others, feel free to contact us, we will be happy to integrate your own workflow here.

email us

Pre-processing

The pre-processing notebooks will help you to create:

  • surface grids for generic (simple geometrical model) and real (based on etopo1) topographic/bathymetric dataset:
  • sea level fluctuations file (using Haq curve or buiding your own curve) to look at the impact of sea-level change on landscape dynamics:
  • horizontal (uplift/subsidence) displacement maps to study landscape response to tectonic forces:
  • regridding input file to increase model resolution:

Post-processing

Morpho & Hydrometrics analyses

  • Morphometrics refers to quantitative description and analysis of the produced Badlands landforms which could be applied to a particular kind of landform or to drainage basins and large regions. The following suite of geomorphic attributes could be extracted:

    • gradient: magnitude of maximum gradient
    • horizontal curvature describes convergent or divergent fluxes
    • vertical curvature: positive values describe convex profile curvature, negative values concave profile.
    • aspect: direction of maximum gradient
    • discharge: it relates to the drainage area
  • Hydrometrics refers to quantitative description and analysis of water surface. We will show how you can extract a particular catchment from a given model and compute for this particular catchment a series of paramters such as:

    • river profile evolution based on main stream elevation and distance to outlet,
    • peclet number distribution which evaluates the dominant processes shaping the landscape,
    • $\chi$ parameter that characterizes rivers system evolution based on terrain steepness and the arrangement of tributaries,
    • discharge profiles

Stratigraphic analyses

TODO

Jupyter in a nutshell

Markdown

You can document your iPython notebooks by making some cells into Markdown cells. Markdown is a way of formatting text that is supposed to be almost as readable un-rendered as when it is tidied up. You might argue that it looks equally bad either way, but that's tough because the notebooks use it and that's how I want you to produce nice looking output to hand in as an assignment !

If you look at the Markdown cells as source code (by double-clicking on them) you will see how the raw text looks. To get back to the pretty version of the text, hit shift-enter.

Maths

In a browser, you can render equations using a javascript tool called Mathjax which is build into the iPython notebooks.

You can build in symbols to your text such as $\pi$ and $\epsilon$ if you use the \$ signs to indicate where your equations begin and end, and you know enough $\LaTeX$ try it here ! to get by.

Equations in display mode are written like this (again look at the source for this cell to see what is used)

$$ e^{i\pi} + 1 = 0 $$

or even like this

\begin{equation} %% \nabla^4 \psi = \frac{\partial T}{\partial x} %% \end{equation}

Go back to the rendered form of the cell by 'running' it.

Markdown Website
Mathjax Website
Jupyter Notebooks


In [ ]: