Skip to content

Piyush-T31/Lake_breeze_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 Comparing Lake-Breeze Simulations between WRF and Pangu-Weather / Comparaison des Simulations de Brise de Lac

Language | Langue: 🇺🇸 English | 🇫🇷 Français


🇺🇸 English Version

Author: Piyush Teeloku
Email: teelokup@gmail.com
GitHub: @Piyush-T31


📄 Overview

This repository presents a comparative study between two weather prediction models—WRF (Weather Research and Forecasting) and Pangu-Weather, an advanced deep learning model—focused on simulating lake-breeze effects and their influence on convective storms over Southern Ontario.


📌 Objective

To assess how lake-breeze circulations impact convective storm development, and to evaluate the strengths and limitations of traditional NWP (WRF) and DLWP (Pangu-Weather) models in simulating these mesoscale phenomena.


🌊 Case Study

A storm event on May 20, 2024 was analyzed:

  • Storm tracks were evaluated using ECCC radar data.
  • Specific lake-breeze effects around Lake Huron, Lake Erie, Lake Ontario, and Lake St. Clair were examined.

Figure: Radar snapshots from 6 p.m. to 12 a.m. UTC (May 20, 2024)

📍 Figure: Radar snapshots from 6 p.m. to 12 a.m. UTC (May 20, 2024)


🛰️ Methodology

WRF Model Setup

  • 3 nested domains (1.0 km resolution for innermost domain)
  • Input: ERA5 reanalysis data
  • Simulation Period: May 20, 00:00 UTC to May 21, 06:00 UTC
  • Spin-up Time: 12 hours
  • Output Interval: 30 minutes

WRF nested domain 📍 Figure: WRF nested domain setup
WRF T2 ws10 📍 Figure: WRF surface temperature at 2m and wind field plots at 10 m
WRF w500 ws500 📍 Figure: Vertical wind plot at 500 m with wind field plots at 500 m

Pangu-Weather Model

  • DL model using 3D Earth-Specific Transformer (3DEST)
  • Trained on 43 years of ERA5 data
  • Uses hierarchical temporal aggregation (1h, 3h, 6h, 24h models)
  • Inference performed using ONNX models on both CPU and GPU

pangu transformer 📍 Figure: Diagram of the 3DEST architecture

Inference Pipeline (Python)

# Run the inference session
# Initialize inputs for all models
hourly_upper_outputs = []
hourly_surface_outputs = []
input_6 , input_surface_6 = input , input_surface
input_1, input_surface_1 = input , input_surface
  for i in range (24): # 1- day forecast with hourly timesteps
      if (i + 1) \% 6 == 0: # Every 6 hours run the 6- hour model
       output , output_surface = ort_session_6 . run(None , {’input ’: input_6 , ’
       input_surface ’: input_surface_6 })
       input_6 , input_surface_6 = output , output_surface
      else: # Otherwise , run the 1- hour model
       output , output_surface = ort_session_1 . run(None , {’input ’: input , ’input_surface ’: input_surface})
# Aggregate outputs
   input , input_surface = output , output_surface # Use the 1 - hour model output as the base
# Append to lists
hourly_upper_outputs . append ( output )
hourly_surface_outputs . append ( output_surface )
# Convert lists to arrays
hourly_upper_outputs = np. array ( hourly_upper_outputs ) # Shape : (24 , ...)
hourly_surface_outputs = np. array ( hourly_surface_outputs ) # Shape : (24 , ...)
# Save the results
np. save (os. path . join ( output_data_dir , ’ hourly_upper_outputs . npy ’),
hourly_upper_outputs )
np. save (os. path . join ( output_data_dir , ’ hourly_surface_outputs .npy ’),
hourly_surface_outputs )

📊 Results

Variable Validation

  • Pangu-Weather’s temperature and wind forecasts were visually and statistically close to ERA5 reanalysis
  • Mean Absolute Error (MAE) and Root Mean Square Error (RMSE) were used for evaluation

t2 mae gif 📍 Figure: Global temperature at 2m - Pangu vs ERA5 at the end of simulation (H-24)

t2 mae gif 📍 Figure: Hourly MAE for global temperature at 2m

Local Station Comparison

  • Data from London Weather Station (43.03°N, 81.15°W and 278 m elevation) was used
  • Compared T2 and WS10 from observations vs WRF and Pangu-Weather
  • WRF-GFS matched afternoon temperatures best; Pangu underestimated wind peaks
Wind speed at 10m Temperature at 2m
ws10 london t2 london

📍 Figure: Wind speed at 10m and temperature at 2m plots compared to London station data

rmse 📍 Figure: RMSE plots comparing Pangu-Weather station and WRF to London Weather station (T2 and WS10) and ERA5 data (U, V and T at 925 hPA)

Lake-Breeze Structure Comparison

  • Both models captured lake breeze onset (~16:00 UTC), peaking around 19:00 UTC
  • WRF showed finer lake breeze effects due to higher spatial resolution
  • Pangu-Weather showed strong convergence zones consistent with radar, despite lower resolution
T at 2m with 10m winds (WRF) T at 2m with 10m winds (Pangu)
ws10 london t2 london

📍 Figure: T2 and wind at 10 m over Southern Ontario (WRF vs Pangu)

div 500 london

📍 Figure: Divergence for Pangu-Weather over Southern Ontario at 925hPA (~500 m)

✅ Conclusion

  • Pangu-Weather is a promising, cost-effective DLWP model with competitive accuracy compared to WRF.

  • WRF, though computationally expensive, provides higher-resolution and more physically constrained simulations.

  • The lake-breeze did contribute to storm intensification, and both models demonstrated this to varying extents.

  • Key takeaways include the importance of initial conditions, physical parameterizations, and spatial resolution.

🇫🇷 Version Française

🌀 Comparaison des Simulations de Brise de Lac entre WRF et Pangu-Weather

Auteur : Piyush Teeloku
Email : teelokup@gmail.com
GitHub : @Piyush-T31


📄 Aperçu

Ce dépôt présente une étude comparative entre deux modèles de prévision météorologique — WRF (Weather Research and Forecasting) et Pangu-Weather, un modèle avancé d’apprentissage profond — axée sur la simulation des effets de brise de lac et leur influence sur les orages convectifs en Ontario méridional.


📌 Objectif

Évaluer comment les circulations de brise de lac influencent le développement des orages convectifs, et analyser les forces et limites des modèles NWP (WRF) traditionnels et DLWP (Pangu-Weather) pour simuler ces phénomènes à méso-échelle.


🌊 Étude de Cas

L’événement orageux du 20 mai 2024 a été analysé :

  • Les trajectoires des orages ont été étudiées à l’aide des radars d’ECCC.
  • Les effets spécifiques de brise de lac autour des lacs Huron, Érié, Ontario et St. Clair ont été examinés.

Images radar

📍 Figure : Images radar de 6 p.m à 12 a.m UTC (20 mai 2024)


🛰️ Méthodologie

Configuration WRF

  • 3 domaines imbriqués (résolution de 0.5 km pour le plus interne)
  • Données d’entrée : GFS Final Analysis et ERA5
  • Période de simulation : 20 mai 00h00 UTC au 21 mai 06h00 UTC
  • Spin-up : 12 heures
  • Sortie toutes les 30 minutes

WRF nested domain 📍 Figure : Configuration des domaines WRF WRF T2 ws10 📍 Figure : Température de surface WRF à 2 m et champs de vent à 10 m WRF w500 ws500 📍 Figure : Vent vertical à 500 m avec champs de vent à 500 m

Modèle Pangu-Weather

  • Modèle IA basé sur le transformer spécifique à la Terre 3D (3DEST)
  • Entraîné sur 43 ans de données ERA5
  • Utilise une agrégation temporelle hiérarchique (modèles de 1h, 3h, 6h, 24h)
  • Inférence réalisée avec ONNX sur CPU et GPU 3dest 📍 Figure : Schéma du modèle 3DEST

Script d’Inférence (Python)

# Run the inference session
# Initialize inputs for all models
hourly_upper_outputs = []
hourly_surface_outputs = []
input_6 , input_surface_6 = input , input_surface
input_1, input_surface_1 = input , input_surface
  for i in range (24): # 1- day forecast with hourly timesteps
      if (i + 1) \% 6 == 0: # Every 6 hours run the 6- hour model
       output , output_surface = ort_session_6 . run(None , {’input ’: input_6 , ’
       input_surface ’: input_surface_6 })
       input_6 , input_surface_6 = output , output_surface
      else: # Otherwise , run the 1- hour model
       output , output_surface = ort_session_1 . run(None , {’input ’: input , ’input_surface ’: input_surface})
# Aggregate outputs
   input , input_surface = output , output_surface # Use the 1 - hour model output as the base
# Append to lists
hourly_upper_outputs . append ( output )
hourly_surface_outputs . append ( output_surface )
# Convert lists to arrays
hourly_upper_outputs = np. array ( hourly_upper_outputs ) # Shape : (24 , ...)
hourly_surface_outputs = np. array ( hourly_surface_outputs ) # Shape : (24 , ...)
# Save the results
np. save (os. path . join ( output_data_dir , ’ hourly_upper_outputs . npy ’),
hourly_upper_outputs )
np. save (os. path . join ( output_data_dir , ’ hourly_surface_outputs .npy ’),
hourly_surface_outputs )

📊 Résultats

Évaluation des variables

  • Les prévisions de température et de vent de Pangu-Weather sont proches des données ERA5
  • MAE et RMSE utilisés comme métriques d’évaluation

t2 globale 📍 Figure : Température globale à 2 m – Pangu vs ERA5 à la fin de la simulation (H-24)

mae t2 📍 Figure : MAE horaire pour la température globale à 2 m

Comparaison avec la Station de London

  • Données de la station météo de Londres (43.03°N, 81.15°O avec une élevation de 278 m)
  • Comparaison des T2 et WS10 avec les modèles WRF et Pangu
  • WRF-GFS reproduit mieux les températures diurnes ; Pangu sous-estime les pics de vent
Vitesse du vent à 10 m Température à 2 m
ws10 london t2 london

📍 Figure : Comparaison des courbes de la vitesse du vent à 10 m et de la température à 2 m avec les données de la station de London

rmse
📍 Figure : Courbes du RMSE comparant Pangu-Weather et WRF à la station météo de Londres (T2 et WS10) et aux données ERA5 (U, V et T à 925 hPa)

Structure de la Brise de Lac

  • Les deux modèles capturent l’apparition (~16h00 UTC) et le pic (~19h00 UTC) de la brise
  • WRF montre des effets plus fins grâce à sa résolution
  • Pangu capte les zones de convergence en accord avec les observations radar
Température à 2 m avec vent à 10 m (WRF) Température à 2 m avec vent à 10 m (Pangu)
ws10 london t2 london

📍 Figure : Température à 2 m et vent à 10 m sur le sud de l’Ontario (WRF vs Pangu)

div 500 london

📍 Figure : Divergence pour Pangu-Weather sur le sud de l’Ontario à 925 hPa (~500 m)

✅ Conclusion

  • Pangu-Weather est un modèle DLWP prometteur et efficace, avec une précision compétitive face à WRF.

  • WRF fournit des simulations plus fines mais coûteuses en ressources.

  • La brise de lac a contribué à l’intensification de l’orage ; les deux modèles l’ont représentée de manière cohérente.

  • Le choix des conditions initiales, des schémas physiques et des résolutions est crucial pour simuler la méso-échelle.

📚 References

  • WRF v4.1: Skamarock et al. (2019)

  • Pangu-Weather: Bi et al. (2022, 2023)

  • ERA5 Data: Hersbach et al. (2020)

  • Environment and Climate Change Canada (ECCC) Radar & Weather Station Data

📁 Files Included

🧠 Future Work

  • Explore other DL models like GraphCast

  • Extend evaluation to more storm cases

  • Improve microphysics schemes in WRF

  • Incorporate real-time forecasting setups

🔗 Links

This work was conducted as part of a research initiative focused on operational mesoscale weather forecasting and deep learning applications in atmospheric science.

About

Using High-Res WRF and Pangu-Weather AI-based weather model to investigate lake breeze effect on storms over Southern Ontario, doing a comparison between both models.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages