Software tools for landscape evolution modeling
Fastscape is a set of open-source software components aimed at making landscape evolution models and topographic analysis algorithms readily accessible to a wide range of users, from experts in landscape evolution modelling to scientists, researchers and teachers in the broader Earth science community.
Fastscape is a flexible and modular landscape evolution model that is highly connected to the Python scientific ecosystem, thanks to the Xarray-simlab modeling framework (see below).
It provides +30 components that can be combined together in order to create custom models. Users can also plug in their own components.
Its high-level, user-friendly interface enables interactive landscape evolution modeling, e.g., within Jupyter notebooks.Try it online! Documentation Source repository
Fastscapelib-Fortran implements efficient algorithms for landscape evolution modeling.
It provides a basic Fortran interface with model setup, runtime and I/O routines that can be used in standalone programs or for coupling landscape evolution models with other Fortran codes (e.g., tectonic or climate models).
It may also be built as a Python extension with a NumPy-compatible, low-level API. It is currently used as a core backend library in "Fastscape".Documentation Source repository
Fastscapelib (C++) is the successor of Fastscapelib-Fortran.
It aims to provide a very flexible, yet optimized system for implementing various core algorithms (e.g., flow routing and enforcement, solvers for erosion processes) on multiple grids.
It exposes a C++ API that is compatible with the Xtensor library (i.e., a multi-dimensional array library heavily inspired by NumPy). Thanks to Xtensor, it also exposes a Python/NumPy API and may have language bindings for R and Julia.Documentation Source repository
Xarray-simlab is a modeling framework used by "Fastscape" to build, setup and run custom models.
It is a generic framework that can be used to build models in a wide range of domains.Documentation Source repository