Skip to content

AquaScope v0.4.0 — first PyPI release

Choose a tag to compare

@Rekin226 Rekin226 released this 17 May 06:24
· 32 commits to main since this release

🚀 AquaScope v0.4.0 — first PyPI release

The first public PyPI release. Install with:

pip install aquascope

For everything (ML, viz, spatial, dashboard, forecasting):

pip install "aquascope[all]"

✨ What's in this release

New modules

  • 🌊 Hydrology (aquascope.hydrology) — Bulletin 17C flood frequency (GEV, LP3, EMA, non-stationary GEV), Lyne-Hollick + Eckhardt baseflow separation, flow duration curves, 22 hydrological signatures, rating curves with HEC-RAS export, CAMELS benchmarking
  • 🌾 Agriculture (aquascope.agri) — FAO-56 Penman-Monteith ET₀, Hargreaves ET₀, crop water requirements for 20 crops, irrigation scheduling, soil water balance with auto-irrigation, WaPOR productivity workflows
  • 🌍 Groundwater (aquascope.groundwater) — GRACE satellite data, well monitoring, recharge estimation, aquifer hydraulics
  • 🌡️ Climate projections (aquascope.climate) — CMIP6 scenario analysis, statistical downscaling, PDSI
  • 🚨 Alerts (aquascope.alerts) — WHO / EPA / EU WFD threshold checking

New data collectors (14 total, all unified to one schema)

  • 🇪🇺 EU Water Framework Directive
  • 🇯🇵 Japan MLIT
  • 🇰🇷 Korea WAMIS

New statistical & ML methods

  • Bayesian UQ — conjugate linear, polynomial, Metropolis-Hastings MCMC with Gelman–Rubin R̂
  • Copula analysis — Gaussian, Clayton, Gumbel, Frank (AIC-selected)
  • Change-point detection — PELT, CUSUM, Pettitt, binary segmentation
  • Model ensembles — weighted, stacking, adaptive
  • Transfer learning — donor selection via signature similarity for ungauged basins
  • 7 auto-executable analysis pipelines

Other

  • AI agent + planner for multi-step research workflows
  • 534 tests across all modules, benchmarked against CAMELS
  • JOSS paper submission (paper.md, paper.bib)
  • 7-page interactive Streamlit dashboard
  • 14-command CLI

📋 Quick start

from aquascope.api import flood_analysis

result = flood_analysis(daily_discharge, method="gev", return_periods=[10, 50, 100])
print(result.return_levels)

See the full example list in the README — 7 examples covering flood frequency, baseflow, multi-source collection, FAO-56 crop water, AI recommender, change-point + copulas, and Bayesian regression with UQ.


📚 Documentation


🙏 Contributing

We welcome contributions — especially new data sources and research methodologies. See CONTRIBUTING.md and join Discussions.


Full changelog: CHANGELOG.md