🌤️ Visumeteo : Analyse climatique et confort extérieur à partir de fichiers EPW

Application de visualisation de données météorologique au format epw

▶️ Accès à l’application 🔗

Interface principale de l'application Visumeteo

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 :

  1. Selectionner une station météorologique.
  2. Chargement de la donnée,
  3. Exploration des onglets,
  4. 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 :

  1. lecture du fichier texte EPW ;
  2. extraction des métadonnées de station : nom, pays, latitude, longitude, fuseau ;
  3. 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 ;
  4. reconstruction d’un index horaire annuel ;
  5. ajout de colonnes dérivées utiles aux analyses : jour de l’année, heure, étiquette de date, jour/nuit, saison ;
  6. 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 / rayonnement cumuls mensuels, journées types GHI / DHI, héliodon et heatmap annuelle du rayonnement global horizontal.

    Onglet Rayonnement Solaire
  • Vent roses des vents globales 24h / jour / nuit et roses saisonnières.

  • Confort extérieur calcul de UTCI ou PET, 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.
Onglet Confort Extérieur — quatre scénarios d'exposition

Le calcul repose sur trois ingrédients principaux :

  • un champ météo issu du fichier EPW ;
  • une estimation du MRT selon l’exposition solaire et le matériau majoritaire ;
  • un calcul d’indice de confort UTCI ou PET.

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.
Onglet indices de confort UTCI et PET

Le calcul des deux indices est délégué à la bibliothèque pythermalcomfort , avec quelques hypothèses pratiques :

  • la pression atmosphérique EPW est convertie de Pa vers hPa pour le calcul PET,
  • 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/s afin de rester compatible avec le domaine usuel du modèle ;
  • pour le calcul PET, la vitesse minimale retenue est 0.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 . 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 :

$$\text{MRT} = \left[\left(T_a + 273.15\right)^4 + \frac{\alpha \cdot SW + LW_\text{surf}}{\sigma \cdot \varepsilon_\text{human}}\right]^{1/4} - 273.15$$

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'inertie qualitative.

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 :

  • 1R représente ici une résistance d’échange simplifiée entre la surface et l’air, principalement via un coefficient convectif ;
  • 1C repré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 :

$$C_\text{eff} \cdot \frac{dT_\text{surf}}{dt} = SW_\text{abs} - h_c \cdot (T_\text{surf} - T_a) - LW_\text{net}$$

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 s et 7200 s ;
  • la température de surface est plafonnée à une bande autour de Ta pour é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 :

$$LW_\text{surf} = \varepsilon \cdot \sigma \cdot \left(T_\text{surf}^4 - T_a^4\right)$$

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 ;
  • Tsurf modifie à 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 MRT est 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 1R1C repré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 :

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.