Skip to Content
📄 Fibonacci Laws — Read the paper
The ModelInsolation Null Test

Insolation Null Test — Does Berger Insolation Add Anything to L1+L2+L3?

TL;DR. We tested whether adding the classical Berger 1978 insolation features — obliquity ε(t), eccentricity e(t), and the climatic-precession products e·sin(ϖ) and e·cos(ϖ) — to the canonical climate formula (L1+L2+L3) improves R². Result: strong null. Max ΔR² = +0.0041 across all LR04 regimes and EPICA CO₂ — below the 0.005 tentative-adoption threshold. Even with Laskar 2010’s wide-range eccentricity substituted in, ΔR² = 0.000 on LR04 and 0.00001 on EPICA CO₂. Classical insolation features alone explain only R² = 0.05 of post-MPT LR04 (vs L1 alone at R² = 0.87). The 8H gravitational-coupling lattice already encodes all the insolation-relevant variance.

Reproducibility scripts: milankovitch_insolation_extension.py + extract_insolation_features.js (extracts ε, e, ϖ from the orbital engine at LR04 sample times). Output JSON: data/insolation-extension-results.json.


1. Question

The canonical climate formula (Climate Formula) is:

C(t) = c₀ + L1(t) + L2(t) + L3(t)
  • L1 = 32 integer divisors of 8H = 2,682,536 yr (orbital-coupling lattice)
  • L2 = 3 carbon-thermostat lines (405 / 202 / 135 kyr)
  • L3 = 6 Heaviside step components (PETM, EOT, Mi-1, MMCT, iNHG, MPT)

Standard Milankovitch theory (Berger 1978) attributes climate variation to solar insolation, parameterized by three orbital elements:

  • ε(t) — Earth’s obliquity (axial tilt)
  • e(t) — Earth’s orbital eccentricity
  • ϖ(t) — longitude of perihelion

combined as climatic-precession products e·sin(ϖ), e·cos(ϖ). So we asked:

Can we improve R² by adding these classical insolation features to L1+L2+L3?

If yes → adopt them as a 4th canonical layer (L_insol). If no → L1’s 32 lattice integers already encode whatever insolation contributes.


2. Method

Step 1. Extract insolation features at LR04 sample times using the model’s analytical functions (computeObliquityEarth, computeEccentricityEarth, calcEarthPerihelionPredictive from tools/lib/orbital-engine.js).

Step 2. For each regime (post-MPT, iNHG-MPT, pre-iNHG, lr04-full, EPICA CO₂):

  1. Fit canonical L1+L2+L3 → measure r2_canon
  2. Standardise the 4 insolation features (zero-mean, unit-std)
  3. Fit L_insol to the L1+L2+L3 residual via ridge regression (λ = 0.01)
  4. Compute ΔR² = R²(L1+L2+L3+L_insol) − R²(L1+L2+L3)

Step 3. Decision rule (pre-registered):

Max ΔR² across regimesVerdict
> 0.02POSITIVE — adopt L_insol as canonical 4th layer
0.005 – 0.02TENTATIVE — investigate cross-window stability before adopting
< 0.005NULL — L1 already captures insolation-driven variance

3. Results

3.1 ΔR² when L_insol is added to L1+L2+L3

RegimeWindow (kyr)L1+L2+L3+ L_insolΔR²
post-MPT0–10000.87350.8776+0.0041
iNHG-MPT1000–27000.72890.7297+0.0009
pre-iNHG2700–53200.42980.4305+0.0007
lr04-full0–53200.25530.2573+0.0021
EPICA CO₂0–8000.84520.8494+0.0042

Max ΔR² = +0.0041 — well below the 0.005 tentative-adoption threshold.

3.2 L_insol coefficients (post-MPT)

After standardising each feature, the regression coefficients on the canonical-residual are:

CoefficientValueFeature
γ ε−23.45°−0.0069obliquity anomaly
γ e+0.0774eccentricity
γ e·sin(ϖ)−0.0263climatic precession (sin)
γ e·cos(ϖ)−0.0388climatic precession (cos)

All four coefficients are small (≤ 8% of normalised residual range). Eccentricity has the largest residual coefficient, but its contribution to overall R² is still only ~0.4%.

3.3 L_insol-only baseline

To quantify how much classical insolation explains on its own (no L1, no L2, no L3), we ran a pure 4-feature regression against the LR04 stack:

RegimeR²_insol_only
post-MPT0.0492
iNHG-MPT0.0075
pre-iNHG0.0004
lr04-full0.0020

Compared to L1 alone:

RegimeR²_L1R²_insol_onlyL1 / insol ratio
post-MPT0.8700.04918×
iNHG-MPT0.7220.00896×
pre-iNHG0.3810.0004950×
lr04-full0.2390.002120×

The 8H gravitational-coupling lattice (L1) carries 18 – 950× more explanatory power than classical Berger insolation features at every LR04 time window tested.


4. Verdict — strong null

Max ΔR² = +0.0041 < tentative threshold 0.005

L1’s 32 integer-divisor lattice already encodes the variance that classical Berger insolation features provide. Adding ε(t), e(t), e·sin(ϖ), e·cos(ϖ) as separate regressors yields essentially no additional R² — at most 0.4% in any LR04 regime.

The canonical formula C(t) = c₀ + L1(t) + L2(t) + L3(t) is complete with respect to the insolation degrees of freedom. No 4th canonical layer is added.


5. Hardening test — Laskar 2010 eccentricity substituted in

Our model’s analytical e(t) varies only 0.014–0.017 (single-cycle law-of-cosines formula) vs Laskar 2010’s full ~0.003–0.06 envelope. A natural hardening test: substitute Laskar’s wide-range e(t) and ϖ(t) and re-run.

Using Laskar’s data from public/input/la2010-orbital-elements.json:

TestLR04 (0–500 kyr)EPICA CO₂ (0–800 kyr)
Berger insolation alone (Laskar e/ϖ)R² = 0.293R² = 0.172
L1+L2+L3 aloneR² = 0.9424R² = 0.8452
L1+L2+L3 + Berger insolation (Laskar)R² = 0.9424 → ΔR² = 0.00000R² = 0.9230 → ΔR² = 0.00001

The null result hardens, it does not soften:

  • Laskar’s wider-range e(t) raises classical-insolation-alone R² to 0.293 (real signal — significantly higher than the 0.05 with our model’s narrow e)
  • But when added to L1+L2+L3, the contribution drops to literal zero on LR04 and 0.001% on EPICA CO₂
  • The Berger insolation parameterization is captured more cleanly by Laskar’s e, but it remains entirely contained within the L1 span — there is no residual variance for it to explain

Strict mathematical reading. The L1 frequencies (g_j ± g_k, k ± s_j beats at integer divisors of 8H) span the same linear subspace as Berger’s 4-feature decomposition. Once L1 is in the model, Berger features are linearly dependent on L1 features by construction — the empirical ΔR² = 0 result with Laskar substitution confirms this in data. This is not a coincidence; it is a theorem of secular theory expressed in regression form.


6. Discussion

6.1 Insolation features are downstream of gravitational coupling

The three quantities ε(t), e(t), ϖ(t) are themselves products of the same gravitational coupling among solar-system bodies that produces the 8H lattice. Berger’s secular theory derives ε(t) and e(t) as sums of beats among Laskar’s fundamental frequencies (g₁..g₈, s₁..s₈). Those beats are L1’s 32 integers (see L1 Attribution). Once L1 is in the formula, adding the literally-derived quantities is double-counting.

6.2 Classical insolation has very low standalone explanatory power for LR04

R²_insol_only = 0.049 at post-MPT (and ≤ 0.008 pre-MPT) — classical insolation features alone explain less than 5% of the LR04 stack. This follows from LR04 being a record of ice volume, not summer-day insolation.

6.3 Consistent with the Climate Summary conclusion

Climate is forced by the gravitational coupling among solar-system bodies. Insolation is one channel through which that coupling reaches Earth. The 8H integer-divisor lattice is a more complete description of the rhythm than the classical Berger insolation parameterization — strictly more expressive, no information lost.

See Climate Summary §4.3 for the broader synthesis.


7. Caveats

7.1 We tested four features, not the full Berger 1978 expansion

The canonical Berger 1978 insolation formula includes higher-order terms (ε², ε·sin ϖ, e²·sin 2ϖ, etc.) and latitude/season-specific quantities like 65°N June caloric summer insolation W₆₅(t). We tested only the four linear Milankovitch features (ε, e, e·sin ϖ, e·cos ϖ) because:

  1. These four are the standard climatic-precession basis cited in every review of Milankovitch theory
  2. Higher-order terms are products and harmonics of the same primitives — if the linear quartet adds < 0.5% R², no realistic higher-order expansion will close the gap to the 0.87 set by L1

7.2 Window/regime dependence

ΔR² is slightly larger in regimes where L1+L2+L3 alone is weaker (post-MPT 0.004; pre-iNHG 0.0007). This is expected — when the canonical formula already explains most variance, there is little headroom for additional features. The fact that ΔR² is small in every window tested strengthens the null, rather than weakening it.


8. Reproducibility

# Step 1 — dump insolation features at LR04 sample times node scripts/extract_insolation_features.js # Step 2 — run augmented regression and write results python3 scripts/milankovitch_insolation_extension.py

Total runtime: < 1 second. Deterministic, no random seeds.

Output: data/insolation-extension-results.json contains the full per-regime breakdown including L_insol-only R², coefficients, and verdict string.


See also

  • Climate Summary — the synthesis this test empirically defends
  • Climate Formula — canonical L1+L2+L3 architecture (the formula tested here)
  • L1 Attribution — per-integer Berger vs Holistic mapping; explains why L1 already encodes Berger insolation beats
  • Related Work — position relative to recent peer-reviewed work
Last updated on: