Niklas Viebig
Master’s student in Physics at ETH Zurich, currently completing my Master’s thesis in the climate modeling group at AOPP, University of Oxford. Im researching differentiable programming and systematic parameter calibration for Earth system models, with interests in exoplanet climates, high-performance computing, and scientific software engineering.
Sessions
Hybrid climate modelling combines numerical models with machine-learned components. We present the development of multiple machine-learned surface climate processes and their integration into the climate model SpeedyWeather.jl using PyTorch and Lux.jl. Despite the offline training, the hybrid model is designed to generalise in space and to different climates. We address speed vs. accuracy tradeoffs using SymbolicRegression.jl and discuss online learning with Enzyme.jl.
Fortran climate models are being adapted to GPUs by automatically translating loop-by-loop into a kernel. In Julia, we have more flexibility to develop the climate model SpeedyWeather.jl for the GPU. Many parts are easy to accelerate, leverage multiple dispatch on the GPU and a high level of kernel fusion for modularity and performance, while being optionally hardware-specific. The spherical harmonic transforms remain a complex bottleneck but we employ a multi-algorithm approach with custom linear algebra kernels using Reactant, Fourier and Legendre transforms.
Climate models rely on parameterizations that are traditionally tuned manually. We present a differentiable calibration framework using Enzyme.jl to compute exact reverse mode gradients of energy-balance diagnostics in SpeedyWeather.jl. By batching single- timestep gradients across chaotic dynamics, we enable systematic, reproducible optimization of shortwave radiation parameters, establishing an extensible workflow for objective calibration in Earth system models.