HOLMES¶
HydrOLogical Modeling Educational Software
HOLMES is a web-based hydrological modeling tool designed for teaching operational hydrology. Developed at Université Laval, Québec, Canada.
Features¶
- Multiple Hydrological Models: GR4J (4 parameters) and Bucket (6 parameters) rainfall-runoff models
- Snow Modeling: CemaNeige degree-day model with multi-elevation band support
- Automatic Calibration: SCE-UA (Shuffled Complex Evolution) optimization algorithm
- Climate Projections: Run future scenarios with calibrated model parameters
- Interactive Interface: Real-time parameter adjustment and streamflow visualization
- High Performance: Rust-powered computational engine with Python integration
Quick Start¶
Install HOLMES:
Start the server:
Open your browser at http://127.0.0.1:8000.
Documentation Sections¶
-
Getting Started
Install HOLMES and run your first simulation in minutes.
-
User Guide
Learn how to use the web interface for calibration, simulation, and projection.
-
Concepts
Understand the hydrological models, calibration algorithms, and metrics.
-
Developer Guide
Architecture overview and API documentation.
Architecture Overview¶
HOLMES uses a three-tier architecture:
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Vanilla JavaScript, D3.js | Interactive web interface |
| Backend | Python, Starlette, Uvicorn | API routing, data loading, orchestration |
| Compute | Rust (holmes-rs), PyO3 | High-performance numerical models |
Communication between frontend and backend uses WebSockets for real-time updates during calibration.
License¶
HOLMES is released under the MIT License.