Skip to main content

A Python library for common hydrological functions

Project description

ECMWF Software EnginE Maturity Level Licence Latest Release

InstallationDocumentation

[!IMPORTANT] This software is Incubating and subject to ECMWF's guidelines on Software Maturity.

earthkit-hydro is a Python library for common hydrological functions. It is the hydrological component of earthkit.

Main Features

Adapted from: doc_figure Array backends with xr
  • Catchment delineation
  • Catchment-based statistics
  • Directional flow-based accumulations
  • River network distance calculations
  • Upstream/downstream field propagation
  • Bifurcation handling
  • Custom weighting and decay support
  • Support for PCRaster, CaMa-Flood, HydroSHEDS, MERIT-Hydro and GRIT river network formats
  • Compatible with major array-backends: xarray, numpy, cupy, torch, jax, mlx and tensorflow
  • GPU support
  • Differentiable operations suitable for machine learning

Installation

For a default installation, run

pip install earthkit-hydro

Developer instructions:

For a developer setup (includes linting and test libraries), run

conda create -n hydro python=3.12
conda activate hydro
conda install -c conda-forge rust
git clone https://github.com/ecmwf/earthkit-hydro.git
cd earthkit-hydro
pip install -e .[dev]
pre-commit install

Note: this project is a mixed Rust-Python project with a pure Python fallback. To handle this, the behaviour of the install is based on an environmental variable USE_RUST, with the following behaviour

  • Not set or any other value (default behaviour): Attempts to build with Rust and if failure, skips and falls back to pure Python implementation.
  • USE_RUST=0: Builds pure Python implementation.
  • USE_RUST=1: Builds with Rust and fails if something goes wrong.

Licence

Copyright 2024, European Centre for Medium Range Weather Forecasts.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

In applying this licence, ECMWF does not waive the privileges and immunities
granted to it by virtue of its status as an intergovernmental organisation
nor does it submit to any jurisdiction.

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

earthkit_hydro-1.3.0rc2.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

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

earthkit_hydro-1.3.0rc2-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

earthkit_hydro-1.3.0rc2-cp314-cp314-win_amd64.whl (324.6 kB view details)

Uploaded CPython 3.14Windows x86-64

earthkit_hydro-1.3.0rc2-cp314-cp314-win32.whl (308.4 kB view details)

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.3.0rc2-cp314-cp314-manylinux_2_28_x86_64.whl (486.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc2-cp314-cp314-macosx_11_0_arm64.whl (426.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc2-cp313-cp313-win_amd64.whl (315.2 kB view details)

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.3.0rc2-cp313-cp313-win32.whl (304.1 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.3.0rc2-cp313-cp313-manylinux_2_28_x86_64.whl (485.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc2-cp313-cp313-macosx_11_0_arm64.whl (425.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc2-cp312-cp312-win_amd64.whl (315.5 kB view details)

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.3.0rc2-cp312-cp312-win32.whl (304.0 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.3.0rc2-cp312-cp312-manylinux_2_28_x86_64.whl (485.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc2-cp312-cp312-macosx_11_0_arm64.whl (425.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc2-cp311-cp311-win_amd64.whl (314.0 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.3.0rc2-cp311-cp311-win32.whl (303.2 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.3.0rc2-cp311-cp311-manylinux_2_28_x86_64.whl (485.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc2-cp311-cp311-macosx_11_0_arm64.whl (428.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc2-cp310-cp310-win_amd64.whl (314.5 kB view details)

Uploaded CPython 3.10Windows x86-64

earthkit_hydro-1.3.0rc2-cp310-cp310-win32.whl (303.5 kB view details)

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.3.0rc2-cp310-cp310-manylinux_2_28_x86_64.whl (485.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl (428.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file earthkit_hydro-1.3.0rc2.tar.gz.

File metadata

  • Download URL: earthkit_hydro-1.3.0rc2.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for earthkit_hydro-1.3.0rc2.tar.gz
Algorithm Hash digest
SHA256 b99fa46208f4e16e02d1c326ad593abd25f0e4abf3676fc7c86a20c17458e40d
MD5 be352b6f8bd00c992fe358fdf1d72d4c
BLAKE2b-256 1ec6d017d8385aab7f6951ac283f95bce7c7adf67ce3ef377919d9eaf2dc05dc

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 3562779d57e6a58848ca7aef1b574ad1f45317e8c0b57227b5eed1d5c50161b6
MD5 f0aa47dab356694b3169c99b2d8a36e7
BLAKE2b-256 1797544dbe24562c8bd8f51a7339994380e7db21b80c9847bb99400dcabbbcfc

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a2b38fdd57535018bfc4e0df5c14e7d8899ee4a464210bdbd82dda9312c5397e
MD5 bd8cb2ed62263ab17a3c2aec33064a56
BLAKE2b-256 1fbae5d6f90afcebe06d214a7a8e36773d67389f2a8241526235d66aa705e3ff

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp314-cp314-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 fa5ac21cf906166b92c8eed1abd5d86e04302b5648756871ce12156e95e977d1
MD5 5c82c8c2bffe690af428b2d1078f33f8
BLAKE2b-256 63484eb66e04f4fd741fd3d3600f31653b7082f6da7ca2914ffeea439adbf18e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 76104b311ab8a1b5bc6a0015fb653ce72ac41e7ee67018be77e16a27a738e34e
MD5 6f6a6d03c1615baa0d24774bc0ac5745
BLAKE2b-256 9fee0b188091709c822697345c3b43659727b2b86613d3a12b71c55a0fa03174

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12cb25c3103158a240ea3ce0089b0ed16a6fdc9f7b417e923945b13e0cc48196
MD5 d45da77ef7ba4763eace85ed77dd9c56
BLAKE2b-256 c9ba4b1ff210f0f4f78678be2c27442bfd4a65419b4c98d8d45b0737698efb93

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ff57073d0a5f11f057221d1bc511f472bb7760a3b60a4ed24e15febc29fea168
MD5 d8375918f4a7d6b85b8aebc6c1812982
BLAKE2b-256 0d9aa2b64f1d0718775eaf23c9ab4fd641c6435cf03381ae0a3b8cbf9071273f

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 b3b63e49e3f7fa0547b9cc6597e1fad11ae30527245a8ad547a733a4945b69eb
MD5 547c4f82db2580c5a28572fc01f6f322
BLAKE2b-256 ddff9d4e69ed2d6d326597d08efe2b731cb02afd6b357ad299d214fceacb23d5

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7538965540f364a7bbac793c8e50eac389f6dda40c345d949ecfa31109f20431
MD5 9cc57ceb26e2cd535b1bd0bb6780f9ba
BLAKE2b-256 073a69c40925adcae680517c537d8d5ace092658cb9045cf2149ddff0fa39cdb

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f14c52efaa05731c18745bbc1bf99a48f4a0bb8208a51d1eadaeb8b01c1817d6
MD5 522fad2e9c431cc2aff4a83a66289615
BLAKE2b-256 d08b8989effc365e217da62b48b3d92cb71b8f84dd22405849be80027ebd8788

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a2b2c532b12fbdcad00035a9ab4ab6c98567ca1debe75a8969df42d17c4a5646
MD5 bb02ef9b78488ff2bb43931c2e4de555
BLAKE2b-256 19fd2256865a8893d3fc7056e782849888b75b6cc0644b3128eb2dd783cfdc58

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 33f75ca0d1c0f1fea9a07bb5dff4973575258f578142e1a124fb893f1833d137
MD5 700567dd85e73389dee6a46812b6e598
BLAKE2b-256 3eb7bc34db74911c8101643ecfbb278ef62ff42cb3996a04cd56cc1bef31f04b

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d1fcfd377a1956279e8020101770196f05102fcc34eaf0bf1e2ce8658c93d0d0
MD5 547e61f3e722b500e0fd53ce387bf566
BLAKE2b-256 bb127a4dadef160dbe925637185950bc6c29519bd48d85e74049e8dd8b43d84e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7269dcc567c5129d7f8848933c14532144cc8e13d758860e4d3e0b050aec7d2
MD5 ddfdd226ebed48013b57b90411087f92
BLAKE2b-256 8745cf73cc688d4b16f8a69e107a20d32346efc4d3f93cab81169e077ad9f935

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e2d1ea99124be699dba9bd0b996ca9a78c0ddc4204b7fe1576068b47397bd108
MD5 fb032400697eec8353504042c614809c
BLAKE2b-256 f80885d6d42b3edfebbfc47031ba10f68dde10800466285ea7cb209afe2f8997

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 02bfe1c1adff298eeaa3c8a242c88c3de646a82e7121159a569182b1fa611858
MD5 90896c3c7289ee4161b36daa1eca475f
BLAKE2b-256 ca529f14a39e87f7e2853856fecd53d12c49e69a1918caadeab333b2b3694859

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 feeb557bce59d8911d1cd09b4df1ad3e247830e3b40fc202ca269e44c37b3993
MD5 83547ba18a6bfeb25af70bd125cbe82e
BLAKE2b-256 ddef4e5bbbb29725f5e2d003da20d7fb9091d172dc4e4c830056e11e372433a6

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b44c04af27c5507610aa54480c4667330a84c9068625f85153101814c89b9001
MD5 42281effc0f413b6d6be53ca10a7993c
BLAKE2b-256 994f16ffa49fb51bd4d4a77ea8890c2caefed526764cb3c1325aabeb12569a92

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9cfa53c2a8f36254003d3f3920f61c21060d29047bdbea7100a0f02265556a43
MD5 e90e2f1f5a97939185701282df7e902a
BLAKE2b-256 2b2df1ef59ee8ecf27264f588f9fa58511fd9945bc12a0121918ccc9286e630e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b4db05cb0f7182e44f2915e73e299453cc42e484741d996676e601ec744fd3d8
MD5 1f1689de4c21715f7d7cf2e49ca80abb
BLAKE2b-256 aa36d72a5123fc041b3be05f7ae7b632e7b3d8390a22cea944022d48c4597b2c

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d723b47ccc23927b127def7607a8ce09896be40ca2ddd4a7257130c4ad9cf07
MD5 13c316305f4458794ba43db0cdc0eeea
BLAKE2b-256 492f5da4f88050a092b566edc90f9434a4ee22a0b3e5105036556542b29f64bf

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5bd9ec20f99848ad8e9a4602a2e6fec776c32454cdabe2f98b7fdf3e4df2109
MD5 842957988e22cf6a25c2eb658212b5dc
BLAKE2b-256 5a26da8e655c916c4be73032d6c3dc75e045540c9aaa569be78964e8f633180a

See more details on using hashes here.

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