JuliaCon 2026

A learned surface roughness scheme for climate prediction in SpeedyWeather.jl
2026-08-12 , Room 3

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.


In weather and climate models, momentum, heat, humidity and tracer fluxes between the Earth’s surface and atmosphere strongly depend on surface roughness. The roughness length depends on space and time-dependent surface properties over ocean, sea-ice and land. For example, surface winds impact wave height over sea-ice free oceans; vegetation and orography determine roughness length over land, where its effect on near-surface turbulence strongly impacts the surface fluxes. Here, we present a set of machine learning models trained on reanalysis data to predict surface roughness over both land and ocean grid cells in SpeedyWeather, a Julia-based climate model. More accurately representing the surface roughness has been shown to significantly improve model bias against observations over a range of variables such as surface air temperatures and near-surface wind speed. We explore the downstream impacts of using this parameterisation in the climate model, and test the generalisability of an offline-learned surface roughness scheme in future climates with reduced sea ice and land-use change. Spatial generalisation is implemented through surface roughness being a function of local variables only. We discuss efficient inference on CPU and GPU for every grid cell on each integration time-step, and use so-called model distillation via SymbolicRegression.jl which minimises the trade-off between speed versus accuracy. Neural networks are trained offline using PyTorch, but loaded in SpeedyWeather as Lux.jl networks, with opportunities to use the Reactant compiler for rapid inference. Separating the land and ocean surface roughness parameterisations, we use XAI techniques to interpret what the models have learned and evaluate their performance against baseline model types. We generally propose machine-learned schemes of individual climate processes towards interpretable, data-driven climate modelling.

Authors: Gregory Munday (1), Laura Mansfield (1), Maximilian Gelbrecht (2, 3), Niklas Viebig (1, 4), and Milan Klöwer (1)

  1. University of Oxford, UK
  2. Potsdam Institute for Climate Impact Research, Germany
  3. Technical University of Munich, Germany
  4. ETH Zürich, Switzerland

DPhil Research Student at the University of Oxford. Interested in all things hybrid climate modelling.

This speaker also appears in:

Milan Klöwer is a NERC Independent Research Fellow at the University of Oxford. He did his postdoc at the Massachusetts Institute of Technology (MIT) working on climate model development in Julia. He started SpeedyWeather.jl, a global atmospheric model designed as a research playground to develop prototype ideas on machine-learned representations of climate processes and computationally efficient climate models. He also works on low precision computing, data compression and information theory, predictability of weather and climate, and software engineering.

This speaker also appears in:

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.

This speaker also appears in: