Skip to content
No description, website, or topics provided.
Jupyter Notebook Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Initial skeleton May 21, 2019
executable_article updated SFD ctc model runs Sep 8, 2019
flem bug fix in so that the wavelength is output for all swa… Sep 3, 2019
tests added a python script to run models and progressed on the executable … Aug 12, 2019
.editorconfig added environment.yml for installation and repo2docker Jun 25, 2019
.gitignore Initial skeleton May 21, 2019
.readthedocs.yml test if I can use autodoc_mock_imports for all conda activate flem co… Jun 5, 2019
.travis.yml removed apt-get as might not be needed Aug 28, 2019
AUTHORS.rst Initial skeleton May 21, 2019
CONTRIBUTING.rst remove tox from the setup May 22, 2019
HISTORY.rst Initial skeleton May 21, 2019
LICENSE Initial skeleton May 21, 2019 Initial skeleton May 21, 2019
Makefile remove tox from the setup May 22, 2019
README.rst added binder icon for the executable article Sep 9, 2019
apt.txt added xvfb to the apt-get for the repo2docker image Aug 28, 2019
environment.yml Update environment.yml Sep 3, 2019
requirements.txt minor adjustments prior to push to pip Sep 3, 2019
requirements_conda.txt minor adjustments prior to push to pip Sep 3, 2019
requirements_dev.txt minor adjustments prior to push to pip Sep 3, 2019 bug fix for valley wavelengths? Sep 3, 2019
setup.cfg version 0.1.1 ... I guess Sep 3, 2019
start added start for the sake of repo2docker Aug 28, 2019



Documentation Status

A simple diffusive landscape evolution model


  • 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
  - conda-forge
  - defaults
  # 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.
  • click the icon below for an executable article!

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] -

[2] -

List of things to do:

  1. Add the choice to change precipitation rates
  2. Add the choice for boundary conditions
You can’t perform that action at this time.