Product documentation — installation, licensing, and integration guides.
SolvLRDE
Examples
10 SolvLRDE-Climate

Journey 10 — SolvLRDE-Climate

License token: climate · Product name: SolvLRDE-Climate (resonix-climate)

See also: Vertical SKUs overview · Licensing

What this SKU is for

SolvLRDE-Climate is the licensed vertical for Earth-system and climate modeling groups — national labs, CMIP-class centers, energy-system teams that run tangent-linear models (TLM), linearized transport blocks, or fast/slow coupled subsystems inside larger nonlinear primitive-equation hosts.

The engineering problem

Fully nonlinear atmosphere–ocean dynamics stay in the host model. But many sub-blocks are constant-coefficient linear over a sub-step or analysis window:

  • Tangent-linear Jacobian blocks from linearization around a baseline trajectory.
  • Linearized tracer transport or radiative-transfer surrogates.
  • OU-style stochastic forcing segments held fixed for perturbation experiments.

Those blocks obey y' = A y on perturbation state y. Sub-step horizons can be century-scale in model time units (T ~ 100 years). Explicit or even implicit time-stepping on stiff fast/slow splits makes those blocks disproportionately expensive relative to their role in the workflow.

Why Climate exists (and why LRDE fits)

SolvLRDE returns perturbation state y(T) at sub-step end with contour cost that does not scale with T. A century-scale TLM sub-step and a one-year sub-step use the same contour node budget. Stiff separation between slow climate modes and fast adjustments does not force smaller internal steps inside LRDE — the host model still owns nonlinear integration; Climate owns the linear sub-block propagate.

Who should buy Climate (not another SKU)

Choose Climate when…Choose something else when…
Host model supplies A for a linearized/TLM blockFull primitive-equation nonlinear step → host integrator / SolvSRK
Long T sub-steps on perturbation stateLocal heat diffusion MOL → Thermal
Coupling: LRDE terminal state feeds back to hostFinancial OU kernels → Pricing

Typical production integration

  • Operator: A from model Jacobian, transport discretization, or precomputed TLM slice.
  • State: perturbation vector y0 from host initialization.
  • Coupling: y_T = solve(A, y0, T)["y"] → hand off to host for next nonlinear step.
  • License gate: solvlrde.license_has_sku("climate") in climate/TLM plugin paths.

This walkthrough

Prerequisites: Core journeys 01–06 complete.

Scenario: Fully nonlinear primitive-equation dynamics stay in the host model. Radiative transfer, transport linearizations, and OU stochastic forcing blocks are constant-A segments where LRDE replaces expensive time integration.

Key APIs

  • solvlrde.solve()
  • TLM Jacobian blocks

Concepts to internalize

  • SolvLRDE-Climate — resonix-climate SKU.
  • Linear substructures only — nonlinear primitive equations stay in host model.
  • Century T at flat cost — critical for stiff TLM blocks.

Important code

The guided tour script wraps this pattern. Copy the production shape into your pipeline:

A = tlm_jacobian_block  # from host model
y_T = lrde.solve(A, y0_perturbation, T=100.0)['y']

Act-by-act walkthrough

Act 1 — Linear substructures in climate models

Fully nonlinear primitive-equation dynamics stay in the host model. Radiative transfer, transport linearizations, and OU stochastic forcing blocks are constant-A segments where LRDE replaces expensive time integration.

Act 2 — Fast atmosphere / slow ocean proxy

2x2 coupling: slow mode (-0.01) feeds a fast mode (-1.0). This is a toy TLM — your production operator comes from the model's Jacobian or transport discretization.

FieldValueNotes
T_years100.0
n_solves32
survivedTrue
statusok
y[0.368808, -2.02804e-11]
n_talbot_used32
n_solves32
nu_used0.6
contour_scale0.128
wall_s0.001

Act 3 — Century horizon at flat cost

A century-scale T would cripple explicit stepping on stiff TLM blocks. Contour node count — not T — sets wall time. Run the same operator at T=1 and T=100 in journey 04 to see the pattern.

Guided tour output

Verified console capture from sku_climate.py:

-- Act 1 - Linear substructures in climate models --
  -> Fully nonlinear primitive-equation dynamics stay in the host model. Radiative transfer, transport linearizations, and OU stochastic forcing blocks are constant-A segments where LRDE replaces expensive time integration.

-- Act 2 - Fast atmosphere / slow ocean proxy --
  -> 2x2 coupling: slow mode (-0.01) feeds a fast mode (-1.0). This is a toy TLM — your production operator comes from the model's Jacobian or transport discretization.
  T_years: 100.0
  n_solves: 32
  survived: True
  status: ok
  y: [0.368808, -2.02804e-11]
  n_talbot_used: 32
  n_solves: 32
  nu_used: 0.6
  contour_scale: 0.128
  wall_s: 0.001

-- Act 3 - Century horizon at flat cost --
  -> A century-scale T would cripple explicit stepping on stiff TLM blocks. Contour node count — not T — sets wall time. Run the same operator at T=1 and T=100 in journey 04 to see the pattern.

-- Run complete --
  next_journey: sku_thermal.py (Thermal SKU)

Run it

cd python
# Guided tour — narrated scenario walkthrough (recommended first run):
python examples/skus/sku_climate.py
 
# Production one-liner — same API call you ship:
python -c "import solvlrde,numpy as np;A=np.array([[-0.01,0.005],[0.,-1.]]);print(solvlrde.solve(A,[1.,0.5],T=100.)['y'])"

What comes next

SolvLRDE-Thermal for banded heat MOL.

Navigation

← Journey 09 — SolvLRDE-Control · Journey 11 — SolvLRDE-Thermal →