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

Uploaded Python 3

earthkit_hydro-1.3.0rc0-cp314-cp314-win_amd64.whl (246.0 kB view details)

Uploaded CPython 3.14Windows x86-64

earthkit_hydro-1.3.0rc0-cp314-cp314-win32.whl (235.6 kB view details)

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.3.0rc0-cp314-cp314-manylinux_2_28_x86_64.whl (413.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp314-cp314-macosx_11_0_arm64.whl (358.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc0-cp313-cp313-win_amd64.whl (240.2 kB view details)

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.3.0rc0-cp313-cp313-win32.whl (231.2 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.3.0rc0-cp313-cp313-manylinux_2_28_x86_64.whl (412.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp313-cp313-macosx_11_0_arm64.whl (358.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc0-cp312-cp312-win_amd64.whl (240.4 kB view details)

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.3.0rc0-cp312-cp312-win32.whl (231.4 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.3.0rc0-cp312-cp312-manylinux_2_28_x86_64.whl (412.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp312-cp312-macosx_11_0_arm64.whl (357.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc0-cp311-cp311-win_amd64.whl (239.5 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.3.0rc0-cp311-cp311-win32.whl (230.7 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.3.0rc0-cp311-cp311-manylinux_2_28_x86_64.whl (412.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp311-cp311-macosx_11_0_arm64.whl (360.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc0-cp310-cp310-win_amd64.whl (240.2 kB view details)

Uploaded CPython 3.10Windows x86-64

earthkit_hydro-1.3.0rc0-cp310-cp310-win32.whl (231.0 kB view details)

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.3.0rc0-cp310-cp310-manylinux_2_28_x86_64.whl (412.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp310-cp310-macosx_11_0_arm64.whl (360.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

earthkit_hydro-1.3.0rc0-cp39-cp39-win_amd64.whl (242.1 kB view details)

Uploaded CPython 3.9Windows x86-64

earthkit_hydro-1.3.0rc0-cp39-cp39-win32.whl (232.7 kB view details)

Uploaded CPython 3.9Windows x86

earthkit_hydro-1.3.0rc0-cp39-cp39-manylinux_2_28_x86_64.whl (414.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.3.0rc0-cp39-cp39-macosx_11_0_arm64.whl (362.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for earthkit_hydro-1.3.0rc0.tar.gz
Algorithm Hash digest
SHA256 7e61c2e3f6c629c5f16f9fc47fb901c923eba17645daf214de513d689c7b3fa6
MD5 3629da863447250180052b36788dfc75
BLAKE2b-256 91b410dcadd12da91368db1b1dd0acc283d63d9ebfad2cd85534566103c4219a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 20d88e1664e12ce4c436cd9557eb69f95b5ffd7f9f139633db07c7ea7d82b8a2
MD5 257c83ef70a8d4801b192d8a6d26fe49
BLAKE2b-256 2c55f53f6c6f1df45a5568151ada23623684053a48135e8c8958e53cef056a5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 19589655d58c94665c5f5ca21afe6bb273fd03a1e687c26630208e9b8dec4ce1
MD5 c912e4a0c30d70446254d63a1fa335ad
BLAKE2b-256 d6eea70e6c929df169398a352a49d484c74584a1159729962106f880c8cd0b1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 3e3e612eb60faab6fd0cc7ab6db199f9fada8e130dab2488c8d4246569894cda
MD5 1213fcff52f76dc6bcddf9e8e86f6d50
BLAKE2b-256 44726cd48d845a63cfb8b21e1462b805555de877455f85456cfbb524b7671725

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9471bd12ec7b5cfc203a903095756e5afa09576255600cd5171e38cf96bca635
MD5 e36c42a11c241f82f5954f817a2eb216
BLAKE2b-256 b3abfe4ed5814827a4fa9726a195b7220446bbb82d7782cc55e092fa2beace65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1204c1d16e5941b376fb854afe9d1c54bad4654f9cf868fb0d4956fd4eb943a
MD5 59112105971c0f04e368186daeebe234
BLAKE2b-256 9f0319e0e411f29916aa64c0d6f70b628900e79d29c46714888bf045d6b7e493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5bcb445519cc5d33fad541234c6157d3a2b066e869261d5759f518a251bc9d30
MD5 46f56f514cbfd1e693678430e132b012
BLAKE2b-256 fe27310286e945db1119627ef2ac8b04a291859337acf7ef8f6c9882f4e07e80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 1d4a2886c7bacaf0b18e92e1ad01dc763a5e4c2400b3b9a3038c6c555c62a321
MD5 1c45d2ec1b8713542182f0fd12a2b0db
BLAKE2b-256 0f0051c40fce94a014231d345b4c19a654d330126450881417f03ff7e3c81b11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bdb98516ab4d28e80f5adeeba4e625d3ee335228b3e07b342bf98b517c0c74f4
MD5 b67715d9db34c8865e54a642bff8a495
BLAKE2b-256 2eedd981fbcc83f2e5ad667ad2cab99dfcc880da58f56f9cd364fd43e6d5f04e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36be38a820637a3b395ccc2c55a627b5d9b2a0bf2d57fcefef70ae1dfe7ec855
MD5 28015d219b7bebce17e716a560cbfe38
BLAKE2b-256 c38434bc592af495cc35b97825b8d845837e27bb38a077ed477bdc85d3e2cbfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 54b84ffca06bab3acfd61bcfd43bb30c8c3ea2d6c28a75bf9746eee2bd95161a
MD5 e5fb15162070b6a3bb07ddd74deaaafc
BLAKE2b-256 e950decda9eba031e35954bb829b9600bf7ba5298f209bf400fabcf8e814fdf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 9631d5e6b9223521acf1907a9c91a704d0287736352ddaefd3d1a78574ffc52e
MD5 63630ac9c0d2b4904c42cb69b9777e83
BLAKE2b-256 2738f255caea72af4dceebef60b2aba4cd72a03c2146242bc0891f7414b6af4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d8d8142e567b2c5aa09f7f4042b16740bb2a0ebc8f196599bcb3ceed32cc232
MD5 81a827811c95c1915f169000e3db25a2
BLAKE2b-256 5772adcb8c80160d3c0524952564174efd8968eba794f12346542c165273127f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65f83079bfeb12bcf8b14a82b86133c318cce11d644afc36a92baf798c672306
MD5 cb81c1654f2489a6732c7c34ea0e7289
BLAKE2b-256 e54ca47edd37b120b25c18dfda0a404d6578a966272b2bedd1932994f184e63c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2931d19d034e38860653415dad57c8fd70298dd49368a620348f01c977691d3e
MD5 1a88b9fbbdb7e3bc7d83874515be7ce8
BLAKE2b-256 426bdab9c08dcf8ea64d0fc5f8b29e98a168c8089caf485485a61771d6cdd74a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d50fdde1113e7656fecfbe54117cccd37f697bba746a4dd65df05b8cdcbcd9ed
MD5 8f249bb3d5410a33ff846361366773ac
BLAKE2b-256 8d8031e47c38991cb39780aeda47cd2e47241c8ef9f55e2c5f7d386a703d5d43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3e990746c45f177115afe88dfa18ce124c0d8a2fcaee3ea618726ed19c1e3a1
MD5 c45ee9d7242eb5f4b2d36b4c7427494f
BLAKE2b-256 d9e11d2c590fa63121847fb6f9ac00b7a5a4e8b2bd79c8fadc515fdcad9a59a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 763450df77637432443c38430831dfd891134e0dd8c0d6e594287fe7d1749617
MD5 307a137bafebc327884831603609d573
BLAKE2b-256 25cf8c26086442f46f48281c245a9f9b87b7e3b91a067029ff73a6b9cd0d202e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2ce181e3d7b01809dd51bd0307c85649cb5939044ffd9eec66b625e95847cca0
MD5 ad6e5195f14efb4c1036530318b228f7
BLAKE2b-256 ff659241be0bd474b3120cbe2061aeb0bffe76a4a0a20fb9dd07aa3b76816444

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b69328e15123d2ed221d2fc2b9f2d6536abe2cbc8fc27672235fb5ca9ce05643
MD5 13801556993c8365f8adb450a8401ee5
BLAKE2b-256 4f82e874bad7c9576162b7363c23a80dffc08449bb0b17d6d4aaf7af88744690

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17a201caff66815bc7dfd8b3f1e3e27468a50fe022f256fb552f486927db9606
MD5 7782fad3f29137acb2480069e5ff6e76
BLAKE2b-256 fda306ea6ca2e1f973990bd8ab55834e5a570733b869c8095125b8d75afb0611

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 106164976f9f3ba02a05094eec79b30291cdc29dc0b22a1f2efe4c3301fe05a9
MD5 eefa4cd75e27755c2b756d70ed6d4dc0
BLAKE2b-256 fb1270c3fa340908eff2eb33391e97d98dba0e074d33b48cca00f3b3c3960f5b

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 449ce382012235957c1baefb881306dd54d0a339eb135a204c428d2f11565310
MD5 b9c284794ff0f7e2a8cfbbc8eb3cec54
BLAKE2b-256 61d734679ae845e6351a4379daa55d3d2c68cace07e47c45b6ff642eb0e18496

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc0-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a44a69471d2451ee99e5676d638e5c879fdedd5bbda4c8de99e4d57e0376cb5e
MD5 20e1856c762e6b2a2a568d7eec01573a
BLAKE2b-256 cb4215c4b3d24e9ce364e948c89bb0aa49b6f4dedce250a2f75494d8f36480ed

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c80e5d16740be72302970affbd2dcb37959e30fd17cc4c2d0a4e6df3f2cdeb1
MD5 3d56d311e62254432481084b6a364b80
BLAKE2b-256 2269b64e3c2d4d7ce7fc35ffad31f702cbf1ffee9a80640e40e8575b1507b8e7

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.3.0rc0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.3.0rc0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c211711a4c8b9986fa6dafe1513122344826d5dec9305df06700de6a869dfb3
MD5 35c96e73458119200b42c2924b3a1887
BLAKE2b-256 b30b9831df6a3812600c34f906a80b11c28863895cbbd4bc22b3b078e6fc0b2e

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