Skip to main content

Plugin-based component modeling tool.

Project description

https://zenodo.org/badge/DOI/10.5281/zenodo.154179.svg https://readthedocs.org/projects/landlab/badge/?version=latest https://travis-ci.org/landlab/landlab.svg?branch=master https://coveralls.io/repos/landlab/landlab/badge.png https://ci.appveyor.com/api/projects/status/6u0bj0pggxrmf7s1/branch/master?svg=true https://landscape.io/github/landlab/landlab/master/landscape.svg https://mybinder.org/badge_logo.svg

Landlab

What does Landlab do?

Landlab is an open-source Python-language package for numerical modeling of Earth surface dynamics. It contains

  • A gridding engine which represents the model domain. Regular and irregular grids are supported.

  • A library of process components, each of which represents a physical process (e.g., generation of rain, erosion by flowing water). These components have a common interface and can be combined based on a user’s needs.

  • Utilities that support general numerical methods, file input/output, and visualization.

In addition Landlab contains a set of Jupyter notebook tutorials providing an introduction to core concepts and examples of use.

Landlab was designed for disciplines that quantify Earth surface dynamics such as geomorphology, hydrology, glaciology, and stratigraphy. It can also be used in related fields. Scientists who use this type of model often build their own unique model from the ground up, re-coding the basic building blocks of their landscape model rather than taking advantage of codes that have already been written. Landlab saves practitioners from the need for this kind of re-invention by providing standardized components that they can re-use.

Watch the webinar Landlab Toolkit Overview at CSDMS to learn more.

How do I install Landlab?

First you’ll need a Python distribution and either the conda or pip package manager. If you don’t know what you want, we recommend the Anaconda Python distribution.

Two main installation options exist for Landlab. Most people will likely want to install a prepackaged binary. We distribute through both conda-forge and pip.

Landlab 2.0

In late December 2019 Landlab switched to version 2.0-beta. Landlab will be in 2.0-beta until the Landlab 2.0 publication is finalized. Landlab dropped support of Python 2.7 with this transition.

Supported Python Versions

Landlab supports Python versions >= 3.6. Landlab distributes pre-packaged binaries through conda-forge and PyPI for versions 3.6 and 3.7 (3.8 coming soon).

Conda Environment with Pre-packaged Binary Distribution

To create a conda environment that installs a pre-packaged binary and all the dependencies necessary to run the notebooks, clone the repository, navigate to within the top level directory and use the following command:

$ conda env create --file=environment.yml

Then activate the environment and open the welcome notebook execute the following:

$ conda activate landlab_notebooks
$ jupyter notebook notebooks/welcome.ipynb

Developer Installation

Individuals interested in modifying the Landlab source code should follow the developer installation instructions which describe cloning the source code, creating a conda environment for development, compiling, and testing the code.

In short, clone the repository, navigate to the top level directory, and the following commands:

$ conda env create --file=environment-dev.yml
$ conda activate landlab_dev
$ python setup.py develop

How do I verify I’ve installed Landlab correctly?

Landlab uses pytest to discover and run tests. These include docstring tests located within the core source code (landlab\landlab directory) and unit tests located within the landlab\tests directory. Presuming you have used a source code installation with the above conda environment, you will be able to test your install with

$ pytest

from within the landlab_dev conda environment. Additional instructions, including how the unit tests directory is structured can be found under the testing section of the landlab documentation.

What are Landlab’s dependencies?

The core package dependencies are specified by requirements.txt and used by setup.py. There are some additional dependencies that exist for running the notebooks or modifying the source code and testing.

Details of how we structure our dependencies can be found under the dependencies section of the landlab documentation.

How do I learn more about Landlab?

Our documentation is hosted on ReadTheDocs at https://landlab.readthedocs.io/. This includes a User Guide and API reference.

The following paper describes the design of Landlab.

Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E. and Tucker, G. E., 2017, Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics, Earth Surface Dynamics, 5, p 21-46, 10.5194/esurf-5-21-2017.

Are there any examples of using Landlab I can look at?

The Landlab package contains a directory at landlab/notebooks which contains Jupyter notebooks describe core concepts and give examples of using components. The file landlab/notebooks/welcome.ipynb provides a table of contents to the notebooks and is the recommended starting place. To launch an instance of Binder and explore the notebooks click here.

In addition there are a set of notebooks curated to teach physical processes located in the directory landlab/notebooks/teaching.

To launch an Binder instance that goes straight to these teaching notebooks click here.

What License does Landlab use?

MIT (see the file LICENSE.txt)

I used Landlab and want to cite it. How do I do this correctly?

The following references refer to the entire Landlab package.

Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E. and Tucker, G. E., 2017, Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics, Earth Surface Dynamics, 5, p 21-46, 10.5194/esurf-5-21-2017.

Barnhart, K. R., Hutton, E. W. H., Tucker, G. E., Gasparini, N. M., Istanbulluoglu, E., Hobley, D. E. J., Lyons, N. J., Mouchene, M., Nudurupati, S. S., Adams, J. M., and Bandaragoda, C.: Short communication: Landlab v2.0: A software package for Earth surface dynamics, Earth Surf. Dynam. Discuss., https://doi.org/10.5194/esurf-2020-12, in review, 2020.

BibTeX format:

@article{Hobley2017,
         Author = {Hobley, D. E. J. and Adams, J. M. and
                   Nudurupati, S. S. and Hutton, E. W. H.
                   and Gasparini, N. M. and Istanbulluoglu,
                   E. and Tucker, G. E.},
         Journal = {Earth Surface Dynamics},
         Year = {2017},
         Title = {Creative computing with Landlab: an open-source
                  toolkit for building, coupling, and exploring
                  two-dimensional numerical models of
                  Earth-surface dynamics},
         Number = {5},
         Pages = {21-46},
         Doi = {10.5194/esurf-5-21-2017}}

@article{barnhart2020short,
         Author = {Barnhart, K. R. and Hutton, E. W. H. and
                   Tucker, G. E. and Gasparini, N. M. and
                   Istanbulluoglu, E. and Hobley, D. E. J. and
                   Lyons, N. J. and Mouchene, M. and Nudurupati,
                   S. S. and Adams, J. M. and Bandaragoda, C.},
         Title = {Short communication: Landlab v2.0: A software
                  package for Earth surface dynamics},
         Journal = {Earth Surface Dynamics Discussions},
         Volume = {2020},
         Year = {2020},
         Pages = {1--25},
         Url = {https://www.earth-surf-dynam-discuss.net/esurf-2020-12/},
         Doi = {10.5194/esurf-2020-12}
         }

In addition, depending on what parts of Landlab you use, you may need to cite component-specific. Refer to the References section of each component and this page which discusses the Landlab Citation Registry tool.

I think I found a bug. What should I do?

Please make an Issue describing the bug so we can address it, or work with you to address it. Please try to provide a minimal, reproducible example.

I found something in the documentation that isn’t clear. What should I do?

Please make an Issue describing the what isn’t clear to you. Someone will tag the most appropriate member of the core Landlab team. We will work to clarify your question and revise the documentation so that it is clear for the next user.

I’m interested in contributing to Landlab. Where do I get started?

Thank you for your interest! Refer to CONTRIBUTING.md and this page in the documentation that describes contribution guidelines.

How is the Landlab package structured?

The following page in the documentation describes the package structure.

How was Landlab funded?

Landlab is funded by the US National Science Foundation. It has been supported by the following grants:

  • A Collaborative NSF SI2-SSE proposal to University of Colorado (Greg Tucker, 1147454), and the University of Washington (Erkan Istanbulluoglu, 1148305)

  • A Collaborative NSF SI2-SSI proposal to University of Colorado (Greg Tucker and Dan Hobley, 1450409), Tulane University (Nicole Gasparini, 1450338), and the University of Washington (Erkan Istanbulluoglu, 1450412).

  • A NSF EAR Postdoctoral Fellowship to Katy Barnhart (1725774).

Who made Landlab?

The core development team is currently composed of:

  • Greg Tucker (CU)

  • Nicole Gasparini (Tulane)

  • Erkan Istanbulluoglu (UW)

  • Daniel Hobley (Cardiff)

  • Sai S. Nudurupati (UW)

  • Jordan Adams (Tulane)

  • Eric Hutton (CU)

  • Jenny Knuth (CU)

  • Katy Barnhart (CU)

  • Margaux Mouchene (CU)

  • Christina Bandaragoda (UW)

  • Nathan Lyons (Tulane)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

landlab-2.1.0-cp38-cp38-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.8Windows x86-64

landlab-2.1.0-cp38-cp38-manylinux1_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.8

landlab-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

landlab-2.1.0-cp37-cp37m-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

landlab-2.1.0-cp37-cp37m-manylinux1_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.7m

landlab-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

landlab-2.1.0-cp36-cp36m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

landlab-2.1.0-cp36-cp36m-manylinux1_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.6m

landlab-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

Details for the file landlab-2.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for landlab-2.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 919fb8746df2484af2cbc926e612d041f018bb1396db5b18e7cae5330590820f
MD5 9c976cddb44f5c934055fe7779ae5b96
BLAKE2b-256 f01320ebbeba1ecff11486800b690bba49aeee0de352b6093ee9fa10806e0b15

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0.post20200511 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for landlab-2.1.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bab9c6863492d18fdac5f3aaafbd355a907e9b2f9f1bd04e04c412d51ff14f39
MD5 08b957d4e2aa9c6bd87fdb2556fa0aec
BLAKE2b-256 1319a2118c39beeb73e3a3f20eb05de1d20a3b0bfe3b4e85df77d17c37aaa57e

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0.post20200511 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for landlab-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c30fd6aceeda84355826948d684e92866d80964631285d7fc876252868a474dc
MD5 e4c86b2018b81591445fccc0649dfc0b
BLAKE2b-256 088c717d0cf15406c2db6d6e05a469610ccf86ad72625cd3010e632b98870386

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for landlab-2.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 689f206ced40211079da2af69ad4ac201b720fb23a09211715ff23f0561bb0b1
MD5 b0fe2d60684db6558ac312b149ec86f5
BLAKE2b-256 fe6117e32cda40eb452f995e4853d5fdb7588851c88439c6a8f2765f677a94c5

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0.post20200511 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for landlab-2.1.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 35549fe52f16c781195edee3e8d58ddfd95e6de7a1bd64a9b56f9dd3b8918e83
MD5 5b58bbb3214022aae62fcbbd4fd9acc2
BLAKE2b-256 6aa72571976c33019eb96e5d52d768c562a9622fce2e21f39b63ce6a077bd73b

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for landlab-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91d5020f951d1184d2e0742589d1ceaaf625a350c25e8809ee71ebb145d2f43d
MD5 de442e04fc4bc27e60fb6e868746f3a3
BLAKE2b-256 fa56078096d1071e88913cefcb677843f41f000ee0d99c01a7412ba85010070a

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for landlab-2.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 048e2ae4441b1af75308ae7ebc7095f6885d4c607fc4d96d822b79731ab8beca
MD5 602f6e41eba2dbb6f7846d313a929df1
BLAKE2b-256 f0848c589e63a5c4e484433c03abf89ccf5c2525dc244cccd56a5ce8e30cd22c

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0.post20200511 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for landlab-2.1.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e84d6c1b40cf58be1b5c8816c32cda490b4d5c86874a2985c5d6245fa64142b5
MD5 ab0f845ec3a6b197c2497ad3b25297cd
BLAKE2b-256 4c1eff4618a14f0913a12a14dce6b1eefc7a49b6eaf581fb9478707259d66b34

See more details on using hashes here.

File details

Details for the file landlab-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for landlab-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b51f28e31c22bf93a52088877b2cfe1ee11692e15902bd48bff3f7748766ce2e
MD5 4f640727391d4a77aab79f0a774cc764
BLAKE2b-256 51472475517403d92938b66954ea8c2f7ec088b5dfbb04ea6c8030c1ce5552ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page