flem

A simple diffusive landscape evolution model


Keywords
flem
License
MIT
Install
pip install flem==0.1.1

Documentation

flem

Documentation Status

https://github.com/johnjarmitage/io-page/blob/master/static/images/flem.gif

A simple diffusive landscape evolution model

Installation

  • flem requires Python 3.7
  • flem requires fenics, gdal, and a bit more. Fenics is best installed using conda. Therefore before installing first get yourself Anaconda (the 3.7 version) or if you prefer it light, miniconda.
  • create a directory of your choice and create an environment.yml file containing the following:
name: flem
channels:
  - conda-forge
  - defaults
dependencies:
  # flem requires
  # need to be specific for mshr and fenics
  - fenics=2019.1.0=py37_1
  - mshr=2019.1.0=py37h7596e34_1000
  - gdal
  - peakutils
  - matplotlib
  - scipy
  - pip
  - pip:
    # flem requires
    - flem
    - elevation
prefix: /srv/conda
  • from the terminal run: conda env create -f environment.yml
  • check out this notebook for how to run flem.
  • or see run_models.py for a more clunky example.

What is flem?

This is a set of functions written in python to solve for sediment transport. At the base it solves the concentrative-diffusive equations described by Smith & Bretherton (1972) [1]. These are solved using a simple finite element scheme using the fenics library. Surface run-off is routed either from model node-to-node or cell-to-cell (see Armitage, 2019) [2].

The model can be started either with a initial condition of a uniform elevation with some noise added, or a SRTM 30m DEM defined by west, south, east, north coordinates.

[1] - https://doi.org/10.1029/WR008i006p01506

[2] - https://doi.org/10.5194/esurf-7-67-2019

List of things to do:

  1. Add the choice to change precipitation rates
  2. Add the choice for boundary conditions