Skip to content

dynamodels

PyPI DOI

A Model couples a governing equation to a pre-allocated state history and a pluggable time integrator. Every physical model in the package — three low-order oscillators, two spatially extended PDEs, and the Lorenz systems — implements the same interface:

  • time_integrate(Nt) advances the state,
  • get_observable_hist() returns what a sensor would measure, and
  • visualize_history() plots both.

The package itself depends only on numpy, scipy, matplotlib and typeguard.

Lorenz63 attractor

Where to go

Ecosystem

  • ntsa — nonlinear time-series analysis (Lyapunov exponents, delay embeddings, regime classification, bifurcation sweeps) for any model that follows the dynamodels protocol.
  • romda — bias-aware ensemble data assimilation built on top of both.

Citing

If a model in this package is central to your work, please cite its original reference, listed on that model's page. To cite the package itself:

@software{novoa2026dynamodels,
  author    = {N{\'o}voa, Andrea},
  title     = {dynamodels -- dynamical systems models},
  year      = {2026},
  version   = {v0.1.0},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.21843589},
  url       = {https://doi.org/10.5281/zenodo.21843589},
}