This repository contains the implementation of NADE (Neural Advection-Diffusion Equation), a novel deep learning approach for climate modeling as described in our paper "Climate Modeling with Neural Advection-Diffusion Equation".
NADE combines the advection-diffusion equation with neural networks to model climate systems. Key features include:➡️ NADE is the successor to our previous model, Neural Diffusion Equation (NDE). Please refer to the NDE GitHub repository and paper for more details.
💡 To see other papers from BigDyL, please visit BigDyL homepage or awesome-bigdyl to see the list of papers with links to papers and code.
🔎 If you're interested in the application of reaction-diffusion equations to graph neural networks for node classification tasks, we recommend checking out our GREAD (Graph Neural Reaction-Diffusion Networks) model. GREAD explores a comprehensive set of reaction equations in combination with diffusion processes, offering potential benefits in mitigating oversmoothing and handling varying levels of graph homophily. For more details, please refer to the GREAD GitHub repository and paper.
- Edge weight learning to model diffusion coefficients and flow velocities
- Neural network-based uncertainty modeling
- Integration with the advection-diffusion equation
Feature | NDE | NADE |
---|---|---|
Base Equation | Diffusion Equation | Advection-Diffusion Equation |
Physical Processes Modeled | Diffusion | Advection and Diffusion |
Edge Weight | Learning Heat capacity generation | Diffusion coefficients and velocities |
Uncertainty Modeling | ✓ | ✓ |
NADE builds upon the success of NDE by incorporating advection processes, allowing it to model a wider range of climate phenomena with improved accuracy.
To run the model:
$ cd model
$ python Run.py --dataset DATASET_NAME --mode MODE --device DEVICE
where:
DATASET_NAME
can be 'LA', 'SD', or 'NOAA'MODE
can be 'train' or 'test'DEVICE
can be 'cuda' or 'cpu'
Example:
python Run.py --dataset NOAA --mode train --device cuda
- The model supports different types:
AD
(Advection-Diffusion),diff
(Diffusion only),adv
(Advection only),k
(constant coefficient),withoutf
(without uncertainty modeling),onlyf
(only uncertainty modeling).
- Time dependence and time division can be enabled/disabled via configuration.
- Supports various loss functions: MAE, MSE, and masked MAE.
- Learning rate decay and early stopping are implemented.
We provide experiments on real-world datasets:
- Los Angeles (LA) and San Diego (SD) climate data
- NOAA temperature data
Each dataset has its own configuration file (e.g., LA.conf
, SD.conf
, NOAA.conf
) in model
directory.
If you use this code in your research, please cite our paper:
@article{choi2023climate,
title={Climate modeling with neural advection--diffusion equation},
author={Choi, Hwangyong and Choi, Jeongwhan and Hwang, Jeehyun and Lee, Kookjin and Lee, Dongeun and Park, Noseong},
journal={Knowledge and Information Systems},
volume={65},
number={6},
pages={2403--2427},
year={2023},
publisher={Springer}
}