@essrt/physics 26.0.1 → 26.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/constants/coefficients.d.ts +3 -3
- package/src/constants/coefficients.js +5 -5
- package/src/constants/generated.js +1 -1
- package/src/earth/deep-orbital-history.cjs +178 -60
- package/src/index.js +12 -2
- package/src/model/context.js +4 -1
- package/src/model/one-source-movement.js +11 -2
- package/types/constants/coefficients.d.ts +3 -3
- package/types/earth/deep-orbital-history.d.cts +20 -1
- package/types/index.d.ts +1 -0
- package/types/model/context.d.ts +10 -0
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essrt/physics",
|
|
3
|
-
"version": "26.0
|
|
3
|
+
"version": "26.1.0",
|
|
4
4
|
"description": "ESSRT (Expanding Solar System Resonance Theory) physics core — pure, injectable-constants, no I/O, no globals, no DOM. The complete model incl. fitted coefficients; every published version immutably ships one recorded model identity.",
|
|
5
5
|
"essrt": {
|
|
6
|
-
"modelVersion": "v27.
|
|
6
|
+
"modelVersion": "v27.2",
|
|
7
7
|
"_note": "The model identity this package version ships (IP-unified-architecture §10: package semver tracks the API axis; the model version + CONSTANTS_HASH/COEFFICIENTS_HASH in src/constants/ carry the scientific identity). The version-pinning gate enforces this pairing against public/input/model-version.json."
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
3
|
// in coefficients.js, emitted VERBATIM from the fit artifacts under data/.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "a1e5567e03d1936e";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly BALANCE_PRESETS: Array<Array<number | string>>;
|
|
@@ -310,7 +310,7 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
310
310
|
"ratio": number;
|
|
311
311
|
"label": string;
|
|
312
312
|
};
|
|
313
|
-
"39.
|
|
313
|
+
"39.5561": {
|
|
314
314
|
"period_kyr": number;
|
|
315
315
|
"lr04_post_mpt_amp": number;
|
|
316
316
|
"epica_amp": number;
|
|
@@ -324,7 +324,7 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
324
324
|
"ratio": number;
|
|
325
325
|
"label": string;
|
|
326
326
|
};
|
|
327
|
-
"40.
|
|
327
|
+
"40.9240": {
|
|
328
328
|
"period_kyr": number;
|
|
329
329
|
"lr04_post_mpt_amp": number;
|
|
330
330
|
"epica_amp": number;
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/** @type {string} */
|
|
23
|
-
export const COEFFICIENTS_HASH = "
|
|
23
|
+
export const COEFFICIENTS_HASH = "a1e5567e03d1936e";
|
|
24
24
|
|
|
25
25
|
/** @type {Readonly<Record<string, unknown>>} */
|
|
26
26
|
export const FITTED_COEFFICIENTS = Object.freeze({
|
|
27
27
|
BALANCE_PRESETS: [["A",99.99472339,34,1,34,0,3,0,5,0,3,1,8,0,34,1,99.8851,7,7,5.5,0,12,1,85,36,36,11,3,54.52,218.64,236.07,287.06,116.26,21.33,354.04],["A",99.99776117,55,1,34,0,3,0,5,0,3,1,8,0,34,1,99.883,7,7,5.1,0,15,1,85,36,36,11,3,54.52,218.64,236.07,287.06,116.26,21.33,354.04],["A",99.99422845,13,1,55,1,3,0,5,0,3,1,21,0,34,0,99.8669,7,7,3.5,0,2,1,85,36,36,12,3,54.52,38.64,236.07,287.06,116.26,21.33,174.04],["A",99.99744637,21,0,34,0,5,0,5,0,3,1,21,0,34,0,99.8636,7,7,5.1,1,9,1,62,36,36,12,3,234.52,218.64,236.07,287.06,116.26,21.33,174.04],["A",99.99403253,21,0,55,0,3,0,5,0,3,1,8,0,34,1,99.863,7,7,3.3,0,9,1,85,36,36,11,3,234.52,218.64,236.07,287.06,116.26,21.33,354.04],["B",99.99533843,21,1,34,1,21,0,8,0,5,1,13,0,34,1,99.3938,7,7,4,0,9,1,35,39,39,12,3,54.52,38.64,236.07,287.06,116.26,21.33,354.04],["B",99.99507239,21,1,55,1,34,0,8,0,5,1,13,0,34,1,99.3775,7,7,2.2,0,9,1,32,39,39,12,3,54.52,38.64,236.07,287.06,116.26,21.33,354.04],["B",99.99738873,55,1,55,1,55,0,8,0,5,1,13,0,34,1,99.3701,7,7,1.9,0,15,1,30,39,39,12,3,54.52,38.64,236.07,287.06,116.26,21.33,354.04],["B",99.99487312,13,0,55,1,55,1,8,0,5,1,13,0,34,1,99.3024,7,7,2.2,0,2,1,30,39,39,12,3,234.52,38.64,56.07,287.06,116.26,21.33,354.04],["B",99.99489704,13,1,55,0,34,1,8,0,5,1,13,0,34,1,99.2544,7,7,2.3,0,2,1,32,39,39,12,3,54.52,218.64,56.07,287.06,116.26,21.33,354.04],["B",99.99530418,21,0,55,0,13,1,8,0,5,1,13,0,34,1,99.2526,7,7,1.9,0,9,1,40,39,39,12,3,234.52,218.64,56.07,287.06,116.26,21.33,354.04],["B",99.99888446,34,1,55,0,21,1,8,0,5,1,13,0,34,1,99.2452,7,7,2.1,0,12,1,35,39,39,12,3,54.52,218.64,56.07,287.06,116.26,21.33,354.04],["A",99.99955832,13,0,34,0,3,1,5,0,3,1,8,0,55,1,99.1096,7,7,5.6,0,2,1,85,36,36,11,3,234.52,218.64,56.07,287.06,116.26,21.33,354.04],["A",99.99648221,21,1,55,1,5,1,5,0,3,1,8,0,55,1,99.1063,7,7,3.1,0,9,1,62,36,36,11,3,54.52,38.64,56.07,287.06,116.26,21.33,354.04],["A",99.99973516,55,0,34,1,5,1,5,0,3,1,8,0,55,1,99.086,7,7,4.9,0,15,1,62,36,36,11,3,234.52,38.64,56.07,287.06,116.26,21.33,354.04]],
|
|
28
|
-
CLIMATE_FORMULA_COEFFS: {"config":{"L1_lines":[{"family":"climatic precession","label":"p+g4","arcsecPerYr":68.20497787152276,"periodKyr":19.001545641452537,"relAmp":0.6717464199951804},{"family":"climatic precession","label":"p+g3","arcsecPerYr":67.65690623723043,"periodKyr":19.15547239857139,"relAmp":0.460782442830978},{"family":"climatic precession","label":"p+g2","arcsecPerYr":57.7403835908232,"periodKyr":22.44529598528639,"relAmp":0.8620464713605362},{"family":"climatic precession","label":"p+g1","arcsecPerYr":55.878226162522175,"periodKyr":23.19329171671584,"relAmp":0.19921489972571554},{"family":"climatic precession","label":"p+g5","arcsecPerYr":54.545319108164605,"periodKyr":23.76005899662999,"relAmp":1},{"family":"obliquity","label":"p+s7","arcsecPerYr":47.52668719388872,"periodKyr":27.268889891543882,"relAmp":0.10427252954025028},{"family":"obliquity","label":"p+s1","arcsecPerYr":44.933851006791144,"periodKyr":28.842397679293658,"relAmp":0.5416339451073867},{"family":"obliquity","label":"p+ζ14","arcsecPerYr":44.68230043443376,"periodKyr":29.004773420333045,"relAmp":0.14236226024182447},{"family":"obliquity","label":"p+ζ9","arcsecPerYr":43.758346063718456,"periodKyr":29.61720715204449,"relAmp":0.1009465170347195},{"family":"obliquity","label":"p+s2","arcsecPerYr":43.476583344095644,"periodKyr":29.809150128997057,"relAmp":0.47895780932341964},{"family":"obliquity","label":"p+s4","arcsecPerYr":32.763640723164436,"periodKyr":39.5560435713027,"relAmp":0.4849220480959469},{"family":"obliquity","label":"p+ζ4","arcsecPerYr":32.21536211501139,"periodKyr":40.229254458577174,"relAmp":0.3238058217329259},{"family":"obliquity","label":"p+s3","arcsecPerYr":31.668510863152665,"periodKyr":40.92393247034353,"relAmp":1},{"family":"obliquity","label":"p+ζ7","arcsecPerYr":31.12051824153533,"periodKyr":41.644550709000725,"relAmp":0.17878079100604266},{"family":"obliquity","label":"p+s6","arcsecPerYr":24.17122814428236,"periodKyr":53.6174658674332,"relAmp":0.16050040214935987},{"family":"eccentricity","label":"g4−g5","arcsecPerYr":13.659658763358156,"periodKyr":94.8779191670953,"relAmp":0.7792461802378098},{"family":"eccentricity","label":"z6−g5","arcsecPerYr":13.381652320125703,"periodKyr":96.84902648762181,"relAmp":0.10995041848327905},{"family":"eccentricity","label":"g3−g5","arcsecPerYr":13.111587129065821,"periodKyr":98.8438689567201,"relAmp":0.5345215810740946},{"family":"eccentricity","label":"z5−g5","arcsecPerYr":12.831040163189634,"periodKyr":101.00506143827943,"relAmp":0.15474467548919818},{"family":"eccentricity","label":"z7−g5","arcsecPerYr":12.567419265426008,"periodKyr":103.12379754572216,"relAmp":0.10461932722318636},{"family":"eccentricity","label":"g4−g1","arcsecPerYr":12.326751709000584,"periodKyr":105.13718703798536,"relAmp":0.15523744965772213},{"family":"eccentricity","label":"g3−g1","arcsecPerYr":11.77868007470825,"periodKyr":110.0293064910417,"relAmp":0.1064846631749067},{"family":"eccentricity","label":"g4−g2","arcsecPerYr":10.464594280699554,"periodKyr":123.8461774280429,"relAmp":0.6717464199951804},{"family":"eccentricity","label":"g3−g2","arcsecPerYr":9.91652264640722,"periodKyr":130.69097366197656,"relAmp":0.460782442830978},{"family":"eccentricity","label":"z5−g2","arcsecPerYr":9.635975680531033,"periodKyr":134.49598078775747,"relAmp":0.13339710146729455},{"family":"eccentricity fundamental","label":"g₂−g₅","periodKyr":405.6256163323513,"arcsecPerYr":3.1950644826586005,"note":"the engine’s 20-Myr mean beat; the long-eccentricity metronome"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/2","periodKyr":202.81280816617564,"note":"carbon-thermostat 2nd harmonic (doc 92 §3), not orbital forcing"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/3","periodKyr":135.20853877745043,"note":"carbon-thermostat 3rd harmonic (doc 92 §3), not orbital forcing"}],"L1_source":"data/l1-physical-lines.json","L2_periods_kyr":{"405-kyr (fundamental)":404.5,"202-kyr (2nd harmonic)":202.25,"135-kyr (3rd harmonic)":134.83},"L3_transitions_ma":{"PETM":56,"EOT":34,"Mi-1":23,"MMCT":14,"iNHG":2.7,"MPT":1},"description":"Climate formula = intercept + L1 + L2 + L3 (in normalized units). De-normalize: y_raw = y_norm * y_std + y_mean + (trend_slope*t_kyr + trend_intercept)."},"regimes":{"lr04-post-mpt":{"label":"LR04 post-MPT","regime":"post-mpt","window_kyr":[0,1000],"n_samples":1001,"intercept":-0.006261479472116254,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.08243240524922227,"b":-0.13304882592424963},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.055467018911117716,"b":0.0361252309677097},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.1356814594372895,"b":0.10397401220238245},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":0.004029396320670009,"b":-0.12019564741136535},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.1741892047467476,"b":-0.0894619114957137},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":0.0019179579971294047,"b":0.045652411597653014},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":-0.0776831184333972,"b":-0.27561881164941293},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":0.10709251537972231,"b":0.16481016562432482},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":-0.6221367449208888,"b":0.09703216393216468},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":0.3906872073645143,"b":-0.3974044955904187},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":0.03286470555244542,"b":0.31826889014339},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-1.0063540117559187,"b":0.011829200163799403},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.32304958008169904,"b":-1.136404569230472},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":0.5719436695842656,"b":0.2977185771922728},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":0.03013201836874352,"b":0.01772074727072398},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.021088386357628833,"b":-2.195508899861955},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.5991316818649339,"b":1.1476243724890838},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":1.186923212842382,"b":0.31207279706718605},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.2104698841408345,"b":-0.13274643330087674},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.6785302619449846,"b":0.8192703043142138},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.02944413337667165,"b":0.9936969221330343},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":-0.9979419969659299,"b":-0.20796003201060137},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.3841854998790626,"b":-0.14573560890988857},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.9854674214965893,"b":0.3880259413113173},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.2514289239233489,"b":-0.06535702517105219},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":-0.07967976063217527,"b":-0.0475325959700533},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.024237037439603676,"b":0.17942472816716207},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.6840182828195369,"b":0.18329165821989277}],"L2":[],"L3":[],"denormalization":{"y_mean":1.5012965895430689e-15,"y_std":0.43131092949760913,"trend_slope":-0.00008678094360729054,"trend_intercept":4.192006855420027},"r2":{"l1_only":0.7804378878452816,"l1_l2":0.7804378878452816,"l1_l2_l3":0.7804378878452816,"delta_l2":0,"delta_l3":0}},"lr04-inhg-mpt":{"label":"LR04 inhg-MPT","regime":"inhg-mpt","window_kyr":[1000,2700],"n_samples":1701,"intercept":0.0005407849101125603,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.03503877506864678,"b":-0.09856246238430366},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.005005693307662373,"b":0.07295430743550124},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.11897109293971353,"b":-0.061556377105412174},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.022416871997079618,"b":-0.07917844873891108},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.12822120342945703,"b":0.01172670259894143},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":0.019252355487766215,"b":-0.006808609813554689},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":-0.10404810022894623,"b":-0.13081433820526067},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":-0.004623963342169635,"b":-0.15757830994963606},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":0.19982877327336845,"b":-0.03031495540202861},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":0.12354646397869687,"b":0.10862284559119528},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":0.11668229925473106,"b":-0.2691641896579636},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":0.00453142560761946,"b":-0.2056884780191695},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.5826353220778854,"b":-0.5193032125987076},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":0.22531232553500583,"b":0.017688684764672058},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.2293234422961013,"b":0.1088135079622009},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.1609120605368916,"b":0.03757149633919268},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.053464905746749336,"b":1.3428130379574261},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.953206115882617,"b":1.198468176780739},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.0697660042105355,"b":0.18007778017482998},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":1.2361966199819392,"b":0.6242750704518865},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.278251208675922,"b":0.7838878059317373},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.1181957404284075,"b":-0.22218992068223625},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.11106886118721995,"b":-0.0021299158908131555},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.04948019917501678,"b":-0.06668089878492656},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.44223319062230126,"b":-0.31488032653078424},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.13859459137445662,"b":0.08861345077557807},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.15224783180023477,"b":0.08152674915375335},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.2435177242679818,"b":0.5907913888353428}],"L2":[],"L3":[],"denormalization":{"y_mean":2.117321276827753e-15,"y_std":0.2533430989053228,"trend_slope":-0.00028446235786389366,"trend_intercept":4.264486402612575},"r2":{"l1_only":0.6089630016266958,"l1_l2":0.6089630016266958,"l1_l2_l3":0.6089630016266958,"delta_l2":0,"delta_l3":0}},"lr04-pre-inhg":{"label":"LR04 pre-iNHG","regime":"pre-inhg","window_kyr":[2700,5320],"n_samples":2621,"intercept":-0.019780930727055078,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.035805318768695416,"b":-0.004163434196977289},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.029482033603654978,"b":-0.019598473935002414},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.02793575500828427,"b":-0.056285852892666854},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.03339282100161001,"b":-0.010058177000955015},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.04866527102370943,"b":-0.007002487725596251},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":0.01494876216897791,"b":-0.00600395082493102},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":0.03662170896068062,"b":-0.03183419814670585},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":-0.021943012656484573,"b":-0.014608030305763298},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":0.022948381776825955,"b":-0.014611274220878268},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":-0.03508296021275506,"b":0.07685077337256473},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":-0.03573136549654231,"b":-0.16083844295608896},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-0.015687032747370627,"b":-0.10021667133442705},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.38903903447828914,"b":-0.3594149228478518},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":0.06662831466813979,"b":0.12304542048600829},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.18571987618832642,"b":0.20076484098397995},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.20725718824624959,"b":-0.13573905739305128},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-1.016197228050766,"b":-0.3791586630016193},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":0.588952118966851,"b":2.0260550833505913},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.67416919090064,"b":-2.4475589224592733},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-1.9393057263933409,"b":0.8411568643788081},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.5703002446288725,"b":0.6882960432008728},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.16670952357483337,"b":-0.1573271009310834},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.02856253535420218,"b":0.032546781500317146},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.037215669189511996,"b":-0.33646151609290054},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.1658706246879772,"b":1.539988216595495},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.2741625959109228,"b":0.12324647540286211},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.02857267433363002,"b":-0.06634102256884705},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-1.1531669594196328,"b":-0.6431671723141338}],"L2":[],"L3":[],"denormalization":{"y_mean":2.2229875746786803e-16,"y_std":0.1419188719967453,"trend_slope":-0.0001616384823512257,"trend_intercept":3.7150997304817532},"r2":{"l1_only":0.45467379777332084,"l1_l2":0.45467379777332084,"l1_l2_l3":0.45467379777332084,"delta_l2":0,"delta_l3":0}},"lr04-full":{"label":"LR04 full","regime":"lr04-full","window_kyr":[0,5320],"n_samples":5321,"intercept":-0.0017589880483601524,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.03065294954958657,"b":-0.05942340186614521},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.007132695862213462,"b":0.008893436015245587},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.08099490602121032,"b":-0.015103919935149979},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.002268964818697816,"b":-0.06635825644407431},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.07546505691235277,"b":-0.03155946054640326},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":0.014043408537645977,"b":0.006715083715687971},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":0.01816121699590161,"b":-0.057687903639246606},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":-0.016937378888613464,"b":-0.04998298185931903},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":0.0022086271646274205,"b":-0.01446306003921708},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":-0.025581978214192315,"b":0.0309901479615117},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":-0.01912379263568336,"b":-0.16671053844571732},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-0.04630363429779309,"b":-0.10917338902200727},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.41712274283288603,"b":-0.3046404579465512},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":0.13911951669837083,"b":0.07911630465552824},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.11986934492884664,"b":0.10752585565025971},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.07815055836386586,"b":-0.26561277912623493},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.07259616119062533,"b":-0.030964091224476492},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.17395488558053873,"b":0.000791562409108805},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.09381475188544089,"b":-0.030909749477917838},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.08438264932950987,"b":0.07861972783593148},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.10328452012029149,"b":-0.005340280670694572},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.05724261959550306,"b":0.0032869687306770756},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.07899912903992748,"b":0.12103605418237409},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.07725377061255671,"b":-0.042569198289196725},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.05454951133541687,"b":0.12003087432548318},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.09355861032874926,"b":0.04910094786175068},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.015314835256918,"b":0.06009591046934088},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.1348709644191516,"b":0.038488007580443406}],"L2":[],"L3":[{"label":"iNHG","t_kyr":2700,"beta":-0.18331470559226293},{"label":"MPT","t_kyr":1000,"beta":0.07582828689178801}],"denormalization":{"y_mean":8.786640107689267e-16,"y_std":0.26728652336026737,"trend_slope":-0.0002890388734746666,"trend_intercept":4.253595893576046},"r2":{"l1_only":0.3253727364799045,"l1_l2":0.3253727364799045,"l1_l2_l3":0.3329006744474764,"delta_l2":0,"delta_l3":0.007527937967571896}},"cenogrid-d18o":{"label":"CENOGRID δ¹⁸O","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":-0.000017149874728015547,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.004113360713096271,"b":0.000612283902668832},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0012149371734561723,"b":-0.0009668646537135993},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.0012714780768614783,"b":-0.0002881147551297321},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0006778613450571236,"b":-0.005621596479389052},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.001515503629558838,"b":-0.002068925655515646},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":-0.002565411547005455,"b":-0.005348100347444994},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":0.00205522005878024,"b":-0.00495817115741807},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":0.00016456274134544775,"b":-0.004296237979604353},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":-0.0006244500892602428,"b":-0.001165673604421498},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":-0.0010393464818332387,"b":0.005147306929711322},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":-0.0018512861037702439,"b":-0.009394782199841967},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-0.011344743890066494,"b":0.002808220849832007},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.009436854682939293,"b":-0.01468445459856143},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":0.0042241945335908405,"b":0.0017810339313177066},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.0025897836013760184,"b":0.011152367274696552},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.008877256794435202,"b":-0.030348499725273995},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.002058215396660861,"b":-0.0102380290686626},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.013651372027095434,"b":0.026204095651746275},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.0016749310912643912,"b":0.0032330230939125173},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.0045207256593481245,"b":0.007893320582307411},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.00903932084953775,"b":-0.003374507433399841},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.012542290542401285,"b":0.007438159113483984},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.008945876001624905,"b":0.024560145567884547},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.007764302786340008,"b":-0.01256656435499126},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.005043269259928858,"b":-0.010094256207375025},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.04455260862673471,"b":-0.04012837519912692},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.003128157801043029,"b":0.005403795833748374},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.004077914496712917,"b":0.005390561847374758}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.9399569971013908},{"label":"EOT","t_kyr":34000,"beta":-1.6915666401480203},{"label":"Mi-1","t_kyr":23000,"beta":1.3791513990309312},{"label":"MMCT","t_kyr":14000,"beta":-0.572671926373438},{"label":"iNHG","t_kyr":2700,"beta":-0.9437051105483468},{"label":"MPT","t_kyr":1000,"beta":0.9558155283721813}],"denormalization":{"y_mean":3.1388799311243884e-16,"y_std":0.5138368170014185,"trend_slope":-0.000060475169948230774,"trend_intercept":3.5886100819307556},"r2":{"l1_only":0.003982477644316917,"l1_l2":0.003982477644316917,"l1_l2_l3":0.6165986669115189,"delta_l2":0,"delta_l3":0.612616189267202}},"cenogrid-d13c":{"label":"CENOGRID δ¹³C","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":0.000029167142837877794,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.0009091211263757299,"b":-0.00022116955382656643},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0036110914239109258,"b":-0.0013639914286166707},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.003593719675301214,"b":-0.0005757686344194319},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":0.0017764098127505648,"b":0.0002860904810720027},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.0032087474575965857,"b":-0.005816006950035958},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":-0.003452658156298422,"b":-0.0038120306386585506},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":-0.002875785120574504,"b":-0.0007160123280881073},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":-0.0022073252427677035,"b":-0.006006795458916419},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":-0.004491336700841414,"b":-0.0021993238453384637},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":-0.0029297335798159473,"b":0.0044208048966603505},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":0.004978066935301678,"b":0.007304975606576264},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-0.005517829851657612,"b":-0.0072555999128625995},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":0.016532384832742213,"b":0.005779168971437518},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":-0.0020334137893681346,"b":-0.0032463318268662984},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":0.008915520385862822,"b":-0.004054842658865113},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.009282350179674114,"b":-0.003845643885828626},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.003148705803677386,"b":0.0010190486063635078},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.006504944756519977,"b":0.02207049906695835},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.005252439907282622,"b":0.010723726397858617},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":0.015463024799094347,"b":-0.007890675546466504},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.006704077743705797,"b":-0.004724121909536135},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.015135186028105955,"b":0.004363573345518807},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":0.0004352946111127517,"b":0.007735862744259145},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.003434785257031687,"b":-0.015481600223384788},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.002674848114343516,"b":-0.019656539178381276},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.04090552798768797,"b":-0.08954033006650247},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.006897983129686607,"b":-0.0012436409136020801},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.0010627051676048676,"b":-0.007315104756639584}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.2940570130685973},{"label":"EOT","t_kyr":34000,"beta":-0.6519384387930998},{"label":"Mi-1","t_kyr":23000,"beta":-0.7981218317897845},{"label":"MMCT","t_kyr":14000,"beta":0.8751969732966116},{"label":"iNHG","t_kyr":2700,"beta":1.3323529427123229},{"label":"MPT","t_kyr":1000,"beta":-1.3351822986622328}],"denormalization":{"y_mean":-1.6966918546618317e-16,"y_std":0.5116419176812778,"trend_slope":0.000014091551862757799,"trend_intercept":0.17563680335949733},"r2":{"l1_only":0.006340718980238025,"l1_l2":0.006340718980238025,"l1_l2_l3":0.3485557923662824,"delta_l2":0,"delta_l3":0.3422150733860444}},"epica-co2":{"label":"EPICA CO₂","regime":"epica-co2","window_kyr":[0,800],"n_samples":801,"intercept":0.04772254604975318,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.057570776887117814,"b":-0.09305753505681291},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.09859328006243295,"b":-0.029102256953414563},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.007484720088752561,"b":-0.07760955237320875},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0909416836692997,"b":0.12567965726306307},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.11298232171200909,"b":0.046583545925097766},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":0.0008630260369831555,"b":-0.08271274340575904},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":-0.13415104828436483,"b":-0.3066079534826644},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":0.30261366057060307,"b":0.37231443283049376},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":-0.10401218357234651,"b":0.06069068218917706},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":0.07675437255974785,"b":0.08743704031465308},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":0.25267178254331357,"b":-0.21263516454336073},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":0.19849521917299795,"b":0.3201965078162932},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":0.3341068581562226,"b":0.07642828266009302},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":-0.18113992323652417,"b":0.19410852702442669},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.1024218182699044,"b":0.0723717802476003},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.621846077440066,"b":1.1004444096667692},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.23620585040294723,"b":-0.017168309605683746},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.27726306323229327,"b":-0.3987499029607976},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.21762767555019835,"b":-0.3914548769902655},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":0.0028804917250010997,"b":-0.3340840253957438},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.24680293909130355,"b":-0.3624401368740964},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.5954751281788466,"b":-0.628274638605115},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":0.31357248585780995,"b":-0.8333120447957345},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.2126406564260409,"b":-0.3953416358958512},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.32440577796298,"b":0.15122266440140847},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.2715566850177307,"b":0.10051230972588084},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.2223335990505698,"b":-0.14842020528136166},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.3958866159294755,"b":0.287857524742149}],"L2":[],"L3":[],"denormalization":{"y_mean":2.980553797944989e-14,"y_std":25.51737494167102,"trend_slope":-0.006455378442643299,"trend_intercept":227.89326737247322},"r2":{"l1_only":0.7238243015482515,"l1_l2":0.7238243015482515,"l1_l2_l3":0.7238243015482515,"delta_l2":0,"delta_l3":0},"carbon_amplification_ratios":{"19.0015":{"period_kyr":19.001545641452537,"lr04_post_mpt_amp":0.15651546733468003,"epica_amp":0.1094262271223689,"ratio":0.6991400210202912,"label":"climatic precession p+g4"},"19.1555":{"period_kyr":19.15547239857139,"lr04_post_mpt_amp":0.0661938252358682,"epica_amp":0.10279871707979582,"ratio":1.5529955658778376,"label":"climatic precession p+g3"},"22.4453":{"period_kyr":22.44529598528639,"lr04_post_mpt_amp":0.1709387423859612,"epica_amp":0.07796963289882035,"ratio":0.4561261643236695,"label":"climatic precession p+g2"},"23.1933":{"period_kyr":23.19329171671584,"lr04_post_mpt_amp":0.12026316847375294,"epica_amp":0.1551314477414814,"ratio":1.2899331500262141,"label":"climatic precession p+g1"},"23.7601":{"period_kyr":23.76005899662999,"lr04_post_mpt_amp":0.19581959212185912,"epica_amp":0.12220896763491464,"ratio":0.6240895832265018,"label":"climatic precession p+g5"},"27.2689":{"period_kyr":27.268889891543882,"lr04_post_mpt_amp":0.045692682647884404,"epica_amp":0.08271724569669524,"ratio":1.8102952355441335,"label":"obliquity p+s7"},"28.8424":{"period_kyr":28.842397679293658,"lr04_post_mpt_amp":0.2863571131028035,"epica_amp":0.3346713924054784,"ratio":1.168720374287786,"label":"obliquity p+s1"},"29.0048":{"period_kyr":29.004773420333045,"lr04_post_mpt_amp":0.19654820666562553,"epica_amp":0.4797843937205882,"ratio":2.4410520037804955,"label":"obliquity p+ζ14"},"29.6172":{"period_kyr":29.61720715204449,"lr04_post_mpt_amp":0.629658137577938,"epica_amp":0.12042380676625035,"ratio":0.19125268074748658,"label":"obliquity p+ζ9"},"29.8092":{"period_kyr":29.809150128997057,"lr04_post_mpt_amp":0.5572852295851364,"epica_amp":0.11634633524966242,"ratio":0.2087734055615917,"label":"obliquity p+s2"},"39.5560":{"period_kyr":39.5560435713027,"lr04_post_mpt_amp":0.3199612090615895,"epica_amp":0.33023740383850775,"ratio":1.0321170019548844,"label":"obliquity p+s4"},"40.2293":{"period_kyr":40.229254458577174,"lr04_post_mpt_amp":1.006423532591397,"epica_amp":0.37673087961074553,"ratio":0.3743263818968116,"label":"obliquity p+ζ4"},"40.9239":{"period_kyr":40.92393247034353,"lr04_post_mpt_amp":1.181429801621263,"epica_amp":0.34273703484945034,"ratio":0.2901035968274341,"label":"obliquity p+s3"},"41.6446":{"period_kyr":41.644550709000725,"lr04_post_mpt_amp":0.6447913712069252,"epica_amp":0.2654991375762386,"ratio":0.41175975584052155,"label":"obliquity p+ζ7"},"53.6175":{"period_kyr":53.6174658674332,"lr04_post_mpt_amp":0.0349565932952164,"epica_amp":0.12541093825468444,"ratio":3.5876189992417302,"label":"obliquity p+s6"},"94.8779":{"period_kyr":94.8779191670953,"lr04_post_mpt_amp":2.195610177015087,"epica_amp":1.2639898903054725,"ratio":0.57568957528875,"label":"eccentricity g4−g5"},"96.8490":{"period_kyr":96.84902648762181,"lr04_post_mpt_amp":1.2946043691202604,"epica_amp":0.23682895646287871,"ratio":0.18293539100583617,"label":"eccentricity z6−g5"},"98.8439":{"period_kyr":98.8438689567201,"lr04_post_mpt_amp":1.2272636814692346,"epica_amp":0.4856709702506422,"ratio":0.3957348185104076,"label":"eccentricity g3−g5"},"101.0051":{"period_kyr":101.00506143827943,"lr04_post_mpt_amp":0.24883566401213555,"epica_amp":0.4478824911568282,"ratio":1.7999127775148231,"label":"eccentricity z5−g5"},"103.1238":{"period_kyr":103.12379754572216,"lr04_post_mpt_amp":1.0637702514670326,"epica_amp":0.33409644304781483,"ratio":0.3140682328604945,"label":"eccentricity z7−g5"},"105.1372":{"period_kyr":105.13718703798536,"lr04_post_mpt_amp":0.9941330544987269,"epica_amp":0.43849121263877044,"ratio":0.4410789990881769,"label":"eccentricity g4−g1"},"110.0293":{"period_kyr":110.0293064910417,"lr04_post_mpt_amp":1.0193800097226737,"epica_amp":0.8656325142888301,"ratio":0.8491754851307403,"label":"eccentricity g3−g1"},"123.8462":{"period_kyr":123.8461774280429,"lr04_post_mpt_amp":0.41089824290408106,"epica_amp":0.890357606745006,"ratio":2.1668566904844337,"label":"eccentricity g4−g2"},"130.6910":{"period_kyr":130.69097366197656,"lr04_post_mpt_amp":1.0591081955880004,"epica_amp":0.44889983051690424,"ratio":0.4238469991894285,"label":"eccentricity g3−g2"},"134.4960":{"period_kyr":134.49598078775747,"lr04_post_mpt_amp":0.2597846117930443,"epica_amp":0.3579209451882179,"ratio":1.3777603789455908,"label":"eccentricity z5−g2"},"405.6256":{"period_kyr":405.6256163323513,"lr04_post_mpt_amp":0.09278045017164487,"epica_amp":0.28956131921278855,"ratio":3.120930311041786,"label":"eccentricity fundamental g₂−g₅"},"202.8128":{"period_kyr":202.81280816617564,"lr04_post_mpt_amp":0.18105432074852218,"epica_amp":0.267321504190256,"ratio":1.4764712771564055,"label":"climate-internal harmonic (g₂−g₅)/2"},"135.2085":{"period_kyr":135.20853877745043,"lr04_post_mpt_amp":0.7081502970446216,"epica_amp":0.4894774430173151,"ratio":0.6912055887854445,"label":"climate-internal harmonic (g₂−g₅)/3"}}},"cenco2pip":{"label":"CenCO2PIP CO₂ (deep-time)","regime":"cenco2pip","window_kyr":[0,66000],"n_samples":661,"intercept":0.012710824053600382,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.0020339097875183287,"b":0.00022217434249469092},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0026330372957351893,"b":-0.0010667673119131998},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.0005776950930113517,"b":0.000032950521448107256},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0009280348093158135,"b":0.00043817183410515236},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.00039345948924086015,"b":-0.0001325991420445382},{"period_kyr":27.268889891543882,"label":"obliquity p+s7","a":-0.00034971658008570356,"b":0.00044797074965526734},{"period_kyr":28.842397679293658,"label":"obliquity p+s1","a":-0.000384552814850494,"b":0.0002464837014044273},{"period_kyr":29.004773420333045,"label":"obliquity p+ζ14","a":-0.0006574156746607922,"b":-0.000012233691518947901},{"period_kyr":29.61720715204449,"label":"obliquity p+ζ9","a":-0.000746100134783839,"b":0.00048357672982657276},{"period_kyr":29.809150128997057,"label":"obliquity p+s2","a":-0.00032599519815770274,"b":-0.00027525326939174447},{"period_kyr":39.5560435713027,"label":"obliquity p+s4","a":-0.0005573847158311762,"b":4.3975189479108535e-7},{"period_kyr":40.229254458577174,"label":"obliquity p+ζ4","a":-0.0005356992277551539,"b":-0.00019124518224546627},{"period_kyr":40.92393247034353,"label":"obliquity p+s3","a":-0.0005284820040348964,"b":-0.0004813309679522161},{"period_kyr":41.644550709000725,"label":"obliquity p+ζ7","a":-0.0001566004948480356,"b":-0.0004534211464664248},{"period_kyr":53.6174658674332,"label":"obliquity p+s6","a":-0.003351261355073938,"b":-0.003242899060603807},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.031325382675099635,"b":-0.03179415675054521},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.031647279429596026,"b":0.035781144994991465},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":0.2000640346774423,"b":-0.16437244619996433},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.08062539180186565,"b":0.09521996832194717},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.024917964042491587,"b":-0.014039090852651901},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.012133891790271134,"b":0.038609897092132146},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":-0.002137453954107797,"b":-0.015874702815844674},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.0004683979086828761,"b":0.0007068946905901684},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":-0.00011026351065852435,"b":0.0017567884155732486},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.00044347228519818526,"b":0.00035600816532370405},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.00010755815185458945,"b":-0.00009538520712884004},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.0005635917105186019,"b":0.00013706239529518924},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.001380824480642591,"b":0.001765260855687019}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":-2.2502412590909224},{"label":"EOT","t_kyr":34000,"beta":1.5689083792079281},{"label":"Mi-1","t_kyr":23000,"beta":-0.21259657117148378},{"label":"MMCT","t_kyr":14000,"beta":-0.3699202766740759},{"label":"iNHG","t_kyr":2700,"beta":-0.242273520660646},{"label":"MPT","t_kyr":1000,"beta":0.24998700836465093}],"denormalization":{"y_mean":-2.091425032821257e-13,"y_std":209.18154000668048,"trend_slope":0.013251639299066168,"trend_intercept":214.15971983891893},"r2":{"l1_only":0.04732438630711089,"l1_l2":0.04732438630711089,"l1_l2_l3":0.6918024309879351,"delta_l2":0,"delta_l3":0.6444780446808243}}},"meta":{"script":"export_climate_formula_browser.py","consumer":"src/script.js — Climate Formula Explorer modal","stitched_lr04_r2":0.9214013227358522,"stitched_lr04_note":"R² of the three-regime stitched curve (post-MPT / iNHG-MPT / pre-iNHG blocks) against the raw gridded LR04 stack, 0-5320 kyr"}},
|
|
29
|
-
DT_ANCHOR: {"deltaTStartSeconds":56.
|
|
30
|
-
DT_RESONATOR: {"display_name":"Core-mantle swing","driver":"Resonator","functional_class":"episode (2-kick IMPULSE-CONSISTENT windowed damped oscillation — sin-only kicks, displacement-continuous; zero before first kick)","kick_epochs_year":[-1600,1600],"kick_coefficients_s":[{"cos":0,"sin":621.
|
|
31
|
-
DT_STACK: {"bond":{"lattice_n":1830,"period_yr":1465.8666666666666,"cos_coeff_s":165.
|
|
28
|
+
CLIMATE_FORMULA_COEFFS: {"config":{"L1_lines":[{"family":"climatic precession","label":"p+g4","arcsecPerYr":68.20497787152276,"periodKyr":19.001545641452537,"relAmp":0.6717464199951804},{"family":"climatic precession","label":"p+g3","arcsecPerYr":67.65690623723043,"periodKyr":19.15547239857139,"relAmp":0.460782442830978},{"family":"climatic precession","label":"p+g2","arcsecPerYr":57.7403835908232,"periodKyr":22.44529598528639,"relAmp":0.8620464713605362},{"family":"climatic precession","label":"p+g1","arcsecPerYr":55.878226162522175,"periodKyr":23.19329171671584,"relAmp":0.19921489972571554},{"family":"climatic precession","label":"p+g5","arcsecPerYr":54.545319108164605,"periodKyr":23.76005899662999,"relAmp":1},{"family":"obliquity","label":"p+s7","arcsecPerYr":47.5266588616995,"periodKyr":27.268906147417248,"relAmp":0.10427252954025028},{"family":"obliquity","label":"p+s1","arcsecPerYr":44.93382267460193,"periodKyr":28.842415865333038,"relAmp":0.5416339451073867},{"family":"obliquity","label":"p+ζ14","arcsecPerYr":44.682272102244546,"periodKyr":29.004791811714906,"relAmp":0.14236226024182447},{"family":"obliquity","label":"p+ζ9","arcsecPerYr":43.75831773152924,"periodKyr":29.617226328291668,"relAmp":0.1009465170347195},{"family":"obliquity","label":"p+s2","arcsecPerYr":43.47655501190643,"periodKyr":29.8091695546043,"relAmp":0.47895780932341964},{"family":"obliquity","label":"p+s4","arcsecPerYr":32.76361239097522,"periodKyr":39.55607777721681,"relAmp":0.4849220480959469},{"family":"obliquity","label":"p+ζ4","arcsecPerYr":32.21533378282217,"periodKyr":40.2292898387119,"relAmp":0.3238058217329259},{"family":"obliquity","label":"p+s3","arcsecPerYr":31.66848253096345,"periodKyr":40.923969082915576,"relAmp":1},{"family":"obliquity","label":"p+ζ7","arcsecPerYr":31.120489909346112,"periodKyr":41.644588622327085,"relAmp":0.17878079100604266},{"family":"obliquity","label":"p+s6","arcsecPerYr":24.171199812093143,"periodKyr":53.61752871496249,"relAmp":0.16050040214935987},{"family":"eccentricity","label":"g4−g5","arcsecPerYr":13.659658763358156,"periodKyr":94.8779191670953,"relAmp":0.7792461802378098},{"family":"eccentricity","label":"z6−g5","arcsecPerYr":13.381652320125703,"periodKyr":96.84902648762181,"relAmp":0.10995041848327905},{"family":"eccentricity","label":"g3−g5","arcsecPerYr":13.111587129065821,"periodKyr":98.8438689567201,"relAmp":0.5345215810740946},{"family":"eccentricity","label":"z5−g5","arcsecPerYr":12.831040163189634,"periodKyr":101.00506143827943,"relAmp":0.15474467548919818},{"family":"eccentricity","label":"z7−g5","arcsecPerYr":12.567419265426008,"periodKyr":103.12379754572216,"relAmp":0.10461932722318636},{"family":"eccentricity","label":"g4−g1","arcsecPerYr":12.326751709000584,"periodKyr":105.13718703798536,"relAmp":0.15523744965772213},{"family":"eccentricity","label":"g3−g1","arcsecPerYr":11.77868007470825,"periodKyr":110.0293064910417,"relAmp":0.1064846631749067},{"family":"eccentricity","label":"g4−g2","arcsecPerYr":10.464594280699554,"periodKyr":123.8461774280429,"relAmp":0.6717464199951804},{"family":"eccentricity","label":"g3−g2","arcsecPerYr":9.91652264640722,"periodKyr":130.69097366197656,"relAmp":0.460782442830978},{"family":"eccentricity","label":"z5−g2","arcsecPerYr":9.635975680531033,"periodKyr":134.49598078775747,"relAmp":0.13339710146729455},{"family":"eccentricity fundamental","label":"g₂−g₅","periodKyr":405.6256163323513,"arcsecPerYr":3.1950644826586005,"note":"the engine’s 20-Myr mean beat; the long-eccentricity metronome"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/2","periodKyr":202.81280816617564,"note":"carbon-thermostat 2nd harmonic (doc 92 §3), not orbital forcing"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/3","periodKyr":135.20853877745043,"note":"carbon-thermostat 3rd harmonic (doc 92 §3), not orbital forcing"}],"L1_source":"data/l1-physical-lines.json","L2_periods_kyr":{"405-kyr (fundamental)":404.5,"202-kyr (2nd harmonic)":202.25,"135-kyr (3rd harmonic)":134.83},"L3_transitions_ma":{"PETM":56,"EOT":34,"Mi-1":23,"MMCT":14,"iNHG":2.7,"MPT":1},"description":"Climate formula = intercept + L1 + L2 + L3 (in normalized units). De-normalize: y_raw = y_norm * y_std + y_mean + (trend_slope*t_kyr + trend_intercept)."},"regimes":{"lr04-post-mpt":{"label":"LR04 post-MPT","regime":"post-mpt","window_kyr":[0,1000],"n_samples":1001,"intercept":-0.006261599801050812,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.082432569026859,"b":-0.13304910582737045},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.055467205713348844,"b":0.036125403621177665},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.1356815395217974,"b":0.10397374581445296},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":0.004029541170622819,"b":-0.12019560019609504},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.17418905453714204,"b":-0.08946188630724133},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":0.0019230416069616063,"b":0.045651647891608305},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":-0.07772762434063019,"b":-0.2756250852104706},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":0.10714373913583963,"b":0.1647900025830038},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":-0.6220964418038535,"b":0.09708536990429989},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":0.3906413121270396,"b":-0.397425433031512},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":0.03287092051454721,"b":0.3182437726095808},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-1.0063110076137878,"b":0.011863846564191899},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.32312414242408694,"b":-1.136345395979474},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":0.5719591440543469,"b":0.2976615710688269},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":0.030139847024031358,"b":0.01771557720651296},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.02108847154972597,"b":-2.19551138151326},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.5991339544857626,"b":1.1476263766560002},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":1.1869253433369662,"b":0.31207343960571327},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.21047050684922874,"b":-0.13274559347681283},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.6785313191175962,"b":0.8192726341367963},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.029443915700263487,"b":0.9936986491668811},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":-0.9979454733740254,"b":-0.20796044328115149},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.3841888407687438,"b":-0.1457354872697259},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.9854679028340256,"b":0.3880220645216982},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.25142886456814856,"b":-0.06535721911085138},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":-0.07967979956456855,"b":-0.047532666125553624},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.024237211304726045,"b":0.17942475404584923},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.68401721864114,"b":0.18329294138954288}],"L2":[],"L3":[],"denormalization":{"y_mean":1.5012965895430689e-15,"y_std":0.43131092949760913,"trend_slope":-0.00008678094360729054,"trend_intercept":4.192006855420027},"r2":{"l1_only":0.7804375067209136,"l1_l2":0.7804375067209136,"l1_l2_l3":0.7804375067209136,"delta_l2":0,"delta_l3":0}},"lr04-inhg-mpt":{"label":"LR04 inhg-MPT","regime":"inhg-mpt","window_kyr":[1000,2700],"n_samples":1701,"intercept":0.0005407945238550157,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.035038697900469776,"b":-0.09856233456883343},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0050055873000230955,"b":0.07295450844777218},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.1189707336083613,"b":-0.061556481183347445},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.022417211678624593,"b":-0.07917860548424852},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.12822098008948085,"b":0.011726379273122145},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":0.019253583137398833,"b":-0.006811777303043942},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":-0.10407446438276668,"b":-0.1307970655195877},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":-0.004653228450289371,"b":-0.15758023790494996},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":0.19983427595294445,"b":-0.030365954887064533},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":0.12358880765404787,"b":0.10860240473230665},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":0.11660509555060611,"b":-0.2692086622401496},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":0.004438742288984998,"b":-0.2056720629293153},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.5827733879668409,"b":-0.5191599231280841},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":0.22529730269500345,"b":0.017663100228184708},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.22929202500409512,"b":0.10886523178026528},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.16091225627385192,"b":0.03756959488628836},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.05346309938007432,"b":1.3428060555145303},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.9532005030349247,"b":1.1984612690364072},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.06976557078692491,"b":0.18007593952402745},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":1.2361887687342203,"b":0.6242698241337999},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.2782500662455729,"b":0.7838810405427987},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.11819499898152587,"b":-0.2221892717784572},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.11106845333381837,"b":-0.0021299971398698186},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.04947901851561723,"b":-0.06668073514545314},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.44222786180672413,"b":-0.31488000222020074},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.1385945293920966,"b":0.08861358143487359},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.15224767486821475,"b":0.08152656948678338},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.24351423105434325,"b":0.5907889361502039}],"L2":[],"L3":[],"denormalization":{"y_mean":2.117321276827753e-15,"y_std":0.2533430989053228,"trend_slope":-0.00028446235786389366,"trend_intercept":4.264486402612575},"r2":{"l1_only":0.6089622611717074,"l1_l2":0.6089622611717074,"l1_l2_l3":0.6089622611717074,"delta_l2":0,"delta_l3":0}},"lr04-pre-inhg":{"label":"LR04 pre-iNHG","regime":"pre-inhg","window_kyr":[2700,5320],"n_samples":2621,"intercept":-0.01978128420246711,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.03580507973907532,"b":-0.004163296038171838},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.029482146560380618,"b":-0.019598575387339112},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.02793561984412768,"b":-0.056285597003484567},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.03339344700332514,"b":-0.010057893440145294},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.04866558654249398,"b":-0.007003106339032228},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":0.014945206229944758,"b":-0.006013718029498849},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":0.03659352999829785,"b":-0.031848715912644376},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":-0.021945277796354024,"b":-0.014588070628483996},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":0.022945223074794158,"b":-0.014615341699566353},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":-0.03504174594236702,"b":0.07686265798004002},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":-0.035834461164148707,"b":-0.16080639830211058},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-0.01574863690392035,"b":-0.10018327768000293},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.38923561668464834,"b":-0.3592128864512913},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":0.0666644162931373,"b":0.12301623264822864},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.18560482759086044,"b":0.20084798554298505},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.20725858472850203,"b":-0.13573555478071403},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-1.0161864008771713,"b":-0.37916952305916485},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":0.5889243526694297,"b":2.026043894219197},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.674179064635289,"b":-2.447521913872399},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-1.9392786388870076,"b":0.8411384140330604},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.5702933503358304,"b":0.6882833795705612},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.16670723937186288,"b":-0.157327138899017},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.028563986340683856,"b":0.032547454212518846},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.03721523736581127,"b":-0.3364571543706422},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.16585357364556103,"b":1.5399798343428315},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.27416217667042886,"b":0.1232463684579172},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.028572513361765937,"b":-0.06634153361168266},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-1.1531696833038918,"b":-0.6431516714664054}],"L2":[],"L3":[],"denormalization":{"y_mean":2.2229875746786803e-16,"y_std":0.1419188719967453,"trend_slope":-0.0001616384823512257,"trend_intercept":3.7150997304817532},"r2":{"l1_only":0.45466691777331913,"l1_l2":0.45466691777331913,"l1_l2_l3":0.45466691777331913,"delta_l2":0,"delta_l3":0}},"lr04-full":{"label":"LR04 full","regime":"lr04-full","window_kyr":[0,5320],"n_samples":5321,"intercept":-0.0017594442067554764,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.030653248828978838,"b":-0.05942350042079483},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.007132467646760274,"b":0.00889346045248779},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.08099544126604592,"b":-0.015104023210019024},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0022687884125290325,"b":-0.06635740004795854},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.07546493808551995,"b":-0.031559806535336785},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":0.014044611584100156,"b":0.0067116130949529396},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":0.018156070504627007,"b":-0.05769209107673573},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":-0.016937892903193467,"b":-0.04998100183225644},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":0.0022108299667193652,"b":-0.014471741599317106},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":-0.025563882575889194,"b":0.030997389732802638},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":-0.019174276513080974,"b":-0.16670301535160126},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-0.046332620172037334,"b":-0.10915920384492028},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.41722734354102786,"b":-0.3045429714864705},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":0.13911640253566376,"b":0.07908102204296569},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.11982484735154347,"b":0.1075601512063676},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.07815149309609569,"b":-0.26561311217061434},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.07259701223776335,"b":-0.030963823278142608},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.17395536780158055,"b":0.0007920877657910108},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.09381457474099936,"b":-0.030909390200411946},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.08438228103346493,"b":0.07861984239215711},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.10328419278380341,"b":-0.005340015475780911},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.05724257014471312,"b":0.003286266021403028},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.07900004842300087,"b":0.12103628420135798},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.07725354094784148,"b":-0.04256825456998332},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.05454973179068978,"b":0.1200357372085461},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.09355780768106586,"b":0.0491005306751859},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.015315361983286493,"b":0.060095183483304365},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.134874128816246,"b":0.03848362052622878}],"L2":[],"L3":[{"label":"iNHG","t_kyr":2700,"beta":-0.18331459595720692},{"label":"MPT","t_kyr":1000,"beta":0.07582824645011141}],"denormalization":{"y_mean":8.786640107689267e-16,"y_std":0.26728652336026737,"trend_slope":-0.0002890388734746666,"trend_intercept":4.253595893576046},"r2":{"l1_only":0.32538277595053355,"l1_l2":0.32538277595053355,"l1_l2_l3":0.3329107046316774,"delta_l2":0,"delta_l3":0.007527928681143825}},"cenogrid-d18o":{"label":"CENOGRID δ¹⁸O","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":-0.000017153189963441282,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.0041133563757953726,"b":0.0006122983124506615},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0012149238468332543,"b":-0.0009668638659978924},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":0.001271474975558205,"b":-0.0002880835940532768},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0006778305944323756,"b":-0.005621586695796224},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":-0.0015154728839008066,"b":-0.0020688961615997646},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":-0.0025838705308555013,"b":-0.005343337153924464},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":0.0020378113308972034,"b":-0.004964761212448048},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":0.00015190071101328032,"b":-0.004300567138597734},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":-0.0006289738284916266,"b":-0.0011571215814992946},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":-0.0010285392327511055,"b":0.005153146635298594},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":-0.001866579735495099,"b":-0.009381223027510955},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-0.011305875483692452,"b":0.0028442994919008584},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.009463768159600965,"b":-0.014712775901222155},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":0.004221879395797408,"b":0.0017683663051216685},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.0025427431745709064,"b":0.011125457232795979},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.008877268834356383,"b":-0.030348507200221336},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.002058209296970645,"b":-0.010238014497041124},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.013651379318455887,"b":0.026204106335075465},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.0016749516949839862,"b":0.003233024729202968},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.00452072476296185,"b":0.00789334014868309},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.00903930523210411,"b":-0.0033745117991191027},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.01254228306792841,"b":0.007438162399727605},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.008945881544730524,"b":0.02456014359917774},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.007764308761380718,"b":-0.012566547694615883},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.005043263446453649,"b":-0.010094265773878905},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.04455260970399607,"b":-0.04012838466748332},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.0031281720790908413,"b":0.005403791627168142},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.00407789816964086,"b":0.005390573907260856}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.9399569133341423},{"label":"EOT","t_kyr":34000,"beta":-1.6915666426837683},{"label":"Mi-1","t_kyr":23000,"beta":1.3791514319762492},{"label":"MMCT","t_kyr":14000,"beta":-0.5726719293808323},{"label":"iNHG","t_kyr":2700,"beta":-0.9437043782356765},{"label":"MPT","t_kyr":1000,"beta":0.9558147944349952}],"denormalization":{"y_mean":3.1388799311243884e-16,"y_std":0.5138368170014185,"trend_slope":-0.000060475169948230774,"trend_intercept":3.5886100819307556},"r2":{"l1_only":0.003982293170482154,"l1_l2":0.003982293170482154,"l1_l2_l3":0.6165984200404458,"delta_l2":0,"delta_l3":0.6126161268699637}},"cenogrid-d13c":{"label":"CENOGRID δ¹³C","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":0.000029171728885359142,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":0.0009091320399139437,"b":-0.00022115928548263435},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0036110811186118646,"b":-0.0013639908854225027},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.0035936996494176513,"b":-0.0005757456806313066},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":0.0017764391388285852,"b":0.00028609196921533693},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.0032087864912957284,"b":-0.005815994175685588},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":-0.0034613398621327444,"b":-0.0038007916055494088},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":-0.002880030481366175,"b":-0.0007184357446750403},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":-0.00222924550740814,"b":-0.005993305851952227},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":-0.0045122307992258226,"b":-0.002182774632434506},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":-0.002911752724172761,"b":0.00443735412417718},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":0.004970040842946216,"b":0.007303213638112271},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-0.005537469385975506,"b":-0.007230261221794727},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":0.016532276911093206,"b":0.005746291082190887},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":-0.00202261648778182,"b":-0.003241192550382815},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":0.008930111444512818,"b":-0.004090929946156231},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":0.00928235281110003,"b":-0.0038456358179925565},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.0031487257084246633,"b":0.001019046575856615},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.006504925311475366,"b":0.02207049946408811},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.005252438822833155,"b":0.010723725703556185},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":0.015463040483976124,"b":-0.007890682816031471},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":-0.006704077568200228,"b":-0.004724118051800087},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.01513520161974935,"b":0.004363577757359086},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":0.00043530659007362527,"b":0.007735868213717512},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.003434795162201869,"b":-0.01548160717282774},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":-0.002674843271039882,"b":-0.01965653360618317},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.04090553415162765,"b":-0.08954032654679996},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.006897984812984875,"b":-0.0012436402634086845},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.0010627090126314764,"b":-0.007315110344460395}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.2940570636469433},{"label":"EOT","t_kyr":34000,"beta":-0.651938379643522},{"label":"Mi-1","t_kyr":23000,"beta":-0.7981219419366887},{"label":"MMCT","t_kyr":14000,"beta":0.875197090932599},{"label":"iNHG","t_kyr":2700,"beta":1.3323528555767734},{"label":"MPT","t_kyr":1000,"beta":-1.335182279280602}],"denormalization":{"y_mean":-1.6966918546618317e-16,"y_std":0.5116419176812778,"trend_slope":0.000014091551862757799,"trend_intercept":0.17563680335949733},"r2":{"l1_only":0.006340691329060011,"l1_l2":0.006340691329060011,"l1_l2_l3":0.34855578574981616,"delta_l2":0,"delta_l3":0.34221509442075615}},"epica-co2":{"label":"EPICA CO₂","regime":"epica-co2","window_kyr":[0,800],"n_samples":801,"intercept":0.04772250565346167,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.05757052391935907,"b":-0.09305698714821553},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":0.09859259619848049,"b":-0.029102368881593788},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.007485074899471478,"b":-0.07760949021966575},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.09094210739116673,"b":0.12567998232492333},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.1129816995567211,"b":0.04658363645006909},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":0.0008573046772781812,"b":-0.08271460205364659},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":-0.13418427589390933,"b":-0.3065802210556564},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":0.30264371068997126,"b":0.372269555996678},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":-0.10400040514362394,"b":0.06071412030976109},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":0.07674807125272162,"b":0.08742294868218459},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":0.25267469088322486,"b":-0.21264732735656397},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":0.1985065673388669,"b":0.32022925390857215},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":0.33407907444977286,"b":0.07638772763941364},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":-0.18111984141723292,"b":0.19412014579724163},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.102421483378701,"b":0.07238187610949562},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.6218471138338892,"b":1.1004457556552618},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":-0.2362041415387267,"b":-0.01716911823443268},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":-0.2772633452327795,"b":-0.3987515044009958},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":-0.21762888581514123,"b":-0.3914542724050446},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":0.0028810008532560716,"b":-0.3340823690226681},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.2468045673913495,"b":-0.36243987669955635},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":0.5954725578323181,"b":-0.6282748203534358},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":0.31357278944415057,"b":-0.8333137268990354},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":0.21264050907592402,"b":-0.3953396925919381},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.32440609087814,"b":0.1512223862227542},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.27155662596449115,"b":0.10051237650574972},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.2223336292381805,"b":-0.14842010272579745},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.39588643435898874,"b":0.28785664530604516}],"L2":[],"L3":[],"denormalization":{"y_mean":2.980553797944989e-14,"y_std":25.51737494167102,"trend_slope":-0.006455378442643299,"trend_intercept":227.89326737247322},"r2":{"l1_only":0.723825049396513,"l1_l2":0.723825049396513,"l1_l2_l3":0.723825049396513,"delta_l2":0,"delta_l3":0},"carbon_amplification_ratios":{"19.0015":{"period_kyr":19.001545641452537,"lr04_post_mpt_amp":0.15651579152862083,"epica_amp":0.10942562808342772,"ratio":0.699134745540471,"label":"climatic precession p+g4"},"19.1555":{"period_kyr":19.15547239857139,"lr04_post_mpt_amp":0.06619407599203991,"epica_amp":0.1027980928795714,"ratio":1.5529802529751038,"label":"climatic precession p+g3"},"22.4453":{"period_kyr":22.44529598528639,"lr04_post_mpt_amp":0.1709386439214186,"epica_amp":0.07796960509331242,"ratio":0.4561262643990288,"label":"climatic precession p+g2"},"23.1933":{"period_kyr":23.19329171671584,"lr04_post_mpt_amp":0.12026312613825264,"epica_amp":0.1551319594859149,"ratio":1.2899378593200512,"label":"climatic precession p+g1"},"23.7601":{"period_kyr":23.76005899662999,"lr04_post_mpt_amp":0.19581944699695486,"epica_amp":0.12220842695836241,"ratio":0.6240872846518806,"label":"climatic precession p+g5"},"27.2689":{"period_kyr":27.268906147417248,"lr04_post_mpt_amp":0.045692133286174004,"epica_amp":0.08271904474909511,"ratio":1.8103563742804079,"label":"obliquity p+s7"},"28.8424":{"period_kyr":28.842415865333038,"lr04_post_mpt_amp":0.28637522794913195,"epica_amp":0.33465930711651803,"ratio":1.1686042452525351,"label":"obliquity p+s1"},"29.0048":{"period_kyr":29.004791811714906,"lr04_post_mpt_amp":0.1965592169991406,"epica_amp":0.47976852537672665,"ratio":2.440834536794193,"label":"obliquity p+ζ14"},"29.6172":{"period_kyr":29.617226328291668,"lr04_post_mpt_amp":0.6296265178297925,"epica_amp":0.12042544861874531,"ratio":0.19126489308904876,"label":"obliquity p+ζ9"},"29.8092":{"period_kyr":29.8091695546043,"lr04_post_mpt_amp":0.5572679872024051,"epica_amp":0.11633158813194598,"ratio":0.20875340196007566,"label":"obliquity p+s2"},"39.5561":{"period_kyr":39.55607777721681,"lr04_post_mpt_amp":0.31993686286555395,"epica_amp":0.3302474606182808,"ratio":1.032226976473979,"label":"obliquity p+s4"},"40.2293":{"period_kyr":40.2292898387119,"lr04_post_mpt_amp":1.0063809392570864,"epica_amp":0.3767646909352054,"ratio":0.37437582155851873,"label":"obliquity p+ζ4"},"40.9240":{"period_kyr":40.923969082915576,"lr04_post_mpt_amp":1.1813932750701814,"epica_amp":0.3427009088390781,"ratio":0.29008198715090855,"label":"obliquity p+s3"},"41.6446":{"period_kyr":41.644588622327085,"lr04_post_mpt_amp":0.6447787786198793,"epica_amp":0.2654939320574878,"ratio":0.4117597242045805,"label":"obliquity p+ζ7"},"53.6175":{"period_kyr":53.61752871496249,"lr04_post_mpt_amp":0.03496072159426824,"epica_amp":0.1254164911270599,"ratio":3.587354190870642,"label":"obliquity p+s6"},"94.8779":{"period_kyr":94.8779191670953,"lr04_post_mpt_amp":2.1956126593701737,"epica_amp":1.2639915720143144,"ratio":0.5756896903559022,"label":"eccentricity g4−g5"},"96.8490":{"period_kyr":96.84902648762181,"lr04_post_mpt_amp":1.2946071974982711,"epica_amp":0.23682731071604635,"ratio":0.18293372010730122,"label":"eccentricity z6−g5"},"98.8439":{"period_kyr":98.8438689567201,"lr04_post_mpt_amp":1.2272659053208135,"epica_amp":0.4856724460701151,"ratio":0.39573530395041645,"label":"eccentricity g3−g5"},"101.0051":{"period_kyr":101.00506143827943,"lr04_post_mpt_amp":0.2488357426916047,"epica_amp":0.44788255081583905,"ratio":1.7999124481522881,"label":"eccentricity z5−g5"},"103.1238":{"period_kyr":103.12379754572216,"lr04_post_mpt_amp":1.0637727201187808,"epica_amp":0.33409479112628293,"ratio":0.3140659511262687,"label":"eccentricity z7−g5"},"105.1372":{"period_kyr":105.13718703798536,"lr04_post_mpt_amp":0.9941347743278315,"epica_amp":0.438491914072792,"ratio":0.44107894160454386,"label":"eccentricity g4−g1"},"110.0293":{"period_kyr":110.0293064910417,"lr04_post_mpt_amp":1.019383496922233,"epica_amp":0.865630878043006,"ratio":0.8491709750614527,"label":"eccentricity g3−g1"},"123.8462":{"period_kyr":123.8461774280429,"lr04_post_mpt_amp":0.41090132345975183,"epica_amp":0.8903592879945408,"ratio":2.166844537023625,"label":"eccentricity g4−g2"},"130.6910":{"period_kyr":130.69097366197656,"lr04_post_mpt_amp":1.059107223123218,"epica_amp":0.4488980492703841,"ratio":0.42384570652499337,"label":"eccentricity g3−g2"},"134.4960":{"period_kyr":134.49598078775747,"lr04_post_mpt_amp":0.2597846031387007,"epica_amp":0.3579211112713804,"ratio":1.377761064154691,"label":"eccentricity z5−g2"},"405.6256":{"period_kyr":405.6256163323513,"lr04_post_mpt_amp":0.09278051954830373,"epica_amp":0.28956128701201084,"ratio":3.1209276303012983,"label":"eccentricity fundamental g₂−g₅"},"202.8128":{"period_kyr":202.81280816617564,"lr04_post_mpt_amp":0.18105436966901248,"epica_amp":0.2673214723574539,"ratio":1.4764707023981098,"label":"climate-internal harmonic (g₂−g₅)/2"},"135.2085":{"period_kyr":135.20853877745043,"lr04_post_mpt_amp":0.7081496012572424,"epica_amp":0.4894767789755957,"ratio":0.6912053302107113,"label":"climate-internal harmonic (g₂−g₅)/3"}}},"cenco2pip":{"label":"CenCO2PIP CO₂ (deep-time)","regime":"cenco2pip","window_kyr":[0,66000],"n_samples":661,"intercept":0.012710823332535535,"L1":[{"period_kyr":19.001545641452537,"label":"climatic precession p+g4","a":-0.0020338617801976266,"b":0.00022208633139098044},{"period_kyr":19.15547239857139,"label":"climatic precession p+g3","a":-0.0026329706784686893,"b":-0.0010668787332187707},{"period_kyr":22.44529598528639,"label":"climatic precession p+g2","a":-0.0005773515330844987,"b":0.00003291307390918333},{"period_kyr":23.19329171671584,"label":"climatic precession p+g1","a":-0.0009279217927520931,"b":0.00043826337409753457},{"period_kyr":23.76005899662999,"label":"climatic precession p+g5","a":0.0003935664632165048,"b":-0.00013247538208650822},{"period_kyr":27.268906147417248,"label":"obliquity p+s7","a":-0.00034673240956895274,"b":0.0004492328879011475},{"period_kyr":28.842415865333038,"label":"obliquity p+s1","a":-0.0003814047506930234,"b":0.00024647169666917456},{"period_kyr":29.004791811714906,"label":"obliquity p+ζ14","a":-0.0006561438457021104,"b":-0.000009234244011747765},{"period_kyr":29.617226328291668,"label":"obliquity p+ζ9","a":-0.0007415078762596315,"b":0.00048539168484503263},{"period_kyr":29.8091695546043,"label":"obliquity p+s2","a":-0.00032575297135806897,"b":-0.0002768928850926805},{"period_kyr":39.55607777721681,"label":"obliquity p+s4","a":-0.0005578089164868538,"b":0.000002532301888910431},{"period_kyr":40.2292898387119,"label":"obliquity p+ζ4","a":-0.0005369607748816922,"b":-0.00018901440570610276},{"period_kyr":40.923969082915576,"label":"obliquity p+s3","a":-0.0005310699479013138,"b":-0.00047953946468817354},{"period_kyr":41.644588622327085,"label":"obliquity p+ζ7","a":-0.00016030653793037454,"b":-0.00045444969546296066},{"period_kyr":53.61752871496249,"label":"obliquity p+s6","a":-0.0033519053865770287,"b":-0.0032382954142333026},{"period_kyr":94.8779191670953,"label":"eccentricity g4−g5","a":-0.03132542098776035,"b":-0.03179411879600634},{"period_kyr":96.84902648762181,"label":"eccentricity z6−g5","a":0.031647295012709374,"b":0.03578118100828458},{"period_kyr":98.8438689567201,"label":"eccentricity g3−g5","a":0.20006403256246674,"b":-0.16437243706923396},{"period_kyr":101.00506143827943,"label":"eccentricity z5−g5","a":0.08062540387177358,"b":0.09521995627738682},{"period_kyr":103.12379754572216,"label":"eccentricity z7−g5","a":-0.02491796986013184,"b":-0.014039062779737035},{"period_kyr":105.13718703798536,"label":"eccentricity g4−g1","a":0.012133958115513273,"b":0.03860990013383617},{"period_kyr":110.0293064910417,"label":"eccentricity g3−g1","a":-0.002137273435450621,"b":-0.015874644486902144},{"period_kyr":123.8461774280429,"label":"eccentricity g4−g2","a":-0.00046859356446693305,"b":0.0007067808363629786},{"period_kyr":130.69097366197656,"label":"eccentricity g3−g2","a":-0.00011035789585776747,"b":0.0017566689342053362},{"period_kyr":134.49598078775747,"label":"eccentricity z5−g2","a":0.0004433859046877901,"b":0.00035608509416867537},{"period_kyr":405.6256163323513,"label":"eccentricity fundamental g₂−g₅","a":0.00010765685191621403,"b":-0.00009531205076887192},{"period_kyr":202.81280816617564,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.0005633780713438881,"b":0.0001369956977748804},{"period_kyr":135.20853877745043,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.0013808240665499367,"b":0.0017651150118173323}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":-2.2502408814529162},{"label":"EOT","t_kyr":34000,"beta":1.5689079946773803},{"label":"Mi-1","t_kyr":23000,"beta":-0.21259643895733238},{"label":"MMCT","t_kyr":14000,"beta":-0.3699202105260202},{"label":"iNHG","t_kyr":2700,"beta":-0.24227399068087263},{"label":"MPT","t_kyr":1000,"beta":0.24998745524516897}],"denormalization":{"y_mean":-2.091425032821257e-13,"y_std":209.18154000668048,"trend_slope":0.013251639299066168,"trend_intercept":214.15971983891893},"r2":{"l1_only":0.047324371008972466,"l1_l2":0.047324371008972466,"l1_l2_l3":0.6918021804874894,"delta_l2":0,"delta_l3":0.644477809478517}}},"meta":{"script":"export_climate_formula_browser.py","consumer":"src/script.js — Climate Formula Explorer modal","stitched_lr04_r2":0.9214009610608173,"stitched_lr04_note":"R² of the three-regime stitched curve (post-MPT / iNHG-MPT / pre-iNHG blocks) against the raw gridded LR04 stack, 0-5320 kyr"}},
|
|
29
|
+
DT_ANCHOR: {"deltaTStartSeconds":56.07581799402068,"usnoTargetLodSeconds":86400.0012},
|
|
30
|
+
DT_RESONATOR: {"display_name":"Core-mantle swing","driver":"Resonator","functional_class":"episode (2-kick IMPULSE-CONSISTENT windowed damped oscillation — sin-only kicks, displacement-continuous; zero before first kick)","kick_epochs_year":[-1600,1600],"kick_coefficients_s":[{"cos":0,"sin":621.6253091372357},{"cos":0,"sin":1.2850007806442048}],"T0_lattice_n":685,"T0_yr":3916.1109489051096,"Q":1.8,"drive_tones":[{"pair":"bond-hallstatt","dn":726,"period_yr":3694.9531680440773,"phi_locked_rad":-0.4616152283022974,"amp_s":0,"phase_convention":"cos(2π·dn/8H·y − φ_locked), kick-1-envelope-shared","retired":"RETIRED (plan 06 D7 follow-up, 2026-09): shipped at amplitude 0 — measured to buy nothing once the GIA channel became the lagged response (kicks-only 11.89 / 21.04 s vs all three 12.04 / 21.34 s); dn/phase kept as the convention for the diagnostic column (DT_RESONATOR_COMPONENTS)."}],"rms_s":21.41469844571876,"raw_at_j2000_s":-83.11960900896855,"lod_raw_at_j2000_s_per_day":0.0004964512181330436,"deep_time_checks_s":{"900":-245.8439379884609,"2000":-82.32559425279462,"5000":5.334235000224568,"100000":-1.545960510634632e-17,"-100000":0,"-5000":0,"-801":0},"regeneration_rule":"drive-tone menu = Δn difference tones of the ACTIVE flag set (any count); refit this script after any stack change (3rd/5th cycle)","status":"JOINT WORLD SHIPPED (--joint --write): the two impulse kicks from the joint equality-constrained fit, the drive tone retired at amplitude 0 (plan 06 D7 follow-up); phases/epochs/T0/Q remain the Stage-1/3 convention. Default-ON.","impulse_consistent":true},
|
|
31
|
+
DT_STACK: {"bond":{"lattice_n":1830,"period_yr":1465.8666666666666,"cos_coeff_s":165.17830836273438,"sin_coeff_s":329.72368120425097,"raw_at_j2000_s":139.42483205973076,"amplitude_s":368.7839197964807,"phase_deg":63.39097186679068,"source":"Stage D anchored fit (USNO LOD constraint active)","joint_mode":true},"hallstatt":{"lattice_n":1104,"period_yr":2429.8333333333335,"cos_coeff_s":-63.68853392916495,"sin_coeff_s":48.41250505761507,"raw_at_j2000_s":-71.6300451611975,"amplitude_s":80,"phase_deg":142.75990910530456,"target_amp_source":"CAPPED from anchored quad-fit free amp 100.73 s → 80 s prior","joint_mode":true},"jose5":{"lattice_n":2989,"period_yr":897.469387755102,"cos_coeff_s":-41.0905713231876,"sin_coeff_s":28.487979014560363,"raw_at_j2000_s":22.691156700635617,"amplitude_s":49.99999999999999,"phase_deg":145.26653774170026,"target_amp_source":"CAPPED from anchored quad-fit free amp 86.44 s → 50 s prior","joint_mode":true},"jose4":{"lattice_n":3749,"period_yr":715.5337423312883,"cos_coeff_s":38.291732965080044,"sin_coeff_s":-32.15187687415778,"raw_at_j2000_s":41.578595054682985,"amplitude_s":50,"phase_deg":-40.018695741432126,"target_amp_source":"unconstrained: quad-fit free amp 47.06 s (below 50 s prior — no cap applied)","joint_mode":true}},
|
|
32
32
|
MEEUS_DISTANCE_TERMS: {"meanKm":385000.56,"terms":[[0,0,1,0,-20905355],[2,0,-1,0,-3699111],[2,0,0,0,-2955968],[0,0,2,0,-569925],[0,1,0,0,48888],[0,0,0,2,-3149],[2,0,-2,0,246158],[2,-1,-1,0,-152138],[2,0,1,0,-170733],[2,-1,0,0,-204586],[0,1,-1,0,-129620],[1,0,0,0,108743],[0,1,1,0,104755],[2,0,0,-2,10321],[0,0,1,2,0],[0,0,1,-2,79661],[4,0,-1,0,-34782],[0,0,3,0,-23210],[4,0,-2,0,-21636],[2,1,-1,0,24208],[2,1,0,0,30824],[1,0,-1,0,-8379],[1,1,0,0,-16675],[2,-1,1,0,-12831],[2,0,2,0,-10445],[4,0,0,0,-11650],[2,0,-3,0,14403],[0,1,-2,0,-7003],[2,0,-1,2,0],[2,-1,-2,0,10056],[1,0,1,0,6322],[2,-2,0,0,-9884],[0,1,2,0,5751],[0,2,0,0,0],[2,-2,-1,0,-4950],[2,0,1,-2,4130],[2,0,0,2,0],[4,-1,-1,0,-3958],[0,0,2,2,0],[3,0,-1,0,3258],[2,1,1,0,2616],[4,-1,-2,0,-1897],[0,2,-1,0,-2117],[2,2,-1,0,2354],[2,1,-2,0,0],[2,-1,0,-2,0],[4,0,1,0,-1423],[0,0,4,0,-1117],[4,-1,0,0,-1571],[1,0,-2,0,-1739],[2,1,0,-2,0],[0,0,2,-2,-4421],[1,1,1,0,0],[3,0,-2,0,0],[4,0,-3,0,0],[2,-1,2,0,0],[0,2,1,0,1165],[1,1,-1,0,0],[2,0,3,0,0],[2,0,-1,-2,8752]]},
|
|
33
33
|
MEEUS_LATITUDE_TERMS: [[0,0,0,1,5128122],[0,0,1,1,280602],[0,0,1,-1,277693],[2,0,0,-1,173237],[2,0,-1,1,55413],[2,0,-1,-1,46271],[2,0,0,1,32573],[0,0,2,1,17198],[2,0,1,-1,9266],[0,0,2,-1,8822],[2,-1,0,-1,8216],[2,0,-2,-1,4324],[2,0,1,1,4200],[2,1,0,-1,-3359],[2,-1,-1,1,2463],[2,-1,0,1,2211],[2,-1,-1,-1,2065],[0,1,-1,-1,-1870],[4,0,-1,-1,1828],[0,1,0,1,-1794],[0,0,0,3,-1749],[0,1,-1,1,-1565],[1,0,0,1,-1491],[0,1,1,1,-1475],[0,1,1,-1,-1410],[0,1,0,-1,-1344],[1,0,0,-1,-1335],[0,0,3,1,1107],[4,0,0,-1,1021],[4,0,-1,1,833],[0,0,1,-3,777],[4,0,-2,1,671],[2,0,0,-3,607],[2,0,2,-1,596],[2,-1,1,-1,491],[2,0,-2,1,-451],[0,0,3,-1,439],[2,0,2,1,422],[2,0,-3,-1,421],[2,1,-1,1,-366],[2,1,0,1,-351],[4,0,0,1,331],[2,-1,1,1,315],[2,-2,0,-1,302],[0,0,1,3,-283],[2,1,1,-1,-229],[1,1,0,-1,223],[1,1,0,1,223],[0,1,-2,-1,-220],[2,1,-1,-1,-220],[1,0,1,1,-185],[2,-1,-2,-1,181],[0,1,2,1,-177],[4,0,-2,-1,176],[4,-1,-1,-1,166],[1,0,1,-1,-164],[4,0,1,-1,132],[1,0,-1,-1,-119],[4,-1,0,-1,115],[2,-2,0,1,107]],
|
|
34
34
|
MEEUS_LONGITUDE_TERMS: [[0,0,1,0,6288774],[2,0,-1,0,1274027],[2,0,0,0,658314],[0,0,2,0,213618],[0,1,0,0,-185116],[0,0,0,2,-114332],[2,0,-2,0,58793],[2,-1,-1,0,57066],[2,0,1,0,53322],[2,-1,0,0,45758],[0,1,-1,0,-40923],[1,0,0,0,-34720],[0,1,1,0,-30383],[2,0,0,-2,15327],[0,0,1,2,-12528],[0,0,1,-2,10980],[4,0,-1,0,10675],[0,0,3,0,10034],[4,0,-2,0,8548],[2,1,-1,0,-7888],[2,1,0,0,-6766],[1,0,-1,0,-5163],[1,1,0,0,4987],[2,-1,1,0,4036],[2,0,2,0,3994],[4,0,0,0,3861],[2,0,-3,0,3665],[0,1,-2,0,-2689],[2,0,-1,2,-2602],[2,-1,-2,0,2390],[1,0,1,0,-2348],[2,-2,0,0,2236],[0,1,2,0,-2120],[0,2,0,0,-2069],[2,-2,-1,0,2048],[2,0,1,-2,-1773],[2,0,0,2,-1595],[4,-1,-1,0,1215],[0,0,2,2,-1110],[3,0,-1,0,-892],[2,1,1,0,-810],[4,-1,-2,0,759],[0,2,-1,0,-713],[2,2,-1,0,-700],[2,1,-2,0,691],[2,-1,0,-2,596],[4,0,1,0,549],[0,0,4,0,537],[4,-1,0,0,520],[1,0,-2,0,-487],[2,1,0,-2,-399],[0,0,2,-2,-381],[1,1,1,0,351],[3,0,-2,0,-340],[4,0,-3,0,330],[2,-1,2,0,327],[0,2,1,0,-323],[1,1,-1,0,299],[2,0,3,0,294]],
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
export const CONSTANTS_HASH = "da713fc2d846767d";
|
|
40
40
|
|
|
41
41
|
/** Model version label — single source: public/input/model-version.json (§10 two-axis scheme). */
|
|
42
|
-
export const MODEL_VERSION = "v27.
|
|
42
|
+
export const MODEL_VERSION = "v27.2";
|
|
43
43
|
|
|
44
44
|
/** Canonical preprint DOI — single source: public/input/model-version.json. */
|
|
45
45
|
export const PREPRINT_DOI = "10.21203/rs.3.rs-8758810/v4";
|
|
@@ -90,6 +90,7 @@ function createCoRotatingAnchoredModeSum(modes, anchor) {
|
|
|
90
90
|
* axialPrecessionYearsAtYearFn?: (year: number) => number,
|
|
91
91
|
* solarTorqueShareJ2000?: number,
|
|
92
92
|
* dynamicalEllipticityRatioAtYearFn?: (year: number) => number,
|
|
93
|
+
* spinCheckpoints?: { spacingYr: number, checkpoints: ReadonlyArray<{t: number, s: number[]}> },
|
|
93
94
|
* }} deps — mode tables from the governed deep artifact (choose the ζ tier
|
|
94
95
|
* per consumer: era = its own 8-term extraction, deep = the 16-term
|
|
95
96
|
* table; NEVER a slice); anchors from the chain artifact's one home; the
|
|
@@ -115,6 +116,14 @@ function createDeepOrbitalHistory({
|
|
|
115
116
|
axialPrecessionYearsJ2000, obliquityJ2000Deg,
|
|
116
117
|
axialPrecessionYearsAtYearFn,
|
|
117
118
|
solarTorqueShareJ2000, dynamicalEllipticityRatioAtYearFn,
|
|
119
|
+
// PLAN 24 — the checkpoint bank: the walk's exact state (ŝ, t) every `spacingYr`
|
|
120
|
+
// from J2000 over the model's domain, written by the continuous walk
|
|
121
|
+
// (tools/verify/spin-axis-bank.js, data/spin-axis-checkpoints.json). A build
|
|
122
|
+
// seats its walk on the nearest checkpoint on the near side of the query and
|
|
123
|
+
// walks at most one spacing — the same step sequence as the continuous walk,
|
|
124
|
+
// so every node is bit-identical (the purity gate's bank row). Absent, the
|
|
125
|
+
// walk runs from S0 as before.
|
|
126
|
+
spinCheckpoints,
|
|
118
127
|
}) {
|
|
119
128
|
const D2R = Math.PI / 180, R2D = 180 / Math.PI;
|
|
120
129
|
|
|
@@ -551,23 +560,91 @@ function createDeepOrbitalHistory({
|
|
|
551
560
|
};
|
|
552
561
|
}
|
|
553
562
|
|
|
554
|
-
|
|
563
|
+
// ── THE STEP SCHEDULE — ONE place, the generator's and every runtime's (plan 24) ──
|
|
564
|
+
// 5-yr RK4 inside ±50 kyr (the certified-precision zone, unchanged). Beyond:
|
|
565
|
+
// the largest divisor of 1000 up to 50 yr that keeps ≥ 100 steps per
|
|
566
|
+
// precession cycle of the torque period at the 1000-yr cell's near edge —
|
|
567
|
+
// 50 yr over the whole ±500-Myr validity domain and to ~3.5 Ga (T_p ≥ 5 kyr),
|
|
568
|
+
// shrinking toward genesis (T_p 598 yr at 4.4 Ga → 5-yr steps). Constant per
|
|
569
|
+
// 1000-yr cell and an integer, so the walk lands exactly on every grid node
|
|
570
|
+
// (1000, 5000) and on the bank's (250 kyr), and t stays exact.
|
|
571
|
+
// MEASURED (plan 24, 2026-10): the former fixed 250-yr step was outside RK4's
|
|
572
|
+
// asymptotic regime beyond a few Myr — against a 50-yr walk the obliquity
|
|
573
|
+
// parted by 0.8″ at 5 Ma, 318″ at 100 Ma, 0.12° at 500 Ma, 2° at 2.46 Ga, and
|
|
574
|
+
// at 4 Ga the axis had collapsed onto the orbit normal (ε 0.07°); the equinox
|
|
575
|
+
// phase by 9° at 100 Ma. The 50-yr walk IS converged: 0.10″ / 10″ at 100 Ma
|
|
576
|
+
// against a 10-yr walk (ratios 3,000–30,000 where fourth order predicts 625).
|
|
577
|
+
// STRICT < so the walk switches AT the ±50,000 boundary (a grid node).
|
|
578
|
+
const STEP_CANDIDATES = [50, 25, 20, 10, 5, 4, 2, 1];
|
|
579
|
+
let stepCellKey = NaN, stepCellH = 5;
|
|
580
|
+
const hStepAt = (/** @type {number} */ t) => {
|
|
581
|
+
const a = Math.abs(t);
|
|
582
|
+
if (a < 50000) return 5;
|
|
583
|
+
const cellKey = (t < 0 ? -1 : 1) * Math.floor(a / 1000) * 1000;
|
|
584
|
+
if (cellKey === stepCellKey) return stepCellH;
|
|
585
|
+
const Tp = axialPrecessionYearsAtYearFn ? axialPrecessionYearsAtYearFn(2000 + cellKey) : axialPrecessionYearsJ2000;
|
|
586
|
+
let h = 1;
|
|
587
|
+
for (const c of STEP_CANDIDATES) if (c * 100 <= Tp) { h = c; break; }
|
|
588
|
+
stepCellKey = cellKey; stepCellH = h;
|
|
589
|
+
return h;
|
|
590
|
+
};
|
|
591
|
+
/** One RK4 walk from (s, t) to tEnd (|tEnd| ≥ |t|, same side of J2000), the schedule's steps
|
|
592
|
+
* — or a FIXED step for a diagnostic (the generator's convergence row); returns the end state.
|
|
593
|
+
* @param {number[]} s @param {number} t @param {number} tEnd @param {number} [fixedStepYr]
|
|
594
|
+
* @returns {{ s: number[], t: number }} */
|
|
595
|
+
function walkFrom(s, t, tEnd, fixedStepYr) {
|
|
596
|
+
const dir = tEnd < t ? -1 : 1;
|
|
597
|
+
while (dir < 0 ? t > tEnd : t < tEnd) {
|
|
598
|
+
const h = fixedStepYr ?? hStepAt(t);
|
|
599
|
+
s = rk4(s, t, dir * h);
|
|
600
|
+
t += dir * h;
|
|
601
|
+
}
|
|
602
|
+
return { s, t };
|
|
603
|
+
}
|
|
604
|
+
/** The continuous walk's states at every multiple of spacingYr from J2000 to tEndYr (one
|
|
605
|
+
* direction) — the bank generator's instrument; no grid is built.
|
|
606
|
+
* @param {number} tEndYr @param {number} spacingYr @returns {Array<{t: number, s: number[]}>} */
|
|
607
|
+
function recordStates(tEndYr, spacingYr) {
|
|
608
|
+
const dir = tEndYr < 0 ? -1 : 1;
|
|
609
|
+
/** @type {Array<{t: number, s: number[]}>} */ const out = [];
|
|
610
|
+
let s = S0A, t = 0;
|
|
611
|
+
while (dir < 0 ? t > tEndYr : t < tEndYr) {
|
|
612
|
+
const h = hStepAt(t);
|
|
613
|
+
s = rk4(s, t, dir * h);
|
|
614
|
+
t += dir * h;
|
|
615
|
+
if (t % spacingYr === 0) out.push({ t, s: s.slice() });
|
|
616
|
+
}
|
|
617
|
+
return out;
|
|
618
|
+
}
|
|
619
|
+
// The bank, indexed by t (years from J2000; both directions).
|
|
620
|
+
/** @type {Map<number, number[]> | null} */
|
|
621
|
+
const bank = spinCheckpoints && spinCheckpoints.checkpoints ? new Map(spinCheckpoints.checkpoints.map((/** @type {{t: number, s: number[]}} */ c) => [c.t, c.s])) : null;
|
|
622
|
+
const bankSpacing = spinCheckpoints && bank ? spinCheckpoints.spacingYr : 0;
|
|
623
|
+
|
|
624
|
+
/** The factory's walks, one per grid step: the shared node grid and, per direction, the
|
|
625
|
+
* COVERED SEGMENTS — contiguous node ranges [from, to] (|t|) each with the live frontier
|
|
626
|
+
* state at `to` (plan 24: a frontier per direction became segments, so a seated walk can
|
|
627
|
+
* start anywhere and a later nearer query fills its own gap).
|
|
628
|
+
* @typedef {{ from: number, to: number, s: number[], t: number }} Seg
|
|
629
|
+
* @type {Map<number, { grid: Map<number, any>, segs: Record<number, Seg[]> }>} */
|
|
555
630
|
const walks = new Map();
|
|
556
631
|
/**
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
*
|
|
632
|
+
* Return a sampler on a stepYr grid over [min(t0,t1,0), max(t0,t1,0)]:
|
|
633
|
+
* the nodes around the far ends are built now (linear interpolation of the
|
|
634
|
+
* scalars, C1 on the angles); any node the sampler meets missing is built on
|
|
635
|
+
* demand. t in years from J2000, negative = past.
|
|
560
636
|
* @param {number} t0Yr @param {number} t1Yr @param {number} stepYr
|
|
561
637
|
*/
|
|
562
638
|
function build(t0Yr, t1Yr, stepYr) {
|
|
563
639
|
const tMin = Math.min(t0Yr, t1Yr, 0), tMax = Math.max(t0Yr, t1Yr, 0);
|
|
564
|
-
//
|
|
565
|
-
//
|
|
566
|
-
//
|
|
567
|
-
|
|
568
|
-
|
|
640
|
+
// The stepping contract: beyond the ±50-kyr fine zone the walk steps on
|
|
641
|
+
// STEP_CANDIDATES, every one a divisor of 100, so a grid there must be
|
|
642
|
+
// 100-aligned (the samplers' 1000/5000, the series generator's 500-yr seam
|
|
643
|
+
// probe) or at() would meet missing keys. Fail loud, not subtly coarse.
|
|
644
|
+
if (Math.max(Math.abs(tMin), Math.abs(tMax)) > 50000 && stepYr % 100 !== 0) {
|
|
645
|
+
throw new Error(`deep-orbital-history: builds beyond ±50 kyr need stepYr % 100 === 0 (got ${stepYr})`);
|
|
569
646
|
}
|
|
570
|
-
// ONE WALK PER STEP
|
|
647
|
+
// ONE WALK PER GRID STEP, EXTENDED, NEVER RESTARTED (plan 13 A1, measured):
|
|
571
648
|
// every caller's tier routing asked for `build(span, -span, step)` and
|
|
572
649
|
// rebuilt from J2000 whenever a deeper epoch arrived, so the four deep
|
|
573
650
|
// fixture anchors (380…2460 Ma) walked ~49 million RK4 steps — 14 of the
|
|
@@ -575,56 +652,68 @@ function createDeepOrbitalHistory({
|
|
|
575
652
|
// ~5 million. The walk is a pure function of t from the fixed J2000 state
|
|
576
653
|
// S0, so continuing a stored walk from its last (s, t) yields the SAME
|
|
577
654
|
// step sequence as a fresh walk to the farther end: bit-identical nodes
|
|
578
|
-
// (the sampler-order-purity gate pins this).
|
|
579
|
-
//
|
|
580
|
-
//
|
|
655
|
+
// (the sampler-order-purity gate pins this). PLAN 24: the same purity lets
|
|
656
|
+
// a walk start from a BANKED state — a checkpoint IS the continuous walk's
|
|
657
|
+
// state at that t — so a query seats on the nearest checkpoint on its near
|
|
658
|
+
// side and walks at most one spacing (250 kyr: ~5,000 steps) instead of
|
|
659
|
+
// from J2000 (−4.43 Gyr: 17.7 million steps at the former step, ~90
|
|
660
|
+
// million at this one).
|
|
581
661
|
let w = walks.get(stepYr);
|
|
582
662
|
const S0 = S0A;
|
|
583
|
-
// D1-revised adaptive stepping: 5-yr RK4 near the era (the certified-
|
|
584
|
-
// precision zone), 250-yr beyond ±50 kyr — still 103 steps per
|
|
585
|
-
// precession cycle and ≥196 samples of the fastest ζ mode (49 kyr), so
|
|
586
|
-
// the integration stays deep in RK4's convergence regime while ±500 Myr
|
|
587
|
-
// becomes a seconds-class one-time build (measured: coarse-vs-fine
|
|
588
|
-
// agree to <1e-4° at ±1 Myr — the generator's regression gate).
|
|
589
|
-
// STRICT < so the walk switches AT the ±50,000 boundary (50,000 is
|
|
590
|
-
// 250-aligned; switching one fine-step later would leave the coarse walk
|
|
591
|
-
// permanently off-grid — measured: every key beyond ±50 kyr missing).
|
|
592
|
-
const hStepAt = (/** @type {number} */ t) => (Math.abs(t) < 50000 ? 5 : 250);
|
|
593
663
|
if (!w) {
|
|
594
|
-
w = { grid: new Map(),
|
|
664
|
+
w = { grid: new Map(), segs: { [-1]: [], [1]: [] } };
|
|
595
665
|
walks.set(stepYr, w);
|
|
596
666
|
}
|
|
597
667
|
const grid = w.grid;
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
668
|
+
// Each stored node also carries the equinox-node RATE (deg/yr) from a
|
|
669
|
+
// ±2.5-yr central difference on the integrator's own state — the C1
|
|
670
|
+
// (Hermite) interpolation input. Linear interpolation of the node
|
|
671
|
+
// longitude made the realized equinox rate PIECEWISE-CONSTANT per
|
|
672
|
+
// grid cell — the report's per-year precession column showed flat
|
|
673
|
+
// centuries with steps at the 1700/1800/1900/2000 cell edges
|
|
674
|
+
// (measured; the levels were the real wobble at 100-yr resolution,
|
|
675
|
+
// the staircase was this interpolation order).
|
|
676
|
+
// The perihelion longitude of date gets the same C1 treatment (2026-09,
|
|
677
|
+
// owner-found): linear interpolation of periOfDateDeg made the
|
|
678
|
+
// movement's year-over-year apsidal rate — the anomalistic year, the
|
|
679
|
+
// Prec. cell — a staircase of ±0.1 s across the 100-yr cells, reading
|
|
680
|
+
// 365.2596375 d at 2000.0 and 365.2596390 d at 2000.5, and the panel's
|
|
681
|
+
// apsidal beat 111,494 where the registry read 111,548.
|
|
682
|
+
const storeWithRate = (/** @type {number} */ key, /** @type {number[]} */ sv, /** @type {number} */ tv) => {
|
|
683
|
+
const smp = sampleAt(sv, tv);
|
|
684
|
+
const hR = 2.5;
|
|
685
|
+
const lp = eqLonsOnlyDeg(rk4(sv, tv, +hR), tv + hR);
|
|
686
|
+
const lm = eqLonsOnlyDeg(rk4(sv, tv, -hR), tv - hR);
|
|
687
|
+
smp.equinoxLonRateDegPerYr = (((lp.proj - lm.proj + 540) % 360) - 180) / (2 * hR);
|
|
688
|
+
smp.generalPrecessionLonRateDegPerYr = (((lp.general - lm.general + 540) % 360) - 180) / (2 * hR);
|
|
689
|
+
smp.periOfDateRateDegPerYr = (((lp.peri - lm.peri + 540) % 360) - 180) / (2 * hR);
|
|
690
|
+
grid.set(key, smp);
|
|
691
|
+
};
|
|
692
|
+
if (!grid.has(0)) storeWithRate(0, S0, 0);
|
|
693
|
+
/** Make the nodes up to |t| = need exist in direction dir: a covering segment, or a walk
|
|
694
|
+
* seated on the nearest start on the near side — an existing segment's frontier or a bank
|
|
695
|
+
* checkpoint, whichever is nearer — storing nodes at exact grid multiples on the way.
|
|
696
|
+
* @param {1|-1} dir @param {number} need */
|
|
697
|
+
const cover = (dir, need) => {
|
|
698
|
+
if (need === 0) return;
|
|
699
|
+
const segs = w.segs[dir];
|
|
700
|
+
for (const sg of segs) if (sg.from <= need && need <= sg.to) return;
|
|
701
|
+
/** @type {{ a: number, s: number[], t: number, seg: Seg | null }} */
|
|
702
|
+
let start = { a: 0, s: S0, t: 0, seg: null };
|
|
703
|
+
for (const sg of segs) if (sg.to <= need && sg.to > start.a) start = { a: sg.to, s: sg.s, t: sg.t, seg: sg };
|
|
704
|
+
if (bank) {
|
|
705
|
+
for (let a = Math.floor(need / bankSpacing) * bankSpacing; a > start.a; a -= bankSpacing) {
|
|
706
|
+
const cs = bank.get(dir * a);
|
|
707
|
+
if (cs) { start = { a, s: cs, t: dir * a, seg: null }; break; }
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
let s = start.s, t = start.t;
|
|
711
|
+
const end = dir * need;
|
|
712
|
+
// A seat on a bank checkpoint IS a walk state at an exact t: when that t is a grid
|
|
713
|
+
// multiple its node must be stored too — a query at the checkpoint itself (need ===
|
|
714
|
+
// the seat; the loop below then takes no step) found no node otherwise (measured:
|
|
715
|
+
// the fixture recorder at +250 kyr and the docs writer at −1 Myr threw).
|
|
716
|
+
if (start.seg === null && start.a > 0 && Math.abs(t - Math.round(t / stepYr) * stepYr) < 1e-6 && !grid.has(Math.round(t / stepYr) * stepYr)) storeWithRate(Math.round(t / stepYr) * stepYr, s, t);
|
|
628
717
|
while (dir < 0 ? t > end : t < end) {
|
|
629
718
|
const H_STEP = hStepAt(t);
|
|
630
719
|
s = rk4(s, t, dir * H_STEP);
|
|
@@ -632,19 +721,40 @@ function createDeepOrbitalHistory({
|
|
|
632
721
|
// Store ONLY at EXACT step multiples: an off-grid sample under a
|
|
633
722
|
// ROUNDED key collides with (or shifts) a real grid node (measured
|
|
634
723
|
// during C-3: build(+200, …, 1000) stored ε(+200) under key 0,
|
|
635
|
-
// clobbering the t = 0 sample by 94
|
|
636
|
-
// the
|
|
637
|
-
//
|
|
638
|
-
// guard below (coarse builds use 250-aligned grids; the 50,000-yr
|
|
639
|
-
// zone boundary is itself 250-aligned, so the walk stays on-grid).
|
|
724
|
+
// clobbering the t = 0 sample by 94″). Exact alignment is guaranteed
|
|
725
|
+
// by the schedule (integer divisors of 100 beyond the 50,000-yr zone
|
|
726
|
+
// boundary, itself a grid node) and the guard above.
|
|
640
727
|
if (Math.abs(t - Math.round(t / stepYr) * stepYr) < 1e-6) storeWithRate(Math.round(t / stepYr) * stepYr, s, t);
|
|
641
728
|
}
|
|
642
|
-
|
|
729
|
+
const to = Math.abs(t);
|
|
730
|
+
let seg = start.seg;
|
|
731
|
+
if (seg) { seg.to = to; seg.s = s; seg.t = t; } else { seg = { from: start.a, to, s, t }; segs.push(seg); }
|
|
732
|
+
// merge the segments this walk reached (their nodes are the same nodes)
|
|
733
|
+
for (let i = segs.length - 1; i >= 0; i--) {
|
|
734
|
+
const o = segs[i];
|
|
735
|
+
if (o === seg || o.from > seg.to || o.to < seg.from) continue;
|
|
736
|
+
if (o.to > seg.to) { seg.to = o.to; seg.s = o.s; seg.t = o.t; }
|
|
737
|
+
if (o.from < seg.from) seg.from = o.from;
|
|
738
|
+
segs.splice(i, 1);
|
|
739
|
+
}
|
|
740
|
+
};
|
|
741
|
+
for (const dir of /** @type {Array<1|-1>} */ ([-1, 1])) {
|
|
742
|
+
const end = dir < 0 ? tMin : tMax;
|
|
743
|
+
if (end !== 0) cover(dir, Math.abs(end));
|
|
643
744
|
}
|
|
745
|
+
/** The two grid nodes around tYr, built on demand. @param {number} k0 @param {number} k1 */
|
|
746
|
+
const ensureNodes = (k0, k1) => {
|
|
747
|
+
for (const k of [k0, k1]) {
|
|
748
|
+
if (k === 0 || grid.has(k)) continue;
|
|
749
|
+
if (Math.abs(k) > Math.max(Math.abs(tMin), Math.abs(tMax)) + stepYr) continue; // beyond the built range: the throw below says so
|
|
750
|
+
cover(k < 0 ? -1 : 1, Math.abs(k));
|
|
751
|
+
}
|
|
752
|
+
};
|
|
644
753
|
return {
|
|
645
754
|
/** @param {number} tYr */
|
|
646
755
|
at(tYr) {
|
|
647
756
|
const k0 = Math.floor(tYr / stepYr) * stepYr, k1 = k0 + stepYr;
|
|
757
|
+
ensureNodes(k0, k1);
|
|
648
758
|
const a = grid.get(k0), b = grid.get(k1) ?? a;
|
|
649
759
|
if (!a) throw new Error(`deep-orbital-history: ${tYr} outside the built range`);
|
|
650
760
|
const f = (tYr - k0) / stepYr;
|
|
@@ -685,6 +795,14 @@ function createDeepOrbitalHistory({
|
|
|
685
795
|
|
|
686
796
|
return {
|
|
687
797
|
build,
|
|
798
|
+
// PLAN 24 — the bank generator's instruments: the continuous walk's states at a spacing,
|
|
799
|
+
// a pure walk from a given state (the seat-and-resume self-check; a fixed step for the
|
|
800
|
+
// convergence row), the step the schedule takes at t, and the state the walk starts from.
|
|
801
|
+
recordStates,
|
|
802
|
+
walkFrom,
|
|
803
|
+
stepYearsAt: hStepAt,
|
|
804
|
+
stateJ2000: S0A,
|
|
805
|
+
bankLoaded: bank !== null,
|
|
688
806
|
alphaArcsecPerYr: ALPHA * R2D * 3600, // the injected GENERAL-anchor form (input echo, unchanged semantics)
|
|
689
807
|
// D4e diagnostics: the self-anchored lunisolar rate actually integrated.
|
|
690
808
|
alphaLunisolarArcsecPerYr: ALPHA * K_LUNI * R2D * 3600,
|
package/src/index.js
CHANGED
|
@@ -200,7 +200,7 @@ export { createEclipseFinders } from './eclipse/finders.cjs';
|
|
|
200
200
|
* even though the body is empty.
|
|
201
201
|
*
|
|
202
202
|
* @param {Constants} [constants]
|
|
203
|
-
* @param {{ laws?: { eccentricityAt?: (year: number) => number, eccentricityRateAt?: (year: number) => number, perihelionLongitudeDegAt?: (year: number) => number }, secularSeriesArtifact?: any, giaEllipticityOfDate?: boolean }} [opts]
|
|
203
|
+
* @param {{ laws?: { eccentricityAt?: (year: number) => number, eccentricityRateAt?: (year: number) => number, perihelionLongitudeDegAt?: (year: number) => number }, secularSeriesArtifact?: any, giaEllipticityOfDate?: boolean, spinCheckpointsArtifact?: any }} [opts]
|
|
204
204
|
* `laws` — research overrides for Earth's orbit laws (doc 109 §7); absent = the shipped laws, bit-identical. Not part of the hash.
|
|
205
205
|
* @returns {Model}
|
|
206
206
|
*/
|
|
@@ -251,8 +251,18 @@ export const createModel = (constants = GENERATED, opts = {}) => {
|
|
|
251
251
|
// opts.giaEllipticityOfDate — false builds the one-source history on the
|
|
252
252
|
// orbital forcing alone (no ice-driven J₂(t) factor): the T1 line derivation
|
|
253
253
|
// (see assembleModel). Default true = the shipped physics. Never part of the hash.
|
|
254
|
+
// opts.spinCheckpointsArtifact — plan 24: the spin-axis checkpoint bank
|
|
255
|
+
// (data/spin-axis-checkpoints.json, parsed), the walk's exact state every
|
|
256
|
+
// 250 kyr; a deep POINT read then walks at most one spacing (a cumulative
|
|
257
|
+
// lunar table still integrates from J2000). Never part of the
|
|
258
|
+
// hash: it is the governed artifact of the walk this context runs, and the
|
|
259
|
+
// nodes it yields are bit-identical to the full walk's (the purity gate).
|
|
260
|
+
// The bank is the SHIPPED context's walk: under altered constants (a counterfactual) or
|
|
261
|
+
// research law overrides α(t) differs and the walk must be its own — the bank is ignored
|
|
262
|
+
// there by construction, never trusted to the caller.
|
|
263
|
+
const bankAllowed = hash === CONSTANTS_HASH && !(opts.laws && Object.keys(opts.laws).length) && opts.giaEllipticityOfDate !== false;
|
|
254
264
|
const surfaces = assembleModel(ctx, FITTED, opts.laws ?? {}, opts.secularSeriesArtifact ?? null,
|
|
255
|
-
{ giaEllipticityOfDate: opts.giaEllipticityOfDate !== false });
|
|
265
|
+
{ giaEllipticityOfDate: opts.giaEllipticityOfDate !== false, spinCheckpointsArtifact: bankAllowed ? (opts.spinCheckpointsArtifact ?? null) : null });
|
|
256
266
|
|
|
257
267
|
return {
|
|
258
268
|
constants: ctx,
|
package/src/model/context.js
CHANGED
|
@@ -24,7 +24,10 @@
|
|
|
24
24
|
* FORCING alone. The T1 exporter derives the climate lines' obliquity rate on it, so the lines
|
|
25
25
|
* cannot depend on their own fit (v23.0; measured 3e-5 of the rate, 2–3 yr of period). Default true =
|
|
26
26
|
* the shipped physics.
|
|
27
|
-
*
|
|
27
|
+
* `spinCheckpointsArtifact` (plan 24): the parsed spin-axis checkpoint bank — the walk's exact state
|
|
28
|
+
* every 250 kyr; a deep read then walks at most one spacing, bit-identical to the full walk. Null =
|
|
29
|
+
* the full walk from J2000.
|
|
30
|
+
* @typedef {{ giaEllipticityOfDate?: boolean, spinCheckpointsArtifact?: { spacingYr: number, checkpoints: ReadonlyArray<{t: number, s: number[]}> } | null }} Options
|
|
28
31
|
*/
|
|
29
32
|
|
|
30
33
|
/**
|
|
@@ -12,7 +12,7 @@ import { CHAIN_ARTIFACT } from '../planets/chain-artifact.js';
|
|
|
12
12
|
export function assembleOneSourceMovement(ctx) {
|
|
13
13
|
const {
|
|
14
14
|
C, options, secularSeriesArtifact, EPOCH_PARAMS, alphaGia, certifiedAxialPrecessionJ2000Years, dayLengthSeconds,
|
|
15
|
-
deepLod, dtCycleLodCorrectionSum, meanSolarYearDays,
|
|
15
|
+
deepLod, dtCycleLodCorrectionSum, meanSolarYearDays, yearToTMa,
|
|
16
16
|
} = ctx;
|
|
17
17
|
// The cardinal INSTANTS are the crossings of the one Sun the scene renders
|
|
18
18
|
// and the eclipse chain certifies (cardinal-instants.js); the cardinal
|
|
@@ -74,7 +74,12 @@ export function assembleOneSourceMovement(ctx) {
|
|
|
74
74
|
// The CONSTANT's scaling (the torque period), not the published rate of date: the
|
|
75
75
|
// integration's own ŝ·n̂ carries the obliquity's cosine, so the cited mean obliquity's
|
|
76
76
|
// factor must not enter twice.
|
|
77
|
-
|
|
77
|
+
// The age is yearToTMa(yr) — the ONE mapping (J2000 = 2000.0 on the engine year axis,
|
|
78
|
+
// as the factory's own t and the browser's and tools/lib's twins read it). Plan 24
|
|
79
|
+
// measured the former (startmodelYear − yr)/1e6, a 0.5-yr offset, as a twin split of
|
|
80
|
+
// 1e-6″ at −100 kyr / 7e-6″ at −1 Myr in ε — invisible to every gate until the bank,
|
|
81
|
+
// walked by the tools/lib twin, had to be bit-identical to this walk.
|
|
82
|
+
axialPrecessionYearsAtYearFn: (yr) => deepLod.lunisolarTorquePeriodYearsAtAge(yearToTMa(yr)) ?? axial0,
|
|
78
83
|
// THE PRECESSION OF DATE: on top of the secular law above, the solar
|
|
79
84
|
// torque at the eccentricity of date and the oblateness of date from
|
|
80
85
|
// the GIA channel — both exactly 1 at J2000, so the J2000 anchor is
|
|
@@ -84,6 +89,10 @@ export function assembleOneSourceMovement(ctx) {
|
|
|
84
89
|
solarTorqueShareJ2000: EPOCH_PARAMS.precessionSolarShareJ2000,
|
|
85
90
|
// options.giaEllipticityOfDate === false: the orbital forcing alone (the T1 line derivation).
|
|
86
91
|
dynamicalEllipticityRatioAtYearFn: options.giaEllipticityOfDate === false ? undefined : alphaGia.j2RatioAt,
|
|
92
|
+
// PLAN 24 — the spin-axis checkpoint bank (data/spin-axis-checkpoints.json, loaded by the
|
|
93
|
+
// API and the Node scene beside the series; never part of the hash): a deep jump walks at
|
|
94
|
+
// most one spacing from the nearest banked state, bit-identical to the continuous walk.
|
|
95
|
+
spinCheckpoints: options.spinCheckpointsArtifact ?? undefined,
|
|
87
96
|
});
|
|
88
97
|
// PER-TIER ROUTING (the anomalistic-contamination fix): one sampler PER
|
|
89
98
|
// grid tier, built on first entry and KEPT — a query always reads the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
3
|
// in coefficients.js, emitted VERBATIM from the fit artifacts under data/.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "a1e5567e03d1936e";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly BALANCE_PRESETS: Array<Array<number | string>>;
|
|
@@ -310,7 +310,7 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
310
310
|
"ratio": number;
|
|
311
311
|
"label": string;
|
|
312
312
|
};
|
|
313
|
-
"39.
|
|
313
|
+
"39.5561": {
|
|
314
314
|
"period_kyr": number;
|
|
315
315
|
"lr04_post_mpt_amp": number;
|
|
316
316
|
"epica_amp": number;
|
|
@@ -324,7 +324,7 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
324
324
|
"ratio": number;
|
|
325
325
|
"label": string;
|
|
326
326
|
};
|
|
327
|
-
"40.
|
|
327
|
+
"40.9240": {
|
|
328
328
|
"period_kyr": number;
|
|
329
329
|
"lr04_post_mpt_amp": number;
|
|
330
330
|
"epica_amp": number;
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* axialPrecessionYearsAtYearFn?: (year: number) => number,
|
|
16
16
|
* solarTorqueShareJ2000?: number,
|
|
17
17
|
* dynamicalEllipticityRatioAtYearFn?: (year: number) => number,
|
|
18
|
+
* spinCheckpoints?: { spacingYr: number, checkpoints: ReadonlyArray<{t: number, s: number[]}> },
|
|
18
19
|
* }} deps — mode tables from the governed deep artifact (choose the ζ tier
|
|
19
20
|
* per consumer: era = its own 8-term extraction, deep = the 16-term
|
|
20
21
|
* table; NEVER a slice); anchors from the chain artifact's one home; the
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
* factors on the precession constant (see alphaAtGeneral below); absent,
|
|
35
36
|
* the constant is the secular law alone, bit-identical.
|
|
36
37
|
*/
|
|
37
|
-
export function createDeepOrbitalHistory({ zModes, zetaModes, zetaSeries, zSeries, anchorE, anchorPeriEclipticDeg, anchorInclEclipticDeg, anchorAscNodeEclipticDeg, axialPrecessionYearsJ2000, obliquityJ2000Deg, axialPrecessionYearsAtYearFn, solarTorqueShareJ2000, dynamicalEllipticityRatioAtYearFn, }: {
|
|
38
|
+
export function createDeepOrbitalHistory({ zModes, zetaModes, zetaSeries, zSeries, anchorE, anchorPeriEclipticDeg, anchorInclEclipticDeg, anchorAscNodeEclipticDeg, axialPrecessionYearsJ2000, obliquityJ2000Deg, axialPrecessionYearsAtYearFn, solarTorqueShareJ2000, dynamicalEllipticityRatioAtYearFn, spinCheckpoints, }: {
|
|
38
39
|
zModes: ReadonlyArray<{
|
|
39
40
|
omegaRadPerYr: number;
|
|
40
41
|
re: number;
|
|
@@ -66,6 +67,13 @@ export function createDeepOrbitalHistory({ zModes, zetaModes, zetaSeries, zSerie
|
|
|
66
67
|
axialPrecessionYearsAtYearFn?: (year: number) => number;
|
|
67
68
|
solarTorqueShareJ2000?: number;
|
|
68
69
|
dynamicalEllipticityRatioAtYearFn?: (year: number) => number;
|
|
70
|
+
spinCheckpoints?: {
|
|
71
|
+
spacingYr: number;
|
|
72
|
+
checkpoints: ReadonlyArray<{
|
|
73
|
+
t: number;
|
|
74
|
+
s: number[];
|
|
75
|
+
}>;
|
|
76
|
+
};
|
|
69
77
|
}): {
|
|
70
78
|
build: (t0Yr: number, t1Yr: number, stepYr: number) => {
|
|
71
79
|
/** @param {number} tYr */
|
|
@@ -85,6 +93,17 @@ export function createDeepOrbitalHistory({ zModes, zetaModes, zetaSeries, zSerie
|
|
|
85
93
|
generalPrecessionLonRateDegPerYr: number;
|
|
86
94
|
};
|
|
87
95
|
};
|
|
96
|
+
recordStates: (tEndYr: number, spacingYr: number) => Array<{
|
|
97
|
+
t: number;
|
|
98
|
+
s: number[];
|
|
99
|
+
}>;
|
|
100
|
+
walkFrom: (s: number[], t: number, tEnd: number, fixedStepYr?: number) => {
|
|
101
|
+
s: number[];
|
|
102
|
+
t: number;
|
|
103
|
+
};
|
|
104
|
+
stepYearsAt: (t: number) => number;
|
|
105
|
+
stateJ2000: number[];
|
|
106
|
+
bankLoaded: boolean;
|
|
88
107
|
alphaArcsecPerYr: number;
|
|
89
108
|
alphaLunisolarArcsecPerYr: number;
|
|
90
109
|
axialPrecessionYearsLunisolarJ2000: number;
|
package/types/index.d.ts
CHANGED
package/types/model/context.d.ts
CHANGED
|
@@ -16,9 +16,19 @@ export type Laws = {
|
|
|
16
16
|
* FORCING alone. The T1 exporter derives the climate lines' obliquity rate on it, so the lines
|
|
17
17
|
* cannot depend on their own fit (v23.0; measured 3e-5 of the rate, 2–3 yr of period). Default true =
|
|
18
18
|
* the shipped physics.
|
|
19
|
+
* `spinCheckpointsArtifact` (plan 24): the parsed spin-axis checkpoint bank — the walk's exact state
|
|
20
|
+
* every 250 kyr; a deep read then walks at most one spacing, bit-identical to the full walk. Null =
|
|
21
|
+
* the full walk from J2000.
|
|
19
22
|
*/
|
|
20
23
|
export type Options = {
|
|
21
24
|
giaEllipticityOfDate?: boolean;
|
|
25
|
+
spinCheckpointsArtifact?: {
|
|
26
|
+
spacingYr: number;
|
|
27
|
+
checkpoints: ReadonlyArray<{
|
|
28
|
+
t: number;
|
|
29
|
+
s: number[];
|
|
30
|
+
}>;
|
|
31
|
+
} | null;
|
|
22
32
|
};
|
|
23
33
|
/**
|
|
24
34
|
* The forward bindings — what an early slice reads at call time from a later one. Typed by the
|