CliMA 0.1: A first milestone in the next generation of climate models

At CliMA, we are building an Earth System Model (ESM) that harnesses more data than ever before to produce accurate and precise climate predictions. Today, the release of CliMA 0.1 brings us one step closer toward achieving our goals. CliMA v0.1.0 consists of code for large eddy simulations (LES) of turbulent flows in atmosphere and oceans and for dynamical cores of general circulation models (GCM) for the ocean and atmosphere. All CliMA code is written in Julia, a dynamic, high-level programming language for high-performance scientific computing.

Caltech Postdoctoral Scholars Akshay Sridhar and Zhaoyi Shen, together with others, are in the process of running hundreds of LES of turbulence and clouds in the atmosphere processes on the Google Cloud Platform. These simulations are providing us with high-fidelity information about small-scale processes that are difficult to represent in GCMs. Uncertainties in the representation of these processes in GCMs dominate uncertainties in climate projections. In the coming weeks, we will harness data from the LES to systematically train new parameterizations of these processes for GCMs. 

The CliMA atmosphere GCM simulates the global atmosphere on a rotating planet. Caltech Postdoctoral Scholar Lenka Novak and Senior Research Scientist Toby Bischoff and their colleagues Thomas Gibson, Jeremy Kozdon, and Lucas Wilcox at the Naval Postgraduate School, have worked to set up the physics and mathematics of the GCM configuration. This provides the blueprint that we can now use to incorporate our new state-of-the-art parametrizations of turbulence, clouds and microphysics, and uncertainty quantification algorithms.

MIT Research Scientists Andre Souza, Greg Wagner, and Graduate Students Valentin Churavy and Ali Ramadhan have developed novel parameterization schemes for the oceanographic components of the CliMA Earth system model. They, together with others, have produced a finite volume model written entirely in Julia to be used for nonhydrostatic ocean modeling and large eddy simulations of ocean surface boundary layer turbulence using Graphics Processing Units (GPUs). This model generates realistic high-fidelity data that is used to train parameterizations of ocean surface boundary layer turbulence.  

MIT Research Scientist Brandon Allen together with Chris Hill and Jean-Michel Campin have implemented an “ocean in a channel” prototype of what will soon become a fully fledged hydrostatic ocean model with a free surface. In this model, the average horizontal motion (barotropic mode) is separated out from the fully 3D vertical motion (baroclinic mode) in order to gain computational efficiency. The general circulation model for the ocean in CliMA 0.1.0 is the first 3D ocean GCM that uses the discontinuous Galerkian spatial discretization scheme that we use throughout CliMA.

The GPU architecture of CliMA 0.1.0 enables numerical methods that increase the accuracy, portability, and performance compared to existing dynamical cores. Thomas Gibson and Maciej Waruszewski, Research Associates at the Naval Postgraduate School, have been working on multirate Runge-Kutta methods and driver interfaces for CliMA time stepping methods. “The CliMA code-base is designed to run on both CPU and GPU computing architectures without significant difficulty. This is a big deal, since platform portability is often a critical need for many scientific applications. Since CliMA is an open-source project, it is continuously evolving and incorporating new ideas of the scientific modeling community,” says Gibson. The framework for CliMA 0.1.0 has been designed to be used by the scientific community, allowing them to design experiments and interpret their results using a simple, modular interface. 

 “This release represents a first step in the application of a very modern language [Julia] to a very classic high-performance computing problem,” says Simon Byrne, Lead Software Engineer at CliMA. Byrne has been tasked with designing, coordinating, and building the infrastructure on which all the components of CliMA 0.1.0 are built. Some notable accomplishments for CliMA in this regard are the development of GPU kernels in a high-level language that can match the performance of those written directly in CUDA, the construction of a framework for writing such kernels, a common model specification that can be used with either LES or GCM configurations, and an extensive suite of physics functions for computing thermodynamic quantities.

The release of CliMA 0.1.0 is the first milestone in this new approach to climate modeling that our team at the Climate Modeling Alliance is committed to. Our goal is to build this first release out into a scalable modeling platform that will, eventually, reduce and quantify uncertainties in climate predictions and provide actionable information for climate change mitigation and adaptation.



Figure: Stratocumulus cloud simulated with CliMA LES on the Google Cloud Platform. Boeing 747 added for scale and for fun. (Credit: Simone Marras, NJIT).