@essrt/physics 6.0.1 → 7.0.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 +1 -1
- package/src/constants/coefficients.d.ts +5 -1
- package/src/constants/coefficients.js +2 -1
- package/src/deltat/cycles.cjs +17 -16
- package/src/model.js +60 -51
- package/types/constants/coefficients.d.ts +5 -1
- package/types/deltat/cycles.d.cts +16 -14
- package/types/model.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essrt/physics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.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
6
|
"modelVersion": "v14.0",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
3
|
// in coefficients.js, emitted VERBATIM from fitted-coefficients.json.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "78f99d98186e50d9";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
@@ -624,6 +624,10 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
624
624
|
"joint_mode": boolean;
|
|
625
625
|
};
|
|
626
626
|
};
|
|
627
|
+
readonly EARTH_OSCULATING_MEAN_OFFSET: {
|
|
628
|
+
"dPomArcsec": number;
|
|
629
|
+
"dE": number;
|
|
630
|
+
};
|
|
627
631
|
readonly MEEUS_DISTANCE_TERMS: {
|
|
628
632
|
"meanKm": number;
|
|
629
633
|
"terms": Array<number[]>;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/** @type {string} */
|
|
20
|
-
export const COEFFICIENTS_HASH = "
|
|
20
|
+
export const COEFFICIENTS_HASH = "78f99d98186e50d9";
|
|
21
21
|
|
|
22
22
|
/** @type {Readonly<Record<string, unknown>>} */
|
|
23
23
|
export const FITTED_COEFFICIENTS = Object.freeze({
|
|
@@ -32,6 +32,7 @@ export const FITTED_COEFFICIENTS = Object.freeze({
|
|
|
32
32
|
CLIMATE_FORMULA_COEFFS: {"config":{"L1_lines":[{"family":"climatic precession","label":"p+g2","arcsecPerYr":68.20533085217915,"periodKyr":19.001447303419877,"relAmp":0.6717512938116206},{"family":"climatic precession","label":"p+g3","arcsecPerYr":67.65725935066226,"periodKyr":19.155372423274404,"relAmp":0.4607842722501143},{"family":"climatic precession","label":"p+g1","arcsecPerYr":57.74073678329907,"periodKyr":22.445158690369446,"relAmp":0.8620468725902352},{"family":"climatic precession","label":"p+g4","arcsecPerYr":55.87857963778711,"periodKyr":23.19314500119466,"relAmp":0.19922380139666943},{"family":"climatic precession","label":"p+g0","arcsecPerYr":54.54567191581978,"periodKyr":23.75990531384624,"relAmp":1},{"family":"obliquity","label":"p+s12","arcsecPerYr":47.29590619355313,"periodKyr":27.40194880073271,"relAmp":0.10427591691403815},{"family":"obliquity","label":"p+s1","arcsecPerYr":44.70306999762271,"periodKyr":28.991297467241527,"relAmp":0.5416346168208136},{"family":"obliquity","label":"p+s14","arcsecPerYr":44.45151946482077,"periodKyr":29.15535881795139,"relAmp":0.1423622336951359},{"family":"obliquity","label":"p+s9","arcsecPerYr":43.52756580857083,"periodKyr":29.7742356119719,"relAmp":0.10094037508523732},{"family":"obliquity","label":"p+s3","arcsecPerYr":43.24580236542744,"periodKyr":29.968226489331563,"relAmp":0.47895531494942417},{"family":"obliquity","label":"p+s2","arcsecPerYr":32.53285971289672,"periodKyr":39.836645515864,"relAmp":0.48491909690353013},{"family":"obliquity","label":"p+s4","arcsecPerYr":31.98458119107587,"periodKyr":40.51952383736704,"relAmp":0.32380140712519323},{"family":"obliquity","label":"p+s0","arcsecPerYr":31.43772998726808,"periodKyr":41.22435050256062,"relAmp":1},{"family":"obliquity","label":"p+s7","arcsecPerYr":30.88973745178278,"periodKyr":41.95568194851078,"relAmp":0.1787778028028384},{"family":"obliquity","label":"p+s10","arcsecPerYr":23.940447211803555,"periodKyr":54.13432708813487,"relAmp":0.16050220301405962},{"family":"eccentricity","label":"g0−g2","arcsecPerYr":13.659658936359374,"periodKyr":94.87791796545507,"relAmp":0.7792514713186953},{"family":"eccentricity","label":"g0−g6","arcsecPerYr":13.38165248714171,"periodKyr":96.84902527885197,"relAmp":0.10994906379552646},{"family":"eccentricity","label":"g0−g3","arcsecPerYr":13.111587434842484,"periodKyr":98.8438666515722,"relAmp":0.5345234544678213},{"family":"eccentricity","label":"g0−g5","arcsecPerYr":12.831040820044286,"periodKyr":101.00505626756528,"relAmp":0.15474417022576337},{"family":"eccentricity","label":"g0−g7","arcsecPerYr":12.567419541379522,"periodKyr":103.12379528134528,"relAmp":0.10461813237212561},{"family":"eccentricity","label":"g2−g4","arcsecPerYr":12.326751214392043,"periodKyr":105.13719125659492,"relAmp":0.1552454403600582},{"family":"eccentricity","label":"g3−g4","arcsecPerYr":11.778679712875153,"periodKyr":110.02930987106778,"relAmp":0.1064897945347589},{"family":"eccentricity","label":"g1−g2","arcsecPerYr":10.46459406888008,"periodKyr":123.84617993487996,"relAmp":0.6717512938116206},{"family":"eccentricity","label":"g1−g3","arcsecPerYr":9.91652256736319,"periodKyr":130.6909747037068,"relAmp":0.46078427225011426},{"family":"eccentricity","label":"g1−g5","arcsecPerYr":9.635975952564992,"periodKyr":134.49597699079135,"relAmp":0.1333967279946903},{"family":"eccentricity fundamental","label":"g₂−g₅","periodKyr":405.6255674779031,"arcsecPerYr":3.195064867479294,"note":"the engine’s 20-Myr mean beat; the long-eccentricity metronome"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/2","periodKyr":202.81278373895154,"note":"carbon-thermostat 2nd harmonic (doc 92 §3), not orbital forcing"},{"family":"climate-internal harmonic","label":"(g₂−g₅)/3","periodKyr":135.20852249263436,"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.006859079927041605,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":0.08294736630173595,"b":-0.13452690569653208},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":0.056011235599731424,"b":0.03632505583875112},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":0.13578078298526153,"b":0.1020520119238233},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":0.004012144643884774,"b":-0.12042207609609412},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":-0.17434339162278495,"b":-0.0898412590835167},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":0.033704401199090905,"b":0.021884993780489803},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.41657365558064385,"b":-0.1895638495826497},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":0.4054650904732013,"b":-0.1426429863021992},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.16202192173332114,"b":0.342261836819516},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":-0.008447772534510789,"b":-0.3959078605080295},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":-0.023522869769341176,"b":0.1315814879424402},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.647605261240211,"b":0.04622892639591998},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":-0.5685408883095202,"b":-0.4877001890722523},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":0.484735937733177,"b":-0.09510323517350361},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":0.06985780268943464,"b":-0.04986380494848971},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":-0.02864004938419229,"b":-2.2078434079442153},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":0.6146976466234293,"b":1.151844932946008},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":1.1997880446460427,"b":0.3092899931630704},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":-0.21136748754724802,"b":-0.1286859519009371},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":-0.6785187962895458,"b":0.8331502346241357},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":0.03372165993311456,"b":1.0035996073522022},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":-1.0160216069440975,"b":-0.20297198804660532},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.39912777290496865,"b":-0.14115064424819163},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.9842532594259008,"b":0.3715490010962622},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":-0.25194431952193685,"b":-0.06656891455416225},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":-0.07976853087661254,"b":-0.04784706745757568},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.02510242688948311,"b":0.17981430072435606},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.678793634885976,"b":0.1877595321355311}],"L2":[],"L3":[],"denormalization":{"y_mean":1.5012965895430689e-15,"y_std":0.43131092949760913,"trend_slope":-0.00008678094360729054,"trend_intercept":4.192006855420027},"r2":{"l1_only":0.7788098702351363,"l1_l2":0.7788098702351363,"l1_l2_l3":0.7788098702351363,"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.00023690680995033366,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":0.03378808833397713,"b":-0.0988376597330071},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":-0.00576745138578616,"b":0.0753147339947498},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":0.11736842628559974,"b":-0.06352354229610063},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.022556721655332068,"b":-0.08109814172935359},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":-0.12509715105044644,"b":0.011241834226839498},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":-0.006834921289317619,"b":-0.026895095453755458},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.14227488772197194,"b":0.08251082418192202},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":-0.14434022091100163,"b":-0.020327667411991324},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.12391244089948672,"b":-0.21249047016159694},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":0.07308881121306533,"b":-0.2555132501396441},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":-0.33370727255096816,"b":0.15875969367235293},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":0.21017771674517838,"b":0.3361115474213299},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":-0.14420355926246242,"b":0.6132109112092595},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":0.09640526282713102,"b":-0.18289497317264217},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":0.10973523030135313,"b":0.12599402666152673},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":0.14822897260917117,"b":0.031554361131706024},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":-0.08637992905510072,"b":1.305315663798301},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":-0.9628901607417413,"b":1.1469451065132008},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":0.05934683074197873,"b":0.1820663127808267},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":1.1854393145404019,"b":0.6403880001922156},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":0.2494827082158767,"b":0.7677858440843},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.11930992374739058,"b":-0.21909424390831103},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.1120041881040301,"b":-0.003513510695376143},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.048797552374342495,"b":-0.05713043141501102},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":0.4272163067315498,"b":-0.28712119761954236},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.13913576897115665,"b":0.0892125754479372},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.1526027885466302,"b":0.08034754159792529},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.2438187058685204,"b":0.5680920023927314}],"L2":[],"L3":[],"denormalization":{"y_mean":2.117321276827753e-15,"y_std":0.2533430989053228,"trend_slope":-0.00028446235786389366,"trend_intercept":4.264486402612575},"r2":{"l1_only":0.5910872803070126,"l1_l2":0.5910872803070126,"l1_l2_l3":0.5910872803070126,"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.02142666615353233,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":-0.035086311724808916,"b":-0.003159389963332093},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":0.0314557598876507,"b":-0.02043951650978959},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":-0.027093645112132247,"b":-0.053035770308991925},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.03495209951926992,"b":-0.011157666022283963},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":0.04941710097614671,"b":-0.003661732556149447},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":0.0027139275158840903,"b":0.00614560164570091},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.0062953456907572924,"b":-0.023699428736896788},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":-0.04025914622285942,"b":0.020065731310493273},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.07798524552884101,"b":0.04396345618377133},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":0.023922220394199306,"b":-0.0255176601202924},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":0.06432756508558737,"b":-0.14536755548975308},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.1757312082859675,"b":-0.10944075978955181},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":0.40842017374072204,"b":-0.14411170670953555},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":-0.06373334664194225,"b":-0.10677860345012538},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":0.0028879013237850804,"b":-0.08980647945251169},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":0.19965203842855228,"b":-0.10752720824798011},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":-0.9273478476155216,"b":-0.4199974948139529},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":0.452134071272423,"b":1.932762606359905},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":0.7018483596525162,"b":-2.26278874290972},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":-1.8189450933928641,"b":0.7643274020132732},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":0.5412750529564219,"b":0.6401842520713479},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.16079695191356433,"b":-0.15587466980098372},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.03235198142154033,"b":0.03560103840921593},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.04071080922783202,"b":-0.3292284789832466},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":-0.16688994961519266,"b":1.5265645010496949},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.2739730978110547,"b":0.12391412714939282},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.029480450561976866,"b":-0.069292658033833},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-1.1452014719851138,"b":-0.6424295896906929}],"L2":[],"L3":[],"denormalization":{"y_mean":2.2229875746786803e-16,"y_std":0.1419188719967453,"trend_slope":-0.0001616384823512257,"trend_intercept":3.7150997304817532},"r2":{"l1_only":0.37358515605743947,"l1_l2":0.37358515605743947,"l1_l2_l3":0.37358515605743947,"delta_l2":0,"delta_l3":0}},"lr04-full":{"label":"LR04 full","regime":"lr04-full","window_kyr":[0,5320],"n_samples":5321,"intercept":-0.0024227971062001355,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":0.030922821345114704,"b":-0.05900083179428246},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":0.008194722596881407,"b":0.008689210084413035},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":0.08126862330360542,"b":-0.014342384661178376},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.0022553364188909047,"b":-0.06780467558380883},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":-0.07421660611269472,"b":-0.03089653590897469},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":0.02169660079563364,"b":-0.006369759959310148},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.013780804168207761,"b":-0.052992576458663926},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":-0.0223280415237245,"b":-0.031719608311785094},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.0510856857614173,"b":0.008501865526945148},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":0.012327863266184569,"b":-0.044355604969224804},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":-0.04461057925689557,"b":-0.021568948162195484},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.021837674040975467,"b":-0.0503206091068613},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":-0.14629706779448895,"b":0.26998129863155595},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":0.009304572882141003,"b":-0.020598742600942712},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":0.05357567045859413,"b":0.00909264487373028},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":-0.07892187088604284,"b":-0.26498043098803237},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":-0.07377464487783483,"b":-0.030589940847954092},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":-0.17534125509504953,"b":0.0012453570262063313},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":-0.09540345364796352,"b":-0.030233935912200666},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":-0.08596290042214068,"b":0.07952101048984861},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":-0.10493317043608325,"b":-0.004341996127342956},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.056273576667406705,"b":0.003874035193535519},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.08045977780438618,"b":0.12113043551392691},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.07505772740767469,"b":-0.041545258195457485},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":0.050507501356114974,"b":0.1282308619765639},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.0922772360459568,"b":0.04907921183158255},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.01651958887024215,"b":0.06010832610779231},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.1376739270828783,"b":0.02998534216354344}],"L2":[],"L3":[{"label":"iNHG","t_kyr":2700,"beta":-0.18339070143699257},{"label":"MPT","t_kyr":1000,"beta":0.07674259224537729}],"denormalization":{"y_mean":8.786640107689267e-16,"y_std":0.26728652336026737,"trend_slope":-0.0002890388734746666,"trend_intercept":4.253595893576046},"r2":{"l1_only":0.19279705612357645,"l1_l2":0.19279705612357645,"l1_l2_l3":0.20028113870158382,"delta_l2":0,"delta_l3":0.007484082578007367}},"cenogrid-d18o":{"label":"CENOGRID δ¹⁸O","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":-0.000017900752716761382,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":0.004123882092104934,"b":0.000734254288482632},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":-0.0012180292189992482,"b":-0.001092529000137699},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":0.0013327567547403059,"b":-0.00022331918558489428},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.0004481936054901627,"b":-0.00582889854386117},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":-0.00144295995030321,"b":-0.002056262918378767},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":-0.002559892415500537,"b":0.005740462857533745},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":0.00038380588812801826,"b":-0.0003620306413292826},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":-0.0017338068710967278,"b":-0.0017728691405101142},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.0062469944014200765,"b":-0.00042471498652479753},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":0.0014727985543584166,"b":-0.00038878316356941514},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":-0.007894230019452345,"b":0.004230251477267159},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.009962392177776818,"b":0.0012389554118730634},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":-0.007372097100661066,"b":0.012600425203911022},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":-0.0017949985860171219,"b":0.0006960093267632671},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":0.005588960994395471,"b":0.00782383944868344},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":0.008872080470540255,"b":-0.030340622515109543},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":0.002052201554896483,"b":-0.010244331172524568},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":-0.013657047749711215,"b":0.026198257578566166},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":0.0016626981417190313,"b":0.0032398179435871744},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":-0.0045313272185112,"b":0.00788701494590805},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":-0.009048082987332805,"b":-0.003367345517778564},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.012540572177279549,"b":0.007434927163620616},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.008947052423443295,"b":0.02456029773531922},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.007753135255805782,"b":-0.012571647828653745},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":-0.005047406762716657,"b":-0.010087549989496425},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.04455162972720975,"b":-0.040121802439250245},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.0031172459889242665,"b":0.005409974715238027},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.004093773835504603,"b":0.005387751074071727}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.940015820084196},{"label":"EOT","t_kyr":34000,"beta":-1.691547797580078},{"label":"Mi-1","t_kyr":23000,"beta":1.3790909076086453},{"label":"MMCT","t_kyr":14000,"beta":-0.5726330472497277},{"label":"iNHG","t_kyr":2700,"beta":-0.9437582187200775},{"label":"MPT","t_kyr":1000,"beta":0.9558616582445898}],"denormalization":{"y_mean":3.1388799311243884e-16,"y_std":0.5138368170014185,"trend_slope":-0.000060475169948230774,"trend_intercept":3.5886100819307556},"r2":{"l1_only":0.003876009157199989,"l1_l2":0.003876009157199989,"l1_l2_l3":0.6165047079611101,"delta_l2":0,"delta_l3":0.6126286988039101}},"cenogrid-d13c":{"label":"CENOGRID δ¹³C","regime":"cenogrid","window_kyr":[0,67000],"n_samples":13401,"intercept":0.000029070733198583076,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":0.0009650008899918412,"b":-0.00011268867420227875},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":-0.0034860169466628625,"b":-0.0015257685891015508},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":-0.0036474318053131677,"b":-0.0005628353654820611},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":0.0018686645112268026,"b":0.00026465624653889026},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":0.0033780561900200283,"b":-0.005905111814834856},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":-0.0009007331883439613,"b":0.0010915716777256858},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.0009529644924031987,"b":0.000265398556202218},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":0.002553289510167673,"b":-0.0020274484166293346},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.0013533919728746704,"b":-0.00530964770919875},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":-0.0017832716355895269,"b":-0.0028075069411322377},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":0.003860322422430933,"b":-0.0015233332191675513},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.0004303499917000242,"b":-0.005996544417607873},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":0.013420399200665024,"b":-0.005668553430990457},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":-0.0026217117855412836,"b":0.004437408427102373},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":-0.003490044995835626,"b":-0.0012912320123738786},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":0.009282981437960955,"b":-0.0038498202845307257},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":0.003149132327603584,"b":0.0010195878782673267},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":-0.0065058698415631265,"b":0.022069772554131298},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":0.005254165484357785,"b":0.010720274477805634},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":0.015464906090432301,"b":-0.007889297901226305},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":-0.006702194397682823,"b":-0.004727507226308523},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.015134844636968448,"b":0.004362114253854979},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":0.00043459639370226717,"b":0.007734174891256375},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.003437119213236388,"b":-0.015481014623736028},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":-0.0026733397211863054,"b":-0.01966007857123709},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.04091194510612722,"b":-0.08954200309015047},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.00690019732569918,"b":-0.0012443837336756072},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.0010661328709702734,"b":-0.007316586161130703}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":1.2940359538531367},{"label":"EOT","t_kyr":34000,"beta":-0.6519376180638039},{"label":"Mi-1","t_kyr":23000,"beta":-0.7981261235096027},{"label":"MMCT","t_kyr":14000,"beta":0.8752124431571835},{"label":"iNHG","t_kyr":2700,"beta":1.3322932097946545},{"label":"MPT","t_kyr":1000,"beta":-1.3351323776348474}],"denormalization":{"y_mean":-1.6966918546618317e-16,"y_std":0.5116419176812778,"trend_slope":0.000014091551862757799,"trend_intercept":0.17563680335949733},"r2":{"l1_only":0.006168654587274891,"l1_l2":0.006168654587274891,"l1_l2_l3":0.3483764440324214,"delta_l2":0,"delta_l3":0.3422077894451465}},"epica-co2":{"label":"EPICA CO₂","regime":"epica-co2","window_kyr":[0,800],"n_samples":801,"intercept":0.046859067858285856,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":-0.05502581633856041,"b":-0.08817291779123937},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":0.09279775558199166,"b":-0.02977667406068102},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":-0.010012656094580574,"b":-0.07704160997146761},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.09419381809492886,"b":0.12851567172260897},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":0.10859950358267217,"b":0.047579864077929246},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":-0.04990823093382407,"b":-0.07964809262078046},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.276994946163306,"b":0.00926415122903073},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":0.3547880848249641,"b":-0.052351365748380216},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":0.06428285052169697,"b":0.15614006470113517},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":-0.0006993222522351378,"b":0.036081791489203485},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":0.24141010444452482,"b":-0.30462281471181235},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":0.3836984182907175,"b":0.5239687215214576},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":0.010089991558071686,"b":-0.13652618209161096},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":0.005529988871878444,"b":0.21299239031525458},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":-0.07372084819661012,"b":0.14940549499811964},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":-0.6441116836693606,"b":1.102988108346497},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":-0.2088238849112716,"b":-0.01826389331084477},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":-0.26516527826439296,"b":-0.418771220927597},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":-0.2299701738219948,"b":-0.391265151247817},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":0.0013964992495686043,"b":-0.3098786533220057},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":0.26500617268684085,"b":-0.3451212480279362},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":0.5656854326815351,"b":-0.640241822606294},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":0.32830684416921263,"b":-0.8453396735317871},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":0.19276942810010606,"b":-0.371896364054894},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":0.32925574130129326,"b":0.1493384050539293},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.2700629118965029,"b":0.10153572629299597},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":0.22188281776008423,"b":-0.14650883954604466},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":0.40024011750532634,"b":0.2739964641050084}],"L2":[],"L3":[],"denormalization":{"y_mean":2.980553797944989e-14,"y_std":25.51737494167102,"trend_slope":-0.006455378442643299,"trend_intercept":227.89326737247322},"r2":{"l1_only":0.7301216245357616,"l1_l2":0.7301216245357616,"l1_l2_l3":0.7301216245357616,"delta_l2":0,"delta_l3":0},"carbon_amplification_ratios":{"19.0014":{"period_kyr":19.001447303419877,"lr04_post_mpt_amp":0.15804351911001602,"epica_amp":0.10393413248565476,"ratio":0.6576298292453545,"label":"climatic precession p+g2"},"19.1554":{"period_kyr":19.155372423274404,"lr04_post_mpt_amp":0.06675903081304436,"epica_amp":0.09745806154018814,"ratio":1.4598483583908672,"label":"climatic precession p+g3"},"22.4452":{"period_kyr":22.445158690369446,"lr04_post_mpt_amp":0.16985592178605624,"epica_amp":0.07768952921123978,"ratio":0.45738487298131664,"label":"climatic precession p+g1"},"23.1931":{"period_kyr":23.19314500119466,"lr04_post_mpt_amp":0.1204888945751306,"epica_amp":0.15933848639175013,"ratio":1.3224329674001196,"label":"climatic precession p+g4"},"23.7599":{"period_kyr":23.75990531384624,"lr04_post_mpt_amp":0.19613023743484156,"epica_amp":0.11856515358264859,"ratio":0.6045225618106863,"label":"climatic precession p+g0"},"27.4019":{"period_kyr":27.40194880073271,"lr04_post_mpt_amp":0.04018631126343096,"epica_amp":0.09399281979530318,"ratio":2.3389262870920793,"label":"obliquity p+s12"},"28.9913":{"period_kyr":28.991297467241527,"lr04_post_mpt_amp":0.4576768112898165,"epica_amp":0.277149823557597,"ratio":0.6055579324120406,"label":"obliquity p+s1"},"29.1554":{"period_kyr":29.15535881795139,"lr04_post_mpt_amp":0.4298243375306367,"epica_amp":0.35862968453473926,"ratio":0.8343633741055371,"label":"obliquity p+s14"},"29.7742":{"period_kyr":29.7742356119719,"lr04_post_mpt_amp":0.3786743562287093,"epica_amp":0.16885498120005082,"ratio":0.4459107896338955,"label":"obliquity p+s9"},"29.9682":{"period_kyr":29.968226489331563,"lr04_post_mpt_amp":0.39599797836963785,"epica_amp":0.03608856783917628,"ratio":0.0911332123152659,"label":"obliquity p+s3"},"39.8366":{"period_kyr":39.836645515864,"lr04_post_mpt_amp":0.13366754793640798,"epica_amp":0.38868225811176865,"ratio":2.9078281461157895,"label":"obliquity p+s2"},"40.5195":{"period_kyr":40.51952383736704,"lr04_post_mpt_amp":0.6492531771364091,"epica_amp":0.6494364459526653,"ratio":1.0002822763487498,"label":"obliquity p+s4"},"41.2244":{"period_kyr":41.22435050256062,"lr04_post_mpt_amp":0.7490595544420277,"epica_amp":0.13689852565368874,"ratio":0.18276053598390327,"label":"obliquity p+s0"},"41.9557":{"period_kyr":41.95568194851078,"lr04_post_mpt_amp":0.49397728153279397,"epica_amp":0.21306416664734792,"ratio":0.4313238171322725,"label":"obliquity p+s7"},"54.1343":{"period_kyr":54.13432708813487,"lr04_post_mpt_amp":0.08582838481840964,"epica_amp":0.16660361759115794,"ratio":1.9411249313807724,"label":"obliquity p+s10"},"94.8779":{"period_kyr":94.87791796545507,"lr04_post_mpt_amp":2.2080291588725576,"epica_amp":1.2772872144483254,"ratio":0.5784738889501447,"label":"eccentricity g0−g2"},"96.8490":{"period_kyr":96.84902527885197,"lr04_post_mpt_amp":1.3056032882609387,"epica_amp":0.2096210502509372,"ratio":0.16055493436306525,"label":"eccentricity g0−g6"},"98.8439":{"period_kyr":98.8438666515722,"lr04_post_mpt_amp":1.2390123695695643,"epica_amp":0.49566315202385497,"ratio":0.4000469762832549,"label":"eccentricity g0−g3"},"101.0051":{"period_kyr":101.00505626756528,"lr04_post_mpt_amp":0.2474596714793874,"epica_amp":0.4538443559511296,"ratio":1.8340134100959289,"label":"eccentricity g0−g5"},"103.1238":{"period_kyr":103.12379528134528,"lr04_post_mpt_amp":1.0744892137068973,"epica_amp":0.30988180003803684,"ratio":0.2883991724486193,"label":"eccentricity g0−g7"},"105.1372":{"period_kyr":105.13719125659492,"lr04_post_mpt_amp":1.0041659834042074,"epica_amp":0.43512865614952084,"ratio":0.43332343789858124,"label":"eccentricity g2−g4"},"110.0293":{"period_kyr":110.02930987106778,"lr04_post_mpt_amp":1.0360972607380339,"epica_amp":0.8543474703903119,"ratio":0.8245823078247907,"label":"eccentricity g3−g4"},"123.8462":{"period_kyr":123.84617993487996,"lr04_post_mpt_amp":0.42335148928019584,"epica_amp":0.9068542041448426,"ratio":2.1420834155720656,"label":"eccentricity g1−g2"},"130.6910":{"period_kyr":130.6909747037068,"lr04_post_mpt_amp":1.0520471181967754,"epica_amp":0.41888776301927494,"ratio":0.3981644507873895,"label":"eccentricity g1−g3"},"134.4960":{"period_kyr":134.49597699079135,"lr04_post_mpt_amp":0.2605904075830328,"epica_amp":0.3615401808982172,"ratio":1.387388677317366,"label":"eccentricity g1−g5"},"405.6256":{"period_kyr":405.6255674779031,"lr04_post_mpt_amp":0.09301806481809265,"epica_amp":0.2885194622479816,"ratio":3.1017573071662374,"label":"eccentricity fundamental g₂−g₅"},"202.8128":{"period_kyr":202.81278373895154,"lr04_post_mpt_amp":0.1815580198744495,"epica_amp":0.2658887453095437,"ratio":1.4644836151738732,"label":"climate-internal harmonic (g₂−g₅)/2"},"135.2085":{"period_kyr":135.20852249263436,"lr04_post_mpt_amp":0.7042829265781396,"epica_amp":0.48504248680164563,"ratio":0.6887040257504107,"label":"climate-internal harmonic (g₂−g₅)/3"}}},"cenco2pip":{"label":"CenCO2PIP CO₂ (deep-time)","regime":"cenco2pip","window_kyr":[0,66000],"n_samples":661,"intercept":0.012702098194848405,"L1":[{"period_kyr":19.001447303419877,"label":"climatic precession p+g2","a":-0.0021243741283090145,"b":0.00013548724514120258},{"period_kyr":19.155372423274404,"label":"climatic precession p+g3","a":-0.0026061706686473125,"b":-0.001156171110766574},{"period_kyr":22.445158690369446,"label":"climatic precession p+g1","a":-0.0005703262426389336,"b":0.000002889439913333902},{"period_kyr":23.19314500119466,"label":"climatic precession p+g4","a":-0.0009965605710626282,"b":0.0003819977695875363},{"period_kyr":23.75990531384624,"label":"climatic precession p+g0","a":0.0004393410903057657,"b":-0.00017231838110697137},{"period_kyr":27.40194880073271,"label":"obliquity p+s12","a":-0.00006353421547988618,"b":-0.00000976582315367295},{"period_kyr":28.991297467241527,"label":"obliquity p+s1","a":-0.0006469302133432693,"b":-0.0001368662414666362},{"period_kyr":29.15535881795139,"label":"obliquity p+s14","a":-0.0005047367149925721,"b":-0.0004533792427601508},{"period_kyr":29.7742356119719,"label":"obliquity p+s9","a":-0.0006676733303029193,"b":0.00006728169072694416},{"period_kyr":29.968226489331563,"label":"obliquity p+s3","a":-0.0009822980442648096,"b":0.0007769626044404599},{"period_kyr":39.836645515864,"label":"obliquity p+s2","a":-0.0002183827312121102,"b":-0.0002478194021528161},{"period_kyr":40.51952383736704,"label":"obliquity p+s4","a":-0.0002128118748836521,"b":-0.0003722626464152906},{"period_kyr":41.22435050256062,"label":"obliquity p+s0","a":-0.0001233238882620653,"b":-0.0002743396114553726},{"period_kyr":41.95568194851078,"label":"obliquity p+s7","a":0.00016008526708297804,"b":0.000008693300205839943},{"period_kyr":54.13432708813487,"label":"obliquity p+s10","a":-0.004354105153966059,"b":-0.0011342566213551342},{"period_kyr":94.87791796545507,"label":"eccentricity g0−g2","a":-0.03129958751742403,"b":-0.031773968284910165},{"period_kyr":96.84902527885197,"label":"eccentricity g0−g6","a":0.03167955956939116,"b":0.03578122270908842},{"period_kyr":98.8438666515722,"label":"eccentricity g0−g3","a":0.20008115386982128,"b":-0.164334623161599},{"period_kyr":101.00505626756528,"label":"eccentricity g0−g5","a":0.08063362437056623,"b":0.09522544093607753},{"period_kyr":103.12379528134528,"label":"eccentricity g0−g7","a":-0.024933504720187488,"b":-0.01404677401640559},{"period_kyr":105.13719125659492,"label":"eccentricity g2−g4","a":0.012145047610255168,"b":0.038633767870072146},{"period_kyr":110.02930987106778,"label":"eccentricity g3−g4","a":-0.0021452365150174697,"b":-0.015839945972565668},{"period_kyr":123.84617993487996,"label":"eccentricity g1−g2","a":-0.0004373999026252937,"b":0.0006849898533843757},{"period_kyr":130.6909747037068,"label":"eccentricity g1−g3","a":-0.00009493527100004964,"b":0.0017562823760871463},{"period_kyr":134.49597699079135,"label":"eccentricity g1−g5","a":0.00044391859070569547,"b":0.0003411812760362291},{"period_kyr":405.6255674779031,"label":"eccentricity fundamental g₂−g₅","a":0.00009474735876577756,"b":-0.00010991117383797426},{"period_kyr":202.81278373895154,"label":"climate-internal harmonic (g₂−g₅)/2","a":-0.0005357266658390022,"b":0.00013354527335245406},{"period_kyr":135.20852249263436,"label":"climate-internal harmonic (g₂−g₅)/3","a":-0.0013820909078533865,"b":0.0017815312141130305}],"L2":[],"L3":[{"label":"PETM","t_kyr":56000,"beta":-2.2503654728326334},{"label":"EOT","t_kyr":34000,"beta":1.5689300314238657},{"label":"Mi-1","t_kyr":23000,"beta":-0.2125247416130942},{"label":"MMCT","t_kyr":14000,"beta":-0.3699791032908535},{"label":"iNHG","t_kyr":2700,"beta":-0.24290653304467713},{"label":"MPT","t_kyr":1000,"beta":0.2506115924806964}],"denormalization":{"y_mean":-2.091425032821257e-13,"y_std":209.18154000668048,"trend_slope":0.013251639299066168,"trend_intercept":214.15971983891893},"r2":{"l1_only":0.04732358217840105,"l1_l2":0.04732358217840105,"l1_l2_l3":0.6918703763922935,"delta_l2":0,"delta_l3":0.6445467942138925}}},"meta":{"script":"export_climate_formula_browser.py","consumer":"src/script.js — Climate Formula Explorer modal","stitched_lr04_r2":0.916818639650688,"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"}},
|
|
33
33
|
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":419.9875882265957},{"cos":0,"sin":179.324}],"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":28.75307216677656,"raw_at_j2000_s":30.176987637132378,"lod_raw_at_j2000_s_per_day":0.0007441702761267647,"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},
|
|
34
34
|
DT_STACK: {"bond":{"lattice_n":1830,"period_yr":1465.8666666666666,"cos_coeff_s":167.09990227109097,"sin_coeff_s":325.2328048123241,"raw_at_j2000_s":134.77948951840347,"amplitude_s":365.64840306652434,"phase_deg":62.806558031015285,"source":"Stage D anchored fit (USNO LOD constraint active)","joint_mode":true},"hallstatt":{"lattice_n":1104,"period_yr":2429.8333333333335,"cos_coeff_s":-66.48522407844091,"sin_coeff_s":44.49398812468381,"raw_at_j2000_s":-69.35751171098663,"amplitude_s":80.00000000000001,"phase_deg":146.20832618167242,"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":-44.72347669948116,"sin_coeff_s":22.356444974793412,"raw_at_j2000_s":16.126007614350147,"amplitude_s":50,"phase_deg":153.44037420439267,"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":43.8800484872982,"sin_coeff_s":-23.969592085648,"raw_at_j2000_s":35.28587841410284,"amplitude_s":50,"phase_deg":-28.6456897704817,"target_amp_source":"unconstrained: quad-fit free amp 47.06 s (below 50 s prior — no cap applied)","joint_mode":true}},
|
|
35
|
+
EARTH_OSCULATING_MEAN_OFFSET: {"dPomArcsec":70.07583630940354,"dE":0.000005809952284235912},
|
|
35
36
|
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]]},
|
|
36
37
|
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]],
|
|
37
38
|
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]],
|
package/src/deltat/cycles.cjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ΔT cycle-correction stack — THE shared implementation (Phase 8.4, slice 2).
|
|
3
3
|
*
|
|
4
|
-
* The four anchored
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* The four anchored millennial ΔT corrections (Bond 1,466 yr, Hallstatt
|
|
5
|
+
* 2,430 yr, Jose5 897 yr, Jose4 716 yr — fitted periods STATED IN YEARS,
|
|
6
|
+
* plan 06 T5: the former 8H/n labels carry no information; Jose5/Jose4 are
|
|
7
|
+
* a COUPLED PAIR, fitted jointly), their implied δLOD twins (the d/dy of
|
|
8
|
+
* each correction: physical consistency between the corrected ΔT curve and
|
|
9
|
+
* the LOD curve), and the Core-mantle swing episode (Resonator driver:
|
|
10
|
+
* 2-kick damped eigenmode T₀ = 3,916 yr, Q = 1.8, plus one switch-on-compensated drive
|
|
10
11
|
* tone at the bond−hallstatt difference frequency — the §10g-adjacent
|
|
11
12
|
* phase-locked construction; docs/104 §6/§8).
|
|
12
13
|
*
|
|
@@ -32,20 +33,21 @@
|
|
|
32
33
|
'use strict';
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
|
-
* @typedef {{
|
|
36
|
+
* @typedef {{ periodYears: number, cosCoeffSeconds: number, sinCoeffSeconds: number }} CycleSpec
|
|
36
37
|
* @typedef {{ tYear: number, cosSeconds: number, sinSeconds: number }} ResonatorKick
|
|
37
|
-
* @typedef {{
|
|
38
|
+
* @typedef {{ periodYears: number, phiLockedRad: number, ampSeconds: number }} ResonatorTone
|
|
38
39
|
*/
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
42
|
* @typedef {Object} DeltaTCyclesDeps
|
|
42
|
-
* @property {number} eightHYears - 8 × the holistic year (J2000)
|
|
43
43
|
* @property {number} taperFullHalfwidthYears - full strength within |y−2000| ≤ this
|
|
44
44
|
* @property {number} taperTotalHalfwidthYears - zero beyond
|
|
45
45
|
* @property {number} tropicalYearSecondsJ2000 - δLOD denominator (variation ≤1e-8 in-window)
|
|
46
|
-
* @property {Record<string, CycleSpec>} cycles - keyed bond/hallstatt/jose5/jose4
|
|
47
|
-
*
|
|
48
|
-
*
|
|
46
|
+
* @property {Record<string, CycleSpec>} cycles - keyed bond/hallstatt/jose5/jose4; each
|
|
47
|
+
* period in YEARS (the fit file's `period_yr` — the former 8H/n divisor is
|
|
48
|
+
* gone from the runtime, plan 06 T5 / layer B item 3)
|
|
49
|
+
* @property {{ t0Years: number, q: number, kicks: ResonatorKick[],
|
|
50
|
+
* tones: ResonatorTone[] }} resonator - T₀ and the tones' periods in years
|
|
49
51
|
*/
|
|
50
52
|
|
|
51
53
|
/**
|
|
@@ -86,8 +88,7 @@ function createDeltaTCycles(deps) {
|
|
|
86
88
|
/** @type {Record<string, {omega: number, cosC: number, sinC: number, rawAtJ2000: number}>} */
|
|
87
89
|
const cyc = {};
|
|
88
90
|
for (const [key, c] of Object.entries(deps.cycles)) {
|
|
89
|
-
const
|
|
90
|
-
const omega = 2 * Math.PI / periodYears;
|
|
91
|
+
const omega = 2 * Math.PI / c.periodYears;
|
|
91
92
|
cyc[key] = {
|
|
92
93
|
omega, cosC: c.cosCoeffSeconds, sinC: c.sinCoeffSeconds,
|
|
93
94
|
rawAtJ2000: c.cosCoeffSeconds * Math.cos(omega * 2000) + c.sinCoeffSeconds * Math.sin(omega * 2000),
|
|
@@ -120,13 +121,13 @@ function createDeltaTCycles(deps) {
|
|
|
120
121
|
|
|
121
122
|
// ── Core-mantle swing (Resonator driver) ─────────────────────────────────
|
|
122
123
|
const R = deps.resonator;
|
|
123
|
-
const RES_T0_YR =
|
|
124
|
+
const RES_T0_YR = R.t0Years;
|
|
124
125
|
const RES_W0 = 2 * Math.PI / RES_T0_YR;
|
|
125
126
|
const RES_LAMBDA = RES_W0 / (2 * R.q);
|
|
126
127
|
const RES_WD = RES_W0 * Math.sqrt(1 - 1 / (4 * R.q * R.q));
|
|
127
128
|
const RES_KICKS = R.kicks.map((k) => ({ t: k.tYear, cos_s: k.cosSeconds, sin_s: k.sinSeconds }));
|
|
128
129
|
const RES_TONES = R.tones.map((t) => ({
|
|
129
|
-
omega: 2 * Math.PI
|
|
130
|
+
omega: 2 * Math.PI / t.periodYears, phi_locked: t.phiLockedRad, amp_s: t.ampSeconds,
|
|
130
131
|
}));
|
|
131
132
|
|
|
132
133
|
// IMPULSE-CONSISTENT episode: kicks are sin-only (displacement-continuous —
|
package/src/model.js
CHANGED
|
@@ -30,7 +30,6 @@ import { createDeltaTCycles } from './deltat/cycles.cjs';
|
|
|
30
30
|
import { createDeepTimeLod } from './deltat/deep-time.cjs';
|
|
31
31
|
import { createMoonRecessionHistory, createSolarChannelBudget } from './deltat/recession-history.cjs';
|
|
32
32
|
import { evalClimateL1OrbitalPermil, createAlphaGiaChannel } from './climate/l1-orbital.cjs';
|
|
33
|
-
import { createMoonEccChannel } from './moon/ecc-channel.cjs';
|
|
34
33
|
import { createDeepEccChannel } from './moon/deep-ecc-channel.cjs';
|
|
35
34
|
import { DEEP_MODES_ARTIFACT } from './moon/deep-modes-artifact.cjs';
|
|
36
35
|
import { createMoonMonthChain } from './moon/month-chain.cjs';
|
|
@@ -232,26 +231,29 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
232
231
|
|
|
233
232
|
const DT = F.DT_STACK;
|
|
234
233
|
const RES = F.DT_RESONATOR;
|
|
234
|
+
// Periods STATED IN YEARS (the fit files' period_yr / T0_yr): plan 06 T5
|
|
235
|
+
// measured the former 8H/n labels chance-level; layer B item 3 removed the
|
|
236
|
+
// divisor from every runtime. Twins: tools/lib/deep-time.js, src/script.js,
|
|
237
|
+
// the website's essrt.ts.
|
|
235
238
|
const dtCycles = createDeltaTCycles({
|
|
236
|
-
eightHYears: 8 * H,
|
|
237
239
|
taperFullHalfwidthYears: C.deepTime.dtStackTaperFullHalfwidthYr,
|
|
238
240
|
taperTotalHalfwidthYears: C.deepTime.dtStackTaperTotalHalfwidthYr,
|
|
239
241
|
tropicalYearSecondsJ2000: meanTropicalYearJ2000Seconds,
|
|
240
242
|
cycles: {
|
|
241
|
-
bond: {
|
|
242
|
-
hallstatt: {
|
|
243
|
-
jose5: {
|
|
244
|
-
jose4: {
|
|
243
|
+
bond: { periodYears: DT.bond.period_yr, cosCoeffSeconds: DT.bond.cos_coeff_s, sinCoeffSeconds: DT.bond.sin_coeff_s },
|
|
244
|
+
hallstatt: { periodYears: DT.hallstatt.period_yr, cosCoeffSeconds: DT.hallstatt.cos_coeff_s, sinCoeffSeconds: DT.hallstatt.sin_coeff_s },
|
|
245
|
+
jose5: { periodYears: DT.jose5.period_yr, cosCoeffSeconds: DT.jose5.cos_coeff_s, sinCoeffSeconds: DT.jose5.sin_coeff_s },
|
|
246
|
+
jose4: { periodYears: DT.jose4.period_yr, cosCoeffSeconds: DT.jose4.cos_coeff_s, sinCoeffSeconds: DT.jose4.sin_coeff_s },
|
|
245
247
|
},
|
|
246
248
|
resonator: {
|
|
247
|
-
|
|
249
|
+
t0Years: RES.T0_yr,
|
|
248
250
|
q: RES.Q,
|
|
249
251
|
kicks: RES.kick_epochs_year.map(/** @param {number} t @param {number} i */ (t, i) => ({
|
|
250
252
|
tYear: t,
|
|
251
253
|
cosSeconds: RES.kick_coefficients_s[i].cos,
|
|
252
254
|
sinSeconds: RES.kick_coefficients_s[i].sin,
|
|
253
255
|
})),
|
|
254
|
-
tones: RES.drive_tones.map(/** @param {{
|
|
256
|
+
tones: RES.drive_tones.map(/** @param {{period_yr: number, phi_locked_rad: number, amp_s: number}} t */ (t) => ({ periodYears: t.period_yr, phiLockedRad: t.phi_locked_rad, ampSeconds: t.amp_s })),
|
|
255
257
|
},
|
|
256
258
|
});
|
|
257
259
|
|
|
@@ -346,14 +348,21 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
346
348
|
|
|
347
349
|
// ── Earth scalars (integrated-phase display semantics) ────────────────────
|
|
348
350
|
/** @param {number} year @returns {number} */
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
351
|
+
// Plan 06 layer B — the eclipse Sun onto the series. The PUBLISHED Earth
|
|
352
|
+
// ϖ of date is the one-source series (the secular orbit; its J2000 element
|
|
353
|
+
// ≡ La2004's — the same field the D4c apsidal wheel renders). The SUN's
|
|
354
|
+
// equation of centre needs the MEAN elements of the era: the series plus the
|
|
355
|
+
// derived mean offset of the osculating channel (F.EARTH_OSCULATING_MEAN_
|
|
356
|
+
// OFFSET, tools/verify/earth-osculating-offset.js — the 1890–2110 mean of
|
|
357
|
+
// osculating − secular from the Horizons-seeded nine-body run). Measured:
|
|
358
|
+
// the fast osculating wobble is carried by the completion's direct terms and
|
|
359
|
+
// double-counts if added; the window mean is what the Sun residual holds
|
|
360
|
+
// (all-phase JPL sd 3.23″ → 1.59″; the former K law's Standish anchor
|
|
361
|
+
// 1.58″). The former K perihelion Fourier law (H divisors) is retired here.
|
|
362
|
+
const earthPerihelionDeg = (year) => oneSourceM.periOfDateDegAt(year);
|
|
363
|
+
const SUN_OFF = F.EARTH_OSCULATING_MEAN_OFFSET;
|
|
364
|
+
/** The eclipse Sun's ϖ of date (mean elements). @param {number} year @returns {number} */
|
|
365
|
+
const sunPerihelionDegAt = laws.perihelionLongitudeDegAt ?? ((year) => oneSourceM.periOfDateDegAt(year) + SUN_OFF.dPomArcsec / 3600);
|
|
357
366
|
/** @param {number} year @returns {number} */
|
|
358
367
|
const obliquityDeg = (year) => {
|
|
359
368
|
let obliq = solsticeObliquityMean;
|
|
@@ -395,13 +404,10 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
395
404
|
// (θ₀ = ϖ_ICRF(J2000) − 21.77° = 81.178°, the System-Reset anchor in
|
|
396
405
|
// anchor form — doc 66 §1); base' is derived inside from the observed
|
|
397
406
|
// J2000 eccentricity.
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
inclinationCycleAnchorDeg: C.earthOrbital.earthInclinationCycleAnchor,
|
|
403
|
-
eccentricityJ2000: C.earthOrbital.earthEccentricityJ2000,
|
|
404
|
-
});
|
|
407
|
+
// (The H/3 eccentricity-law channel — createMoonEccChannel — left this
|
|
408
|
+
// package with plan 06 layer B: the Sun's e is the one-source series plus
|
|
409
|
+
// the derived mean offset above; the browser's scene Sun still reads the
|
|
410
|
+
// law through its own _moonEcc until the cardinal points move.)
|
|
405
411
|
// Engine-switch decision (ii) (plan 02 §8): the ONE deep e — the engine's
|
|
406
412
|
// own ±10-Myr mode table, anchored form — feeds the ENTIRE lunar chain
|
|
407
413
|
// (modulation, cycle counts, arguments eccAt/channelIntegral, E-factor).
|
|
@@ -411,10 +417,16 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
411
417
|
// laws hook deliberately does NOT reach this channel.
|
|
412
418
|
const deepEcc = createDeepEccChannel(DEEP_MODES_ARTIFACT);
|
|
413
419
|
/** @param {number} year @returns {number} */
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
const
|
|
420
|
+
// Plan 06 layer B: the PUBLISHED Earth eccentricity is the one-source series
|
|
421
|
+
// (|z|, the secular orbit); the SUN's e adds the derived mean offset (see
|
|
422
|
+
// sunPerihelionDegAt). The former H/3 eccentricity law is retired here.
|
|
423
|
+
const eccentricityAt = (year) => oneSourceM.eAt(year);
|
|
424
|
+
/** The eclipse Sun's e (mean elements). @param {number} year @returns {number} */
|
|
425
|
+
const sunEccentricityAt = laws.eccentricityAt ?? ((year) => oneSourceM.eAt(year) + SUN_OFF.dE);
|
|
426
|
+
/** de/dyear of the Sun's e — the cardinal braid's equation-of-centre
|
|
427
|
+
* derivative rides it (±0.5-yr central difference; the constant offset
|
|
428
|
+
* cancels). @param {number} year @returns {number} */
|
|
429
|
+
const sunEccentricityRateAt = laws.eccentricityRateAt ?? ((year) => oneSourceM.eAt(year + 0.5) - oneSourceM.eAt(year - 0.5));
|
|
418
430
|
/** @param {number} year @returns {number} */
|
|
419
431
|
const inclinationDeg = (year) => earthInclMean
|
|
420
432
|
- earthInclAmplitude * Math.cos(phaseRadians(balancedYear, year, 3));
|
|
@@ -519,8 +531,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
519
531
|
},
|
|
520
532
|
meanHAtAgeMa: (tMa) => deepLod.eraClockHAtAge(tMa),
|
|
521
533
|
meanYearRealLodDays: (tMa) => deepLod.eraClockYearInDaysAtAge(tMa),
|
|
522
|
-
eccentricityAt,
|
|
523
|
-
eccentricityRateAt,
|
|
534
|
+
eccentricityAt: sunEccentricityAt,
|
|
535
|
+
eccentricityRateAt: sunEccentricityRateAt,
|
|
524
536
|
},
|
|
525
537
|
});
|
|
526
538
|
// ── One-source cardinal structure (D4b) ───────────────────────────────────
|
|
@@ -625,6 +637,10 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
625
637
|
});
|
|
626
638
|
return {
|
|
627
639
|
yearLengths,
|
|
640
|
+
/** EXPERIMENT accessors: the series' e and equinox-referenced ϖ of date. @param {number} year @returns {number} */
|
|
641
|
+
eAt: (year) => sampleAt(year).e,
|
|
642
|
+
/** @param {number} year @returns {number} */
|
|
643
|
+
periOfDateDegAt: (year) => sampleAt(year).periOfDateDeg,
|
|
628
644
|
/** The hybrid's obliquity at a decimal year, degrees — the banked series inside its span, the α(t)-coupled ζ-tail integration beyond (the deep sampler grows ~0.1 s/Myr). @param {number} year @returns {number} */
|
|
629
645
|
epsAt: (year) => sampleAt(year).epsDeg,
|
|
630
646
|
};
|
|
@@ -651,7 +667,9 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
651
667
|
const syS = solarYearSeconds(year);
|
|
652
668
|
const syD = tropicalYearDays(year);
|
|
653
669
|
const sidDay = siderealDaySeconds(year);
|
|
654
|
-
|
|
670
|
+
// Layer A (plan 06): the RA projection reads the published ε (the one-source
|
|
671
|
+
// hybrid), not the K comb — the browser's _sceneEpsTargetDeg twin; 1e-8 s.
|
|
672
|
+
const raProjection = Math.cos((oneSourceM.epsAt(year) * Math.PI) / 180);
|
|
655
673
|
return (syS / (syD + 1) / Tp / (syD + 1)) * raProjection + sidDay;
|
|
656
674
|
};
|
|
657
675
|
/** @param {number} year @returns {number} */
|
|
@@ -926,20 +944,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
926
944
|
return (dr === null || t === null) ? null : dr - t;
|
|
927
945
|
};
|
|
928
946
|
|
|
929
|
-
//
|
|
930
|
-
//
|
|
931
|
-
// integrated-phase display obliquity above — the chain was certified
|
|
932
|
-
// against this form.
|
|
933
|
-
/** @param {number} year @returns {number} */
|
|
934
|
-
const obliquitySnapshotDeg = (year) => {
|
|
935
|
-
const t = year - balancedYear;
|
|
936
|
-
let obliq = solsticeObliquityMean;
|
|
937
|
-
for (const [div, sinC, cosC] of F.SOLSTICE_OBLIQUITY_HARMONICS) {
|
|
938
|
-
const ph = (2 * Math.PI * t) / (H / div);
|
|
939
|
-
obliq += sinC * Math.sin(ph) + cosC * Math.cos(ph);
|
|
940
|
-
}
|
|
941
|
-
return obliq;
|
|
942
|
-
};
|
|
947
|
+
// (The K snapshot-phase obliquity the lunar chain was certified against left
|
|
948
|
+
// with layer A / item 3c: the arguments' carrier reads the published ε.)
|
|
943
949
|
|
|
944
950
|
// The argument skeleton (the _FW_MOON bundle; Sun secular deviations on
|
|
945
951
|
// the CALENDAR year coordinate — S3)
|
|
@@ -964,7 +970,10 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
964
970
|
fns: {
|
|
965
971
|
eccAt: /** @param {number} tYr */ (tYr) => deepEcc.eccAt(tYr),
|
|
966
972
|
channelIntegral: /** @param {number} T @param {number} s */ (T, s) => deepEcc.channelIntegral(T, s),
|
|
967
|
-
|
|
973
|
+
// Layer A / item 3c (plan 06): the arguments' obliquity carrier reads the
|
|
974
|
+
// PUBLISHED ε (the one-source hybrid), not the K snapshot comb — one ε
|
|
975
|
+
// everywhere. Twins: script.js (_sceneEpsTargetDeg), scene-graph.js.
|
|
976
|
+
computeObliquityEarth: /** @param {number} year @returns {number} */ (year) => oneSourceM.epsAt(year),
|
|
968
977
|
jdToSIyear: yearFromJD,
|
|
969
978
|
tropicalOrbitsBetween: mcTropical,
|
|
970
979
|
apsidalOfDateCyclesBetween: mcApsidalOfDate,
|
|
@@ -1180,8 +1189,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
1180
1189
|
frameworkSun: {
|
|
1181
1190
|
sunMeanLongitudeJ2000Deg: sunL0Deg,
|
|
1182
1191
|
tropicalRateDegPerCy: sunTropicalRateDegPerCy,
|
|
1183
|
-
eccentricityAt,
|
|
1184
|
-
perihelionLongitudeDegAt:
|
|
1192
|
+
eccentricityAt: sunEccentricityAt,
|
|
1193
|
+
perihelionLongitudeDegAt: sunPerihelionDegAt,
|
|
1185
1194
|
meanLongitudeDegAt: sunMeanLongitudeDegAt,
|
|
1186
1195
|
},
|
|
1187
1196
|
constants: {
|
|
@@ -1232,8 +1241,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
1232
1241
|
moonExtensionAt: moonSeriesExtensionDeg,
|
|
1233
1242
|
deltaTSecondsAt: /** @param {number} jd */ (jd) => (jdTTFromUT(jd) - jd) * 86400,
|
|
1234
1243
|
obliquityDegAt: obliquityDeg,
|
|
1235
|
-
eccentricityAt,
|
|
1236
|
-
perihelionLongitudeDegAt:
|
|
1244
|
+
eccentricityAt: sunEccentricityAt,
|
|
1245
|
+
perihelionLongitudeDegAt: sunPerihelionDegAt,
|
|
1237
1246
|
yearFromJD,
|
|
1238
1247
|
constants: {
|
|
1239
1248
|
j2000JD,
|
|
@@ -1451,8 +1460,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
1451
1460
|
frameworkSunDeps: Object.freeze({
|
|
1452
1461
|
sunMeanLongitudeJ2000Deg: sunL0Deg,
|
|
1453
1462
|
tropicalRateDegPerCy: sunTropicalRateDegPerCy,
|
|
1454
|
-
eccentricityAt,
|
|
1455
|
-
perihelionLongitudeDegAt:
|
|
1463
|
+
eccentricityAt: sunEccentricityAt,
|
|
1464
|
+
perihelionLongitudeDegAt: sunPerihelionDegAt,
|
|
1456
1465
|
meanLongitudeDegAt: sunMeanLongitudeDegAt,
|
|
1457
1466
|
}),
|
|
1458
1467
|
// 20.3g location tier (see eclipse/besselian.cjs):
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
3
|
// in coefficients.js, emitted VERBATIM from fitted-coefficients.json.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "78f99d98186e50d9";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
@@ -624,6 +624,10 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
624
624
|
"joint_mode": boolean;
|
|
625
625
|
};
|
|
626
626
|
};
|
|
627
|
+
readonly EARTH_OSCULATING_MEAN_OFFSET: {
|
|
628
|
+
"dPomArcsec": number;
|
|
629
|
+
"dE": number;
|
|
630
|
+
};
|
|
627
631
|
readonly MEEUS_DISTANCE_TERMS: {
|
|
628
632
|
"meanKm": number;
|
|
629
633
|
"terms": Array<number[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type CycleSpec = {
|
|
2
|
-
|
|
2
|
+
periodYears: number;
|
|
3
3
|
cosCoeffSeconds: number;
|
|
4
4
|
sinCoeffSeconds: number;
|
|
5
5
|
};
|
|
@@ -9,15 +9,11 @@ export type ResonatorKick = {
|
|
|
9
9
|
sinSeconds: number;
|
|
10
10
|
};
|
|
11
11
|
export type ResonatorTone = {
|
|
12
|
-
|
|
12
|
+
periodYears: number;
|
|
13
13
|
phiLockedRad: number;
|
|
14
14
|
ampSeconds: number;
|
|
15
15
|
};
|
|
16
16
|
export type DeltaTCyclesDeps = {
|
|
17
|
-
/**
|
|
18
|
-
* - 8 × the holistic year (J2000)
|
|
19
|
-
*/
|
|
20
|
-
eightHYears: number;
|
|
21
17
|
/**
|
|
22
18
|
* - full strength within |y−2000| ≤ this
|
|
23
19
|
*/
|
|
@@ -31,30 +27,36 @@ export type DeltaTCyclesDeps = {
|
|
|
31
27
|
*/
|
|
32
28
|
tropicalYearSecondsJ2000: number;
|
|
33
29
|
/**
|
|
34
|
-
* - keyed bond/hallstatt/jose5/jose4
|
|
30
|
+
* - keyed bond/hallstatt/jose5/jose4; each
|
|
31
|
+
* period in YEARS (the fit file's `period_yr` — the former 8H/n divisor is
|
|
32
|
+
* gone from the runtime, plan 06 T5 / layer B item 3)
|
|
35
33
|
*/
|
|
36
34
|
cycles: Record<string, CycleSpec>;
|
|
35
|
+
/**
|
|
36
|
+
* - T₀ and the tones' periods in years
|
|
37
|
+
*/
|
|
37
38
|
resonator: {
|
|
38
|
-
|
|
39
|
+
t0Years: number;
|
|
39
40
|
q: number;
|
|
40
41
|
kicks: ResonatorKick[];
|
|
41
42
|
tones: ResonatorTone[];
|
|
42
43
|
};
|
|
43
44
|
};
|
|
44
45
|
/**
|
|
45
|
-
* @typedef {{
|
|
46
|
+
* @typedef {{ periodYears: number, cosCoeffSeconds: number, sinCoeffSeconds: number }} CycleSpec
|
|
46
47
|
* @typedef {{ tYear: number, cosSeconds: number, sinSeconds: number }} ResonatorKick
|
|
47
|
-
* @typedef {{
|
|
48
|
+
* @typedef {{ periodYears: number, phiLockedRad: number, ampSeconds: number }} ResonatorTone
|
|
48
49
|
*/
|
|
49
50
|
/**
|
|
50
51
|
* @typedef {Object} DeltaTCyclesDeps
|
|
51
|
-
* @property {number} eightHYears - 8 × the holistic year (J2000)
|
|
52
52
|
* @property {number} taperFullHalfwidthYears - full strength within |y−2000| ≤ this
|
|
53
53
|
* @property {number} taperTotalHalfwidthYears - zero beyond
|
|
54
54
|
* @property {number} tropicalYearSecondsJ2000 - δLOD denominator (variation ≤1e-8 in-window)
|
|
55
|
-
* @property {Record<string, CycleSpec>} cycles - keyed bond/hallstatt/jose5/jose4
|
|
56
|
-
*
|
|
57
|
-
*
|
|
55
|
+
* @property {Record<string, CycleSpec>} cycles - keyed bond/hallstatt/jose5/jose4; each
|
|
56
|
+
* period in YEARS (the fit file's `period_yr` — the former 8H/n divisor is
|
|
57
|
+
* gone from the runtime, plan 06 T5 / layer B item 3)
|
|
58
|
+
* @property {{ t0Years: number, q: number, kicks: ResonatorKick[],
|
|
59
|
+
* tones: ResonatorTone[] }} resonator - T₀ and the tones' periods in years
|
|
58
60
|
*/
|
|
59
61
|
/**
|
|
60
62
|
* Build the cycle-correction evaluators over one engine's constant set.
|
package/types/model.d.ts
CHANGED
|
@@ -156,7 +156,7 @@ export function assembleModel(C: Readonly<Record<string, any>>, F: Readonly<Reco
|
|
|
156
156
|
frameworkSunDeps: Readonly<{
|
|
157
157
|
sunMeanLongitudeJ2000Deg: any;
|
|
158
158
|
tropicalRateDegPerCy: number;
|
|
159
|
-
eccentricityAt: (year: number) =>
|
|
159
|
+
eccentricityAt: (year: number) => any;
|
|
160
160
|
perihelionLongitudeDegAt: (year: number) => number;
|
|
161
161
|
meanLongitudeDegAt: (year: number) => number;
|
|
162
162
|
}>;
|