Landlab
An open source Python package for numerical modeling of Earth surface dynamics.
https://github.com/landlab/landlab
Category: Natural Resources
Sub Category: Soil and Land
Keywords from Contributors
geoscience particles archiving observation transformer measurements numerical-modeling projections climate-model mesh
Last synced: about 16 hours ago
JSON representation
Repository metadata
Landlab codebase, wiki, and tests
- Host: GitHub
- URL: https://github.com/landlab/landlab
- Owner: landlab
- License: mit
- Created: 2014-05-09T04:52:50.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T19:10:29.000Z (5 days ago)
- Last Synced: 2025-04-21T19:34:11.650Z (5 days ago)
- Language: Python
- Homepage: https://landlab.readthedocs.io/
- Size: 278 MB
- Stars: 380
- Watchers: 29
- Forks: 346
- Open Issues: 415
- Releases: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Citation: CITATION.cff
- Authors: AUTHORS.md
README.md
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.
Read the documentation on ReadTheDocs!
Installation
To install the latest release of landlab using pip, simply run the following
in your terminal of choice:
$ pip install landlab
For a full description of how to install Landlab, including using mamba/conda,
please see the documentation for our installation instructions.
Source code
If you would like to modify or contribute code to Landlab or use the very latest
development version, please see the documentation that describes how to
install landlab from source.
Are there any examples of using Landlab I can look at?
The Landlab package contains a directory, landlab/notebooks
, with
Jupyter Notebooks describing core concepts and giving examples of using components.
The file landlab/notebooks/welcome.ipynb
provides a table of contents to
the notebooks and is the recommended starting place.
Additionally, there are a set of notebooks curated to teach physical processes
located in the directory landlab/notebooks/teaching
.
Run on Binder
To launch an instance of
Binder and explore the notebooks click here.
To launch a Binder instance that goes straight to the teaching notebooks click here.
Run on EarthscapeHub
The Landlab notebooks can also be run on EarthscapeHub.
Visit this link to learn how to sign up for a free account.
Explore the example notebooks on the
lab or jupyter Hub instance.
Or, use the teaching notebooks on the
lab or jupyter Hub instance.
Be sure to run all notebooks with the CSDMS kernel.
License
landlab is licensed under the MIT License.
Citing Landlab
If you use any portion of Landlab, please see the documentation for our
citation guidelines.
Contact
The recommended way to contact the Landlab team is with a
GitHub Issue.
- Bug reports: 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. - Documentation: If something in our documentation is not clear to you, please make an
issue describing the what isn't clear. 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.
Keep in touch with the latest landlab news by following us on Twitter.
During workshops and clinics, we sometimes use the
Landlab Slack channel.
Citation (CITATION.cff)
# YAML 1.2 --- cff-version: "1.2.0" message: "If you use this software, please cite it using these metadata." abstract : "Landlab is an open-source Python-language package for numerical modeling of Earth surface dynamics." type: software authors: - family-names: Hutton given-names: Eric orcid: "https://orcid.org/0000-0002-5864-6459" - family-names: Barnhart given-names: Katy orcid: "https://orcid.org/0000-0001-5682-455X" - family-names: Hobley given-names: Dan orcid: "https://orcid.org/0000-0003-2371-0534" - family-names: Tucker given-names: Greg orcid: "https://orcid.org/0000-0003-0364-5800" - family-names: Nudurupati given-names: Sai orcid: "https://orcid.org/0000-0002-2090-7561" - family-names: Adams given-names: Jordan orcid: "https://orcid.org/0000-0003-0137-9879" - family-names: Gasparini given-names: Nicole orcid: "https://orcid.org/0000-0002-0803-3697" - family-names: Shobe given-names: Charlie orcid: "https://orcid.org/0000-0003-3015-1283" - family-names: Strauch given-names: Ronda orcid: "https://orcid.org/0000-0003-3093-8449" - family-names: Knuth given-names: Jenny orcid: "https://orcid.org/0000-0001-7066-7992" - family-names: Mouchene given-names: Margaux orcid: "https://orcid.org/0000-0002-8243-3517" - family-names: Lyons given-names: Nathan orcid: "https://orcid.org/0000-0001-6965-3374" - family-names: Litwin given-names: David orcid: "https://orcid.org/0000-0002-8097-4029" - family-names: Glade given-names: Rachel orcid: "https://orcid.org/0000-0002-0345-1953" - name: Giuseppecipolla95 - family-names: Manaster given-names: Amanda - family-names: Abby given-names: Langston - family-names: Thyng given-names: Kristen orcid: "https://orcid.org/0000-0002-8746-614X" - family-names: Rengers given-names: Francis orcid: "https://orcid.org/0000-0002-1825-0943" title: "landlab" identifiers: - type: doi value: 10.5194/esurf-8-379-2020 description: >- "Short communication: Landlab v2.0: A software package for Earth surface dynamics". Earth Surface Dynamics Discussions, May 2020, Volume 8, Issue 2 - type: doi value: 10.5194/esurf-5-21-2017 description: >- "Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics". Earth Surface Dynamics, January 2017, Volume 5, Issue 1 - type: doi value: 10.5281/zenodo.3776837 description: The versioned DOI for the version 2.0.1 of landlab. - type: doi value: 10.5281/zenodo.595872 description: The concept DOI for the collection containing all versions of landlab. repository-code: "https://github.com/landlab/landlab" url: "https://landlab.csdms.io" date-released: "2020-04-29" keywords: - "bmi" - "component modeling" - "earth science" - "gridding engine" - "model coupling" - "numerical modeling" license: MIT doi: 10.5281/zenodo.595872 ...
Owner metadata
- Name: Landlab
- Login: landlab
- Email:
- Kind: organization
- Description: a python toolkit for for modeling earth surface processes
- Website: http://landlab.github.io
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/7543483?v=4
- Repositories: 24
- Last ynced at: 2023-10-09T09:44:09.216Z
- Profile URL: https://github.com/landlab
GitHub Events
Total
- Create event: 113
- Issues event: 21
- Watch event: 25
- Delete event: 109
- Member event: 2
- Issue comment event: 200
- Push event: 323
- Pull request review event: 60
- Pull request review comment event: 53
- Pull request event: 233
- Fork event: 11
Last Year
- Create event: 113
- Issues event: 21
- Watch event: 25
- Delete event: 109
- Member event: 2
- Issue comment event: 200
- Push event: 323
- Pull request review event: 60
- Pull request review comment event: 53
- Pull request event: 233
- Fork event: 11
Committers metadata
Last synced: 6 days ago
Total Commits: 9,025
Total Committers: 40
Avg Commits per committer: 225.625
Development Distribution Score (DDS): 0.535
Commits in past year: 988
Committers in past year: 12
Avg Commits per committer in past year: 82.333
Development Distribution Score (DDS) in past year: 0.306
Name | Commits | |
---|---|---|
Eric Hutton | m****n@g****m | 4201 |
Katy Barnhart | k****t@u****v | 1126 |
Dan Hobley | d****y@g****m | 1025 |
Greg Tucker | g****r@c****u | 889 |
dependabot[bot] | 4****] | 325 |
Jordan Adams | j****5@t****u | 262 |
Sai Nudurupati | s****u@u****u | 257 |
Nicole M Gasparini | n****r@g****m | 228 |
Laurent Roberge | l****e@t****u | 94 |
pre-commit-ci[bot] | 6****] | 82 |
Charlie Shobe | c****e@e****u | 69 |
David Litwin | d****n@p****t | 62 |
Ronda Strauch | r****h@u****u | 49 |
Benjamin Campforts | b****s@g****m | 44 |
Jenny Knuth | i****o@g****m | 44 |
Sebastien Lenard | s****d@g****m | 43 |
Margaux Mouchene | m****e@l****t | 40 |
Berkan M | 4****5 | 28 |
Nathan Lyons | n****s@g****m | 27 |
Amanda Alvis | a****e@u****u | 20 |
Jeffrey Keck | k****e@g****m | 18 |
Allison Pfeiffer | p****f@u****u | 17 |
angelmons | a****e@u****u | 14 |
Rachel Glade | r****e@g****m | 12 |
Dylan Ward | d****d@u****u | 11 |
Giuseppecipolla95 | 3****5 | 11 |
Annie Thompson | a****n@g****m | 7 |
Mark Piper | m****r@c****u | 6 |
Shelby Ahrendt | 3****t | 2 |
Jay Hariharan | j****n@u****u | 2 |
and 10 more... |
Committer domains:
- uw.edu: 4
- tulane.edu: 2
- colorado.edu: 2
- ksu.edu: 1
- att.net: 1
- utexas.edu: 1
- uc.edu: 1
- uidaho.edu: 1
- laposte.net: 1
- posteo.net: 1
- email.wm.edu: 1
- usgs.gov: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 806
Total pull requests: 1,405
Average time to close issues: 3 months
Average time to close pull requests: 25 days
Total issue authors: 136
Total pull request authors: 64
Average comments per issue: 2.92
Average comments per pull request: 3.03
Merged pull request: 1,113
Bot issues: 0
Bot pull requests: 348
Past year issues: 43
Past year pull requests: 233
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 15 days
Past year issue authors: 22
Past year pull request authors: 21
Past year average comments per issue: 1.44
Past year average comments per pull request: 1.61
Past year merged pull request: 117
Past year bot issues: 0
Past year bot pull requests: 116
Top Issue Authors
- kbarnhart (174)
- SiccarPoint (118)
- gregtucker (107)
- mcflugen (68)
- sebastien-lenard (22)
- pfeiffea (19)
- nicgaspar (12)
- amanaster2 (11)
- loroberge (10)
- DavidLitwin (10)
- saisiddu (9)
- cmshobe (8)
- BCampforts (8)
- mdpiper (7)
- ChristinaB (7)
Top Pull Request Authors
- mcflugen (377)
- dependabot[bot] (339)
- kbarnhart (200)
- gregtucker (142)
- SiccarPoint (105)
- DavidLitwin (22)
- cmshobe (20)
- BCampforts (16)
- nathanlyons (15)
- sebastien-lenard (14)
- jennyknuth (13)
- angelmons (10)
- pfeiffea (9)
- pre-commit-ci[bot] (9)
- jadams15 (8)
Top Issue Labels
- enhancement (114)
- bug (65)
- question (26)
- Landlab2.0 (19)
- install (18)
- documentation (14)
- help wanted (9)
- Epic (2)
- testing (1)
- wiki (1)
- Hydroshare (1)
- wontfix (1)
- invalid (1)
- duplicate (1)
Top Pull Request Labels
- skip news (367)
- dependencies (338)
- python (24)
- enhancement (10)
- v2.7 (9)
- Landlab2.0 (5)
- bug (3)
- github_actions (2)
- documentation (1)
- duplicate (1)
- invalid (1)
- Epic (1)
Package metadata
- Total packages: 3
-
Total downloads:
- pypi: 10,817 last-month
- Total docker downloads: 141
- Total dependent packages: 11 (may contain duplicates)
- Total dependent repositories: 38 (may contain duplicates)
- Total versions: 192
- Total maintainers: 3
pypi.org: landlab
Open-source Python package for numerical modeling of Earth surface dynamics.
- Homepage:
- Documentation: https://landlab.readthedocs.io/
- Licenses: MIT
- Latest release: 2.9.2 (published 6 months ago)
- Last Synced: 2025-04-25T14:35:39.147Z (1 day ago)
- Versions: 93
- Dependent Packages: 3
- Dependent Repositories: 30
- Downloads: 10,817 Last month
- Docker Downloads: 141
-
Rankings:
- Docker downloads count: 1.663%
- Dependent repos count: 2.656%
- Dependent packages count: 3.158%
- Average: 3.182%
- Downloads: 5.253%
- Maintainers (3)
proxy.golang.org: github.com/landlab/landlab
- Homepage:
- Documentation: https://pkg.go.dev/github.com/landlab/landlab#section-documentation
- Licenses: mit
- Latest release: v2.9.2+incompatible (published 6 months ago)
- Last Synced: 2025-04-25T14:35:38.710Z (1 day ago)
- Versions: 76
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.528%
- Average: 6.747%
- Dependent repos count: 6.966%
conda-forge.org: landlab
Landlab creates an environment in which scientists can build a numerical landscape model without having to code all of the individual components. Landscape models compute flows of mass, such as water, sediment, glacial ice, volcanic material, or landslide debris, across a gridded terrain surface. Landscape models have a number of commonalities, such as operating on a grid of points and routing material across the grid. Scientists who want to use a landscape 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.
- Homepage: https://landlab.github.io
- Licenses: MIT
- Latest release: 2.5.0 (published about 3 years ago)
- Last Synced: 2025-04-25T14:35:43.502Z (1 day ago)
- Versions: 23
- Dependent Packages: 8
- Dependent Repositories: 8
-
Rankings:
- Dependent packages count: 7.088%
- Forks count: 10.092%
- Dependent repos count: 12.084%
- Average: 12.854%
- Stargazers count: 22.151%
Dependencies
- actions/checkout v3 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- docker/setup-qemu-action v1 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- docker/setup-qemu-action v1 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- AndreMiras/coveralls-python-action v20201129 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v2 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- furo *
- sphinx >=4
- sphinx-copybutton *
- sphinx-inline-tabs *
- sphinx-jinja *
- sphinxcontrib.towncrier *
- tomli *
- towncrier *
- alabaster ==0.7.13
- asttokens ==2.2.1
- attrs ==22.2.0
- babel ==2.11.0
- backcall ==0.2.0
- beautifulsoup4 ==4.11.2
- bleach ==6.0.0
- certifi ==2023.7.22
- charset-normalizer ==3.0.1
- click ==8.1.3
- click-default-group ==1.2.2
- decorator ==5.1.1
- defusedxml ==0.7.1
- docutils ==0.18.1
- entrypoints ==0.4
- executing ==1.2.0
- fastjsonschema ==2.16.2
- furo ==2023.8.19
- idna ==3.4
- imagesize ==1.4.1
- incremental ==22.10.0
- ipython ==8.14.0
- jedi ==0.18.2
- jinja2 ==3.1.2
- jsonschema ==4.17.3
- jupyter-client ==8.3.0
- jupyter-core ==5.2.0
- jupyterlab-pygments ==0.2.2
- markupsafe ==2.1.2
- matplotlib-inline ==0.1.6
- mistune ==2.0.5
- nbclient ==0.7.2
- nbconvert ==7.2.9
- nbformat ==5.9.2
- nbsphinx ==0.9.3
- packaging ==23.0
- pandoc ==2.3
- pandocfilters ==1.5.0
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- platformdirs ==3.0.0
- plumbum ==1.8.1
- ply ==3.11
- prompt-toolkit ==3.0.36
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pygments ==2.15.0
- pyrsistent ==0.19.3
- python-dateutil ==2.8.2
- pytz ==2022.7.1
- pyzmq ==25.0.0
- requests ==2.31.0
- six ==1.16.0
- snowballstemmer ==2.2.0
- soupsieve ==2.4
- sphinx ==7.2.4
- sphinx-basic-ng ==1.0.0b1
- sphinx-copybutton ==0.5.2
- sphinx-inline-tabs ==2023.4.21
- sphinx-jinja ==2.0.2
- sphinxcontrib-applehelp ==1.0.4
- sphinxcontrib-devhelp ==1.0.2
- sphinxcontrib-htmlhelp ==2.0.1
- sphinxcontrib-jsmath ==1.0.1
- sphinxcontrib-qthelp ==1.0.3
- sphinxcontrib-serializinghtml ==1.1.9
- sphinxcontrib-towncrier ==0.3.2a0
- stack-data ==0.6.2
- tabulate ==0.9.0
- tinycss2 ==1.2.1
- tomli ==2.0.1
- tornado ==6.3.3
- towncrier ==23.6.0
- traitlets ==5.9.0
- urllib3 ==1.26.14
- wcwidth ==0.2.6
- webencodings ==0.5.1
- bmi-topography >=0.5,
- dask *
- holoviews *
- jupyter *
- mesa >1
- 150 dependencies
- bmipy *
- matplotlib *
- netcdf4 *
- numpy >=1.20
- pandas *
- pyshp != 2.3.0
- pyyaml *
- rich-click *
- scipy *
- statsmodels *
- xarray >= 0.16
- coveralls * test
- hypothesis * test
- pytest * test
- pytest-benchmark * test
- pytest-cov * test
- pytest-datadir * test
- pytest-xdist * test
- bmipy *
- matplotlib *
- netcdf4 *
- numpy >=1.20
- pandas *
- pyshp *
- pyyaml *
- rich-click *
- scipy *
- statsmodels *
- xarray >=0.16
- black ==23.1.0
- bmipy ==2.0
- certifi ==2023.7.22
- cftime ==1.6.2
- click ==8.1.3
- contourpy ==1.0.7
- cycler ==0.11.0
- fonttools ==4.38.0
- jinja2 ==3.1.2
- kiwisolver ==1.4.4
- markdown-it-py ==2.2.0
- markupsafe ==2.1.2
- matplotlib ==3.7.2
- mdurl ==0.1.2
- mypy-extensions ==1.0.0
- netcdf4 ==1.6.4
- numpy ==1.25.2
- packaging ==23.0
- pandas ==2.0.3
- pathspec ==0.11.0
- patsy ==0.5.3
- pillow ==9.4.0
- platformdirs ==3.0.0
- pygments ==2.15.0
- pyparsing ==3.0.9
- pyshp ==2.3.1
- python-dateutil ==2.8.2
- pytz ==2022.7.1
- pyyaml ==6.0.1
- rich ==13.3.1
- rich-click ==1.6.1
- scipy ==1.11.2
- six ==1.16.0
- statsmodels ==0.14.0
- tzdata ==2023.3
- xarray ==2023.8.0
Score: 19.674053240933212