Physics-Informed Neural Networks for Climate Modeling
This repository implements a Physics-Informed Neural Network (PINN) approach to climate modeling, combining deep learning with physical constraints from fluid dynamics. The model is trained on ERA5 climate reanalysis data and predicts near-surface temperature and wind patterns while respecting fundamental physics principles derived from the Navier-Stokes equations.
By incorporating physics-based constraints, the model maintains physical consistency while delivering accurate predictions, even in complex climate scenarios.
Neural network incorporating Navier-Stokes equations as physics constraints to ensure physically consistent predictions that respect fluid dynamics principles.
Several model architectures with progressive improvements, from basic implementation to advanced neural network-based Reynolds number estimation.
Training on comprehensive climate reanalysis data with multiple variables including geopotential, temperature, wind patterns, and geographical constraints.
Generate animated temperature and wind field maps with prediction analysis, error visualization, and uncertainty quantification.
The Climate-PINN consists of several key components:
The repository includes several model variants with progressive improvements:
git clone https://github.com/enzolvd/PINN_Climate.git
cd PINN_Climate
conda create -n climate_pinn python=3.12
conda activate climate_pinn
pip install -r requirements.txt
python train.py \
--model=model_2 \
--experiment_name=climate_run_1 \
--hidden_dim=64 \
--initial_re=100.0 \
--nb_years=10 \
--train_val_split=0.8 \
--physics_weight=0.5 \
--data_weight=1.0
python video_gen.py # For animated visualizations
python image_gen.py # For static comparison images
If you use this code in your research, please cite:
@misc{louvard2025climatepinn,
author = {Louvard, Enzo},
title = {Climate-PINN: Physics-Informed Neural Networks for Climate Modeling},
year = {2025},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/enzolvd/PINN_Climate}}
}