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.0.tar.gz (463.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.0-cp313-cp313-win_amd64.whl (400.2 kB view details)

Uploaded CPython 3.13Windows x86-64

richdem2-2.4.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (754.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

richdem2-2.4.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (754.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

richdem2-2.4.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (751.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

richdem2-2.4.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (750.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

richdem2-2.4.0-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.0.tar.gz.

File metadata

  • Download URL: richdem2-2.4.0.tar.gz
  • Upload date:
  • Size: 463.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.0.tar.gz
Algorithm Hash digest
SHA256 0ad575beb353c9ddbd49f6386a2b2ea2aaae5e992c9a8b5f3781f38a4d14f87e
MD5 2139926bb11ebcb383098a1dc87a2334
BLAKE2b-256 fc90bb83c374e51d7d04150e209c9145a877074c652a9a54736bbe644ec883dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0.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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4d3e4877202b976fc865fa8ed52086f0acb881730b861f092db52fa9741dacca
MD5 21908fd081a387021e7d72abc7670034
BLAKE2b-256 018e0ce0de986689245060b1540b8e36ce56652efcdeb7913fe384d9630b6ff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb7c6ec648b907a8e09abf305e3b473c10ffb484ff3c4378265ab697f078c3a0
MD5 f9c71737c062ff36619ebae1dc511ecc
BLAKE2b-256 3f3d62fd0888ac6e8573347b9e3b2be32aa6e1748eec7c7d7471f51cfebfddb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ddff34e05616726945fb73b7367c83bd55183cd5857c853f18964a99d759034
MD5 1208aa1c33b892e8e5f950e2dafe2133
BLAKE2b-256 462796af572d69419998fd5e8b8c87d722928367c18854a7f21b97e39b9207da

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d221ac61e50650f440cb6ad022aa1ae19e79da95dbe3c4d3b2ced94e1694e607
MD5 440a8dcfb24918213875099301204583
BLAKE2b-256 4fd36dc9e392de1d37cf221892865c3c79be29365fc096cb223a67768f08f43e

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f9dcbdd06aa8a5c55de5bd7cda466f3d09ddd3d692512856dd768016394ffda
MD5 32fd4aeb0e21a4dee16b0cc3994dcc7a
BLAKE2b-256 f28d9c7f42fe2e285efefaa051b928de091adfe5e69580d692244e3d46d65a07

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7c7c28340691170d91fb59b2ccc45648958c717ced48fdf1b70f413f5d957751
MD5 652138782d06c6234faa6701c234a57f
BLAKE2b-256 8f3d057b033d2d1e95b6ae846b2dc2a06382af2543c91ecf82875c4b013cc4a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 212f2ca8fc401c24921d426aca269a2487a60cd07d83f94064c4a3bf523ed6c1
MD5 95b843c186dabde2320e501cba0fb738
BLAKE2b-256 d90d89a942d78f6a853f62b861b6f2ab53399702c1c7010bfce4dff3e8ca62fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bd820ef12ef6af7c7a14e1d51848e2e203e7330d89a147d46188180d4340dd23
MD5 4a1a9b3b1041da3174673222264b87cc
BLAKE2b-256 b995ca70cf68d90d717546b5606e2da53b1c769b65ed10292d98e69a5773ae7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a654335072920d020cb738598e0ae9c93c0db8951eb8ddfb1c4b82c66016272c
MD5 ecdc3275d3d87add0c5fb2314ce0ab42
BLAKE2b-256 ab4e4001073a14edf56082199ef9ee9268f4fa8a9186ee64947f8e01921509af

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 57b82f2d7d77f0efa34bc914937e916d92eae5e7fed41c858b93568a9d300219
MD5 8c372fffcfb5e8cae18d763435d9d319
BLAKE2b-256 a46206c8d3ba954fa8c867a236f9d73fed3b1db50a38774c49b7a520d9eae07c

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d573ae2523e127293b7f089ec07d900070a6eca52966103588469d565489a4de
MD5 ed7437f723e22ff3cfa25ba9e01e9874
BLAKE2b-256 74c2a13b3603372e438cb740f51c0c592b04b2a37ab86e4c64f2ba5790079237

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3847bdcc3b5032d7821e705f7a930296560ca6e9a25d1291b56fa75dc617c2bf
MD5 a9e5e6058210235126a16a7115e7d7f7
BLAKE2b-256 e15f92d9a4a5f4c0b22b2cbd30639ef88dcd5014dda37b202584965a5fcb7c1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: richdem2-2.4.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b976483d2d6c97b40d02169d2f8d468118c99632524d2eb7c924053b6f3f6d5
MD5 1badc1c0a290be2678fc53ff28e97c31
BLAKE2b-256 7bc88be1626aedbb839fa0e313f6a1584481ffbef1aed7b8581bf7973de386f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cda038691c8a8a3ee6b54fb3651f9d652213143cccf67e51c5377186fbb9769e
MD5 4b7e5645baaf6121eb044e3e44de8858
BLAKE2b-256 b510cb1030c00e5afc64ef6a23e903d0f62c321b94638fc5ad3d80108c5ec3a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c95f2721eb578803e18a939ae42bc436fe56faa2ef1bb12171f9e2617541d37
MD5 4dd2f2d5042ae572a77c775bc4a97194
BLAKE2b-256 e0b0f253d874f4ea379d66f592e812ea8ba9169656d483ea93b2102dfb41cfe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for richdem2-2.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c3b9aa8eff09c25d1ac033b3748b1ed6645b7be1e9a4839d36375e5b88204174
MD5 b7444e67286222139c14e2905e276f3e
BLAKE2b-256 a9a9b4edc3600293dfc34c01879edcd1ceb28f64fd7f061426c16a63e0a8198b

See more details on using hashes here.

Provenance

The following attestation bundles were made for richdem2-2.4.0-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