ClimaCalibrate.jl

ClimaCalibrate runs the calibration loop around your forward model: it launches an ensemble of models in parallel, collects their output, hands it to EnsembleKalmanProcesses.jl to produce the next set of parameters, and picks up where it left off if the run is interrupted. EKP chooses the parameters, while ClimaCalibrate runs your model with them and returns the results.

The same calibration code runs unchanged on a laptop, across Julia worker processes, or as one scheduler job per ensemble member on an HPC cluster. You choose by swapping the backend.

Installation

julia> ] add ClimaCalibrate

Julia 1.10 or newer is required.

What it provides

  • A backend system covering single-process runs, Distributed.jl workers, and the Slurm and PBS job schedulers on several HPC systems
  • Checkpointing, so an interrupted calibration resumes without rerunning completed forward models
  • Recipes for turning ClimaAnalysis.jl OutputVars into observations with estimated noise covariances
  • A builder that assembles the ensemble output matrix from OutputVars, so you do not have to track index ranges by hand
  • Diagnostics for SVDplusD covariance matrices and Makie plots of ensemble output against observations

Where to start