docsdev docsstable CI codecov Package Downloads

ConceptualClimateModels.jl is a Julia package for creating and analysing conceptual models of climate, such as energy balance models, glaciation cycle models, or climate tipping models. Such conceptual models are simplified representation of basic climate components, and the processes that connect them, such as flows of energy or mass. Within this context such models are typically coupled ordinary differential equations (with partial or stochastic DEs also being possible).

ConceptualClimateModels.jl accelerates both modelling and analysis aspects of working with such models by:

  • Building upon ModelingToolkit.jl for creating equations from symbolic expressions.
  • Utilizing ProcessBasedModelling.jl to provide a field-specific framework that allows easily testing different physical hypotheses regarding how climate variables couple to each other, or how climate processes are represented by equations.
  • Offering many predefined processes from current literature and ongoing research. All predefined processes cite the literature rigorously using BiBTeX.
  • Being easy to extend with more climate variables or physical processes.
  • Allowing the straightforward coupling of different conceptual models with each other.
  • Automating the naming of custom parameters relating to existing climate processes.
  • Integrating with DynamicalSystems.jl to automate the start-up phase of typical nonlinear dynamics based workflows.

with other features coming soon, such as:

  • Support for latitudinal models (where each variable is vector-valued over latitude circles)
  • Support for stochastic ordinary differential equations

To install it, run import Pkg; Pkg.add("ConceptualClimateModels").

All further information is provided in the documentation, which you can either find online or build locally by running the docs/make.jl file.

ConceptualClimateModels.jl development is funded by UKRI's Engineering and Physical Sciences Research Council, grant no. EP/Y01653X/1 (grant agreement for a EU Marie Sklodowska-Curie Postdoctoral Fellowship).