Skip to content

LinkedEarth/PaleoBeasts

Repository files navigation

PaleoBeasts

A bestiary of minimal paleoclimate models and the scars that taphonomy carves on their hides.

Rationale

Much of the strong inference in modern biology derives from the study of model organisms: non-human species extensively studied to understand fundamental biological phenomena. The findings often translate to other organisms, including humans. Climate science is bereft of organisms but rich in models. However, the emphasis is often on building the latest, greatest, most comprehensive model out there, which makes it challenging to understand behavior. Thus, despite influential calls to explore this framework (see also Polvani et al, (2017)), model organisms (model models?) are still lacking in climate science. Another issue facing the study of past climates is that, prior to the instrumental era (CE 1850 or so), the records we have of them are often blurred, noisy, sparse and fragmentary.

Because climate is capable of abrupt jumps, climate science pioneer Wally Broecker nicknamed it "The Angry Beast", and argued that our use of fossil fuels was akin to poking at this beast with sticks. The purpose of PaleoBeasts is to gather a collection of model "organisms" illuminating key aspects of climate dynamics (chaos, multiple equilibria, intermittency, tipping points), and how this behavior gets recorded in paleoclimate archives like ice or sediment cores. The core design principle is to code existing, simple models within a unified, object-oriented Python interface that makes it easy to experiment with those models, including:

  • exploring model sensitivity via parameter sweeps or forcing scenarios
  • exploring taphonomic effects like observational noise, bioturbation or age errors
  • comparing the appropriateness of various timeseries analysis methods (e.g. causal analysis, tipping point detection) on well-understood models exhibiting nonlinear behavior.

Climate Models

PaleoBeasts presently gathers X models:

  1. Lorenz63: Ed Lorenz's seminal paper, soberly titled Deterministic Nonperiodic Flow singlehandedly birthed chaos theory into existence. Though first intended to model Rayleigh-Bénard convection, this 3 equation, 3 variable model has become the paragon of a chaotic system. Now solvable nearly instantly using standard ODE solvers, the Lorenz63 model is an incredibly versatile and acccessible tool to understand not only weather prediction, but also the period-doubling route to chaos, or even climate change.
  2. Ganopolski2024 Ganopolski (2024) proposed a minimal model to simulate glacial cycles ... (to be completed by Jordan)
  3. DO25 Melcher et al. (2025) proposed a conceptual model for Dansgaard–Oeschger event dynamics ..(to be completed by Maryam)

General Structure:

  • Signal: this class will generate a pure (noise-free) series based on a given model. For instance model='Ganopolski2024.Model3' or 'Ganopolski2024.MiM'. Need to think about how to pass inititial conditions, boundary conditions, and model parameters. Giant dictionary exported to a yml file for traceability? Signal should be a Pyleoclim series (trivial to export to csv, if one needs to).
  • Noise: this class will add various noise colors to the signals. Should also use pyleo.utils.tsmodel.random_time_index() to mimic the time sampling process, and create irregularly sampled series with reasonable characteristics.

Time-varying parameters

Model parameters can be constants, callables, or pb.core.Forcing objects. This enables time-varying or state-dependent parameters with a consistent API across models.

Example:

lorenz = pb.signal_models.Lorenz63(
    forcing=pb.core.Forcing(lambda t: 0.0),
    sigma=lambda t, x, m: 10 + 2*np.sin(t/5),
    rho=pb.core.Forcing(lambda t: 28 + 5*np.sin(t/20)),
    beta=8/3,
)

About

A bestiary of minimal paleoclimate models and the scars that taphonomy carves on their hides

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors