Skip to content

bigdyl-kaist/NADE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Climate Modeling with Neural Advection-Diffusion Equation

BigDyL Link GitHub Repo stars Hits

PWC PWC PWC

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 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.

Overview

NADE combines the advection-diffusion equation with neural networks to model climate systems. Key features include:
  • Edge weight learning to model diffusion coefficients and flow velocities
  • Neural network-based uncertainty modeling
  • Integration with the advection-diffusion equation

Comparison between NDE and NADE

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.

Usage

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

Model details

  • 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.

Datasets

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.

Citation

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}
}

Star History

Star History Chart

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%