Skip to main content

Reservoir Estimation of Capacity Loss using AI based Methods

Project description

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.

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

pyreclaim-0.4.0.tar.gz (64.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyreclaim-0.4.0-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

File details

Details for the file pyreclaim-0.4.0.tar.gz.

File metadata

  • Download URL: pyreclaim-0.4.0.tar.gz
  • Upload date:
  • Size: 64.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyreclaim-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7eb21e94af4977a00e549c2d5a91d2e29339bc1c2cb96ef90f82042d19d1fa7d
MD5 ad8d48b2aeb327a35b2df50c89c57a8f
BLAKE2b-256 c0d92ef632314b8affc5ffe9bf0db117f47962495451c22888f471fef762d83e

See more details on using hashes here.

File details

Details for the file pyreclaim-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: pyreclaim-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 57.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyreclaim-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f01230f46b7c4346028300fcb7a614d25235a62c27694d17f578f9a0530d3e8
MD5 c6aa7165beb12f10f17cafe05097cef5
BLAKE2b-256 3a09c4664208e85eb0aea86772661cdd30e15363abbf1b2ecba5fd555d54a4e5

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