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.1.0.tar.gz (3.9 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.1.0-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

earthkit_hydro-1.1.0-cp314-cp314-win_amd64.whl (246.1 kB view details)

Uploaded CPython 3.14Windows x86-64

earthkit_hydro-1.1.0-cp314-cp314-win32.whl (234.1 kB view details)

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl (416.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp314-cp314-macosx_11_0_arm64.whl (357.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

earthkit_hydro-1.1.0-cp313-cp313-win_amd64.whl (240.5 kB view details)

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.1.0-cp313-cp313-win32.whl (230.2 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl (415.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp313-cp313-macosx_11_0_arm64.whl (357.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

earthkit_hydro-1.1.0-cp312-cp312-win_amd64.whl (240.3 kB view details)

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.1.0-cp312-cp312-win32.whl (230.2 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (416.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (357.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.1.0-cp311-cp311-win_amd64.whl (239.9 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.1.0-cp311-cp311-win32.whl (230.2 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (416.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (359.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.1.0-cp310-cp310-win_amd64.whl (239.1 kB view details)

Uploaded CPython 3.10Windows x86-64

earthkit_hydro-1.1.0-cp310-cp310-win32.whl (230.3 kB view details)

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (415.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (359.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

earthkit_hydro-1.1.0-cp39-cp39-win_amd64.whl (240.8 kB view details)

Uploaded CPython 3.9Windows x86-64

earthkit_hydro-1.1.0-cp39-cp39-win32.whl (231.9 kB view details)

Uploaded CPython 3.9Windows x86

earthkit_hydro-1.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (417.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (361.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file earthkit_hydro-1.1.0.tar.gz.

File metadata

  • Download URL: earthkit_hydro-1.1.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for earthkit_hydro-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2badaaff54e32c9a6a671c6dc787a67ef0c9e2c4d94980c07cbd37ea05836f4b
MD5 6ba0eee98e1a2f4cdfdc875cd341708b
BLAKE2b-256 5be4f3859c8f1a8067456ca027f525db0d9118955023c0ddd55ea207f743ebe2

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 67.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for earthkit_hydro-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9dd2a744b38a4f0fa515ffef0e646bc27dd4ebef5cdb428b25c4a08eeeaaed41
MD5 e187a0b985443831b5570430e9db7fdd
BLAKE2b-256 09a4c35a64d381db55791663cfeaad0e0d5d05f4ade108bc3110d67e1b96dc66

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ef517a9e64ce49d1e99be0eda03bd14f5f7a058858e5f4098aa4c064409be480
MD5 2d7f2a904fc4d22bfe788a2be3a0add0
BLAKE2b-256 bb4fc977b0b8ec67b7eaff83ab1fdf879385baa6774f941fbb5851431036101f

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 234.1 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for earthkit_hydro-1.1.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 a0d03f5ccb132a8af529e276877bdc8b388a4910c5b21425bf8bf3ec1a10a230
MD5 be0278c5b2842e1b766a6c17e4b6a1de
BLAKE2b-256 2f0a4eac3e122d29999ef6f47c125453e8ed8fd1061b348555115ebbb42fd0a1

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 512439c4e3d9e644dddab290454a1bac43626e1ea6925b1dfc791eaa5d08aa8a
MD5 56d1c4323053c0f85655a5990d8e188a
BLAKE2b-256 de331188519644a369fc325d18e5bf43e6b808422388d42bf7d8cae87dfc805a

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e0f648e3f7bf5041b411a017366fadba87af1c7286ff9644f9cef4823977402
MD5 a0fc8367c2a853a0e9a06c88a162812a
BLAKE2b-256 45a7e161b1aae19b77df9bbbe75c14e52ba0762214bf9745c0306f4afdf5c2a3

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9de34af73b503ae30990202843a092482b07dc4df57309c8686a18a2b33d46c4
MD5 55217470cb0274c4323796bd5cbdf187
BLAKE2b-256 db56bb46667951e23ba41017e5c34d1696022b064617ec9c2778fba94a6a4baf

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 230.2 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for earthkit_hydro-1.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 da91f9d9eb69d7514b2ef2fe8ea163e04163af4fbb83d8c4c969b1a7606b04cc
MD5 85c98550c1af1b2196f0ce16e6dfe7f1
BLAKE2b-256 6b80d7e652d4b420cb6c2f8445aad3a79d2eb8b19ca3e23960fedc564febd1db

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2cdc49d22a87354626c1170cb36cc4fa12f9c3def42abf8f4851aeff109ca8d
MD5 33b77e3d1be2652867f70c2679b6da6c
BLAKE2b-256 95c1b4347690023adf564c53c09dd64470e8f3201efe6b613bff1216db72575e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 077fd50e367644c0cf88bf043337afb27657207f5cb7af27b1a26af51ac8406b
MD5 563c2a332e1874aa7cbb205b7e3187a9
BLAKE2b-256 c0f11c0d23570cd7673a67f033d500b0453fc8ce498129e13a9cb1c36d22866e

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ee7a55992d4de26a62128a3e72b20502362a1d6bba5d839ac4b2bd1f5742a98a
MD5 91506faae97c0ad6f9c157ef792da888
BLAKE2b-256 00ae91aa23ac3490ff27cebc015fcf659040ce0a05774b71eb43241f93214dce

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 230.2 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for earthkit_hydro-1.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6f143b9ce8a5d7e622a391076e7586426b0897711a2c4799d9614ed8646c3eb0
MD5 fa0c3f1bef05479d609e045578d73ef7
BLAKE2b-256 e3f95354a7281b3becf010ed9f380ab699bac6bc911c609a69a2b624eeff17c6

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5349bbe4f5e00187b1769e2e505a6429ffc00156e5d00cccce42df68cd47f0a
MD5 492737c5c69206228a3e9de58afc04de
BLAKE2b-256 0f8dc569b8ec773e8a74980783c5d4f9bcd87a48d02f7e89df10bd1c498110a1

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f84b42ebc697150045ee0255eff609eedfe9718330b021ec610e48c7b1f5f73d
MD5 1befe75ffaa953737996cdc78427ce98
BLAKE2b-256 0c5a43e4398e2f73c758168e8c9b44c8e722ce136770a7cd8ccc3ba083ca09a6

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e5283d40869e25384a767b4cff928b30cdfbe3995c9d4ce2e9ae86865f39805c
MD5 2fd58123012e2b8e8f3db87997c29e05
BLAKE2b-256 4ed9edc2c400b84d6249ed2c216a57931c7b2884435f94837abbdbda796a7907

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 230.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for earthkit_hydro-1.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 00e81e0cff8f9a241ab141e6e42305ae66004f6ad9fff7c12926214d1dfa745b
MD5 4994ed0365ded9ce050850c645a75215
BLAKE2b-256 7a039e49fdb59c584a312f5295a89c0e78d95412e9e27fd1ab88b6f3dd477540

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5abfe62cbf7a849db33f5c000ea148d6d55df1744dc729c70bbd9ed45b4c51b5
MD5 cadf26949a80168f6ee951f787983d01
BLAKE2b-256 9692c0a7d00a51450a91cbd639aa9ae7072cc07f51dd5708ef809cf71221721f

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9213b757e4fcc7bf418601bb739689d1dcfd42cdbda28d917c838836650281c
MD5 061a630ebf07917767f20108e1dbb680
BLAKE2b-256 a1e3cd033f515b9e7a7f30db55fa40bdc6cdac112cae1b8576136fd20e0d349b

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 67bfc31908e9a6a7d638723702702254f5cbf3d31841fc62345b8e1b354ae059
MD5 01e3d68b05d473088d6e5ddd5ace4135
BLAKE2b-256 d2f42ad52a832b2e4c64817b5f23e1aa734d4105577af9518f105fdd190cd039

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 230.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for earthkit_hydro-1.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 ab106d406a03d07ac274908943751f4f2cd03c10b8be368b5bddd0e37a434348
MD5 191cc537308a9dee4d0283c9f6cefb9f
BLAKE2b-256 2a5f71f833e783af81e68cfc9bc7ac20625a4b6aa3227c21c3a967edf7ae1421

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 69c48639272c5f87b139fbf61a812d061376130143f56deb40cd709d99d85e8f
MD5 f9a7e4045775ea81b38f254adba9d056
BLAKE2b-256 9d8d05d2207c47c42c39b12a5e6ff06fad03b53196f5301621449d1b02fc00fc

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48818da27b6857f81b888466466bc8366533716dcd169ce849257ed5ebffb000
MD5 0cac4e66e575b0d1ca2c3b78f6f5b9d9
BLAKE2b-256 6331568ec18ceb8e743fc47d86f0caed43a51b9aa171ed96cb98307dd44edd0c

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cb10de6166229fb014e6655e2739080fedb090f4665d4e860cdcc0c930cbba82
MD5 124f7d47bb3e5427c9e623d141fd4bac
BLAKE2b-256 c3f6b788abc29eccb2d2fbd2f4b9ee797cc669e8dcabd6c41ccad0913e8f76e8

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: earthkit_hydro-1.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 231.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for earthkit_hydro-1.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 957c03ed65cb2c1addcfdc792ea95138b0b7badd9e2aa1e289026d55b21b3132
MD5 a7ee43b6a7c57c72b0fa9ffded3173e6
BLAKE2b-256 8687da4f5113f083de3a53a64686dc2c1eb175e95679e690a578839a9af31108

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd4f4c5741f3889bdf13cd735acb09184874f5826689cb91c0729962aca6b055
MD5 d9529a443b894252c3c90f97ba63b0f5
BLAKE2b-256 071a1659a85800053931a63c427914568a645fdaa0b80ff3b4017b32d8ef580c

See more details on using hashes here.

File details

Details for the file earthkit_hydro-1.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for earthkit_hydro-1.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1c35ff62d69f330e60d61e8fa0eda677c70230c4d727a19f5ebdb8e4a1449fe
MD5 b357459afea02d7102523922b766246a
BLAKE2b-256 7821f9494e3fc8e39f00c745ba97376632cd86b132eacfa0496c8c284b80c7ce

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