English | 中文
Water resource calculation toolkit — reservoir scheduling, pollution capacity, irrigation demand, water efficiency assessment, and more.
| All-in-one | Or try each tool standalone |
|---|---|
| https://hydro.tianlizeng.cloud | See links in the table below |
Upload your data, pick a tool, download the result. Zero setup. All tools include sample data for instant demo.
| Tool | What it does | Input | Output | Try it |
|---|---|---|---|---|
| Pollution Capacity | River/reservoir pollution capacity with tributary segmentation | Excel (flow + zone params) | Excel (monthly capacity) | Demo |
| Reservoir Scheduling | Multi-reservoir cascaded hydropower dispatch optimization | Excel (inflow + reservoir params) | Excel (daily schedule) | Demo |
| Water Efficiency | AHP + CRITIC + TOPSIS assessment for industrial parks | Excel (3-cycle indicators) | Excel (scores + ranking) | Demo |
| Water Annual Report | Query Zhejiang province water resource annual data (2019-2024) | Built-in CSV dataset | Excel/CSV export | Demo |
| Irrigation Demand | Paddy + dryland irrigation water balance simulation | TXT (rainfall + evaporation) | Excel (daily demand) | Demo |
| District Scheduling | Regional water allocation for 19 districts with sluice cascade | TXT (inflow + demand) | TXT/ZIP (balance results) | Demo |
| Geocoding | Batch geocoding/reverse geocoding via Amap API | Excel (coordinates/addresses) | Excel (results) | Demo |
| Rainfall Runoff | Lake irrigation demand from rainfall data (6-step pipeline) | TXT (rainfall + runoff) | CSV (hourly demand) | Demo |
| Risk Map Data | Risk map data table auto-filling (GeoJSON → Excel ETL) | GeoJSON + CSV | Excel (18+ sheets) | Demo |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
hydro-toolkit (Host) Plugins (git clone)
┌─────────────────┐ ┌──────────────────────┐
│ app.py │ │ hydro-capacity/ │
│ core/ │────▶│ hydro-reservoir/ │
│ plugins/ │ │ hydro-efficiency/ │
│ hydro-xxx/ │ │ hydro-annual/ │
│ hydro-yyy/ │ │ hydro-irrigation/ │
└─────────────────┘ │ hydro-district/ │
└──────────────────────┘
The Toolkit is a host shell with zero business logic. Each tool is an independent plugin discovered at runtime via plugin.yaml. You can use them in the Toolkit or run each one standalone.
| Plugin | Description | Repo | Standalone Demo |
|---|---|---|---|
| 🌊 Pollution Capacity | River/reservoir pollution capacity calculator | hydro-capacity | hydro-capacity.tianlizeng.cloud |
| ⚡ Reservoir Scheduling | Cascade hydropower scheduling optimizer | hydro-reservoir | hydro-reservoir.tianlizeng.cloud |
| 💧 Water Efficiency | AHP+CRITIC+TOPSIS assessment | hydro-efficiency | hydro-efficiency.tianlizeng.cloud |
| 📊 Water Annual Report | Zhejiang Province data query (2019–2024) | hydro-annual | hydro-annual.tianlizeng.cloud |
| 🌾 Irrigation Demand | Paddy + dryland water balance model | hydro-irrigation | hydro-irrigation.tianlizeng.cloud |
| 🗺️ District Scheduling | 19-district daily supply-demand balance | hydro-district | hydro-district.tianlizeng.cloud |
| 📍 Geocoding | Batch geocoding/reverse geocoding (Amap API) | hydro-geocode | hydro-geocode.tianlizeng.cloud |
| 🌧️ Rainfall Runoff | Lake irrigation demand from rainfall data | hydro-rainfall | hydro-rainfall.tianlizeng.cloud |
| Risk map data table auto-filling ETL | hydro-risk | hydro-risk.tianlizeng.cloud |
git clone https://github.com/zengtianli/hydro-toolkit.git
cd hydro-toolkit
pip install -r requirements.txt
streamlit run app.pyThen go to Plugin Manager in the sidebar and paste any plugin repo URL to install it.
- Open the Toolkit in your browser
- Click Plugin Manager (⚙️) in the sidebar
- Paste a GitHub URL (e.g.
https://github.com/zengtianli/hydro-capacity) - Click Install — the plugin appears in the sidebar immediately
- Python 3.9+ — calculation engine
- Streamlit 1.36+ — web interface (plugin-based navigation)
- pandas / numpy / scipy — data processing & numerical computation
- plotly — interactive charts
- openpyxl — Excel I/O
| Tool | Method |
|---|---|
| Pollution Capacity | One-dimensional steady-state model with tributary mixing: W = 31.536 × b × (Cs - C0×e^(-KL/u)) × (QKL/u) / (1 - e^(-KL/u)) |
| Reservoir Scheduling | Cascaded hydropower dispatch with water-level/storage interpolation (scipy) |
| Water Efficiency | AHP subjective + CRITIC objective weighting, combined via α slider, TOPSIS ranking |
| Irrigation Demand | Penman-Monteith ET₀ based paddy/dryland water balance with daily time step |
| District Scheduling | Daily water balance across 19 districts with dynamic equilibrium zones and sluice cascade |
See ARCHITECTURE.md for the full plugin specification, namespace package rules, and step-by-step guide.
Issues and PRs are welcome. Please open an issue first to discuss changes.









