For flexural isostasy, Badlands uses the gFlex code. This package is designed to solve elastic plate flexure for applications to Earth's lithosphere. For an in-depth understanding of the functionalities of the package, you might want to look at:
Wickert, A. D.: Open-source modular solutions for flexural isostasy: gFlex v1.0, Geosci. Model Dev. Discuss., 8, 4245-4292, doi:10.5194/gmdd-8-4245-2015, 2015.
Badlands is designed to compute induced flexural isostasy using gFlex 2D finite difference solutions for both constant and arbitrarily varying lithospheric elastic thickness structures. For Badlands, these solutions follow the work of van Wees et al. (1994). In addition Badlands includes the range of implementable boundary conditions from gFlex.
Range of geological loads from Badlands model which can induced flexural isostasy response (adapted from A. Wickert, 2015).
In this example, we analyse the flexural isostasy response induced by sediment loading/unloading on a simple sine wave topography designed with 2 highs and a shallow depression in the middle which is under-water. We run 3 tests using a uniform precipitation rate and test the following 3 scenarios:
The initial grid has an approximate resolution of 1 km and consists of a 250 by 100 km area with an elevation ranging from -200 to 800 m. A constant sea-level is set to -120 m so that the central section of the model represents a shallow marine environment where eroded sediments are transported and deposited.
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$) are set in the XmL input file.
First we initialise the model and set the path to the XmL input file.
You can edit the XmL configuration file at /edit/volume/Examples/flexure/flexure.xml.
To view the complete XmL options you can follow this link to github page: complete.xml.
The XmL file is set to run the first scenario (i.e no flexural isostasy). To run the other 2, you will need to modify the XmL file by first uncommenting the flexure section and by using the elasticH parameter for the uniform elastic thickness scenario then the elasticGrid parameter for the variable elastic thickness scenario.
from pyBadlands.model import Model as badlandsModel # initialise model model = badlandsModel() # Define the XmL input file model.load_xml('flexure.xml')
We can run the model for a given period. The end time in the XmL input file is set to 1 Ma 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 depending of the applied scenario if you keep the other parameters unchanged.
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:
|Time step 25||Time step 50|