ClimateCritters
Synthetic paleoclimate signal models
ClimateCritters is a Python package for generating synthetic paleoclimate time series from dynamical systems models. 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, and export to Pyleoclim for analysis.
Features
- Unified model API — every model shares the same
integrate()→CCOutputworkflow - Flexible forcing — constants, callables, or composable
Forcingsequences (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
SeriesorMultipleSeriesfor spectral analysis and plotting
Quick install
pip install git+https://github.com/LinkedEarth/ClimateCritters.gitQuick 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()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 |