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.1.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.1-cp313-cp313-win_amd64.whl (400.2 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

richdem2-2.4.1-cp312-cp312-win_amd64.whl (400.2 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

richdem2-2.4.1-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.1.tar.gz.

File metadata

  • Download URL: richdem2-2.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d423277f298b96ad9bf672efa3d15899440f8066ef3a85ef32e895a4f64d3397
MD5 4470a7a3bab9953fa1487aa59c025b8b
BLAKE2b-256 f62a677cd2365f221a4f2db929610e5eeb5a941db81f3fe4f79feee0802d70d0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9f54f81c2bf59a9a49e3d8b24ec49cdb5f4b423ceef88d762cb481006bb3f646
MD5 d1be73a2eb4de5cfc7404bffdda134e5
BLAKE2b-256 da0e947c79c89be203843d26c245e6eb731e1a617fab8ca2c242b615296ab1ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45284b07cea4626cd0abb6f9b069f23d7e19db1b9d45aa01744dba24e8a0840f
MD5 5123a9094ca9a4fc67621f37cd0a72e1
BLAKE2b-256 1e2f192f6e384efd2d27becf2774f51f8d394bdc61c21b4637f39a9d37d5460c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26bd159089c42377060bfc1fd21f57782fd175552e7fd603194b5c35f2322e60
MD5 bcf3011cb6c5ce03622b7da0ab95073e
BLAKE2b-256 6ca465079464b69019374e15125de21da83861f934b32fdb50727fc707b28c55

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ba99e1f26b8174719129ab7acb0c3f0a82a8e19a0bc089355d01f78d95e00629
MD5 3dd88977b1ff2e11df42bfb6b256c49f
BLAKE2b-256 f2322f8c5e4fcce2f98340efa627e9da784fad4b68ce393a8c68a608ff25ba24

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 400.2 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f4b13bc6131b35b0695d140a22a374c6b2303ad82cb1b3b9f911c45d2c19ea1d
MD5 4ecf95767a8da8d8346e70912bfd5383
BLAKE2b-256 aa40066dcdec1d5a57362d8f25827cca553a4c6a9e084b4cffa448467fef53e0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc26e4067bee483a633243f24feb4a6a8345fe1b86a497b85d1b0a8e39ccce08
MD5 0aec9b88f5115c28a35ffd6f678e0286
BLAKE2b-256 792ce4b4808f571ffcb9b5b184dffb66f2476d3e6f710c4e36a2284dd79127ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ef8729e244b0de588e762a668a51981b8428ad06ca6792a6e8db007298ce190
MD5 811a2664a0ecf5168beaa54286af27f6
BLAKE2b-256 03d3d9a06ff3996d80ff55b8438ff04fa740778639ad0dfd51e7f837f98c1e8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f55c1a633e47c7492c4e025c73158b07ab46ab85e6ac8394c7c5def9c83a5e01
MD5 506744ac08874bbbf549bb64233e20df
BLAKE2b-256 87716c60f773ef2d089cbccea7d4e6db997b66d3f7514a26f0ac651626c3748a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 09ddbca364f9915f869fee2bc05cdaa929e6f02c6e2b802b1c63072dc507178d
MD5 18d6df30f2dbc10496c22a65d957afd0
BLAKE2b-256 77ecba8175509987571ce07d83d83a5cff3d59c20f70ffaa7f62c060ef32ee4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd00473766db947c50a5a15b81ab08de0955c647bfe5fc6486d42e8487c6c58f
MD5 df442b29c05510e7d8837cb439d8d6b3
BLAKE2b-256 f646e574890fe4faaad06b19d3ffce2e5fbf56eefa21922e0de380accc1bdd63

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7284cc6b534e7eb32472c4211a7a3ac1e004c8621795d14281be1792108e4712
MD5 f4b1ac3d921a95fbea2a12a4a06eb370
BLAKE2b-256 8319fee9c2c885d6bef2ea372499763a0a32c11eb922cba88c8dbe7d13150729

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7d1e295e5e1048bc3579cbffde7cb1aec44448be23a84f8513300452d23ac274
MD5 266aed36554c481da8d100dac86aa6e7
BLAKE2b-256 799c9999b83786ad30b84585cceca1944a3003e9f319568a228120b7112346cd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: richdem2-2.4.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f32eed2aae8f05de578e523c5343e42a6d6653ca802f6ea843c07de064616388
MD5 c92e6e671dd0a005ae4383c9324a2de5
BLAKE2b-256 cb3c22f312fa06b8628ee191775ec81dd04c2eaabe2c06c8bfc38ca223f56580

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 557db26bbf72f17d6c353e3720629fda1ec66034fa5a2401c0ca730a0d8ae605
MD5 1ead8ba35639971b250db44d321c5e2f
BLAKE2b-256 b295f102e49e28089b8d0a47ec4005af7dd6129416929b21ce078757d9db0924

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcb091041e04addd8fd2fa5a88720375fa1e8850b79ea4bf39b8f5441e35158d
MD5 fe48199dfa3fbe11ecc5183dbda08a20
BLAKE2b-256 b31c9d3401069eed00d4a1d689bcecd59943e47a6685a5a8ad33c38ec0d981bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for richdem2-2.4.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 78f03ce0235040cf5c4d4e4f16eb561bf720cad529795c3a224e7f79ed0d88ff
MD5 3fc586dc2ff05c5fe43b89a481cc73f4
BLAKE2b-256 ff3c42de1ed63bdcb7f5526d760e935f3204d30ec7ecf3f35975ecce77c403f6

See more details on using hashes here.

Provenance

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