Aller au contenu

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) :

pip install holmes-hydro

Lancer le tableau de bord :

holmes run

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.

Liens