A Python library for common hydrological functions
Project description
[!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
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file earthkit_hydro-1.2.0.tar.gz.
File metadata
- Download URL: earthkit_hydro-1.2.0.tar.gz
- Upload date:
- Size: 4.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7f822434cd9acdf2fcc6fa6d7e08d7f26f868202f769cf8df8ed69673ecbb89
|
|
| MD5 |
8f8e05162701c5318a16579b91b6a820
|
|
| BLAKE2b-256 |
84f9f383bb4315e5213b8c058798fc9f9612b9852cdd1c8632dbbb8b55da130c
|
File details
Details for the file earthkit_hydro-1.2.0-py3-none-any.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-py3-none-any.whl
- Upload date:
- Size: 70.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a917fbfb695bd3f17f12622765cd11263075eacdf26ac3f0e62e6af4a61293c
|
|
| MD5 |
68fd03a0e8ea37ac708536cfc77f8177
|
|
| BLAKE2b-256 |
76a034a08220846e5bc548ae692131297f6414b330d472ac973b1d61829e583f
|
File details
Details for the file earthkit_hydro-1.2.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 246.0 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
344a12b020a2350d5b4391ec1364ccf94aff7ca2090226a87f1563109864e483
|
|
| MD5 |
dbc3a91acbf1ab52264ca2e3dde9ae88
|
|
| BLAKE2b-256 |
d233e455160591375ab85ce037648e1fd393ff7ee33000f555dd1a456671bf79
|
File details
Details for the file earthkit_hydro-1.2.0-cp314-cp314-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp314-cp314-win32.whl
- Upload date:
- Size: 235.6 kB
- Tags: CPython 3.14, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1db302e3f5ffe02be60b18ae2d8acf8c7f209d68bc7b5f661a6fcbd804014cc
|
|
| MD5 |
5b82ce94d2bc4611e3c41d4f32edb834
|
|
| BLAKE2b-256 |
97923f4b6da679dda6ef496de60e0819676813d8ab526df8a9acd5dfc4129d42
|
File details
Details for the file earthkit_hydro-1.2.0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 413.0 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
107a38b7058f0b3e0cc03f30b69e080ac27ca98dd6a195ebfb1955ad6275c003
|
|
| MD5 |
44b2b23b930f8e09c123f939d23d642b
|
|
| BLAKE2b-256 |
af74de101bbdaf0143a9035ca1619dec47f2171775a9841ec0079877fc6ae3d9
|
File details
Details for the file earthkit_hydro-1.2.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 358.5 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e5ba1030e3ac5ffcac1cd299a1b34358ee04be23e63413be1eda20509e531fd
|
|
| MD5 |
fe0f8be802d77551f079b87e010834ef
|
|
| BLAKE2b-256 |
fb3b5e871e534d6ce976d39d9e15e5f2f0c297fffef2a43016a53caf1e6b24c6
|
File details
Details for the file earthkit_hydro-1.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 240.2 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4766d64f9371043b5fc4613686e83f7630f32ae418860b553d12f0f258b10eec
|
|
| MD5 |
f56e9ff50ea75dee5ac75d86912af9f6
|
|
| BLAKE2b-256 |
e3d15a3158974f06282e978d071ffa44396626c57cf7f1836f8b2ea7f8615e44
|
File details
Details for the file earthkit_hydro-1.2.0-cp313-cp313-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp313-cp313-win32.whl
- Upload date:
- Size: 231.5 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45fb84dafe1208ea48414933111ba7edb1b0f28c88e42de584e2d1a200464d91
|
|
| MD5 |
5e35135b95c910204fd1be65bb2c3fa3
|
|
| BLAKE2b-256 |
f5fb9b290510bddf9dd0ef055419770f84145d0e94fcf0250914f0e4e338844b
|
File details
Details for the file earthkit_hydro-1.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 412.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2ccaca24900ad773c976827991a8b99957f01dea93c122d49f8b832dd5bddb5
|
|
| MD5 |
35c29a68e513b3cb762a2c8884816218
|
|
| BLAKE2b-256 |
1f634946a91f4cb4e961c764c096c08e6aa690ad11f2cc77c4fb83f6e09f638f
|
File details
Details for the file earthkit_hydro-1.2.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 358.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6259d1dd76da1c151d7723c702cb05078d97b8f7e6c359faf945dac0f9639e1
|
|
| MD5 |
eb9bdf47a9a83a0238ad367e0a1677ed
|
|
| BLAKE2b-256 |
3a0cce9bf2ab4821c0e06116c0918ccee0d2d14bac07f74ce79367743536ac2c
|
File details
Details for the file earthkit_hydro-1.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 240.3 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74b33428bda556ac48baa4fca738804d0393094c67a942162bacfa4b367c10ac
|
|
| MD5 |
482ea41d8016afaab43c23e1fc347383
|
|
| BLAKE2b-256 |
f57d99ee772814d7fa1e817df4d63fa6f8a9ac36c195f93a085e485b03efa834
|
File details
Details for the file earthkit_hydro-1.2.0-cp312-cp312-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp312-cp312-win32.whl
- Upload date:
- Size: 231.5 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11519effd9e6818d5932ac5e4502f8402b781d2516a7ec99c8778ee9cdbb1626
|
|
| MD5 |
f22fe06acc7681fb97d584e4f89b6740
|
|
| BLAKE2b-256 |
b243b123ea0c47747d24c07956ea03fa967ec7f63bcfe224304e7d55f9313192
|
File details
Details for the file earthkit_hydro-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 412.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6832a4cbd460bd8d4616c9a442a1a6669aaee40fefc2f5953c29716946cef381
|
|
| MD5 |
d5dccf291171eb8250685e364c25a6f3
|
|
| BLAKE2b-256 |
00b70bc40ecc0f5745daf1be3e9bed80f8db8357f342cafed0ba5ae6db7f658f
|
File details
Details for the file earthkit_hydro-1.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 357.9 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb1e9b1b0a11ebf3e1f46a0fd0d90e0eed3764eb92c137d0e8a24c8cc9e860e9
|
|
| MD5 |
91c3673225832bea1861f7d6c717f6a8
|
|
| BLAKE2b-256 |
37ee60774efc0c2624811872209d4f222b37adf99333a3aad014a8e8aa941e02
|
File details
Details for the file earthkit_hydro-1.2.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 239.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63abecb3faeaafd3d4b95548539a48f8bb14fd3977e67e866da1c963bb2768c2
|
|
| MD5 |
d90ac01b918527a8b9eece177c674974
|
|
| BLAKE2b-256 |
02ccd8d9bdfda17bca0588b8be3ab38308625914f56aa5241200474889fdb3ef
|
File details
Details for the file earthkit_hydro-1.2.0-cp311-cp311-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp311-cp311-win32.whl
- Upload date:
- Size: 231.3 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c29a02d8a40677a5974138ef254e947fb4d3afdee903108289687c68fd9a1c30
|
|
| MD5 |
a74650e7216bd3c3fe377c4af85e2313
|
|
| BLAKE2b-256 |
182259d4ee5be2fa238f38de497b749c1ae32099584c4cc135d20388fd9b9718
|
File details
Details for the file earthkit_hydro-1.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 412.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d84f112702cb8baacb28b3fb75266aaa59d93a8fa625cbc1d0011b10b030fbce
|
|
| MD5 |
401026654942614fe093f4caceb796c2
|
|
| BLAKE2b-256 |
3a78ca5397e7d215a0545ccc8313c9e624dc5ad4cac60cc93e09fbcdccf2646b
|
File details
Details for the file earthkit_hydro-1.2.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 360.6 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe38af0edcb2a647a3aa3891f85a55304375931123f16534aa71ff088969e59
|
|
| MD5 |
769f00954dc284cbd445c4c48fe8a18b
|
|
| BLAKE2b-256 |
4f46086459c06afb84213fadba5e73987d6ce2e5e92f1c2f515a864238fc3a47
|
File details
Details for the file earthkit_hydro-1.2.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 239.8 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fce4192f3edc1c89c44264d9c9cb7cca439dc47da8bac7b5d553d976f4e02d
|
|
| MD5 |
7f5b8c1f5d7fe44afaae52623d8085c8
|
|
| BLAKE2b-256 |
225a143ab4c15ffc88aebe19898b0830afa0d2f9405140f3cb8f9a454aef51ee
|
File details
Details for the file earthkit_hydro-1.2.0-cp310-cp310-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp310-cp310-win32.whl
- Upload date:
- Size: 231.0 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49d1e6042254faf5d5ff54fa4f50009d314152cbc8554faeb9d9514b58629ee4
|
|
| MD5 |
1af7f5e5cdabb7e493f5bcc1c3d00fa3
|
|
| BLAKE2b-256 |
af2ef6d6a36c5a623fba28002eafca270d6b9891389cc9692553012c5c86d1b1
|
File details
Details for the file earthkit_hydro-1.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 412.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
434808b2f39593862be0fdbc0422708d65dfb5297e8740c815cc2210c3cb986e
|
|
| MD5 |
0f1c2f65cc8f7ef5cc127ca3c1801eb6
|
|
| BLAKE2b-256 |
7855e12698cbc4dc5c44e15e8318b8e0677c3d9eca114f0e9e72184d885343a6
|
File details
Details for the file earthkit_hydro-1.2.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 360.5 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecdcfa4aa866a94ebe07dbc6458356f8e8fe8ac6af50bb6f95c7509788043c9e
|
|
| MD5 |
4622dae2f5b37b6f9826af3fa7f8b32c
|
|
| BLAKE2b-256 |
f7950fb3cb5427244158e937db81901fbd5327788f495c0d00408f5248182474
|
File details
Details for the file earthkit_hydro-1.2.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 241.6 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39ddbd519221344f4dc242a48859eef2ee494ebc3631acb879c38c435e3c4a5f
|
|
| MD5 |
749fdc6593d735e7bafb46d8a6f68248
|
|
| BLAKE2b-256 |
eb20e9ddb128085238ae69fd39e9fd5a6ba4fa3dfe9f639dec79d9735c854ee8
|
File details
Details for the file earthkit_hydro-1.2.0-cp39-cp39-win32.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp39-cp39-win32.whl
- Upload date:
- Size: 232.7 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c101bb96a5338d8c3ad265b5d8bbf89cb8f8411e555b823306ebc6f10f604ab
|
|
| MD5 |
d8455f7cf55a3dfe579267e87cba60fd
|
|
| BLAKE2b-256 |
3482cbcf1b0c88807c2921806397dca63140f4dac559509e9735b15d88b89ae2
|
File details
Details for the file earthkit_hydro-1.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 414.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a6550989b5891eaf1c15e16d87b0250937b606362bdeb927de16c10b71f5369
|
|
| MD5 |
a01f88817afcf47c00fd0d8cbdef529a
|
|
| BLAKE2b-256 |
e1aef094472fd0be5a6211c20f779b862a7046b5abc858946f8878688c729998
|
File details
Details for the file earthkit_hydro-1.2.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: earthkit_hydro-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 362.3 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e525ded3bff50e6b1d138f79c90eec3ad70dc9455384560b7b82fc1d95df10c7
|
|
| MD5 |
8b99f3d36a9ed22d98b99e7842d5c9d7
|
|
| BLAKE2b-256 |
f3e745aeb173861c6d76116cf537fddcbd4a3090b74b2757c52b297828d96145
|