Overview of SpeedyWeather.jl capabilities
mainSpeedyWeather.jl is a global atmospheric climate model designed for research with a focus on speed, interactivity, and extensibility. It is built in Julia to allow users to interactively run, extend, and visualize models in the REPL, notebooks (Jupyter/Pluto), or via scripts.
Key Features
Dynamics and Physics
- Supports various physical equations: barotropic vorticity, shallow water, and primitive equations (with or without humidity).
- Includes 2D particle advection and customizable 2D/3D tracer advection.
- Physics parameterizations for convection, precipitation, boundary layer, radiation, etc.
- Includes a slab ocean, thermodynamic sea ice, and a 2-layer land bucket model.
Numerics and Computing
- Grids: Full and octahedral, Gaussian and Clenshaw-Curtis, HEALPix, and OctaHEALPix.
- Resolutions: T31 to T1023 and higher (approx. 400km to 10km).
- Arithmetics: Supports
Float32(default),Float64, and experimentalBFloat16with stochastic rounding. - Transforms: Uses the
SpeedyTransformslibrary for fast spherical harmonics transforms.
User Interface and Extensibility
- Visualization: 2D and 3D interactive visualization powered by
Makie. - Modularity: Models are constructed from components; non-default components are passed as arguments.
- Callbacks: Users can inject code after every time step for custom output or event handling.