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.2.0.tar.gz (4.1 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.2.0-py3-none-any.whl (70.8 kB view details)

Uploaded Python 3

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14Windows x86

earthkit_hydro-1.2.0-cp314-cp314-manylinux_2_28_x86_64.whl (413.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.2.0-cp314-cp314-macosx_11_0_arm64.whl (358.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

earthkit_hydro-1.2.0-cp313-cp313-win32.whl (231.5 kB view details)

Uploaded CPython 3.13Windows x86

earthkit_hydro-1.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (412.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.2.0-cp313-cp313-macosx_11_0_arm64.whl (358.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

earthkit_hydro-1.2.0-cp312-cp312-win32.whl (231.5 kB view details)

Uploaded CPython 3.12Windows x86

earthkit_hydro-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (412.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.2.0-cp312-cp312-macosx_11_0_arm64.whl (357.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

earthkit_hydro-1.2.0-cp311-cp311-win_amd64.whl (239.6 kB view details)

Uploaded CPython 3.11Windows x86-64

earthkit_hydro-1.2.0-cp311-cp311-win32.whl (231.3 kB view details)

Uploaded CPython 3.11Windows x86

earthkit_hydro-1.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (412.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.2.0-cp311-cp311-macosx_11_0_arm64.whl (360.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

earthkit_hydro-1.2.0-cp310-cp310-win_amd64.whl (239.8 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

earthkit_hydro-1.2.0-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.2.0-cp310-cp310-macosx_11_0_arm64.whl (360.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

earthkit_hydro-1.2.0-cp39-cp39-win_amd64.whl (241.6 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

earthkit_hydro-1.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (414.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

earthkit_hydro-1.2.0-cp39-cp39-macosx_11_0_arm64.whl (362.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Hashes for earthkit_hydro-1.2.0.tar.gz
Algorithm Hash digest
SHA256 a7f822434cd9acdf2fcc6fa6d7e08d7f26f868202f769cf8df8ed69673ecbb89
MD5 8f8e05162701c5318a16579b91b6a820
BLAKE2b-256 84f9f383bb4315e5213b8c058798fc9f9612b9852cdd1c8632dbbb8b55da130c

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a917fbfb695bd3f17f12622765cd11263075eacdf26ac3f0e62e6af4a61293c
MD5 68fd03a0e8ea37ac708536cfc77f8177
BLAKE2b-256 76a034a08220846e5bc548ae692131297f6414b330d472ac973b1d61829e583f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 344a12b020a2350d5b4391ec1364ccf94aff7ca2090226a87f1563109864e483
MD5 dbc3a91acbf1ab52264ca2e3dde9ae88
BLAKE2b-256 d233e455160591375ab85ce037648e1fd393ff7ee33000f555dd1a456671bf79

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 d1db302e3f5ffe02be60b18ae2d8acf8c7f209d68bc7b5f661a6fcbd804014cc
MD5 5b82ce94d2bc4611e3c41d4f32edb834
BLAKE2b-256 97923f4b6da679dda6ef496de60e0819676813d8ab526df8a9acd5dfc4129d42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 107a38b7058f0b3e0cc03f30b69e080ac27ca98dd6a195ebfb1955ad6275c003
MD5 44b2b23b930f8e09c123f939d23d642b
BLAKE2b-256 af74de101bbdaf0143a9035ca1619dec47f2171775a9841ec0079877fc6ae3d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e5ba1030e3ac5ffcac1cd299a1b34358ee04be23e63413be1eda20509e531fd
MD5 fe0f8be802d77551f079b87e010834ef
BLAKE2b-256 fb3b5e871e534d6ce976d39d9e15e5f2f0c297fffef2a43016a53caf1e6b24c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4766d64f9371043b5fc4613686e83f7630f32ae418860b553d12f0f258b10eec
MD5 f56e9ff50ea75dee5ac75d86912af9f6
BLAKE2b-256 e3d15a3158974f06282e978d071ffa44396626c57cf7f1836f8b2ea7f8615e44

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 45fb84dafe1208ea48414933111ba7edb1b0f28c88e42de584e2d1a200464d91
MD5 5e35135b95c910204fd1be65bb2c3fa3
BLAKE2b-256 f5fb9b290510bddf9dd0ef055419770f84145d0e94fcf0250914f0e4e338844b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e2ccaca24900ad773c976827991a8b99957f01dea93c122d49f8b832dd5bddb5
MD5 35c29a68e513b3cb762a2c8884816218
BLAKE2b-256 1f634946a91f4cb4e961c764c096c08e6aa690ad11f2cc77c4fb83f6e09f638f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6259d1dd76da1c151d7723c702cb05078d97b8f7e6c359faf945dac0f9639e1
MD5 eb9bdf47a9a83a0238ad367e0a1677ed
BLAKE2b-256 3a0cce9bf2ab4821c0e06116c0918ccee0d2d14bac07f74ce79367743536ac2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 74b33428bda556ac48baa4fca738804d0393094c67a942162bacfa4b367c10ac
MD5 482ea41d8016afaab43c23e1fc347383
BLAKE2b-256 f57d99ee772814d7fa1e817df4d63fa6f8a9ac36c195f93a085e485b03efa834

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 11519effd9e6818d5932ac5e4502f8402b781d2516a7ec99c8778ee9cdbb1626
MD5 f22fe06acc7681fb97d584e4f89b6740
BLAKE2b-256 b243b123ea0c47747d24c07956ea03fa967ec7f63bcfe224304e7d55f9313192

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6832a4cbd460bd8d4616c9a442a1a6669aaee40fefc2f5953c29716946cef381
MD5 d5dccf291171eb8250685e364c25a6f3
BLAKE2b-256 00b70bc40ecc0f5745daf1be3e9bed80f8db8357f342cafed0ba5ae6db7f658f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb1e9b1b0a11ebf3e1f46a0fd0d90e0eed3764eb92c137d0e8a24c8cc9e860e9
MD5 91c3673225832bea1861f7d6c717f6a8
BLAKE2b-256 37ee60774efc0c2624811872209d4f222b37adf99333a3aad014a8e8aa941e02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 63abecb3faeaafd3d4b95548539a48f8bb14fd3977e67e866da1c963bb2768c2
MD5 d90ac01b918527a8b9eece177c674974
BLAKE2b-256 02ccd8d9bdfda17bca0588b8be3ab38308625914f56aa5241200474889fdb3ef

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c29a02d8a40677a5974138ef254e947fb4d3afdee903108289687c68fd9a1c30
MD5 a74650e7216bd3c3fe377c4af85e2313
BLAKE2b-256 182259d4ee5be2fa238f38de497b749c1ae32099584c4cc135d20388fd9b9718

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d84f112702cb8baacb28b3fb75266aaa59d93a8fa625cbc1d0011b10b030fbce
MD5 401026654942614fe093f4caceb796c2
BLAKE2b-256 3a78ca5397e7d215a0545ccc8313c9e624dc5ad4cac60cc93e09fbcdccf2646b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffe38af0edcb2a647a3aa3891f85a55304375931123f16534aa71ff088969e59
MD5 769f00954dc284cbd445c4c48fe8a18b
BLAKE2b-256 4f46086459c06afb84213fadba5e73987d6ce2e5e92f1c2f515a864238fc3a47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 81fce4192f3edc1c89c44264d9c9cb7cca439dc47da8bac7b5d553d976f4e02d
MD5 7f5b8c1f5d7fe44afaae52623d8085c8
BLAKE2b-256 225a143ab4c15ffc88aebe19898b0830afa0d2f9405140f3cb8f9a454aef51ee

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 49d1e6042254faf5d5ff54fa4f50009d314152cbc8554faeb9d9514b58629ee4
MD5 1af7f5e5cdabb7e493f5bcc1c3d00fa3
BLAKE2b-256 af2ef6d6a36c5a623fba28002eafca270d6b9891389cc9692553012c5c86d1b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 434808b2f39593862be0fdbc0422708d65dfb5297e8740c815cc2210c3cb986e
MD5 0f1c2f65cc8f7ef5cc127ca3c1801eb6
BLAKE2b-256 7855e12698cbc4dc5c44e15e8318b8e0677c3d9eca114f0e9e72184d885343a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecdcfa4aa866a94ebe07dbc6458356f8e8fe8ac6af50bb6f95c7509788043c9e
MD5 4622dae2f5b37b6f9826af3fa7f8b32c
BLAKE2b-256 f7950fb3cb5427244158e937db81901fbd5327788f495c0d00408f5248182474

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 39ddbd519221344f4dc242a48859eef2ee494ebc3631acb879c38c435e3c4a5f
MD5 749fdc6593d735e7bafb46d8a6f68248
BLAKE2b-256 eb20e9ddb128085238ae69fd39e9fd5a6ba4fa3dfe9f639dec79d9735c854ee8

See more details on using hashes here.

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

Hashes for earthkit_hydro-1.2.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 0c101bb96a5338d8c3ad265b5d8bbf89cb8f8411e555b823306ebc6f10f604ab
MD5 d8455f7cf55a3dfe579267e87cba60fd
BLAKE2b-256 3482cbcf1b0c88807c2921806397dca63140f4dac559509e9735b15d88b89ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a6550989b5891eaf1c15e16d87b0250937b606362bdeb927de16c10b71f5369
MD5 a01f88817afcf47c00fd0d8cbdef529a
BLAKE2b-256 e1aef094472fd0be5a6211c20f779b862a7046b5abc858946f8878688c729998

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_hydro-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e525ded3bff50e6b1d138f79c90eec3ad70dc9455384560b7b82fc1d95df10c7
MD5 8b99f3d36a9ed22d98b99e7842d5c9d7
BLAKE2b-256 f3e745aeb173861c6d76116cf537fddcbd4a3090b74b2757c52b297828d96145

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