Giter VIP home page Giter VIP logo

detachment-limited-landscape-evolution-model's Introduction

Landscape Evolution Model (LEM)

  • This Python code implements an algorithm to implicitly and efficiently compute the erosion term for the detachment-limited landscape evolution model (LEM).
  • The numerical results using this algorithm have been tested for accuracy based on analytical predictions in the publication referred to below.
  • The resulting numerical scheme allows us to achieve accurate steady-state solutions in high erosion rates leading to heavily dissected landscapes.

Publication

The peer-reviewed research article can be found here: https://doi.org/10.1016/j.envsoft.2020.104804.

Installation

  • The code is presented as a jupyter notebook, which can be installed using pip as pip install notebook or using Conda conda install -c conda-forge notebook.
  • Required python libraries are numpy and scipy libraries, which can be installed using pip as pip install numpy and pip install scipy, respectively.
  • The presented algorithm is compatible with the landlab modeling environment in Python, which can be installed as pip install landlab or using Conda conda install landlab -c conda-forge.
  • The jupyter notebook also uses display module from the ipython library, which can be installed as pip install ipython or using Conda conda install -c anaconda ipython.
  • File Zinitial_500_100.npy in the repository is the elevation array used as the initial condition in the solver (the user can use other initial conditions as well).

Code structure

Each number in the list below explains the operations and functions of the particular Cell of the Jupyter Notebook.

  1. Import relevant packages from the above-mentioned libraries.
  2. Define the Python function for computing the erosion term implicitly using the D_infinity flow direction method and define the Python function that implicitly updates the diffusion term using the LGMRES algorithm.
  3. Initializing the coefficients, domain size, and model parameters to be used in the solver.
  4. Initializing the raster grid, boundary conditions, and the initial condition for the simulation run.
  5. While loop for the simulation run until the steady-state is reached.
  6. Save the elevation and drainage area arrays for plotting and further investigations.

Results

  • The "Results" folder in this GitHub directory contains all the steady-state solutions shown in the manuscript figures.
  • Numpy arrays with keywords acc and ele indicate the drainage area and elevation array, respectively, at the steady state.
  • Numpy arrays with keyword diff is the array of the list with
    • diff[0] - time-step.
    • diff[1] - maximum change in elevation at a node from the previous time step.
    • diff[2] - change in mean elevation from the previous time step.

Updates

The Python code has been updated to be compatible with the recent changes in the Landlab version.

Contact Us

For more information about this research, you can reach out to me: Shashank Kumar Anand.

Other Links

Well-commented Python code for solving the linear stability analysis problem regarding the first channel instability of the Landscape Evolution Model (LEM) by the same author is obtainable at ShashankAnand1996/LEM_Stability_Analysis. The peer-reviewed article has been published in JGR:Earth Surface and is available here: Inception of Regular Valley Spacing in Fluvial Landscapes: A Linear Stability Analysis.

detachment-limited-landscape-evolution-model's People

Contributors

shashankanand1996 avatar

Stargazers

 avatar Jack Fitzgerald avatar Kamila Zdybał avatar Sarth Dubey avatar Pengfei Wu avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.