Release Notes

v2.0.0b1

This is the first beta for the v2.0 release line. It is intended for early users who want the new ECHAM/RRTMGP workflow, composable physics API, and pluggable dynamical-core interface before the stable v2.0.0 tag.

Install the beta explicitly:

$ pip install "jcm==2.0.0b1"

Because 2.0.0b1 is a Python pre-release, normal pip install --upgrade jcm users will continue to receive the latest stable release unless they opt in with --pre or an exact version pin.

Highlights

  • Added the jcm.dycore.base.DynamicalCore protocol and moved Dinosaur behind the shipped jcm.dycore.dinosaur.DinosaurDycore backend.

  • Refreshed the v2 documentation around dycore ownership, operator-split physics, composable physics, and the ECHAM target configuration.

  • Made ECHAM the beta target for climate-quality integrations, especially physics=echam-rrtmgp grid=echam_t63_l47_hybrid.

  • Added persistent checkpoint/resume support for long and preemptible runs.

  • Added ozone climatology forcing for ECHAM-RRTMGP.

  • Consolidated shared physical constants behind jcm.constants, with runtime overrides via jcm.constants.set_constants() before model construction.

  • Stabilized ECHAM cloud, convection, vertical diffusion, gravity-wave, aerosol, and surface-process wiring for the T63L47 beta target.

  • Updated the Python package version to the canonical PEP 440 pre-release string 2.0.0b1.

Beta Fixes

  • echam_physics(radiation_scheme="rrtmgp") now configures the enclosing ComposablePhysics.band_config for RRTMGP bands, matching the Hydra runner path and avoiding broadband aerosol optics in Python-created RRTMGP compositions.

  • Example notebooks were checked for v2 API drift; the ECHAM demo now uses predictions.to_xarray(), Model(coords=..., terrain=...), and Parameters.float_zeros().

Known Beta Caveats

  • The pluggable dycore interface is present, but the shipped production backend remains Dinosaur. The Hydra CLI currently selects Dinosaur explicitly.

  • Column-vectorized ECHAM physics still assumes a two-dimensional horizontal layout. Non-lat/lon dycores need an adapter or flattening step before using the shipped column physics packages.

  • The beta is intended for named early users and API feedback. Pin the exact beta version in user environments and update deliberately between beta tags.