🌤️ Visumeteo : Analyse climatique et confort extérieur à partir de fichiers EPW
Application de visualisation de données météorologique au format epw

Cette application web regroupe dans une même interface des fonctions d’exploration
climatique, solaire, aéraulique et de confort extérieur à partir de fichiers météo au
EPW. Elle a été conçue comme un outil de pré-analyse pour les phases amont de
conception, avec un positionnement intermédiaire entre la simple visualisation météo
et la simulation microclimatique détaillée.
L’application permet de charger un fichier local ou de sélectionner une station issue
de l’index Climate.OneBuilding
, puis d’appliquer des filtres globaux de mois et de
plages horaires avant de produire plusieurs familles d’analyses. Le volet confort
extérieur repose sur le calcul d’indices biométéorologiques UTCI et PET, enrichis
par une estimation simplifiée de la température radiante moyenne (MRT) et par la prise
en compte d’un matériau environnant majoritaire.
Principe d’utilisation :
- Selectionner une station météorologique.
- Chargement de la donnée,
- Exploration des onglets,
- Exports des graphiques.
🗂️ Données d’entrée et préparation
L’application manipule des fichiers EPW (EnergyPlus Weather) représentant une année
météorologique horaire. En pratique, l’outil s’appuie majoritairement sur des fichiers
TMYx (Typical Meteorological Year) fournis par Climate.OneBuilding
, mais il
accepte également tout fichier EPW fourni par l’utilisateur.
Le flux de préparation des données est le suivant :
- lecture du fichier texte
EPW; - extraction des métadonnées de station : nom, pays, latitude, longitude, fuseau ;
- lecture des colonnes horaires utiles, notamment :
Dry Bulb Temperature,Relative Humidity,Atmospheric Station Pressure,Global Horizontal Radiation,Direct Normal Radiation,Diffuse Horizontal Radiation,Wind Speed,Wind Direction; - reconstruction d’un index horaire annuel ;
- ajout de colonnes dérivées utiles aux analyses : jour de l’année, heure, étiquette de date, jour/nuit, saison ;
- application optionnelle de filtres globaux : sélection de mois et plage horaire, y compris les plages qui franchissent minuit.
Un point important est que l’année est reconstruite sur une année de référence unique, ce qui facilite les traitements et les représentations sans introduire d’ambiguïté sur les pas de temps.
📊 Analyses proposées
L’application ne se limite pas au confort. Elle regroupe quatre familles d’analyses qui partagent les mêmes données filtrées :
Température / humiditémoyennes journalières, moyennes mensuelles, journées types par mois, heatmap annuelle horaire.<img src="/images/web_apps/visumeteo/vm_2.webp" alt=“Onglet Température et Humidité” style=“width:80%; margin-left:10%”;/>
Solaire / rayonnementcumuls mensuels, journées typesGHI/DHI, héliodon et heatmap annuelle du rayonnement global horizontal.
Ventroses des vents globales24h / jour / nuitet roses saisonnières.Confort extérieurcalcul deUTCIouPET, visualisation continue ou catégorielle, comparaison de quatre scénarios d’exposition, statistiques d’inconfort et comparaisons saisonnières.
Cette organisation permet de garder la météo comme base commune et de lire le confort comme une conséquence combinée de la température de l’air, du vent, du rayonnement et de certaines hypothèses de surface.
Visuel à intégrer ici : capture de l’onglet confort avec les quatre scénarios
☀️ Logique de calcul du confort extérieur
L’onglet confort calcule quatre situations types, pensées comme des cas limites de projet :
WS: vent et soleil ;WNS: vent et ombre ;NWS: abri au vent et soleil ;NWNS: abri au vent et ombre.

Le calcul repose sur trois ingrédients principaux :
- un champ météo issu du fichier
EPW; - une estimation du
MRTselon l’exposition solaire et le matériau majoritaire ; - un calcul d’indice de confort
UTCIouPET.
Indices calculés
Deux indices sont proposés :
UTCI(Universal Thermal Climate Index) indice de stress thermique extérieur, relativement rapide à calculer, utilisé par défaut dans l’application ;PET(Physiological Equivalent Temperature) indice exprimé en degrés équivalents, plus coûteux numériquement car fondé sur une résolution physiologique non linéaire.

Le calcul des deux indices est délégué à la bibliothèque pythermalcomfort
, avec quelques hypothèses pratiques :
- la pression atmosphérique
EPWest convertie dePavershPapour le calculPET, - la vitesse d’air piéton est obtenue à partir de la vitesse météo par la relation : $$v_\text{piéton} = \left(\frac{1.5}{10}\right)^{0.15} \cdot v_\text{météo}$$
- un scénario “sans vent” est représenté par une vitesse imposée de
0.15 m/s, - pour le calcul
UTCI, la vitesse est bornée à0.5 m/safin de rester compatible avec le domaine usuel du modèle ; - pour le calcul
PET, la vitesse minimale retenue est0.1 m/s.
Indicateur d’inconfort
Sous les graphiques de confort, l’application affiche un indicateur d’inconfort fondé sur :
- le nombre d’heures au-dessus d’un seuil ;
- la somme des dépassements horaires en
°C.h.
Les seuils retenus sont :
UTCI > 32°C;PET > 29°C.
Cet indicateur ne constitue pas une grandeur réglementaire ; il sert surtout à comparer rapidement des situations relatives entre scénarios, saisons ou matériaux.
🌡️ Calcul simplifié du MRT
Le MRT est ici traité comme une grandeur reconstruite à partir du fichier météo, et
non comme le résultat d’une simulation géométrique détaillée. L’approche retenue reste
volontairement légère pour conserver des temps de calcul compatibles avec une
application interactive.
Composantes prises en compte
Le calcul distingue :
- le court-onde direct ;
- le diffus du ciel ;
- le réfléchi par l’environnement proche ;
- une contribution longwave liée à la température de surface estimée.
La position solaire est calculée à partir de pvlib en utilisant la latitude, la
longitude et l’index temporel du fichier. À partir de là, l’application calcule :
- $\text{flux}_\text{ortho} = \dfrac{\text{DNI}}{\sin(\text{élévation})}$ ;
- un facteur de projection simplifié du corps : $f_\text{proj} = 0.233 \cdot \cos(\text{élévation}) + 0.067$ ;
- le flux court-onde en situation ensoleillée : $SW_\text{sun} = \text{flux}_\text{ortho} \cdot f_\text{proj} + 0.5 \cdot \text{DHI} + 0.5 \cdot \text{albedo} \cdot \text{GHI}$ ;
- le flux court-onde en situation ombrée : $SW_\text{shade} = 0.5 \cdot \text{DHI} + 0.5 \cdot \text{albedo} \cdot \text{GHI}$.
Le soleil direct n’est pris en compte que lorsque DNI > 1 W/m² et que la hauteur
olaire dépasse 3°. En dehors de cette condition, le MRT au soleil retombe sur la
température de l’air, ce qui évite d’introduire un effet solaire parasite à l’aube, au
crépuscule ou en l’absence de faisceau direct exploitable.
Formulation retenue
Le MRT est ensuite reconstruit par combinaison d’une base radiative atmosphérique
simplifiée et des flux additionnels :
avec :
- $\alpha = 0.7$ : absorptivité solaire du corps ;
- $\varepsilon_\text{human} = 0.95$ : émissivité radiative du corps ;
- $\sigma = 5.67 \times 10^{-8}\ \text{W/m}^2\text{/K}^4$ : constante de Stefan-Boltzmann.
Ce calcul n’a pas vocation à reproduire finement une configuration urbaine réelle. Il fournit une estimation cohérente pour comparer des ordres de grandeur et tester l’effet relatif de l’ombre, du vent et des matériaux.
🧱 Matériaux et modèle 1R1C
Une particularité de l’outil est d’introduire un matériau environnant majoritaire dans
le calcul de confort. Dans l’état actuel du code, 15 matériaux sont proposés,
couvrant plusieurs familles :
- asphaltes et enrobés ;
- dalles béton ;
- revêtements alvéolaires ;
- grès et calcaires ;
- gazons verts ou secs.
Chaque matériau est défini par trois paramètres :
- un
albédo; - une
émissivité; - une
classe d'inertiequalitative.
Dans la base actuelle, les valeurs d’albédo s’étendent d’environ 0.05 à 0.68, les
émissivités de 0.91 à 0.98, et trois classes d’inertie sont disponibles :
faible: $C_\text{eff} = 80\,000\ \text{J/m}^2\text{/K}$moyenne: $C_\text{eff} = 180\,000\ \text{J/m}^2\text{/K}$forte: $C_\text{eff} = 320\,000\ \text{J/m}^2\text{/K}$
Pourquoi un modèle 1R1C ?
Le modèle 1R1C retenu est un compromis. L’objectif n’est pas de simuler finement la
stratification thermique d’un matériau multicouche, mais de représenter, avec un coût
très faible, deux effets utiles au confort extérieur :
- l’effet instantané du matériau sur les échanges court longueur d’onde, via l’albédo,
- l’effet retardé de stockage et de restitution, via une température de surface dynamique.
Dans cette logique :
1Rreprésente ici une résistance d’échange simplifiée entre la surface et l’air, principalement via un coefficient convectif ;1Creprésente une capacité thermique surfacique efficace, c’est-à-dire la quantité d’énergie stockable par unité de surface et par degré.
Équation implémentée
La température de surface Tsurf est calculée heure par heure à partir de la
température d’air et du rayonnement global horizontal :
avec :
- $SW_\text{abs} = (1 - \text{albedo}) \cdot \text{GHI}$
- $LW_\text{net} = \varepsilon \cdot \sigma \cdot (T_\text{surf}^4 - T_a^4)$
- $h_c = 8\ \text{W/m}^2\text{/K}$
Le schéma temporel est explicite :
$$T_\text{surf}(t + dt) = T_\text{surf}(t) + \frac{dt}{C_\text{eff}} \left[SW_\text{abs} - h_c \cdot (T_\text{surf} - T_a) - LW_\text{net}\right]$$et l’initialisation est fixée à :
$$T_\text{surf}(t_0) = T_a(t_0)$$Quelques garde-fous numériques sont ajoutés dans le code :
- le pas de temps est déduit de l’index horaire, puis borné entre
300 set7200 s; - la température de surface est plafonnée à une bande autour de
Tapour éviter les dérives numériques dans les cas extrêmes.
Couplage avec le MRT
Une fois Tsurf estimée, l’application calcule un flux longwave net de surface :
Ce terme est réinjecté dans le calcul du MRT, au soleil comme à l’ombre. On obtient ainsi une chaîne causale simple :
- l’albédo modifie l’absorption radiative à court terme ;
- l’inertie module l’échauffement et le déphasage de
Tsurf; Tsurfmodifie à son tour la contribution radiative longwave ressentie par l’usager.
Cette architecture permet de faire apparaître des différences de confort entre matériaux sans recourir à un modèle de sol complet.
Visuel à intégrer ici : schéma de principe du modèle 1R1C et du couplage vers
MRT
⚙️ Hypothèses et simplifications à garder en tête
L’application repose sur plusieurs hypothèses structurantes :
- le fichier météo est une année typique
TMYx, et non une chronique exhaustive de conditions extrêmes ou d’occurrences rares ; - le vent est issu du fichier
EPW, donc représentatif à une échelle climatique, pas nécessairement à l’échelle micro-locale ; - l’ombre est modélisée par suppression du direct solaire, sans géométrie explicite de masque ;
- le scénario “abri au vent” n’est pas simulé par CFD ou par coefficient d’abri local, mais par une vitesse résiduelle imposée ;
- le
MRTest reconstruit à partir de flux agrégés, sans modèle détaillé de vues, de facteurs de forme ou de morphologie urbaine ; - le matériau environnant est résumé à un matériau majoritaire unique ;
- le modèle
1R1Creprésente une surface équivalente et non une paroi réelle multicouche.
Ces simplifications sont cohérentes avec la finalité de l’outil : comparer vite, tester des sensibilités et orienter des choix de conception en phase amont.
🧭 Cas d’usage pertinents
L’application est particulièrement utile pour :
- comparer rapidement plusieurs climats ou plusieurs stations ;
- identifier des périodes critiques de chaleur ou d’inconfort ;
- tester l’effet relatif de l’ombre, de l’abri au vent et des matériaux de sol ;
- nourrir une réflexion de conception urbaine ou architecturale avant une étude plus détaillée.
Elle n’a en revanche pas vocation à remplacer :
- une étude microclimatique locale géométriquement résolue ;
- une simulation énergétique réglementaire ;
- une expertise de vent ou de rayonnement à l’échelle fine du projet.
🛠️ Implémentation
L’application est développée en Python avec le framework Dash
.
Les principales bibliothèques mobilisées sont :
PandasetNumPypour le traitement des données,pvlibpour la position solaire,pythermalcomfortpour les indicesUTCIetPET;Dash Bootstrap Componentspour la mise en page et les inputs utilisateurs,Dash Leafletpour l’affichage de la cartographie,
Le choix d’une architecture légère permet de conserver un temps de réponse compatible avec un usage exploratoire, tout en donnant accès à des hypothèses de calcul explicites et modifiables.