ClimateCritters

A Ménagerie of Minimal Climate Models

ClimateCritters is a Python package for experimenting with minimal climate models and well-known dynamical systems. It provides a unified interface for integrating climate models, chaotic systems, and custom box models, with built-in support for time-varying parameters, stochastic forcing, taphonimc alterations and export to Pyleoclim for analysis.

Features

  • Unified model API — every model shares the same integrate()CCOutput workflow
  • Flexible forcing — constants, callables, or composable Forcing sequences (Hold, Ramp, Harmonic)
  • Time-varying parameters — any parameter can be swapped for a callable or Forcing object at runtime
  • Multiple solvers — Euler, RK4, RK45, Euler-Maruyama (SDE), and scipy adaptive methods
  • Pyleoclim integration — export directly to Series or MultipleSeries for spectral analysis and plotting

Quick install

pip install git+https://github.com/LinkedEarth/ClimateCritters.git

Quick example

import climatecritters as cc
from climatecritters.model_critters import Lorenz63
model = Lorenz63()
output = model.integrate(t_span=(0, 50), y0=[1, 1, 1], method='RK45')
ts = output.to_pyleo(var_names='x')
ts.plot()

Lorenz63 x-component time series

Where to go next

Get Started Install the package and run your first model
Tutorials Worked examples covering climate and dynamical systems models
Reference Full API documentation for every class and function