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.0rc1.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.0rc1-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

earthkit_hydro-1.3.0rc1-cp314-cp314-win_amd64.whl (324.4 kB view details)

Uploaded CPython 3.14Windows x86-64

earthkit_hydro-1.3.0rc1-cp314-cp314-win32.whl (310.7 kB view details)

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.3.0rc1-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.0rc1-cp314-cp314-macosx_11_0_arm64.whl (426.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc1-cp313-cp313-win_amd64.whl (316.0 kB view details)

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.3.0rc1-cp313-cp313-win32.whl (305.7 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl (485.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc1-cp312-cp312-win_amd64.whl (316.1 kB view details)

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.3.0rc1-cp312-cp312-win32.whl (305.7 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.3.0rc1-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.0rc1-cp312-cp312-macosx_11_0_arm64.whl (425.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc1-cp311-cp311-win_amd64.whl (318.5 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.3.0rc1-cp311-cp311-win32.whl (307.9 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.3.0rc1-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.0rc1-cp311-cp311-macosx_11_0_arm64.whl (428.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc1-cp310-cp310-win_amd64.whl (318.7 kB view details)

Uploaded CPython 3.10Windows x86-64

earthkit_hydro-1.3.0rc1-cp310-cp310-win32.whl (306.8 kB view details)

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.3.0rc1-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.0rc1-cp310-cp310-macosx_11_0_arm64.whl (428.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: earthkit_hydro-1.3.0rc1.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.0rc1.tar.gz
Algorithm Hash digest
SHA256 005297d6a2d9e60d3a0f812f1d84e71e44f6ad9a3ac11efa2fd4db1ec4bbb835
MD5 baa6c1b82790989610515d03e8ab0c42
BLAKE2b-256 9f7478f98ea33fda74d833ad7a188fe5bddd1a167985c9d45b3242f62155e8fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 9cb2b80582633ea5121fe9e18dad15c60630a7f77c59749a8096c939f3df0572
MD5 41b6d485fd85fafe762ca19ea92d3e9d
BLAKE2b-256 0fa95b66001d0c5ed548def269dc035d2345598f40813477b2b5d3a8d7487e37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 67686a3d6bb604299ee41e7de8d99d3dcfa783d3b5042e8891ecfc9dae7283ec
MD5 cd62cd9c0070f1f2b124f51f6d4e493d
BLAKE2b-256 614fd8813343c29fe6ad4a4bff0cc13738585d141d2f3e3dc54c8bbaa8e4a06b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 45eeb5bee4c5a1bc05bd53de527d3729b3ed87495a568693803550509155b20c
MD5 d92a1eec2503e3c5a1b3334a4d0049b5
BLAKE2b-256 b255473e5a2e67460fc0ba3fce933f020cd8796fea20fce0e280b1549777779e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4419532d10eeb607cb3feca3e361261c9a30eef6f2037d30a2af07b98348b98b
MD5 ca9534d5fc83c434390e449426b2cae0
BLAKE2b-256 6ed597eccf2656ce370b4ac1634d9698fcbeb6881ab8bd8dd7ad06106960f86c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba029f9a7c81417a45fc6e049d2275613170f71dec3e5edff1bde33131c0d51c
MD5 56f40a63f62aee1cde9f15937302a606
BLAKE2b-256 f0a23279e06c57d1df0312c990c6466b2c131fd80fac4b3a00107accd4351f67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3a8fd30123873216704253305a211e394be7b0700d16e9b3b5f726ff6ec71b40
MD5 2cbc4a7cb5cb7d32018e24ec4f2f8d8c
BLAKE2b-256 de0ffbeefc88850fd05f5b18d0dc12e2675d526d5b1346d2bd919e85eb9a1618

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0a4a11b8647fd8ecc4a74cb506d6e977d40afcd8804f4e12777c436d3e9c7d03
MD5 a7fa280db3bd147936f84e8828c3b149
BLAKE2b-256 cafcc171b6b96c0cb23282c9186ffa5a54ccfe93fa981b1721fd8359868420aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9287057b5cc3e8b06b96a59c68de751fe4cdb6eecb721f2c8504789c203476db
MD5 231b9990366066879248cabe5e31296e
BLAKE2b-256 6107ddfc0f829f4f4982ab8fc476268095be8d428cf9055301e74e667290e479

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4c3d8d7048d0722e622f94bcf005ca3762edfa9d7b40adbeaf224dee16d9e44
MD5 aa51309fda8d14310098c4d569c01cf9
BLAKE2b-256 94af79297ff3db1c30f625d0f0fcdbdc840921a3d94cef613bb593dee9e0ec07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c91de75cbd5c50d802dc037b4d00bff4181ee05470f4c63a6e25f1976881d55d
MD5 816717129839a999118070d5351fc066
BLAKE2b-256 33284340c054732ce87ff95afa1f7b971cfcc66f8b9c3acb54d97964c4a3db11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 5d5c6738b2d1fc81731e26d7f6cdfe4d84e48be3450038b606c41dcac06e7326
MD5 529c9dc2f133365937ae6e9dc8c95373
BLAKE2b-256 cdbdbd263c237092a9b9bd903385cc8df258213da369e142e089ee738e63272a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 883552abed2642ad8e15151effb1a7aef661d345de321045f756262878c0f057
MD5 7b0b95a575fb31448ab7825cddb05be8
BLAKE2b-256 dc2210d7b3385a5abbae71bcedac7718c5cbce242ebaaa293650e6a802344197

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f51d901a293054bd780bf9d20bc74fe59a73267985c989e5107e05f6c039ea6
MD5 bb209e696558bd78dfb36c0e25b3ea6c
BLAKE2b-256 12d3888294639fb3f9593ae26c7c0bca7753bf9f1715c858283acdd7f08c0a7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d391dff826ebd3b165b7bc301b35f2fa1e36edbf6b69a269e2696009118345b0
MD5 2cd698c1026dd97cb2d1a43cacf10231
BLAKE2b-256 9ddc09d67e9d1d597c2eb31d79a0947fc4a547239a1551ed7dc7f6d0b144514c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0db7c031699a663957946e8cbd53675e37a7f86b82dca9d93f05a1981e80d63d
MD5 cb1bd8770327982253a87837a73cf61d
BLAKE2b-256 86ab3cf751443c2d2a8f5f3344dbeb61fae3c4af00170d6688830aaabe851e7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 973cf92df1664e9792d2d105a69114ab1054999a86eace1acdab8ef902ce7e83
MD5 3d6472c0154e5363965c635ff0e04332
BLAKE2b-256 9ffd040b177f984a3fbb9213a8935ebd41b2c5b12a24ecd2f6d0c2d56e1be27d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7dcfab9c68117d20d53d7e9fc9c1880fa63f3a0315c3a15c837886aef97e891
MD5 5fa53057b8f0053fa7e686f7cc2afa9a
BLAKE2b-256 0d95fdb6c2a6b7665cbd10b4adcf533b4185d710bfbce8bf7cd224f61a1be284

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f51c8ce70517fc901c956d7a777317358799d2f44c454cb60a84c14caf399f4
MD5 b3fb1bded8423f105724c56487253d20
BLAKE2b-256 2482c97102165dff5c2d760193f4c418fd8740f1fdff499114804cf9dd16928e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a940e9ab96ea9d423b04001c0481c56060b38a18ac0daeb580d48a93e1b864ee
MD5 17b15472675af355c60d154e926a98a3
BLAKE2b-256 b8616c96e32def3e57e500b288b737fb63564c128b9eca23891d48ec6e007867

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f99ea178eeddd11bec77f35bcfcd9adfaf56115e797c5106aeaf5caf4b4a3ba
MD5 dc2e2da142530e60b84b41e54675e620
BLAKE2b-256 2719d310bd1923fe21971f8dc9919a426bb99d05b7d2f62893b781f869d18642

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90c0a0b4e1805365d9a5a5abef1073a574daa1b3476b1e52b1dc8f3a4d325616
MD5 a14c2a5466148247cb5c3348925368b4
BLAKE2b-256 e8e6b7dec84e1c6af8e11422ce9e1e94b597d4f512f984c2dcfaa9d9cee9be3e

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