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 desiged 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). Note that on PyPI, the --pre flag is necessary while Landlab v2.0 is in beta release.

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 reference refers 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.

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

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

landlab-2.0.0b5-cp38-cp38-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

landlab-2.0.0b5-cp38-cp38-manylinux1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8

landlab-2.0.0b5-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

landlab-2.0.0b5-cp37-cp37m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

landlab-2.0.0b5-cp37-cp37m-manylinux1_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7m

landlab-2.0.0b5-cp37-cp37m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

landlab-2.0.0b5-cp36-cp36m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.6m Windows x86-64

landlab-2.0.0b5-cp36-cp36m-manylinux1_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.6m

landlab-2.0.0b5-cp36-cp36m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file landlab-2.0.0b5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.0

File hashes

Hashes for landlab-2.0.0b5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 573857082aa524527d50dae1167fd2043bbd93f54713685fa3406980f4f804a9
MD5 ea8df7d9e257a3a059d8fb257a2a12b0
BLAKE2b-256 fa5aabf48dec674ddb5aa17928d080a202e64fd9f349005bc4ab361232c6a847

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c6f36c0a54076bd82e0f42023692ad80b235bba289672a9d58010832a80392c9
MD5 d124fdd3ea3b9bcb944fbf3dea1d015d
BLAKE2b-256 96064c4c782136679c5c685eafff087d71feee8b3795c57749a4fa197d8afef0

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

File hashes

Hashes for landlab-2.0.0b5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7c0822dc7a04953801fbd0e03c97fc9697b7cbe81faaec066013375d855b228f
MD5 f58c79804678cb544637e36034c3c08f
BLAKE2b-256 fa43d33a7ddc2c6abc9fc0bb5ab8840bdc1d2a5b4d63429b274595f1d5a3b397

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

File hashes

Hashes for landlab-2.0.0b5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 4e384253791d117f0e845d1f84de5313cec257e2bec37096b993f427b3cd7f88
MD5 ed22817286012d106948431b307302ff
BLAKE2b-256 e94ecf2d0471da250e1c69b8c7c66ee1899266be20037078b26f09bef79f71db

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7b14759846c94b19224655bf4630e82c420eada9f6a4b0f1fa3c28eb80fa29fa
MD5 2ca102421146c8d4ae45240697811095
BLAKE2b-256 28d64cb4a504d6edbd89c32b698d54e12d194fd586427251608ea46e4471c958

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7529bfa67594f4c90ce8208dd434bf96ab86a1906eded894c5ceef6ee22fc4df
MD5 db934c0938efbbe267f91ff2b8dc7b32
BLAKE2b-256 de9c120d0f828e9132c7ceb2e3fcaf4531b0e24712dc7682f2cb7f74498ff7a9

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.8

File hashes

Hashes for landlab-2.0.0b5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fd8852b11a2d610fe2086c2c977353b910afdd901d41c81e1abc0ecd03081c45
MD5 06d5674374ccc3314f829bbaad6d3b5f
BLAKE2b-256 ecb71611b5c8b05707901aee0d0a5a6be3f5a8d314a18d6afb60c7ca1efa761c

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 11d146f72ac05e959231bc91da3c50d5a7eb0b8bc5a642d0d20cfafac4f0f6de
MD5 41bf619410f8270b84e03421c54fb43a
BLAKE2b-256 67d45c49f9da4c337b9875bc184cae0983490c94d91f3c6a42e62493afc59a43

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b5-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b5-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.10

File hashes

Hashes for landlab-2.0.0b5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1abd97593ac640e41b23040bf13d08ac32eefd636e8ef8ab0c4f03a31fd48675
MD5 984e006b3efcfe3fd2675148745c582e
BLAKE2b-256 bbb01cbac2ceb06008aa5a6b9cf59f2066cbc296ccb8f78c50c512c25510dd1e

See more details on using hashes here.

Supported by

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