CSPI asymptote covariate (#75 step 3) — draft, mechanism only#91
Draft
holoros wants to merge 4 commits into
Draft
CSPI asymptote covariate (#75 step 3) — draft, mechanism only#91holoros wants to merge 4 commits into
holoros wants to merge 4 commits into
Conversation
Site-productivity (CSPI) raster covariate scaling the per-cell yield-curve asymptote behind YCX_CSPI_ASYM (default off; live engine untouched). Sidesteps the blocked CSPI->PLT_CN join (#76) via server-side raster sampling. t0-neutral re-anchor for non-FIA states. Verified CONUS-neutral on 48 states (#75 step 3). Mechanism + provenance only; no live-data regeneration pending beta/clamp sign-off.
…; re-scope to remeas-track Spatial leave-one-ecoregion-out CV, knob sweep, and Bakuzis site-ordering. CSPI is biologically sound (site-ordering PASS) and bounded, but its out-of-sample signal is on the remeasurement asymptotes, not the hybrid production fits the flagged engine currently scales. Re-scope: apply CSPI to the Block 1+3 remeas refit at promotion; do not promote on the hybrid engine. Keep beta=1.0, clamp 25%. PR stays draft.
Owner
Author
|
Stress-test update (2026-06-27). Knob sweep + spatial CV + Bakuzis site-ordering. Key finding: CSPI generalizes out-of-sample on the remeasurement asymptotes (leave-one-ecoregion-out held-out log-RMSE 0.783 to 0.716, +8.5%, within-ft partial r +0.37) but not on the hybrid production fits this flagged engine currently scales (+0.0%, r +0.08; hybrid A is noisier and a different peak-decline parameter). Knob sweep robust (~3% A-weighted change at beta=1.0/clamp 25%). Bakuzis site-ordering PASS (monotone, non-crossing). Re-scope: apply CSPI to the Block 1+3 remeas refit at promotion, not the hybrid engine. Keep draft. See scripts/yield_curve_engine/cspi/20260627_cspi_stress_bakuzis_assessment.md and ADR 0005. |
…rlays Decisive stress-test finding: asymptote cap cancels in the t0-anchored reserve (proven); CSPI's value is on the absolute spatial density layer. Adds the spatial redistribution prototype, the lon/lat raster, and the Albers EPSG:5070 production port emitting drop-in overlays + bounds.json (matches existing conus_*_bounds.json). Mean reallocation 2.4 Mg/ha, biologically coherent (productive East gains, arid West loses, state totals preserved). Mechanism + provenance only; still draft pending beta/clamp sign-off.
…e climate hook CSPI sign-off reframed (asymptote cancels on anchored trajectory -> beta/clamp are a no-op there; only tune the bounded ~2% spatial redistribution -> low stakes). Adds the decision package + push-button runbook. Block 2: per-rcp CSI table + behavior-preserving engine hook (validated) + ClimateNA data-acquisition spec; 48-state inputs pre-generated. Plus consolidated session summary. Still draft; nothing live touched.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CSPI site-productivity asymptote covariate (#75 step 3) — DRAFT, mechanism only
Adds CSPI (climate site productivity index) as a covariate that scales the per-cell
yield-curve asymptote in the canonical FIADB engine, behind the
YCX_CSPI_ASYMflag.Default OFF; the live
ycx_canonical_ci_fiadb.Ris untouched. This PR adds themechanism and provenance only. It does not regenerate live data or change any published
number. See
docs/decisions/0005-cspi-asymptote-covariate.md.What this does
blocked (CSPI build coordinates do not match the FIA true-coordinate convention, 0%
match). Instead, sample the wall-to-wall 1 km CSPI surface at FIA plot coordinates on
Cardinal and aggregate to the fit cell key (
ft_group|prov_code). FIA true coordinatesnever leave the cluster; only the coordinate-free
ycx_cell_cspi.csv(873 cells) isemitted.
A_scaled = A * (1 + shrink*(clamp((CSPI/REF)^beta) - 1)),REF=56.36,beta=1.0, clamp[0.80,1.25],shrink=30/(30+n_plots).The free-fit exponent (2.77 within forest type, 3.13 pooled) was rejected as
confound-amplified (productive ecoregions carry both high CSPI and high-biomass forest
types; CSPI explains only ~9% of asymptote spread).
scaled run reproduces baseline t0.
Verified (rcp45, full 48-state CONUS run)
Per-state 2125 delta: −0.39% (MA) to +0.72% (SD), median +0.00%. 360 of 873 cells (41%)
are sparse and get full CSPI weight (mean scalar 0.976). Redistributive at cell/state
scale, neutral at the CONUS aggregate.
Files
scripts/yield_curve_engine/cspi/— extraction, scaling module, flagged engine,reconcile script, diagnostic figure, README.
scripts/yield_curve_engine/canonical_inputs/ycx_cell_cspi.csv— the covariate table.docs/decisions/0005-cspi-asymptote-covariate.md— the ADR.Blocking before merge (team decision)
beta(default 1.0) and the clamp half-width (default ±25%) — samestatus as the senescence
S_SENknob.Zenodo to v1.2.
Draft until the two knobs are confirmed.