Presentation
Design and Interfaces for CliMA’s Next-Generation Performance-Portable Earth System Model
Presenter
DescriptionThe Climate Modeling Alliance (CliMA) is developing a new Earth System Model (ESM) entirely written in Julia. The CliMA model achieves performance portability by targeting both CPU and GPU architectures with a common codebase. In this talk, we will illustrate some of the different package architectural designs with flexible interfaces that provide core functionality and allow seamless coupling and composition of the ESM components.
The main solver architecture, data management, and composable discretization tools to solve the governing equations of the ESM component models are provided by the dynamical core (dycore) library, ClimaCore.jl. Its high-level API facilitates modularity and composition of differential operators, the definition of flexible discretizations, and reconciliation between different characteristics, such as numerics and physical formulations. In the backend, low-level APIs support different data layouts, specialized implementations, and flexible models for threading, to better face high-performance optimization, data storage, and scalability challenges on modern heterogeneous architectures.
Some distinct design patterns in the CliMA ecosystem, such as modularity, extensibility, and interoperability translate across the different packages in the CliMA’s codebase. For example, they are evident in the ClimaCoupler.jl: the package responsible for coupling the different component models comprising the ESM (e.g., atmosphere, ocean, land, etc).
The main solver architecture, data management, and composable discretization tools to solve the governing equations of the ESM component models are provided by the dynamical core (dycore) library, ClimaCore.jl. Its high-level API facilitates modularity and composition of differential operators, the definition of flexible discretizations, and reconciliation between different characteristics, such as numerics and physical formulations. In the backend, low-level APIs support different data layouts, specialized implementations, and flexible models for threading, to better face high-performance optimization, data storage, and scalability challenges on modern heterogeneous architectures.
Some distinct design patterns in the CliMA ecosystem, such as modularity, extensibility, and interoperability translate across the different packages in the CliMA’s codebase. For example, they are evident in the ClimaCoupler.jl: the package responsible for coupling the different component models comprising the ESM (e.g., atmosphere, ocean, land, etc).
TimeWednesday, June 511:30 - 12:00 CEST
LocationHG F 1
Session Chairs
Event Type
Minisymposium
Climate, Weather, and Earth Sciences
Engineering