HOLMES¶
HydrOLogical Modeling Educational Software
HOLMES est un outil web de modélisation hydrologique conçu pour l'enseignement de l'hydrologie opérationnelle. Développé à l'Université Laval, Québec, Canada.
Fonctionnalités¶
- Pipeline de modélisation guidé : stations → météo → modèle → calage → simulation → projection, avec une carte interactive des stations — chaque étape est documentée dans le guide d'utilisation
- Vingt modèles hydrologiques : de GR4J à SACRAMENTO, tous documentés dans la section concepts
- Modélisation de la neige : modèle degré-jour CemaNeige avec bandes d'altitude multiples
- Calage automatique : algorithmes d'optimisation SCE-UA et DDS
- Projections climatiques : scénarios ClimEx et ESPO-G6-R2 téléchargés par station
- Haute performance : moteur de calcul en Rust intégré à Python
Démarrage rapide¶
Installer HOLMES (Python ≥ 3.12) :
Lancer le tableau de bord :
Ouvrir le navigateur à http://127.0.0.1:8000.
Au démarrage, le serveur télécharge le jeu de données préconstruit depuis la release data du dépôt, donc aucun identifiant n'est nécessaire.
La ligne de commande fournit aussi holmes experiment pour lancer des expériences de calage en lot; holmes download et holmes package sont des commandes de mainteneur pour reconstruire et empaqueter les jeux de données.
Guide d'utilisation Concepts Journal des modifications
Aperçu de l'architecture¶
HOLMES repose sur une architecture à trois niveaux :
| Niveau | Technologie | Rôle |
|---|---|---|
| Frontend | JavaScript vanilla, D3.js, Leaflet | Interface web interactive |
| Backend | Python, Starlette, Uvicorn | Routage de l'API, chargement des données, orchestration |
| Calcul | Rust (holmes-rs), PyO3 | Modèles numériques haute performance |
La communication entre le frontend et le backend passe par des WebSockets pour des mises à jour en temps réel pendant le calage.
Licence¶
HOLMES est publié sous la licence MIT.