Function reference
Core
Base Classes
Base classes underlying all models.
| core.CCModel | The overarching model structure for ClimateCritters. |
| core.CCOutput | Container for the results of one call to CCModel.integrate(). |
| core.Forcing | Unified time-varying signal consumed by models. |
Forcing
Forcing elements.
| core.forcing.ForcingElement | A bounded forcing segment backed by an arbitrary callable. |
| core.forcing.ResolvedSegment | Immutable record describing one compiled segment of a ForcingSequence. |
| core.forcing.ForcingSequence | Composable sequence of ForcingElement parts. |
| core.forcing.Hold | Constant-valued segment. |
| core.forcing.Ramp | Monotonic transition between two values with linear or cosine easing. |
| core.forcing.Harmonic | Sinusoidal segment with automatic phase continuity. |
Models
EBMs
Energy balance models.
| EBMBase | Shared energy balance physics for all EBM variants. |
| EBM0D | Zero-dimensional energy balance model for global-mean surface temperature. |
| EBM1DLat | Diffusive annual-mean latitudinal energy balance model (Budyko-Sellers type). |
Box Models
Composable framework for building custom multi-reservoir models.
| BoxModelSpec | Declarative specification for simple ODE box models. |
| TwoBoxCarbon | Two-box carbon exchange model with explicit box volumes. |
Lorenz & Roessler
Single-scale & two-scale Lorenz atmospheric models + Roessler system.
| Lorenz63 | Lorenz (1963) system. |
| Lorenz96 | Lorenz (1996) single-scale and two-scale atmospheric model. |
| Roessler | Roessler chaotic oscillator. |
Pendulums & Oscillators
Mechanical oscillators ranging from simple SHM to chaotic driven pendulums.
| SimplePendulum | Nonlinear pendulum with optional linear damping. |
| DoublePendulum | Double pendulum — a conservative chaotic system. |
| DampedSpring | Damped (and optionally driven) spring-mass oscillator. |
Individual Models
Standalone paleoclimate and dynamical systems models.
| ENSORechargeOscillator | Jin-style ENSO recharge oscillator. |
| Model3 | Model 3 from Ganopolski (2024) describing glacial cycle evolution under orbital forcing. |
| Stocker2003BipolarSeesaw | Minimum thermodynamic model for the thermal bipolar seesaw. |
| Stocker2003ExtendedSeaIceSeesaw | Extended Stocker-style model with reservoir, Southern Ocean, sea-ice, and Antarctic states. |
| Stommel | Minimal two-box Stommel thermohaline circulation model. |
Utils
Noise
Post-hoc observation noise and stochastic process noise generation.
| utils.noise.from_series | Generate surrogate series matched to a target Pyleoclim series. |
| utils.noise.from_param | Generate surrogate series from a parametric noise model. |
Resampling
Irregular downsampling utilities for paleoclimate time series.
| utils.resample.downsample | Downsample a Pyleoclim series by drawing random time increments. |
Forcing
Factory functions for common Forcing patterns.
| utils.forcing.create_periodic_forcing | Build a composite periodic forcing from normalised sine components. |
| utils.forcing.create_constant_forcing | Build a constant forcing. |
| utils.forcing.create_sinusoid_forcing | Build a sinusoidal forcing: f(t) = y0 + A * sin(2π t / period). |
| utils.forcing.create_piecewise_forcing | Build a piecewise forcing from a sequence of :class:~climatecritters.core.ForcingElement parts. |
Solvers
Numerical integration backends and solver helpers.
| utils.solver.Solution | Minimal container for the output of a fixed-step integrator. |
| utils.solver.rk4_method | Fixed-step 4th-order Runge-Kutta integrator. |
| utils.solver.euler_method | Fixed-step forward Euler integrator. |
| utils.solver.euler_maruyama_method | Fixed-step Euler-Maruyama integrator for stochastic differential equations. |
| utils.solver.heun_maruyama_method | Fixed-step Heun-Maruyama integrator for stochastic differential equations. |
| utils.solver.milstein_method | Fixed-step Milstein integrator for stochastic differential equations. |
| utils.solver.define_t_eval | Build a t_eval array for use with :func:scipy.integrate.solve_ivp. |
| utils.solver.validate_monotonic_grid | Validate a strictly increasing 1-D coordinate array. |
| utils.solver.validate_layer_thicknesses | Validate positive layer thicknesses. |
| utils.solver.flux_divergence | Compute finite-volume tendency from face fluxes and layer thicknesses. |
| utils.solver.validate_initial_state | Validate and normalize the initial state vector. |
| utils.solver.build_state_from_history | Build a structured state array from a solved trajectory. |
Functions
Signal processing and interpolation utilities.
| utils.func.make_derivative_func | Return a callable that evaluates the derivative of a forcing at arbitrary times. |
| utils.func.smooth_and_interpolate | Apply a centered moving-average and interpolate onto a target time axis. |