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 block | Full primitive-equation nonlinear step → host integrator / SolvSRK |
Long T sub-steps on perturbation state | Local heat diffusion MOL → Thermal |
| Coupling: LRDE terminal state feeds back to host | Financial OU kernels → Pricing |
Typical production integration
- Operator:
Afrom model Jacobian, transport discretization, or precomputed TLM slice. - State: perturbation vector
y0from 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.
| Field | Value | Notes |
|---|---|---|
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.
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 →