Orogenic landscapes modelling

In this example, we simulate landscape evolution in response to two simple climatic scenarios:

  • uniform and
  • orographic precipitation.
orographic precipitation

We investigate the drainage network dynamics and the steady-state fluvial patterns that emerge from an application of these climatic forcing mechanisms.

The first part of the scenario starts from a flat topography subjected to a constant and uniform rate of tectonic rock uplift (>1 mm/a) and precipitation (1 m/a). The domain is rectangular and the four edges are kept at a constant base-level elevation. The area is a 40x80 km domain.

After 8 Ma, the second scenario is applied and consists in a linearly varying rainfall pattern corresponding to an orographic precipitation with the same uniform tectonic uplift rate. The Northern part of the domain is experiencing a 2 m/a precipitation rate and the Southern part is subject to a 0.1 m/a precipitation rate for the next 12 Ma.

Initial settings

For this model, we use the stream power law sediment transport model which scale the incision rate $E$ as a power function of surface water discharge $A$ and slope $S=\nabla z$:

$$ E = \kappa A^m (\nabla z)^n$$

where $\kappa$ is the erodibility coefficient dependent on lithology and mean precipitation rate, channel width, flood frequency, channel hydraulics.

The values given to these parameters ($\kappa$, $m$, $n$) need to be set in the XmL input file.

For this particular setting we do not need to record any deposition as the model is purely erosive. To speed up the model we turn off the deposition computation in Badlands by setting the dep element to 0 in the input file.

Starting pyBadlands

First we initialise the model and set the path to the XmL input file.

You can edit the XmL configuration file at /edit/volume/test/mountain/mountain.xml.

To view the complete XmL options you can follow this link to github page: complete.xml.

In [ ]:
from pyBadlands.model import Model as badlandsModel

# Initialise model
model = badlandsModel()
# Define the XmL input file
model.load_xml('mountain.xml')

Running pyBadlands

We can run the model for a given period. The end time in the XmL input file is set to 50M years but you might want to run the model for a coupled of iterations and check the output before running the model for the entire simulation time. This is done by putting the time in the run_to_time function.

Here we go for the full time directly... it should take less than 5 minutes on a single processor if you keep the initial setting unchanged.

In [ ]:
model.run_to_time(50000000)

Visualise in Paraview

For an in-depth visualisation of the model output it is recommended to install on your local machine a visualisation package such as Paraview or Visit.

Badlands outputs are created in the directory you've specified in your XmL input file. In cases where you have ran several instances of the same input you will end up with multiple directories with the same name followed with the simulation number.

The folder contains xdmf series files:

  • tin.series.xdmf which will display the time series of surface evolution.
  • flow.series.xdmf which will display the time series of drainage network evolution.

Elevation change

Time step 25 Time step 160
Step 25 Step 160
Time step 250 Time step 400
Step 250 Step 400

Drainage network

Time step 159 Time step 400
Step 159 Step 400

Using paraview you will be able to extract several of the information computed by badlands and there also in the Badlands companion container additional post-processing functions to look at:

  • morphometrics
  • hydrometrics

In the next notebooks we will use the Badlands companion python classes to look at some of the available post-processing functions.

In [ ]: