Skip to main content

High-Performance Terrain Analysis (maintained fork of RichDEM)

Project description

RichDEM2

PyPI CI

Note: This is a maintained fork of the original RichDEM project by Richard Barnes. The original package is no longer actively maintained. This fork updates the build system, modernizes Python packaging, and publishes to PyPI as richdem2. All credit for the core algorithms and library design goes to the original author.

Original author: Richard Barnes (rbarnes@umn.edu) Fork maintainer: Qiusheng Wu

RichDEM is a set of digital elevation model (DEM) hydrologic analysis tools. RichDEM uses parallel processing and state of the art algorithms to quickly process even very large DEMs.

RichDEM offers a variety of flow metrics, such as D8 and D-infinity. It can flood or breach depressions. It can calculate flow accumulation, slopes, curvatures, and more.

Please cite RichDEM (see below).

Installation

From PyPI:

pip install richdem2

Then use:

>>> import richdem

The command:

>>> help(richdem)

provides all the relevant documentation.

Design Philosophy

The design of RichDEM is guided by these principles:

  • Algorithms will be well-tested. Every algorithm is verified by a rigorous testing procedure.

  • Algorithms will be fast, without compromising safety and accuracy. The algorithms used in RichDEM are state of the art, permitting analyses that would take days on other systems to be performed in hours, or even minutes.

  • Algorithms will be available as libraries, whenever possible. RichDEM is designed as a set of header-only C++ libraries, making it easy to include in your projects and easy to incorporate into other programming languages. RichDEM also includes apps, which are simple wrappers around the algorithms, and a limited, but growing, set of algorithms which may have special requirements, like MPI, that make them unsuitable as libraries. These are available as programs.

  • Programs will have a command-line interface, not a GUI. Command-line interfaces are simple to use and offer extreme flexibility for both users and programmers. They are available on every type of operating system. RichDEM does not officially support any GUI.

  • Algorithms and programs will be portable. Linux, Mac, and Windows should all be supported.

  • The code will be beautiful. RichDEM's code utilizes sensible variable names and reasonable abstractions to make it easy to understand, use, and design algorithms. The code contains extensive internal documentation which is DOxygen compatible.

  • Programs and algorithms will provide useful feedback. Progress bars will appear if desired and the output will be optimized for machine parsing.

  • Analyses will be reproducible. Every time you run a RichDEM command that command is logged and timestamped in the output data, along with the version of the program you created the output with. Additionally, a history of all previous manipulations to the data is kept. Use rd_view_processing_history to see this.

Citing It

General usage of the library can be cited as:

Barnes, Richard. 2016. RichDEM: Terrain Analysis Software.
https://github.com/r-barnes/richdem

An example BibTeX entry is:

@manual{RichDEM,
  title        = {RichDEM: Terrain Analysis Software},
  author       = {Richard Barnes},
  year         = {2016},
  url          = {https://github.com/r-barnes/richdem},
}

Users are also encouraged to cite the particular algorithms used. Citations to these will be printed whenever an app, program, or library function is run. Although Richard Barnes wrote all of the code in this library, some of the algorithms were discovered or invented by others, and they deserve credit for their good work.

Parsable Output

Every line of output from RichDEM begins with one of the following characters, making it easy to parse with a machine.

  • A: Algorithm name

  • a: Analysis command: the command line used to run the program

  • c: Configuration information: program version, input files, and command line options, etc.

  • C: Citation for algorithm

  • d: Debugging info

  • E: Indicates an error condition

  • i: I/O: Amount of data loaded from disk

  • m: Miscellaneous counts

  • n: I/O: Amount of data transferred through a network

  • p: Progress information

  • r: Amount of RAM used

  • t: Timing information: how long stuff took

  • W: Indicates a warning

All output data has the form:

<INDICATOR CHARACTER> <MESSAGE/MEASUREMENT NAME> [= <VALUE> [UNIT]]

The amount of whitespace may vary for aesthetic purposes.

Publications

The algorithms used in RichDEM have been published in the following articles. Every algorithm/program will provide its relevant citation information when run.

  • Barnes, R., 2017. Parallel non-divergent flow accumulation for trillion cell digital elevation models on desktops or clusters. Environmental Modelling & Software 92, 202-212. doi:10.1016/j.envsoft.2017.02.022

  • Barnes, R., 2016. Parallel priority-flood depression filling for trillion cell digital elevation models on desktops or clusters. Computers & Geosciences 96, 56-68. doi:10.1016/j.cageo.2016.07.001

  • Barnes, R., Lehman, C., Mulla, D., 2014a. An efficient assignment of drainage direction over flat surfaces in raster digital elevation models. Computers & Geosciences 62, 128-135. doi:10.1016/j.cageo.2013.01.009

  • Barnes, R., Lehman, C., Mulla, D., 2014b. Priority-flood: An optimal depression-filling and watershed-labeling algorithm for digital elevation models. Computers & Geosciences 62, 117-127. doi:10.1016/j.cageo.2013.04.024

  • Zhou, G., Sun, Z., Fu, S., 2016. An efficient variant of the Priority-Flood algorithm for filling depressions in raster digital elevation models. Computers & Geosciences 90, Part A, 87-96. doi:10.1016/j.cageo.2016.02.021

Feedback

Users are encouraged to report any issues experienced with this fork via GitHub Issues.

Project details


Download files

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

Source Distribution

richdem2-2.4.3.tar.gz (464.8 kB view details)

Uploaded Source

Built Distributions

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

richdem2-2.4.3-cp313-cp313-win_amd64.whl (400.2 kB view details)

Uploaded CPython 3.13Windows x86-64

richdem2-2.4.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

richdem2-2.4.3-cp313-cp313-macosx_11_0_arm64.whl (754.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

richdem2-2.4.3-cp313-cp313-macosx_10_13_x86_64.whl (815.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

richdem2-2.4.3-cp312-cp312-win_amd64.whl (400.1 kB view details)

Uploaded CPython 3.12Windows x86-64

richdem2-2.4.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

richdem2-2.4.3-cp312-cp312-macosx_11_0_arm64.whl (754.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

richdem2-2.4.3-cp312-cp312-macosx_10_13_x86_64.whl (815.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

richdem2-2.4.3-cp311-cp311-win_amd64.whl (389.2 kB view details)

Uploaded CPython 3.11Windows x86-64

richdem2-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

richdem2-2.4.3-cp311-cp311-macosx_11_0_arm64.whl (751.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

richdem2-2.4.3-cp311-cp311-macosx_10_9_x86_64.whl (809.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

richdem2-2.4.3-cp310-cp310-win_amd64.whl (388.4 kB view details)

Uploaded CPython 3.10Windows x86-64

richdem2-2.4.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

richdem2-2.4.3-cp310-cp310-macosx_11_0_arm64.whl (750.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

richdem2-2.4.3-cp310-cp310-macosx_10_9_x86_64.whl (808.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file richdem2-2.4.3.tar.gz.

File metadata

  • Download URL: richdem2-2.4.3.tar.gz
  • Upload date:
  • Size: 464.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for richdem2-2.4.3.tar.gz
Algorithm Hash digest
SHA256 a2cc4b739d8436f8b399c2d160b364eef5be4e64db695897f54635dbcbdec6f8
MD5 ca018708c195c55600afd9af0689cfdb
BLAKE2b-256 33fe50d858603871e5e2a918faa8ace8c28a637d475e67be84b997635b76603f

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3.tar.gz:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 400.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for richdem2-2.4.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ca2cd5aef8b518768d03f8c2c6e764cd0d663de016039a8931f3bdc457fab36e
MD5 976dd8fb95bcbdf5073906bbac1f65d2
BLAKE2b-256 f76b43ddd570e294359f32cc542e3005e2470890f8c9c9f98ed8e4603baf6ceb

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp313-cp313-win_amd64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2445e48677d23e9d933fc93b2304271eed5dca23434105c2becab35981765937
MD5 8cbf431ea2b4fb77947d83739de237b2
BLAKE2b-256 67b487cdfb95117680ecfa24e8a27d32ac687515ae7aaf03670ff305982fa32b

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 214b34da6e4306abbb50b793535d10897590cc750ff3fda4f576ea679eecaa8e
MD5 110f7dd4174b515dcf283d055c124cbe
BLAKE2b-256 d560ef56dfdebf7a23fcb6c6fae56619fdf1a2af22aca819ccc2e28473fe3b34

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e8af9cf3c37c5cb7805b1b801d16cc8c7b763bdf6afcb59533e2f05deb74a877
MD5 60a9bddb3ed924a265a1beb9a8bee7b6
BLAKE2b-256 9d2b928974fd884337e4420fae6117a93221dde8036afae5bb67b6b9adaccb8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 400.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for richdem2-2.4.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9e35fa2fe75c6b97f7d4f15781a1970b728d5079512649501ff7eb9b55dc061a
MD5 5b7c07d0eb6944e7036bd849f1fb0078
BLAKE2b-256 7064619d4cda78ea8d4416e700042fee23a0661daf8b31dd23499ea2bc02ead7

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp312-cp312-win_amd64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f741b640b423fe449d15f6b40df6ab26b9a8fc85cf7972e5313e38c79d76ada
MD5 c482ba8a8c7ab41c818567b6ae0717c4
BLAKE2b-256 e49bab3b126710e7435f86e381f7d64c5cc9bf5baff3a68ed91e41137163b572

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 660f742e1765fe48763f7dd0626eccd1b6dd2997ecc181883fc5fd0711871fb9
MD5 dda87382d16288124c5da90cde217970
BLAKE2b-256 30e13cfea1eedc109126e14dede50a671fe7a30411fd3cd213f3ac7386da81f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b672e4dc0cec65055a465fb6ba6013c6ead6d17d02b8219c346a33aca51e32d3
MD5 37296c421156ce6e08eb4ec4dde6ae09
BLAKE2b-256 8647a5b68f93435d506b2d18efde4cb941909504d8f06505bd6d51c15cd621de

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 389.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for richdem2-2.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69b24f548d64cde2d0976387332c890332e141bbb52376f7b61e06cb2675f2c0
MD5 a5c15f064f811afac9b344eed83bc58f
BLAKE2b-256 57522020c8be7c9ede83f69d7e1096d2abd762bd66f3ae2d29581ebebe1a5a10

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp311-cp311-win_amd64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e4d3914d90fc3f03016372522d78c412f3f63df87eb7d27529c0363f90aa026
MD5 7c51b6521112b79babb4d56ca723f4b5
BLAKE2b-256 202807644bf6ef11d8803f69fb7bd0cf7e09e26c31c91a825f21cba64b777559

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9af3ee9b33e4e8ffc216f5137955a72d4f60ec6947009116e6d7fe1df00d192
MD5 e494a54e7f02c65d90f9913983b012e1
BLAKE2b-256 059a447de971fb73cdd9d9cd95a00f37df9eb16f87303bd50f32ead28bde41ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3c715414d733ce7087712e1481ec2cc74db9663e4a553af868e42a91b911ed53
MD5 e4e85168a1e4fe450b6bcedb583a93b2
BLAKE2b-256 0935de28858826f7a3c6586f416fc892f581445fd609d268064f7b038edac7b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 388.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for richdem2-2.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 88406292580102da08dd6da52e028ab5a9fd2f7adda957aa6a52897e3391488d
MD5 b926615c89bc2bebfe91e3221a7332ee
BLAKE2b-256 bdfb005b96c553814b5200901b27a7289174681e0a13cfc36d2f091316108ac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp310-cp310-win_amd64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3ff61bf0f66b9521a26ed68115d99efe1dc38c56d44afa56c9f62cc8549a3b6
MD5 0aee45f937c8e159045c6eedc59ada4c
BLAKE2b-256 febf7f393f9119b14d7b92390953c228d4844139547656d2d5842a88bd478690

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3ad7e6b88d5c595dbfe6391a7d5c333e3715dfd8aeacda2fd84f07e2704f6265
MD5 9a9be95e9359219f8b57630601a231b1
BLAKE2b-256 8cfd0a360208c51af49ad14bf7dfa188dd944920c1990e97200c7b607b61cdd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file richdem2-2.4.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c32d0368015ad3538e464caefced96b24602838dc3c3c1a8578e8b7aca623cd3
MD5 e46d43c6981b469a1ae3cac8d8888eb1
BLAKE2b-256 ff005c3a1e6bf5087f8f6e027df6b730097ec6d792b29d0d0a89f1ff1da18915

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.3-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: pypi.yml on giswqs/richdem2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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