Install
openclaw skills install @ruiduobao/geoskill-reservoir-capacity-changeEstablish level-area-storage relationships from multi-period water surface, DEM, and water level data. Monitor reservoir capacity change and sedimentation trends. Use when analyzing reservoir storage changes, estimating current capacity, or detecting sedimentation from area-level curve shifts.
openclaw skills install @ruiduobao/geoskill-reservoir-capacity-changeCombines multi-period water surface extent, DEM, and water level data to establish level-area-storage relationships, monitoring capacity change and sedimentation trends.
Use when the user wants to:
# Synthetic demo mode (no input files needed)
python scripts/reservoir_capacity_change.py --output-dir ./rcc-output
# With input DEM GeoTIFF
python scripts/reservoir_capacity_change.py \
--dem ./data/reservoir_dem.tif \
--water-levels ./data/water_levels.csv \
--output-dir ./rcc-output
# With bounding box for area computation
python scripts/reservoir_capacity_change.py \
--dem ./data/dem.tif \
--bbox 116.0 39.5 116.5 40.0 \
--output-dir ./rcc-output
# With vertical datum specification
python scripts/reservoir_capacity_change.py \
--dem ./data/dem.tif \
--dem-datum WGS84 \
--water-level-datum WGS84 \
--confidence 0.99 \
--mc-iterations 1000 \
--output-dir ./rcc-output
| Parameter | Default | Description |
|---|---|---|
--dem | None | Path to DEM GeoTIFF |
--water-levels | None | Path to water levels CSV (date, level columns) |
--reservoir-boundary | None | Path to reservoir boundary GeoJSON/Shapefile |
--place | None | Place name for AOI lookup |
--bbox | None | Bounding box: xmin ymin xmax ymax |
--aoi-file | None | Path to AOI geometry file |
--start-date | None | Start date (ISO 8601) |
--end-date | None | End date (ISO 8601) |
--dates | None | List of dates |
--curve-method | trapezoidal | Curve method: trapezoidal, prism |
--reference-level | None | Reference elevation level (m) |
--dem-error | 5.0 | DEM vertical RMSE (meters) |
--water-level-error | 0.3 | Water level measurement error (meters) |
--water-body-error | 1.0 | Water boundary delineation error (pixels) |
--mc-iterations | 500 | Monte Carlo iterations |
--mc-seed | 42 | Monte Carlo random seed |
--confidence | 0.95 | Confidence level for uncertainty |
--dem-datum | None | DEM vertical datum |
--water-level-datum | None | Water level vertical datum |
--output-dir | ./rcc-output | Output directory |
| File | Description |
|---|---|
area_level_curve.csv | Elevation-area relationship |
storage_curve.csv | Elevation-area-storage curve |
storage_timeseries.csv | Storage time series |
water_extent_timeseries.csv | Water extent time series |
uncertainty.json | Monte Carlo uncertainty analysis |
request.json | Analysis request metadata |
dataset-manifest.json | Dataset inventory |
output-manifest.json | Output file inventory |
qa.json | Quality assurance checks |
| Method | Description | Formula |
|---|---|---|
| trapezoidal | Area by pixel counting, storage by trapezoidal integration | V(h) = integral of A(h) dh |
| prism | Direct prism summation per pixel | V(h) = sum(max(h - DEM_i, 0)) * pixel_area |
Counts pixels with elevation <= water level, multiplied by pixel area. Handles both projected and geographic CRS (latitude correction).
For each inundated pixel, computes water depth = level - elevation, then sums depth * pixel area across all inundated pixels.
Computes area at each level, then integrates using trapezoidal rule: V(h_i) = V(h_{i-1}) + (A_i + A_{i-1}) / 2 * dh
Area and storage curves are enforced non-decreasing by cumulative maximum.
Propagates DEM vertical error, water level measurement error, and water boundary delineation error through Monte Carlo simulation. Produces confidence intervals at each elevation level.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Argument error |
| 3 | Dependency missing |
| 6 | Data validation failure |
| 7 | Processing failure |
本 skill 可自动从 Microsoft Planetary Computer 下载数据 (无需 API key):
python reservoir_capacity_change.py --bbox 116,39,117,40 --date-range 2024-06-01,2024-06-30 --output-dir <tmp>
--bbox W,S,E,N: WGS-84 边界框 (西, 南, 东, 北)--date-range START,END: 日期范围 (YYYY-MM-DD,YYYY-MM-DD)--aoi-file <path.geojson>: 替代 --bbox 的 GeoJSON 多边形--cache-dir <path>: 缓存目录 (默认 ~/.geoskill_cache)当用户只给 --bbox + --date-range (没有 --dem) 时,skill 自动下载数据。
当用户给 --dem 时,走原文件路径 (向后兼容)。