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

Uploaded CPython 3.13Windows x86-64

richdem2-2.4.2-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.2-cp313-cp313-macosx_11_0_arm64.whl (754.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

richdem2-2.4.2-cp310-cp310-win_amd64.whl (388.5 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

richdem2-2.4.2-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.2.tar.gz.

File metadata

  • Download URL: richdem2-2.4.2.tar.gz
  • Upload date:
  • Size: 464.2 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.2.tar.gz
Algorithm Hash digest
SHA256 890b39ef217747095270cd305701931d2879c23421318a8ad2986e05fb46c3c5
MD5 42b96429735cba8d96b041d7b2ad0e16
BLAKE2b-256 cab8eb59ff895bbd9656ed74228452456285c44eae5f4bc62e2c7360ca434e15

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5713ca6258b0f5dc5556ee7014bffc8f2b40a769c889d2aa29e364c6e447722a
MD5 45a94fc9c60e71d17f3ebb55a92d1892
BLAKE2b-256 c2ee4a7e0cfd4c921ceb9cc0de29d3de7786dc37ee6cffc918347957f01f2a53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e028696ee1c79dbc37b19cf1946b59018c98719f172dcd3e52502795e9bfe26d
MD5 59a2bb134e8bac07f1698bddb1f3aa63
BLAKE2b-256 e7310e7df9f578dcefaebf50686f0e71d95b7b438f36635b0383a7a8cc9fb071

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 380f63626af10dbaad687c81877b0d6dc72dd712c0d7e28cc5ad18da42be5525
MD5 18ee1a8ffaee969992cc81bfdcf32618
BLAKE2b-256 d552e281817382745c71afe73ad350dd657adbebe3477f1bc71c6315edc37f3d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e30ac07b945da86fe33328bde5ac1a938f4fe70c14254f877d1ba18905ccd82e
MD5 62cc7ae8311069b947e79c25815c9f82
BLAKE2b-256 c02d51bec21afedc433202892c0dbe6fa7af8ce1320736202bcb926dcf2f0024

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 928df88b9d1f7d451754a55025c6ded7473e9ef4a8a797a1a95cce43efafbb10
MD5 6428664d056fcf04f53e15bca0f20a9d
BLAKE2b-256 d7ee97ea61eda34fa21238b75f1a8ceedc850d67a31e0bcd8a07f2109f90a216

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3ba955219f6a267e180b2d74d22451bc885ace87eeec58d7deb7c13928d9cc6f
MD5 ff5ab74aedcd5816a59e11fd6c9184b0
BLAKE2b-256 d655b1b5ba53bb52df39e0ddd04fc7c0fcf91cd886e1ed81d8fcb0ea1adaa44f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4cdf3f15345b1c6e013a71b925dc38a6c392b2c6503f673285d012f272f03da
MD5 7cd81a4fae7d948409a840b3650c0b79
BLAKE2b-256 b5a25b95a4397fcd59206d13343577553bc406a7b66abc5469e2926de9366708

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4fb2ed3306105a2eec1ebb72cb4dbcf7c27a8ae5851136b4746897463d1fd245
MD5 575336f7f8733e39badbaab8fa1c2ebf
BLAKE2b-256 e94db7200af93dee7e77ffe5b56984e54276f0697b6f3dbf41a671682ded53b8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 34fcfa97ca985de4f4a24dc64dc2dc4ecd5d91f4f8e6dff51ddd69ac49a69a17
MD5 7b29095199d4dcb11a28ab0e95825ab8
BLAKE2b-256 1dcd51bd4d7b0413d55285c5a5a9f7b55c3caf66f421cd045898182d0e6fdc21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e98f0da4b74b0dfc23f85c1d5571fafc6af98080eb1fb95dc39cbf629b57e506
MD5 8dbc03c1259f6a6a76adb805730f88ed
BLAKE2b-256 db1882be760b9d3aab4768f3f516a04fb064db008c2a11e7ad162ca13d3503c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ae6275428369ec5c75073fe9f94f05f9c605e3b94eda1577965c07b6011ffaa
MD5 74ceaace20b41e98980e7b3669ccc871
BLAKE2b-256 1c5644c85e9e28bb7c040d0193ee5d8ce9cd2608a228dc0ededc94326b9e58eb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f346a59d5cd074e6886e7a796de581ead28ab92efeafd110182ca6b0cdd59fb
MD5 d93548dacf6434b0daf4524145d51158
BLAKE2b-256 dcbf5da921ca5d375da6ed7cd9f1e52329e50bd30c9a7614671a69372d100098

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 388.5 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a00431aada51efc6716a5c807cffbb1482914c8e2f22e11c0bc739fa4ab4c7a2
MD5 2aa9c0096a972291ed8ad6c42a77465b
BLAKE2b-256 e002aaeacbf315323c98aec3e4d6ecca841f7ed8e4c777f3a0226a6e25640343

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78a0bb65111149372e38686affcc7402ac84c0525631b6802d89b45a31d35c4d
MD5 04d2512a71b7209a63d68d656298ecc4
BLAKE2b-256 c24d2b8578aecdbf8f94dece55e05d10c8191e70bb7332814e947edaa0514b26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 980468541bc16d7fbab355eca9470896da77ad5a27663222b981d3b94e13cdf3
MD5 e7967754e402cd9dafb27f6695895296
BLAKE2b-256 91c2c7390a9b3f97193a4e5cccf74220d9743fdf2fd9356e8bf202c9aceb56f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c6395fe50e594fb5b5f11c83946bd783aaf4c6bd631c9b1937b027c2ba6f0d78
MD5 cda552b43d7afccf511e391e86d83294
BLAKE2b-256 23343d19b15842c86e433bb84433563f444438cb7fadd3cee04878bf3f2b398b

See more details on using hashes here.

Provenance

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