SimCoordinator

This module contains functions for coordinating the execution of coupled simulations, including stepping through time and running full simulations. The SimCoordinator module provides the main control flow for advancing coupled simulations forward in time.

Overview

The SimCoordinator module provides two key functions for running coupled simulations:

  • step!: Advances the simulation by one coupling timestep, coordinating all component models and field exchanges.
  • run!: Executes the full simulation from start to finish, handling precompilation, timing, and cleanup.

These functions orchestrate the interaction between component models (atmosphere, land, ocean, sea ice) through the coupler, ensuring proper field exchanges, flux calculations, and conservation checks at each timestep.

SimCoordinator API

ClimaCoupler.SimCoordinator.run!Function
run!(cs::CoupledSimulation)

Evolve the given simulation, producing plots and other diagnostic information.

Keyword arguments

precompile: If true, run the coupled simulations for two steps, so that most functions are precompiled and subsequent timing will be more accurate.

source
ClimaCoupler.SimCoordinator.step!Function
step!(cs::CoupledSimulation)

Take one coupling step forward in time.

This function runs the component models sequentially, and exchanges combined fields and calculates fluxes using the selected turbulent fluxes option. Note, one coupling step might require multiple steps in some of the component models.

source