Spherical Fourier Neural Operators: Learning Stable Dynamics on the Sphere

Boris Bonev, Thorsten Kurth, Christian Hundt, Jaideep Pathak, Maximilian Baust +2 more
6/6/2023
cs.LGmath.NAphysics.ao-ph

No official code found. Best implementation: NVIDIA/torch-harmonics (688 stars, PyTorch, last commit 2026-05-01).

Abstract

Fourier Neural Operators (FNOs) have proven to be an efficient and effective method for resolution-independent operator learning in a broad variety of application areas across scientific machine learning. A key reason for their success is their ability to accurately model long-range dependencies in spatio-temporal data by learning global convolutions in a computationally efficient manner. To this end, FNOs rely on the discrete Fourier transform (DFT), however, DFTs cause visual and spectral artifacts as well as pronounced dissipation when learning operators in spherical coordinates since they incorrectly assume a flat geometry. To overcome this limitation, we generalize FNOs on the sphere, introducing Spherical FNOs (SFNOs) for learning operators on spherical geometries. We apply SFNOs to forecasting atmospheric dynamics, and demonstrate stable auto\-regressive rollouts for a year of simulated time (1,460 steps), while retaining physically plausible dynamics. The SFNO has important implications for machine learning-based simulation of climate dynamics that could eventually help accelerate our response to climate change.

View on arXivView PDF

Code Implementations(1)

PyTorch

Differentiable signal processing on the sphere for PyTorch

68871C, C++Jan 10, 20235 months agoNOASSERTION
machine-learningpytorchsignal-processingsphere

Similar Papers

Cite this paper

@article{bonev2023spherical,
  title  = {Spherical Fourier Neural Operators: Learning Stable Dynamics on the Sphere},
  author = {Boris Bonev and Thorsten Kurth and Christian Hundt and Jaideep Pathak and Maximilian Baust and Karthik Kashinath and Anima Anandkumar},
  year   = {2023},
  eprint = {2306.03838},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.03838v1},
  journal = {ICML 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.03838.svg)](https://codeofpaper.com/paper/2306.03838)

Discussion