Skip to main content
Reservoir Estimation of Capacity Loss using AI-based Methods

Reservoir Estimation of Capacity Loss using AI-based Methods (RECLAIM)


First-of-its-kind globally scalable tool to predict reservoir sedimentation, screen vulnerable reservoirs, and pinpoint those struggling the most.

RECLAIM (Reservoir Estimation of Capacity Loss using AI-based Methods) is a globally scalable machine learning framework to predict absolute sedimentation rates in reservoirs using observed records and multi-decadal satellite-based Earth observations.

It is the first-of-its-kind tool to:

  • Rapidly assess sedimentation risk
  • Provide scalable predictions across diverse climates and geographies
  • Enable cost-effective screening to prioritize reservoirs for detailed surveys
  • Support decision-making for mitigation interventions where they are most needed

Note: RECLAIM is designed as a screening tool, not a replacement for field surveys. It helps guide where and when to act first.


Installation

Install the package via pip:

pip install pyreclaim

Download Data

To generate features for reservoirs using the RECLAIM framework and the pyreclaim Python package, you will need the global datasets.

You can download all required global datasets from the Zenodo Repository:

Download Global Datasets

These datasets include land cover, soil, terrain/DEM derivatives, and vegetation gain/loss data, which are essential for computing reservoir and catchment features for RECLAIM.


Documentation

The documentation is available here.


Quick Start / Example Workflow

This example shows generating features, loading the pretrained model, predicting sedimentation rates, and evaluating results.

from reclaim.generate_features import create_features_per_row
from reclaim.reclaim import Reclaim

# Step 1: Generate features for a reservoir
reservoir_static = {
    "obc": 150.0,
    "hgt": 45.0,
    "mrb": 4030033640,
    "lat": 25.6,
    "lon": 81.9,
    "reservoir_polygon": reservoir_polygon,
    "aec_df": aec_df
}

catchment_static = {
    "ca": 1200,
    "dca": 50,
    "catchment_geometry": catchment_geom,
    "glc_share_path": "data/glc.nc",
    "hwsd2_path": "data/soil.nc",
    "hilda_veg_freq_path": "data/veg.nc",
    "terrain_path": "data/terrain.nc"
}

features = create_features_per_row(
    reservoir_static_params=reservoir_static,
    catchment_static_params=catchment_static,
    observation_period=[2000, 2020]
)

# Step 2: Load pretrained RECLAIM model
model = Reclaim()
model.load_model()  # loads XGBoost, LightGBM, CatBoost, and metadata

# Step 3: Predict sedimentation rates using ensemble
pred_sr, weights = model.predict(features, return_weights=True)

# Step 4: Inspect predictions
print(pred_sr)
print(weights)

# Step 5: Evaluate (if ground truth available)
y_true = [...]  # replace with true sedimentation rates
metrics = model.evaluate(features, y_true)
print(metrics)  # {'RMSE': ..., 'MAE': ..., 'R2': ...}

Citation

If you use RECLAIM in your work, please cite:

Minocha, S., Hossain, F., Zhao, J., & Istanbulluoglu, E.
RECLAIM: A Globally Scalable Machine Learning Framework to Predict Reservoir Sedimentation and Capacity Loss from Satellite-based Earth Observations (Submitted to Environmental Modelling and Software (EMS)).


License

RECLAIM 3.0 is distributed under the GPL v3 license. You may copy, distribute, and modify the software as long as you track changes/dates in source files. Any modifications or software including GPL-licensed code must also be made available under GPL along with build & install instructions.
For more information, see LICENSE.

Metadata

Release files for pyreclaim 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyreclaim 0.6.0
File Size Uploaded
pyreclaim-0.6.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyreclaim 0.6.0
File Interpreter ABI Platform
pyreclaim-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / pyreclaim-0.6.0.tar.gz

Download URL pyreclaim-0.6.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
80f6858cffe412b94f9205f15bdfbb82f1d21a3a29c5269f6e9b85945ba512b4
BLAKE2b-256 checksum
How to use checksums
109a941e26054f90e9af425293d3633fcb5067910e45f3899a2fb2360663cfe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / pyreclaim-0.6.0-py3-none-any.whl

Download URL pyreclaim-0.6.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ab94da1b7241f7c835a8b7a3c3a67f3af2ac2e76b3198b204d890e4dec5f5ae2
BLAKE2b-256 checksum
How to use checksums
bde62e1798cf9adf56be4e98d13ec9540eb34e5f804327fdd7114f26e18b6e34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page