Changelog

This document provides a brief summary of changes in each released version of pyqg-jax. More information and release builds are also available on the GitHub releases page.

v0.8.1

v0.8.0

  • Add EulerStepper

  • Add pyqg_jax.diagnostics module (see documentation and associated example for more information)

  • New Grid class for use with diagnostics

  • Fix incompatibility with JAX v0.4.24

  • Fix shape errors for models with non-square states (this setting is still less well-tested and not recommended)

Note

This release adds an internal, hidden static field to the PseudoSpectralState class. This field is an implementation detail, and if all instances are constructed from model classes (model.create_initial_state) this shouldn’t cause issues and should require no attention. However, if you were constructing these objects manually using their constructors this will be a breaking change.

v0.7.0

  • Add implementation of SQGModel from PyQG

  • Integrate with JAX pytree key paths

  • Improved summary formatting of built-in Python collections

  • Breaking: Drop support for Python 3.8

  • Breaking: Remove uq and vq attributes from FullPseudoSpectralState

v0.6.0

  • Clearer error messages when using model states with the wrong shape

  • Add implementation of BTModel from PyQG

v0.5.1

  • Add properties for missing full state attributes p and dqdt

  • Summarize state objects without using computed properties

v0.5.0

v0.4.0

v0.3.0

  • Add __repr__ methods to most classes showing nested states and models

  • Add a no-op noop parameterization

v0.2.0

  • Parameterizations now receive the “partial” model state, and call model.get_full_state to expand it

  • Fix propagation and unwrapping of parameterization states during time-stepping

  • Move NoStepValue into steppers module

  • Remove repeated names from parameterization functions

v0.1.0

Initial release