Docs Build | |
Documentation | |
GHA CI | |
Buildkite CI | |
Code Coverage | |
DOI |
The Climate Modelling Alliance (CliMA) is developing a new Earth System Model (ESM), entirely written in the Julia language. The main goal of the project is to build an ESM that automatically learns from diverse data sources to produce accurate climate predictions with quantified uncertainties. The CliMA model targets both CPU and GPU architectures, using a common codebase. ClimaCore.jl constitutes the dynamical core (dycore) of the atmosphere and land models, providing discretization tools to solve the governing equations of the ESM component models. ClimaCore.jl's high-level application programming interface (API) facilitates modularity and composition of differential operators and the definition of flexible discretizations. This, in turn, is coupled with low-level APIs that support different data layouts, specialized implementations, and flexible models for threading, to better face high-performance optimization, data storage, and scalability challenges on modern HPC architectures.
Field
abstraction:
sum
(integral), norm
, etc.DifferentialEquations.jl
time steppers.CuArray
compiles and applies a custom CUDA kernel).grad
, div
, interpolate
) are “pseudo-functions”: Act like functions when broadcasted over a Field
; fuse operators and function calls.