Processes

Fastscape provides a few dozens of processes, i.e., Python classes decorated with xsimlab.process(), serving as building blocks for the creation of custom landscape evolution models.

Those processes are presented by thematic below. You can import any of them from the processes subpackage, e.g.,

from fastscape.processes import SurfaceTopography

Rather than building models from scratch, you might better want to pick one of the model presets presented in the Models section and customize it using xsimlab.Model.update_processes() or xsimlab.Model.drop_processes().

For more help on how to use these process classes to create new xsimlab.Model objects, see the Examples section or xarray-simlab’s documentation.

Main interfaces & drivers

Defined in fastscape/processes/main.py

These processes define (update them over time) the main interfaces used in landscape evolution models, such as the topographic surface, the bedrock level or several stratigraphic horizons.

Bedrock

Update the elevation of bedrock (i.e., land and/or submarine basement).

SurfaceTopography

Update the elevation of the (land and/or submarine) surface topography.

SurfaceToErode

Defines the topographic surface used for the computation of erosion processes.

StratigraphicHorizons

Generate a fixed number of stratigraphic horizons.

TerrainDerivatives

Compute, on demand, terrain derivatives such as slope or curvature.

TotalVerticalMotion

Sum up all vertical motions of bedrock and topographic surface, respectively.

UniformSedimentLayer

Uniform sediment (or regolith, or soil) layer.

Grid

Defined in fastscape/processes/grid.py

Processes that define the model grids used in Fastscape and their properties (shape, spacing, length, etc.).

UniformRectilinearGrid2D

Create a uniform rectilinear (static) 2-dimensional grid.

RasterGrid2D

Create a raster 2-dimensional grid.

Boundaries

Defined in fastscape/processes/boundary.py

Processes that can be used for setting the boundary conditions.

BorderBoundary

Sets boundary conditions at grid borders.

Initial conditions

Defined in fastscape/processes/initial.py

Processes that mostly serve as common “presets” for various initial conditions (e.g., initial topography, erosion pre-history, initial sediment cover).

BareRockSurface

Initialize topographic surface as a bare rock surface.

Escarpment

Initialize surface topography as an escarpment separating two nearly flat surfaces.

FlatSurface

Initialize surface topography as a flat surface at sea-level with random perturbations (white noise).

NoErosionHistory

Initialize erosion to zero (no erosion history).

Tectonics

Defined in fastscape/processes/tectonics.py

All processes (generic or specific) about tectonic forcing.

BlockUplift

Vertical tectonic block uplift.

HorizontalAdvection

Horizontal rock advection imposed by a velocity field.

SurfaceAfterTectonics

Used for the computation erosion processes after applying tectonic forcing.

TectonicForcing

Sum up all tectonic forcing processes and their effect on the vertical motion of the bedrock surface and the topographic surface, respectively.

TwoBlocksUplift

Set two blocks separated by a clip plane, with different uplift rates.

Flow routing

Defined in fastscape/processes/flow.py

Processes that route flow on the topographic surface.

FlowRouter

Base process class to route flow on the topographic surface.

SingleFlowRouter

Single direction (convergent) flow router.

MultipleFlowRouter

Multiple direction (convergent/divergent) flow router with uniform slope exponent.

FlowAccumulator

Accumulate the flow from upstream to downstream.

DrainageArea

Upstream contributing area.

Erosion / deposition

Defined in fastscape/processes/erosion.py

General erosion (or deposition) processes.

TotalErosion

Sum up all erosion processes.

Channel processes

Defined in fastscape/processes/channel.py

River channel erosion, transport and/or deposition processes.

ChannelErosion

Base class for continental channel erosion and/or deposition.

DifferentialStreamPowerChannel

Stream-Power channel (differential) erosion.

DifferentialStreamPowerChannelTD

Extended stream power channel (differential) erosion, transport and deposition.

StreamPowerChannel

Stream-Power channel erosion.

StreamPowerChannelTD

Extended stream power channel erosion, transport and deposition.

Hillslope processes

Defined in fastscape/processes/hillslope.py

Hillslope erosion, transport and/or deposition processes.

LinearDiffusion

Hillslope erosion by diffusion.

DifferentialLinearDiffusion

Hillslope differential erosion by diffusion.

Marine processes

Defined in fastscape/processes/marine.py

Generic or specialized processes used to model (sediment or other) dynamics in submarine environments.

MarineSedimentTransport

Marine sediment transport, deposition and compaction.

Sea

Sea level.

Isostasy

Defined in fastscape/processes/isostasy.py

Processes for modeling the local or flexural isostatic effect of erosion and/or other driving processes (tectonics).

BaseIsostasy

Base class for isostasy.

BaseLocalIsostasy

Base class for local isostasy.

Flexure

Flexural isostatic effect of both erosion and tectonic forcing.

LocalIsostasyErosion

Local isostasic effect of erosion.

LocalIsostasyErosionTectonics

Local isostatic effect of both erosion and tectonic forcing.

LocalIsostasyTectonics

Local isostasic effect of tectonic forcing.