Skip to Content
📄 ESSRT — Read the paper
3D SimulationAnalysis & Export

Analysis & Export Tools

The 3D Simulation includes powerful tools for generating reports, exporting data, and validating measurements against IAU reference values. Every value they report comes from the one published engine the scene renders from, so a value shown here, in the simulator and on this site cannot disagree.

This page establishes:

All values come from one engine. Every value these tools report — year lengths, day lengths, precession periods, orbital parameters — is produced by the published @essrt/physics engine, the same code the 3D scene renders from and the same code this site’s calculator reads. The panels display the engine’s own output rather than re-deriving it from the rendered scene, so a value shown here, in the simulator and on this site cannot disagree.

How this came about. Historically the formulas on the Formulas page were derived by measuring the running simulation — that is how the project began. Since the engine was extracted into the published packages, the direction has reversed: the engine computes, and the scene and the formulas both read it. The closed forms are now descriptions of the engine’s behaviour inside their certified window, not its source.

Validated against more than 8,000 observations. The simulation is checked against over 8,000 verification data points from authoritative sources — NASA eclipse and transit catalogues, opposition and conjunction tables, mutual planetary events, and historical observations (7,384 of them Tycho Brahe’s Mars records). Entries are graded by source quality, from 42 highest-quality model start positions and 76 precise transit observations down to 127 older or less precise records. See the verification data reference  on GitHub for the full dataset.

The simulation source code is openly available on GitHub . Readers are invited to inspect how each measurement is implemented.

Launch the 3D Simulation → 


Location in the UI

Analysis tools are spread across two Tweakpane folders:

Reports ├── Planet Positions & Orbits (export RA/Dec, distances at specific Julian dates) ├── Solstices & Equinoxes (export solstice/equinox dates with RA and obliquity) └── Year Length Analysis (export tropical, anomalistic, sidereal year lengths) Tools ├── Verification tab (the model against references) │ ├── Framework Verification (model vs published celestial-mechanics formulas, ±23 kyr to ±1 Myr) │ └── Perihelion of Planets Verification (model vs the observed perihelion precession per planet, JPL 1900–2026) ├── Analysis tab (the model's own predictions) │ ├── Planet Orbit Analysis (one planet's orbit of date: elements, geometry in the scene, the orbit picture, the JPL position report) │ ├── Earth–Moon Genesis Analysis (deep-time evolution of the clock, LOD, year length, Moon distance, AU) │ ├── Earth Climate Analysis (L1+L2+L3 climate formula across LR04 / CENOGRID / EPICA / CenCO2PIP) │ └── Earth dLOD/dt Analysis (the day-length rate's drivers + Core-mantle swing vs paleoclimate proxies, out-of-sample) ├── Standard Model overlay (VSOP87 · MPP02) (the standard theory's ghost bodies in the scene) └── Console Tests (F12) ├── Year Length (6 tests) ├── Day Length (3 tests) └── Calibration (4 tests)

Planet Orbit Analysis

One planet’s orbit of date from the N-body chain, the orbit the scene actually renders. Access it via Tools > Analysis > Planet Orbit Analysis.

What it shows

SectionContents
Chain elements of datea, e, inclination and ascending node (J2000 ecliptic and the invariable plane), longitude and argument of perihelion, mean longitude, period, perihelion and aphelion distances
Orbit geometry (live)Sun → planet distance, true and mean anomaly and the equation of centre, the inclination and node against the ecliptic of date, the argument of latitude, the height above the ecliptic, RA/Dec
The scenethe orbit drawn around the Sun in the 3D view — orbit plane with nodes and extremes, the perihelion, the anomaly arcs, a locator ring on the planet — with an Orbit view and a Planet view
Exportthe orbit picture: the orbit of date seen from above with its nodes, apsides, the Ω and ω arcs, a month ring, the four cardinal dates, the IAU constellation band and the values in both frames
Position reportthe rendered planet’s RA/Dec against the NASA/JPL test dates, with Excel download and clipboard copy

Everything it shows comes from the evaluators that place the planet in the scene; nothing is computed on a path of its own.

All values shown in the Planet Orbit Analysis are live — they update as the simulation runs. Pause the simulation first if you need stable readings.


Year Analysis Report

Generates a comprehensive Excel file with year-by-year astronomical measurements, all derived from the running 3D simulation.

Controls

ControlDescription
ModeRange or List - how years are specified
Year list (CSV)Comma-separated years (List mode)
Start yearFirst year (Range mode)
End yearLast year (Range mode)
Create fileTrigger report generation

Output Sheets

The exported Excel file contains 5 sheets:

SheetContents
SummaryOrbital parameters, tropical/sidereal/anomalistic year comparisons with IAU references
Cardinal PointsYear-by-year Julian Day data for VE, SS, AE, WS
AnomalisticPerihelion and aphelion dates and distances
SiderealSidereal year crossings
DetailedAll measurements combined per year

Use Cases

  • Validate model accuracy against IAU J2000 values
  • Analyze year length variations over time
  • Study tropical vs sidereal year relationships
  • Verify precession measurements

Large year ranges can take several minutes; progress updates appear in the console (F12).


Solstice File Export

Exports June solstice data for a range of years.

ControlDescription
ModeRange or List
Start/End yearYear range (Range mode)
Year list (CSV)Specific years (List mode)
Create fileTrigger export

Output columns: For each year, the Excel file contains:

ColumnDescription
YearCalendar year
June Solstice JDJulian Day of the measured June solstice
Obliquity (°)Measured axial tilt at the solstice moment
Sun RARight Ascension of the Sun at solstice
Sun DecDeclination of the Sun at solstice

All values are measured from the 3D scene — the simulation fast-forwards to each solstice and reads the geometry.


Object File Export

Exports measured planet positions from the simulation at specified Julian Days.

ControlDescription
ModeRange or List
Start/End JDJulian Day range (Range mode), with number of sample points
JD list (CSV)Specific Julian Days (List mode)
Create fileTrigger export

Output columns: For each Julian Day and each planet, the Excel file contains:

ColumnDescription
Julian DayThe epoch
RARight Ascension (measured from 3D scene)
DecDeclination (measured from 3D scene)
Distance (AU)Earth-to-planet distance
Sun Distance (AU)Sun-to-planet distance

This is useful for comparing the simulation’s geocentric positions against JPL Horizons or other ephemeris services.


Console Tests (F12)

Runs detailed astronomical validation tests with output to the browser’s Developer Console.

Setup

  1. Open Developer Tools (F12)
  2. Open Tools > Console Tests (F12)
  3. Set the year range
  4. Click a test button

Available Tests

Year Length Analysis

TestDescription
Analyze Year at June SolsticeMeasures tropical year length at June solstice
Analyze Year at December SolsticeMeasures tropical year length at December solstice
Analyze Year Length by CardinalMeasures all 4 cardinal points
Analyze Anomalistic YearMeasures perihelion-to-perihelion interval
Analyze Sidereal YearMeasures Sun’s return to same stellar position
Analyze All AlignmentsCombined measurement analysis

Day Length Analysis

TestDescription
Analyze Sidereal DayMeasures Earth’s rotation period relative to stars
Analyze Solar DayMeasures Earth’s rotation period relative to Sun
Analyze Stellar DayMeasures Earth’s rotation period relative to distant stars

Parameter Verification

TestDescription
Verify Obliquity CalibrationTests whether earthtiltMean and earthRAAngle produce the correct obliquity at J2000
Verify Perihelion RateReads Earth’s perihelion direction and distance at J2000 against the stored reference anchors — an Earth-side anchor check at the epoch it was calibrated to, not a rate validation
Investigate ParametersSensitivity analysis — shows how small changes to model constants affect outputs
Find Optimal earthRAAngleOptimization algorithm that searches for the earthRAAngle value producing the best match to observed precession rates

Example Output

══════════════════════════════════════════════════════════════════════════ TROPICAL YEAR ANALYSIS (VERNAL EQUINOX) ══════════════════════════════════════════════════════════════════════════ Year range: 2000 to 2025 Year VE Julian Day Interval (days) IAU Ref (days) Diff (seconds) ───────────────────────────────────────────────────────────────────────── 2001 2451991.234567 365.242374 365.242374 +0.12 2002 2452356.477891 365.243324 365.242374 +82.15 SUMMARY: Mean tropical year: 365.242374 days IAU J2000 reference: 365.242374 days Difference: +0.05 seconds Status: ✓ PASS (within ±1 second tolerance)

Invariable Plane Validation

This validation shows whether the simulation’s invariable plane matches the reference orientation from Souami & Souchay (2012).

Read-only displays:

MetricExpected value
Calculated Tilt1.57869° (Souami & Souchay 2012)
Calculated Ascending Node~107.582°
Jupiter Angular Momentum58–62%
Saturn Angular Momentum23–26%
A vs B Difference< 0.5°

The panel also shows the current height above or below the invariable plane (in AU) for each of the 8 major planets.


Balance Trend Tracking

Tracks the invariable plane balance over time as the simulation runs.

ControlDescription
Start TrackingBegin recording mass-weighted balance samples each frame
Stop TrackingPause recording
Reset TrackingClear all samples (use after jumping to a new date)

Live metrics displayed:

MetricDescription
Years TrackedDuration of tracking window
Sample CountNumber of recorded samples
Cumulative SumRunning total of mass-weighted balance
Lifetime Avg (AU)Should converge toward ~0 over 165+ years (one full Neptune orbit)
Min / Max Seen (AU)Extremes during tracking

The Lifetime Average is the key validation metric — if the invariable plane is correctly positioned, the mass-weighted deviations should cancel out over a full outer-planet cycle.


Perihelion of Planets Verification

Shows the actual observed perihelion-precession history of each planet from JPL NAIF WebGeoCalc (1800–2100), plotted alongside the model’s own prediction for direct comparison. Access via Tools > Perihelion of Planets Verification.

This is the panel that makes the model’s perihelion rates checkable against observation. The rates are not fitted to JPL — they come out of the N-body chain and are gated against what JPL reports, which is a different quantity from what truncated Laplace–Lagrange secular theory predicts. The panel shows that comparison in real time.

What it shows

Each planet tab presents three charts on the same time axis (1800–2100):

ChartAngleDescription
Longitude of perihelion ϖ (primary)ϖ = Ω + ωBlue line = observed data. Yellow line = the model’s prediction. The slope of each line is the precession rate in ″/cy.
Ascending node Ω (collapsible)ΩLongitude of the ascending node on the ecliptic, measured from the vernal equinox.
Argument of periapsis ω (collapsible)ω = ϖ − ΩAngle from the ascending node to the perihelion, within the orbital plane.

The primary chart reports two trends per planet:

  • Raw OLS — direct linear regression of ϖ(t), affected by short-period oscillations.
  • Sin + lin — bias-corrected trend (linear + sinusoid model removes the dominant oscillation). For inner planets (short oscillation periods) both rates agree; for outer planets they differ.

Observed rates (1800–2100 baseline)

PlanetObserved ϖ̇Resolvable?Model’s perihelion period, of date
Mercury~572 ″/cy prograde✓23,199 yr
Venus~0 ″/cy (flips sign across sub-windows)✗22,463 yr
Earth~6,186 ″/cy prograde (wrt equinox)✓~20,938 yr (the perihelion-of-date beat)
Mars~1,600 ″/cy prograde✓19,002 yr
Jupiter~1,800 ″/cy prograde (current epoch)✗23,760 yr
Saturn~-3,400 ″/cy retrograde✗16,503 yr
Uranus~1,100 ″/cy (current epoch)✗23,907 yr
Neptune~200 ″/cy (current epoch)✗25,464 yr

These are the model’s own periods, taken from the N-body chain: each planet’s leading secular apsidal eigenfrequency g plus the general precession, so the column reads against the equinox of date. The perihelion longitude the simulator renders is the chain’s, advancing at its own non-uniform rate rather than linearly. No integer-divisor descriptor enters the column (retired machinery).

The five un-determined planets (Venus, Jupiter, Saturn, Uranus, Neptune) have perihelion oscillation periods longer than the 126-year observational baseline. A linear fit over the window picks up oscillation noise rather than the long-term trend, and the apparent slope flips sign across sub-windows (1800–1900, 1900–2026, 2026–2100). Their signs are inherited from Laskar-style million-year secular integrations. Only Mercury and Mars have trends cleanly resolvable from direct observation.

Earth is omitted from the tabs because its ecliptic inclination is zero by definition (the ecliptic is Earth’s orbital plane), so its ascending node Ω is numerically undefined. The reference WebGeoCalc charts also omit Earth.

Frame note: All three angles (Ω, ω, ϖ) are measured in the ecliptic-of-date frame — the plane of Earth’s orbit at the instantaneous epoch. The ecliptic itself precesses with respect to the ICRF (inertial J2000) at ~−5,028.8 ″/cy (general precession, one turn per ~25,772 years). The model’s secular modes are measured in the J2000 ecliptic frame and the general precession is added to reach the equinox of date; the Explorer shows the date-frame, which is the frame the comparison is made in.

Why it matters

The planets’ positions ride the N-body chain, gated against JPL over 1800–2100, and the perihelion rates and periods in this panel ride it too — the chain’s own secular modes. One distinction matters when reading any single number: a secular rate and a window rate are different quantities. Mercury’s Newtonian 1800–2100 window reads 529.0 ″/cy, while its long-term secular mode is 5.576 ″/yr — a period of 232,437 yr against the stars. For the outer planets the two part much further, which is why the panel names which it is showing. For Saturn specifically, first-order Laplace–Lagrange theory gives a prograde long-term mean (g₆), while WebGeoCalc reports retrograde ~-3,400 ″/cy in the present window. Both are right: the retrograde is the window phase of the ~900-year Jupiter–Saturn Great Inequality, and the model’s own N-body engine reproduces that mechanism — the long-term mean prograde, the window rate span-dependent (Supporting Evidence §9, N-body Exploration).

For the panel’s technical reference see the Perihelion of Planets Verification reference  and Mercury Precession Breakdown  on GitHub.


Earth Climate Analysis

Plots the model’s canonical 3-layer climate formula — 28 engine-derived orbital lines (the 405-kyr carbon-thermostat family among them) + 6-step L3 transitions, fit per regime with sequential ridge regression — directly on top of four independent proxy records. Access via Tools > Earth Climate Analysis.

What it shows

Eight tabs span four independent climate records across all relevant time scales:

TabWindowRecordHighlights
CenCO2PIP · 66M0–66 MaBayesian multi-proxy CO₂ (Consortium 2023)Deep-time atmospheric CO₂. L3 step transitions dominate (R² = 0.692 with all six Cenozoic transitions).
CENOGRID · 67M0–67 MaWesterhold 2020 benthic stack (δ¹⁸O / δ¹³C subtoggle)Cenozoic ice-volume + carbon-cycle. L3 carries ~60% of δ¹⁸O variance, ~34% of δ¹³C. The fitted step amplitudes recover canonical Cenozoic climate history.
LR04 · 5.3M0–5,320 kyr BPLisiecki & Raymo 2005 benthicThree-regime stitched fit (pre-iNHG / iNHG-MPT / post-MPT). Stitched R² ≈ 0.93 vs single-regime fit R² = 0.25. iNHG (~2.7 Ma) and MPT (~1 Ma) transition markers overlaid.
LR04 · 1.2M0–1,200 kyr BPLR04Across the MPT transition (~1 Ma); shows post-MPT 100-kyr-band emergence.
EPICA · 800k0–800 kyrBereiter 2015 ice-core CO₂Cross-proxy validation: the same 28 engine-derived lines fit atmospheric CO₂ at R² = 0.724. Obliquity-band CO₂ amplification ratio 15.79 reveals a second L2 mechanism distinct from the 405-kyr thermostat.
LR04 · 700k0–700 kyrLR04 post-MPT~7 glacial-interglacial cycles; the formula’s best-fit window (R² = 0.780).
LR04 · 200k0–200 kyrLR04 recentHigh-resolution current glacial cycle; LGM and MIS 6 visible.
LR04 · forward−250 → +250 kyrLR04 past + extrapolated futureOrbital-only projection: next natural glaciation onset at ~60,500 AD, strongest peak in window at ~198,500 AD. Glacial / interglacial markers auto-detected on the curve.

Layer toggles

Three checkboxes let you visualise individual layer contributions:

ToggleCurveMeaning
TotalwhiteComplete formula: baseline + L1 orbital + L2 carbon thermostat + L3 step transitions
L1 aloneyellowOrbital wiggles on top of the regime baseline + L3
L2 alonegreenCarbon-thermostat (405-kyr fundamental + 202/135-kyr harmonics) on top of regime baseline + L3

L3 step terms are included on every line so each curve follows its per-period regime baseline. The lines do not visually sum to Total (each carries the baseline once).

R² breakdown panel

A collapsible panel below each chart shows per-layer cumulative R² and ΔR² for the regime in view. On stitched tabs (Full LR04, Post-MPT ext, CENOGRID δ¹⁸O), the panel reports the stitched curve R² against the actual data plus per-regime breakdown for each segment crossed.

Cross-proxy comparison tables

  • CENOGRID tab → “L3 step amplitudes: ice (δ¹⁸O) vs carbon (δ¹³C)” — per-transition raw-‰ jumps for both proxies side by side.
  • EPICA tab → “L1 carbon-amplification ratio (EPICA / LR04 post-MPT)” — per-line ratio sorted descending; identifies which L1 lines manifest primarily through carbon-cycle dynamics.

Y-axis conventions

ProxyY-axisOrientation
δ¹⁸O (LR04 / CENOGRID δ¹⁸O)‰Inverted (↑ warmer, ↓ colder — paleoclimate convention)
δ¹³C (CENOGRID δ¹³C)‰Inverted (↑ carbon released, ↓ carbon stored)
CO₂ (EPICA / CenCO2PIP)ppmStandard non-inverted, floor clamped at 0

X-axis runs past → future (today = 2000 AD) with calendar-year labels (BC for past, AD for future).

Why it matters

The Explorer makes the framework’s per-regime / per-layer / per-proxy structure visible at a glance. Three things you can see directly:

  1. Quaternary L1 dominance vs Cenozoic L3 dominance: switch between LR04·700k and CENOGRID·67M to see how L1 orbital oscillations dominate at sub-Myr scales while L3 step transitions dominate at deep-time scales.
  2. The 405-kyr off-basis signal: toggle L2 alone on CENOGRID δ¹³C — the silicate-weathering thermostat shows as a clear narrow line with carbon-cycle amplification, not as orbital-line content.
  3. Forward projection scope: the LR04·forward tab makes explicit that the formula is descriptive within the post-MPT regime; the predicted phase transitions show when the orbital clock makes glaciation possible, with an honest note about the Ganopolski-vs-Caillon CO₂-causality debate.

Full background: Climate Formula page on this site; canonical implementation and reproducibility at doc 92 on GitHub .


Earth–Moon Genesis Analysis

Visualizes the model’s Expanding Resonance — how the lunisolar precession period (the clock), the obliquity beat, length-of-day, sidereal/tropical year length, Moon distance, and Earth-Sun distance evolve across geological time. The clock lengthens monotonically via two physically independent drivers; the precession-band climate lines ride it and the planetary eccentricity beats do not. Access via Tools > Earth–Moon Genesis Analysis.

What it shows

Each plot covers a single quantity from the deep-time evolution chain. The user picks both the quantity and the time range.

Quantity tabs

TabQuantityDriverModern valueDeep-time behaviour
Axial Precessionthe precession clock1 only~25,772 yrLengthens on the composed lunisolar rate
Obliquity periodthe obliquity beat 2π/(ψ̇ᵢₙ − |s₃|), ψ̇ᵢₙ the spin axis’s inertial rate1 only~~41,099 yrThe beat period evolves; the mean ~23.4° tilt stays fixed
Length of DayEarth’s mean solar day1 only24 hr (J2000)~4.6 hr at genesis → ~32 hr at +1 Gyr
Length of YearTropical year in days at each epoch1 + 2365.24 days~1,886 days/yr at genesis → ~400 days/yr at Devonian (matches Wells 1963) → 365 today → ~272 days/yr at +1 Gyr
AU DistanceEarth-Sun semi-major axis2 only149,597,871 kmSlowly expands as the Sun loses mass (~0.04 % over 1 Gyr)
Moon DistanceEarth-Moon distance1 (Farhat 2022 polynomial)384,399 kmMoon at rigid Roche at genesis (~4.498 Ga) → ~425,000 km at +1 Gyr

The two drivers:

  • Driver 1 — Earth-Moon tidal evolution: lunar tidal friction slows Earth’s spin, lengthening LOD. H ∝ LOD via the structural identity H = 13 × axial precession period.
  • Driver 2 — Solar mass loss: the Sun loses ~10⁹ kg/s in solar wind; angular-momentum conservation a × M = const slowly expands every planet’s orbit; Kepler’s third law T² ∝ a³ / M sets each new orbital period.

Range tabs

TabSpanUse case
Full (−4.54 to +1 Gyr)Earth-Moon genesis (Hadean) → +1 GyrComplete evolutionary picture across the validated range of the proper-physics formulas
Phanerozoic (650 Ma)Past 650 MyrZoom into the geological eon where Wu 2024 cyclostratigraphy provides direct ±2σ anchor points

Chart features

ElementDescription
Era markersVertical reference lines at Earth-Moon genesis (~−4.54 Gyr), Cambrian (~−541 Ma), Devonian (~−380 Ma), Pangea (~−250 Ma), and J2000 (today).
Wu et al. 2024 anchor overlayFor LOD / Moon distance / axial precession the panel overlays the Wu compilation’s cyclostratigraphic anchor points at 100, 200, 300, 400, 500, 650 Ma — each plotted as a filled circle with ±2σ error bars. Validation: the model curve passes through every error bar.
Extrapolation zoneFuture of J2000 is shaded with a subtle grey hatch + an “Extrapolation” label — these are model projections, not data-anchored.
Hover tooltipSnap-to-nearest-sample tooltip showing the exact year and value at any point on the chart.
FootnotesPer-quantity context — Axial Precession notes that the clock’s mean is shown (its ±26-kyr wander is invisible at this deep-time scale); Obliquity notes that the beat period evolves while the ~23.4° tilt mean stays fixed.

Export buttons

Two buttons in the header produce publication-grade SVG exports for the currently selected quantity:

  • Export Full — Full Hadean → +1 Gyr range, paper-style (white background).
  • Export Phanerozoic — Past 650 Myr range, paper-style.

Validation summary

The model curves pass through anchored data points from multiple independent sources:

SourceQuantityRangeAgreement
Wells 1963Devonian coral-band day count380 MaSub-percent; reproduces ~400 days/year
Wu et al. 2024LOD, Moon distance, axial precession100–650 MaWithin ±2σ at all 6 anchors
Farhat 2022Moon distance polynomial0–4.5 Gyr<0.5 % over the full range
Patterson 1956Earth age (Pb-Pb radiometric)4.54 GyrEarth-Moon genesis (Moon at rigid Roche) follows ~40 Myr later at ~4.498 Ga — no Hadean constraint was used in the fit

Why it matters

ESSRT is what lets the model be falsifiable at deep time, not just at the present epoch. Three things you can see directly in the Explorer:

  1. Two tiers. Switch the Axial Precession and Obliquity charts between any two epochs (Devonian vs J2000, for example): both lengthen with the clock, the obliquity beat faster than the clock itself. The planetary eccentricity beats (not charted here) stay at their modern periods up to the solar-mass tier.
  2. The two drivers act on different quantities. The precession clock, the obliquity beat and LOD scale via Driver 1 only. AU distance scales via Driver 2 only. Year length combines both. The quantity tabs make this clean — each plot’s evolution reflects one (or both) drivers explicitly.
  3. Wu 2024 anchors validate sub-percent. Overlay the orange anchor points on the LOD or Moon-distance charts; the model curve passes through every ±2σ window across the full Phanerozoic. The framework is not retro-fitted to the data — the proper-physics formulas predict these anchors from independent inputs.

Full background: Expanding Resonance page on this site; canonical implementation and per-anchor validation at doc 99 on GitHub ; dedicated panel reference at doc 59 on GitHub .


Earth dLOD/dt Analysis

Interactive visualization of the framework’s ΔT stack — the 4 flags (Bond + Hallstatt + Jose5 + Jose4) plus the Core-mantle swing episode (joint world) — against paleoclimate proxies. Reproduces the comparison at Timekeeping § The Bond 2001 IRD comparison: the same stack that closes ΔT against the historical eclipse record correlates with Bond’s own drift-ice signal at Pearson r = +0.41 out-of-sample in the 4,000 BC – 1,800 AD window — an open correspondence that fails its null tests, not a validation. Access via Tools > Earth dLOD/dt Analysis.

What it shows

A dLOD/dt-vs-year chart with toggleable curve layers on a shared time axis, plus named climate-period bands:

LayerValue at J2000Physical role
Tidal (L1) (dashed rust)+2.12 ms/cyPure Moon-recession torque (Farhat 2022 / LLR α₁ 3.82 cm/yr) — essentially flat
+ GIA (L2) (teal)+1.77 ms/cySecular baseline — the Milankovitch-scale physics only
+ Cycles (L3) (gold dashed)+0.06 ms/cyAdds the 4-flag sub-Milankovitch modulation (flags only)
+ Core-mantle (L4) (orange, bold)+0.07 ms/cyAdds the Core-mantle swing — the shipped observable
Bond (lavender dashed)the 1,466-yr sinusoid (basis line n = 1830)The Bond harmonic isolated from the 4-flag stack (opt-in)
Core (green)T₀ ≈ 3,916-yr damped episode (basis line n = 685)The Core-mantle swing isolated — excited ~1600 BC, terminated ~1600 AD (opt-in)
GISP2 (pink)°C anomaly, secondary axisAlley 2000 Greenland ice-core anomaly overlay (to ~27,950 BC; opt-in)
LR04 (green)inverted δ¹⁸O anomaly (positive = warm), secondary axisLisiecki & Raymo 2005 global benthic stack — the same dataset the Earth Climate Analysis fits against; covers the full 200,000 BC tab (opt-in)

Named climate-period bands sit behind the curves: Bond events, Holocene Climatic Optimum, 4.2 ka event, Late Bronze Age Collapse, Iron Age cold, Roman Warm Period, Late Antique LIA, Medieval Warm Period, Little Ice Age (Maunder + Dalton) and Modern warm. The deep-time tabs add Younger Dryas, Older Dryas and Last Glacial Maximum, and the 200-kyr glacial tab adds MIS 7 interglacial, Penultimate Glaciation (MIS 6), Eemian (MIS 5e) and Last Glacial Period. Wide bands get inline labels; narrow bands get 45° leader labels in the top margin.

Time-range tabs

Seven windows from deep past to near future:

  • 200,000 BC – 2050 AD — two full glacial cycles; rendered on a finer 3,000-sample grid so the ~716-yr Jose4 harmonic stays resolved, with the PEAK/TROUGH crossing triangles suppressed at this density (~450 crossings)
  • 27,500 BC – 2050 AD — full Holocene + LGM tail
  • 13,000 BC – 2050 AD — Younger Dryas era
  • 4,000 BC – 2050 AD — validated window + modern
  • 750 – 2050 AD — historical epoch (default)
  • 1,200 – 2,500 AD — MWP through near-future projection
  • 13,000 BC – 15,000 AD — deep past + deep future

Analysis panels

Three collapsible panels below the chart:

  • Framework ↔ Bond 2001 IRD correlation (detrended) — Pearson r on the validated window, with lag scan.
  • Sign convention check — the framework’s Σ_stack value at each of 10 named events, with pass/fail against “Σ > 0 = warm, Σ < 0 = cold”. 4 of 5 events inside the validated window match. Each row samples one hand-picked year, which flatters the result — the panel also reports the band-level score across the full named periods, and the correspondence fails its null tests (Timekeeping).
  • Bond event ↔ nearest framework ▼ TROUGH crossing — event-by-event pairing of Bond’s 9 documented cold events against the framework’s stack-derived trough crossings.

Paper-style SVG export

The header Export LOD-Climate graph button opens a print-ready SVG in a new tab: white background, dark text, curve colors darkened for print, framework legend across the top, out-of-sample retrodiction disclaimer in the footer. Layer visibility is preserved — toggle layers off and the exported figure omits them too. Typography matches the ESSRT paper-export style (centered 20-pt title / 12-pt subtitle / 12-pt legend, 13-pt axis labels).

Full background: Timekeeping (canonical ΔT + cross-validation home); implementation and physics in doc 99 on GitHub  and doc 102 § “Defensible scientific position” item 7 .


Framework Verification

Compares the model’s predictions against published closed-form formulas from celestial-mechanics literature — Meeus, Chapront, Capitaine, Vondrák, Laskar, Berger, Bills & Ray, Harkness. Access via Tools > Framework Verification.

This is the analytical twin of the Perihelion of Planets Verification. Where that panel compares the model against observed JPL data (1800–2100), Framework Verification compares the model against published analytical formulas (over a ±12,000-year window). Together they validate the model from two independent directions: does it match what JPL measures, and does it match what textbook celestial mechanics predicts?

What it shows

Nine categories are available, one per quantity. The panel’s dropdown / arrow navigation lets you step through them:

#CategoryUnitReferences used
1Eccentricity—Meeus 1991, Berger 1978 (Milankovitch), Laskar La2004
2Obliquity°Chapront 2002, Laskar 1986, Capitaine 2006, Berger 1978, La2004
3Inclination to Invariable Plane°Laskar La2010
4Ascending Node on Invariable Plane°Laskar La2010
5Longitude of Perihelion°Meeus 1991 (Simon 1994), Laskar La2004
6Tropical YeardaysLaskar 1986
7Solar Day LengthsecondsBills & Ray 1999 (linear tidal recession at modern 3.82 cm/yr Moon recession rate)
8Sidereal YeardaysChapront 2002
9Axial Precession PeriodyearsCapitaine 2003, Vondrák 2011

Each category also shows observed J2000 values (NASA/JPL, IAU, Souami & Souchay 2012) in the comparison table so the reader can see where observed reality sits relative to both the model and the published formulas.

Chart layout

Every category opens a three-section pane:

SectionContents
Main chart (upper)Model curve (amber) plus every reference formula (various colours) plotted on a −12,000 BC to +12,000 AD axis, with a dashed J2000 gridline.
Residual chart (lower)reference − model for each reference, in an appropriate residual unit (arcseconds, seconds, milliseconds, degrees, or AU depending on the quantity). The dark grey zero-line makes agreement vs divergence immediately visible.
J2000 comparison tableThree columns: formula name (with a link to the published source), value at J2000 in the category’s unit, and Δ vs the model.

A “Max difference” line under the residual chart reports the actual gap at −12,000 BC and +12,000 AD between the model and the primary reference, in both the residual unit and the base unit.

Reference formula catalogue

The panel implements three classes of reference formula:

ClassValidityExamples
Polynomial~±5,000 years around J2000Meeus 1991, Chapront 2002, Capitaine 2003, Harkness 1891, Bills & Ray 1999, Laskar 1986
Trigonometric series~±250,000 yearsBerger 1978 (eccentricity, obliquity), Vondrák 2011 (axial precession)
Tabulated N-body integrationsLa2004: ±250,000 yr
La2010: −500,000 yr → J2000
Laskar et al. 2004 and 2011 — linearly interpolated with 360°-wrap handling

Reference polynomials become unreliable outside their stated validity window — the panel plots them anyway (with a range note) so the reader can see why N-body solutions are needed at long range.

Export for Paper

Two buttons in the header produce publication-grade SVG exports:

  • Export for Paper — renders the current category over the default ±12,000 yr range as a clean SVG without UI chrome.
  • Export Cycles — for eccentricity and obliquity only: extends the baseline to −248,000 BC → +102,000 AD to show the model’s long-term oscillation cycles against Laskar La2004 over multiple glacial cycles.

What a user sees at different time scales

ScaleWhat happens
Century-scale (±100 yr)Model agrees with Meeus, Chapront, Capitaine polynomials at the J2000-value level to a few arcseconds / sub-second time units. Curves indistinguishable in the main chart.
Millennial-scale (±5,000 yr)Model still tracks the polynomial references closely. Residuals grow but stay within the polynomials’ stated validity.
Ten-kyr-scale (±12,000 yr)Polynomial references start to diverge (they were fit for a narrow window). The model tracks Laskar’s La2004/La2010 N-body integrations, the only references valid at this range.
100-kyr-scale (Export Cycles)The model’s eccentricity and obliquity cycles are compared directly against Laskar’s full N-body integration across several glacial cycles — where Milankovitch features appear.

Earth-only. All nine categories describe Earth quantities (Earth’s orbit + Earth’s spin axis). Per-planet validation against JPL observations lives in the Perihelion of Planets Verification instead.

For the full technical reference — including the exact list of formulas, colour coding, and code locations — see the Framework Verification reference  on GitHub.


IAU Reference Values

The analysis tools compare measured simulation values against these IAU J2000 reference values:

MeasurementIAU J2000 Value
Tropical Year (March Equinox)365.242374 days
Tropical Year (June Solstice)365.241626 days
Tropical Year (September Equinox)365.242018 days
Tropical Year (December Solstice)365.242740 days
Tropical Year (Mean)365.242189 days
Anomalistic Year365.259636 days
Sidereal Year365.256363 days
IAU Precession Period25,771.57 years

Tips

  1. List Mode: Use comma-separated years for non-consecutive analysis (e.g., 2000, 2025, 2050, 2100)
  2. Console: Always open Developer Tools (F12) before running console tests
  3. Validation: Compare measured output against IAU references to verify model accuracy
  4. Export Format: All exports use Excel format (.xlsx)

Return to the 3D Simulation Guide or explore Mathematical Foundations for the underlying calculations.

Last updated on: