@essrt/physics 5.0.0 → 6.0.1
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/README.md +1 -1
- package/package.json +1 -1
- package/src/constants/coefficients.d.ts +1 -1
- package/src/constants/coefficients.js +3 -3
- package/src/constants/generated.d.ts +2 -2
- package/src/constants/generated.js +3 -3
- package/src/deltat/deep-time.cjs +81 -25
- package/src/earth/precession-composed.cjs +43 -19
- package/src/index.js +12 -9
- package/src/layer0/index.js +4 -1
- package/src/model.js +83 -39
- package/src/planets/chain-artifact.js +2 -2
- package/types/constants/coefficients.d.ts +1 -1
- package/types/constants/generated.d.ts +2 -2
- package/types/deltat/deep-time.d.cts +34 -0
- package/types/earth/precession-composed.d.cts +7 -4
- package/types/model.d.ts +12 -6
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ day lengths), `cardinal` (solstice/equinox JD, RA, year length), `moon`
|
|
|
83
83
|
JD(UT) axis — ecliptic longitude, latitude and distance from the shared
|
|
84
84
|
Meeus series over framework-native arguments), `eclipse` (geocentric
|
|
85
85
|
solar/lunar eclipse search over a JD window, greatest-eclipse convention),
|
|
86
|
-
`climate` (the L1 orbital-forcing formula) and `planets` (the
|
|
86
|
+
`climate` (the L1 orbital-forcing formula) and `planets` (the retired integer-law
|
|
87
87
|
records and orientation at epoch). Validation targets are refused as
|
|
88
88
|
inputs — a counterfactual cannot move the goalposts it is judged by.
|
|
89
89
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essrt/physics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.1",
|
|
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: "3f803b0a4e2b0b3c";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/** @type {string} */
|
|
20
|
-
export const COEFFICIENTS_HASH = "
|
|
20
|
+
export const COEFFICIENTS_HASH = "3f803b0a4e2b0b3c";
|
|
21
21
|
|
|
22
22
|
/** @type {Readonly<Record<string, unknown>>} */
|
|
23
23
|
export const FITTED_COEFFICIENTS = Object.freeze({
|
|
@@ -30,8 +30,8 @@ export const FITTED_COEFFICIENTS = Object.freeze({
|
|
|
30
30
|
CARDINAL_POINT_HARMONICS: {"SS":[[2,0.00019074627919745215,0.001846794615677533],[3,0.0010265145244583225,0.0043840460005218325],[4,0.002526128776728362,0.008375021703812054],[5,-0.0011069332490108229,0.012324109385974022],[6,0.007094578245092559,0.015667625418200094],[7,0.010686309079094989,0.0185313591723446],[8,0.03586796496483462,0.023547905805302635],[9,0.015287974235736192,0.022163372436773247],[10,0.022980328947629962,0.022021587197848337],[11,0.012899795293545211,0.02098223109254824],[12,0.017883662279872793,0.018493096609363973],[13,-0.0045440747624714214,0.01741190698279517],[14,0.013789437568983534,0.011873130332722588],[15,0.010964159378377667,0.009941187945739569],[17,0.005645715364680436,0.0042073817953086155],[18,0.0024733280239884413,0.0020972134379535234],[19,0.024866655437355435,0.0046352132558053925],[22,-0.00869922958418533,-0.0010757941164320716],[23,-0.0034215663862460833,-0.0004700706289265501],[24,-0.026005575742983175,-0.002800162074471919],[29,0.00017086972207340387,-0.0000582854271329339],[40,0.0005588580339911261,0.0000254216207189192],[48,-0.00007234357535293527,-0.00003686344122889431]],"WS":[[2,-0.0004989140546949406,-0.0018350814832171964],[3,-0.0016341069568395084,-0.00510289055610792],[4,-0.0032739184182501145,-0.008165192231942483],[5,-0.0005391066276084737,-0.011882131189132047],[6,-0.00872776244510475,-0.01567036116059382],[7,-0.011784996503526426,-0.018129207809220182],[8,-0.03744206348154754,-0.018059244727299847],[9,-0.017182585604028827,-0.021991287691335213],[10,-0.024122928492842553,-0.02176201142176927],[11,-0.013659720355224142,-0.020545322472653445],[12,-0.018923801526262652,-0.0185070119731498],[13,0.003530725468763476,-0.017355995459789327],[14,-0.014762978190754594,-0.013187189767466686],[15,-0.011544590874895946,-0.009107845185292916],[17,-0.005966572736789791,-0.00412466882794922],[18,-0.0027742295722775192,-0.0020392121584988073],[19,-0.02523984042399513,-0.004793952431908256],[22,0.008834012221602267,0.0011327995685451986],[23,0.0034132605180939354,0.0004700335641851234],[24,0.025510312697159577,0.0029287196787355463],[29,0.0005151631470199286,0.00009951064466940728],[40,0.000027464271754669996,0.00006285312584624933],[48,0.00006379772144372027,0.00003197567351223772]],"VE":[[2,-0.00019952708787155152,0.009159043231355395],[3,-0.00035291171597678575,0.023169764820974357],[4,-0.00039896094897799635,0.04095230289116614],[5,-0.0008221605217068593,0.05433982061684068],[6,-0.0006712127673434827,0.07742966443388151],[7,0.00011442192510701826,0.09293770685600984],[8,-0.0002661755052129615,0.12863325085251387],[9,-0.00041508060076769906,0.10865974862396556],[10,0.0002520499043467527,0.11416535065696436],[11,0.00054119443919866,0.09778031480265961],[12,0.0006735771426620052,0.09321883266997665],[13,0.0009351612732467796,0.06560273135849437],[14,0.0008838981412524076,0.06527596355229431],[15,0.0006099281371762255,0.04826471229078941],[17,0.0004057002455308585,0.02218558958739785],[18,0.00045834220397007844,0.011611660186921282],[19,-0.0018917889992956698,0.03523806622409782],[22,0.0009390432382772954,-0.010080977228532621],[23,0.00028773481672413406,-0.004485976925967945],[24,0.0031241661887545283,-0.026228337729427842],[29,-0.00035232265695671404,-0.0003519358007459566],[40,-0.0003764287824488728,0.00014633143084755303],[48,0.00007747021591742314,0.0001465300631623245]],"AE":[[2,-0.00010824785334410612,-0.009247538368383153],[3,-0.00023591423388360578,-0.024098710851626178],[4,-0.00020247508888146084,-0.04117423206334441],[5,-0.0005255410481724471,-0.054510816503674495],[6,-0.0004563735641338332,-0.07815159743317031],[7,-0.0004952892640850401,-0.09350728116016419],[8,-0.0002668549456250444,-0.12425491749174922],[9,-0.00029051816212611513,-0.10946192086176067],[10,-0.000017834434589800384,-0.11477673278989182],[11,0.00020018910095003764,-0.09807236467847745],[12,-0.00013391111978996052,-0.09350729249271804],[13,-0.00011890649348415693,-0.06543267950206465],[14,-0.00019164354848590697,-0.06360943091260718],[15,-0.00010397398441494869,-0.04927444964548529],[17,0.000020260067196827166,-0.02232379177414511],[18,-0.00015324907637277176,-0.011715127664253238],[19,0.0021165699939661503,-0.035608703417754406],[22,-0.0007166449988416733,0.010062350586977142],[23,-0.0002647101151457455,0.004489524435291371],[24,-0.002486575741640163,0.026416456671899024],[29,-0.0002769818029233186,0.00029451375490478424],[40,-0.00019578321681994396,-0.00023792013061299245],[48,-0.00007468177159512694,-0.0001421804009572729]]},
|
|
31
31
|
CARDINAL_POINT_JOINT_TERMS: {"quadratureDeg":{"SS":0,"AE":90,"WS":180,"VE":270},"terms":[{"order":1,"div":20,"sin":0.0016771275311909886,"cos":-0.00041813783815664496},{"order":1,"div":21,"sin":-0.0025205755239927612,"cos":0.00009368344420223599},{"order":1,"div":25,"sin":0.0024054283321803182,"cos":0.00003503075204387585},{"order":1,"div":26,"sin":0.0015302808680711835,"cos":0.00017832270496523676},{"order":1,"div":27,"sin":-0.0038811133853044457,"cos":0.0007121557876018065},{"order":1,"div":28,"sin":0.0005651060475270461,"cos":0.00017412812743155704},{"order":1,"div":30,"sin":0.00011383535837284039,"cos":-0.00002477303744356703},{"order":1,"div":31,"sin":0.00029715364615484765,"cos":-0.00016152000289620274},{"order":1,"div":33,"sin":0.00020372916872406983,"cos":-0.00021173139769761217},{"order":1,"div":34,"sin":0.00011851351695640948,"cos":-0.00015323022800234513},{"order":1,"div":35,"sin":0.00002654595488880653,"cos":-0.000042921513254256815},{"order":1,"div":36,"sin":-0.000074961272761237,"cos":0.000036254894751470854},{"order":1,"div":37,"sin":-0.00013122014050225806,"cos":0.00010802896696623751},{"order":2,"div":20,"sin":0.00008434754405874156,"cos":-0.000023891371645867193},{"order":2,"div":21,"sin":-0.00006573340650300402,"cos":-0.000017146161205848304},{"order":2,"div":25,"sin":-0.000022451423978288386,"cos":0.000030143251896967585},{"order":2,"div":26,"sin":0.000098977891926442,"cos":0.000033919340351085706},{"order":2,"div":27,"sin":-0.00014644792494216237,"cos":0.000053246150285688724},{"order":2,"div":28,"sin":-0.0000330455209671476,"cos":0.00004518454360945509},{"order":2,"div":30,"sin":-0.00003714576936944073,"cos":0.000012923613530561346},{"order":2,"div":31,"sin":-0.00005631838349090962,"cos":-0.000008174044204650133},{"order":2,"div":33,"sin":-0.00004660734568785599,"cos":-0.00003431349008624705},{"order":2,"div":34,"sin":-0.00006486722344727517,"cos":-0.000029224924218984035},{"order":2,"div":35,"sin":0.00016003453894284216,"cos":-0.000055668711336672694},{"order":2,"div":36,"sin":-0.00003665803090673476,"cos":-0.00001458754814584877},{"order":2,"div":37,"sin":0.00010587827321405822,"cos":-0.00002483904832714821}],"note":"phase = order*lambda_X - 2*pi*div*cycles, self-corrected at 2000; counter-rotating — see plan §10g"},
|
|
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
|
-
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":
|
|
34
|
-
DT_STACK: {"bond":{"lattice_n":1830,"period_yr":1465.8666666666666,"cos_coeff_s":
|
|
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
|
+
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
35
|
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
36
|
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
37
|
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]],
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// Gives the TypeScript website full type safety at the boundary (§2g) while
|
|
3
3
|
// packages/physics stays JavaScript.
|
|
4
4
|
|
|
5
|
-
export declare const CONSTANTS_HASH: "
|
|
5
|
+
export declare const CONSTANTS_HASH: "7940c564f7b5f0a6";
|
|
6
6
|
|
|
7
7
|
export declare const MODEL_VERSION: string;
|
|
8
8
|
|
|
9
9
|
export declare const PREPRINT_DOI: string;
|
|
10
10
|
|
|
11
11
|
export declare const DEFAULT_CONSTANTS: {
|
|
12
|
-
readonly hash: "
|
|
12
|
+
readonly hash: "7940c564f7b5f0a6";
|
|
13
13
|
readonly additionalBodies: {
|
|
14
14
|
"pluto": {
|
|
15
15
|
"name": string;
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* carry it so a counterfactual is reproducible (§2d).
|
|
34
34
|
* @type {string}
|
|
35
35
|
*/
|
|
36
|
-
export const CONSTANTS_HASH = "
|
|
36
|
+
export const CONSTANTS_HASH = "7940c564f7b5f0a6";
|
|
37
37
|
|
|
38
38
|
/** Model version label — single source: public/input/model-version.json (§10 two-axis scheme). */
|
|
39
39
|
export const MODEL_VERSION = "v14.0";
|
|
@@ -43,7 +43,7 @@ export const PREPRINT_DOI = "10.21203/rs.3.rs-8758810/v4";
|
|
|
43
43
|
|
|
44
44
|
/** @type {Readonly<Record<string, unknown>>} */
|
|
45
45
|
export const DEFAULT_CONSTANTS = Object.freeze({
|
|
46
|
-
hash: "
|
|
46
|
+
hash: "7940c564f7b5f0a6",
|
|
47
47
|
additionalBodies: {
|
|
48
48
|
"pluto": {
|
|
49
49
|
"name": "Pluto",
|
|
@@ -230,7 +230,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
230
230
|
"perihelionPassageJ2000_JD": 2451547.042,
|
|
231
231
|
"earthInclinationJ2000_deg": 1.57869,
|
|
232
232
|
"earthInclinationRate_arcsecPerCentury": -18,
|
|
233
|
-
"deltaTStart":
|
|
233
|
+
"deltaTStart": 54.546542433465675,
|
|
234
234
|
"sunTilt": 7.155
|
|
235
235
|
},
|
|
236
236
|
foundational: {
|
package/src/deltat/deep-time.cjs
CHANGED
|
@@ -68,6 +68,19 @@ const { createComposedPrecession } = require('../earth/precession-composed.cjs')
|
|
|
68
68
|
* @property {(year: number) => number} cycleLodSumAt - gated δLOD sum (incl. swing)
|
|
69
69
|
* @property {(year: number) => number} swingLodAt - gated swing δLOD alone
|
|
70
70
|
* @property {(year: number) => number} swingLodRateAt - gated analytic swing rate
|
|
71
|
+
* @property {() => number} precessionPeriodJ2000YearsFn - the model's DERIVED
|
|
72
|
+
* J2000 axial precession period: the certified year-length laws' beat at
|
|
73
|
+
* 2000, sid/(sid − trop) ≈ 25,771.4 yr (plan 06 S5 — one J2000 precession
|
|
74
|
+
* reading; the same anchor the hybrid obliquity self-anchors on). Read
|
|
75
|
+
* LAZILY on the first composed-rate use, never at construction: every
|
|
76
|
+
* runtime's year laws read THIS factory's bases.
|
|
77
|
+
* @property {() => number} nodalPeriodYearsFn - the period of Earth's orbit
|
|
78
|
+
* plane's nodal regression on the invariable plane, 1,296,000/|s₃| with s₃
|
|
79
|
+
* the dominant ζ mode of the banked deep secular modes (≈ 68,751 yr). An
|
|
80
|
+
* ORBITAL quantity (μ-tier: it does not follow Earth's spin), the reference
|
|
81
|
+
* the solar day's "ecliptic missing motion" term rides (plan 06 T2 item —
|
|
82
|
+
* formerly the spin unit's H/5, 67,063 yr, 2.5 % off and scaling with the
|
|
83
|
+
* spin at deep time). Lazy, like the precession anchor.
|
|
71
84
|
* @property {(tMa: number) => number} [lEmAtAgeKgm2S] - OPTIONAL time-dependent
|
|
72
85
|
* Earth-Moon angular momentum (the Driver-1½ solar channels,
|
|
73
86
|
* recession-history.cjs). Absent → the J2000 constant, which the budget
|
|
@@ -117,12 +130,15 @@ function createDeepTimeLod(deps) {
|
|
|
117
130
|
return K.holisticYearJ2000 * LOD_s / K.lodNowH13Seconds;
|
|
118
131
|
}
|
|
119
132
|
|
|
120
|
-
// The
|
|
121
|
-
//
|
|
122
|
-
// 1,296,000/(
|
|
123
|
-
//
|
|
133
|
+
// The composed lunisolar precession rate (plan 06 D6 → Phase 3 → S5):
|
|
134
|
+
// ψ̇(t) = [ω(t)/ω₀]·p₀·[f_S + (1 − f_S)(a₀/a_M(t))³], p₀ the model's
|
|
135
|
+
// DERIVED J2000 rate 1,296,000/axial0 (the certified year-length laws'
|
|
136
|
+
// beat at 2000 ≈ 25,771.4 yr — NOT 1,296,000/(H₀/13) = 50.245 ″/yr, the
|
|
137
|
+
// fit anchor's reading, 0.086 % slow; S5). ONE formula home:
|
|
138
|
+
// earth/precession-composed, built here on this factory's own LOD and
|
|
139
|
+
// recession history; the anchor resolves lazily on the first rate use.
|
|
124
140
|
const composed = createComposedPrecession({
|
|
125
|
-
p0ArcsecPerYr: 1296000 / (
|
|
141
|
+
p0ArcsecPerYr: () => 1296000 / deps.precessionPeriodJ2000YearsFn(),
|
|
126
142
|
solarShare: K.precessionSolarShareJ2000,
|
|
127
143
|
lodSecondsAtAge,
|
|
128
144
|
lodJ2000Seconds: K.lodNowH13Seconds,
|
|
@@ -131,11 +147,13 @@ function createDeepTimeLod(deps) {
|
|
|
131
147
|
yearToTMa: /** @param {number} year */ (year) => (2000 - year) / 1e6,
|
|
132
148
|
});
|
|
133
149
|
|
|
134
|
-
/** The unit H(t) =
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
150
|
+
/** The unit H(t) = H_era / [f_S + (1 − f_S)(a₀/a_M)³] — the internal unit
|
|
151
|
+
* scales WITH the composed lunisolar precession period (H(t)/T_p(t) =
|
|
152
|
+
* H₀/axial0 = 13.011 at every epoch) but is NOT 13 of them: H₀ was fitted
|
|
153
|
+
* on the perihelion-of-date beat, and the "H = 13·T_p" claim is retired
|
|
154
|
+
* (plan 06 S5; docs/retired-record.md). Spelled in the SAME operations as
|
|
155
|
+
* layer0's holisticHCore so the layer0 gate holds the twins bit-identical.
|
|
156
|
+
* ≡ H_era wherever (a₀/a_M)³ ≈ 1. Identifier kept (plan 06 P4).
|
|
139
157
|
* @param {number} t_Ma @returns {number|null} */
|
|
140
158
|
function hAtAge(t_Ma) {
|
|
141
159
|
const hEra = eraClockHAtAge(t_Ma);
|
|
@@ -143,12 +161,20 @@ function createDeepTimeLod(deps) {
|
|
|
143
161
|
return hEra === null || term === null ? null : hEra / term;
|
|
144
162
|
}
|
|
145
163
|
|
|
146
|
-
/** The composed lunisolar precession rate, ″/yr
|
|
164
|
+
/** The composed lunisolar precession rate, ″/yr — p₀·[ω/ω₀]·[f_S + (1 − f_S)
|
|
165
|
+
* (a₀/a_M)³] on the derived J2000 anchor (S5). ≡ 1,296,000·(H₀/axial0)/H(t).
|
|
147
166
|
* @param {number} t_Ma @returns {number|null} */
|
|
148
167
|
function lunisolarPrecessionRateArcsecPerYrAtAge(t_Ma) {
|
|
149
168
|
return composed.composedRateArcsecPerYrAtAge(t_Ma);
|
|
150
169
|
}
|
|
151
170
|
|
|
171
|
+
/** The mean lunisolar precession period T_p(t), years — 1,296,000/ψ̇(t);
|
|
172
|
+
* 25,771.4 at J2000 (the model's one J2000 precession reading, S5).
|
|
173
|
+
* @param {number} t_Ma @returns {number|null} */
|
|
174
|
+
function lunisolarPrecessionPeriodYearsAtAge(t_Ma) {
|
|
175
|
+
return composed.composedPeriodYearsAtAge(t_Ma);
|
|
176
|
+
}
|
|
177
|
+
|
|
152
178
|
/** Sidereal year seconds (Kepler under linear mass loss, dT/T = −2 dM/M).
|
|
153
179
|
* @param {number} t_Ma @returns {number} */
|
|
154
180
|
function siderealYearSecondsAtAge(t_Ma) {
|
|
@@ -165,7 +191,16 @@ function createDeepTimeLod(deps) {
|
|
|
165
191
|
return K.meanSiderealYearJ2000Seconds * (1 - mass_loss_fraction) * (1 - mass_loss_fraction);
|
|
166
192
|
}
|
|
167
193
|
|
|
168
|
-
/** @param {number} t_Ma @returns {number} tropical = sidereal · (1 − 13/H(t))
|
|
194
|
+
/** @param {number} t_Ma @returns {number} tropical = sidereal · (1 − 13/H(t)).
|
|
195
|
+
* The 13/H(t) here is the unit's CALENDAR convention (one turn per H₀/13
|
|
196
|
+
* of the unit — the kinematic day/year identities on H/(H − 13) and the
|
|
197
|
+
* deep JD↔year calendar ride it), NOT a precession claim: the published
|
|
198
|
+
* precession period is the composed T_p (S5), 0.086 % apart. Kept
|
|
199
|
+
* unchanged in S5 so nothing certified moves (calendar, goldens, CSV);
|
|
200
|
+
* plan-06 D2 DECIDED: relabel, not re-base — the 0.086 % is the fit
|
|
201
|
+
* anchor's convention (H₀/T_p = 13.011, constant at every epoch beyond
|
|
202
|
+
* ±2 Myr, measured), and re-basing would move every comb coefficient
|
|
203
|
+
* for a rounding-level gain. This tier stays a named device. */
|
|
169
204
|
function tropicalYearSecondsAtAge(t_Ma) {
|
|
170
205
|
const sidSec = siderealYearSecondsAtAge(t_Ma);
|
|
171
206
|
const Ht = hAtAge(t_Ma);
|
|
@@ -206,11 +241,31 @@ function createDeepTimeLod(deps) {
|
|
|
206
241
|
return eraClockTropicalYearSecondsAtAge(t_Ma) / LOD_s;
|
|
207
242
|
}
|
|
208
243
|
|
|
244
|
+
/**
|
|
245
|
+
* The solar day's "ecliptic missing motion" correction, seconds: the mean
|
|
246
|
+
* solar day is counted against the Sun on the ECLIPTIC, whose plane turns
|
|
247
|
+
* on the invariable plane once per nodal period T_s₃, so Earth rotates
|
|
248
|
+
* 1/(T_s₃·mSY) of a turn more per solar day — δLOD = LOD_mean/(T_s₃·mSY)
|
|
249
|
+
* (≈ 3.44 ms at J2000). T_s₃ is an orbital quantity: constant at every
|
|
250
|
+
* epoch (μ-tier), so the term rides only LOD_mean and the year length at
|
|
251
|
+
* deep time. ONE home for the three runtimes' `h5Correction` twins (the
|
|
252
|
+
* identifier keeps its name; the divisor is the nodal period since the
|
|
253
|
+
* plan 06 T2 restatement, formerly the spin unit's H/5).
|
|
254
|
+
* @param {number} t_Ma @returns {number|null} seconds (null past tidal lock)
|
|
255
|
+
*/
|
|
256
|
+
function eclipticLodCorrectionSecondsAtAge(t_Ma) {
|
|
257
|
+
const lodMean = lodSecondsAtAge(t_Ma);
|
|
258
|
+
if (lodMean === null) return null;
|
|
259
|
+
const mSY_days = tropicalYearDaysAtAge(t_Ma);
|
|
260
|
+
if (mSY_days === null) return null;
|
|
261
|
+
return lodMean / (deps.nodalPeriodYearsFn() * mSY_days);
|
|
262
|
+
}
|
|
263
|
+
|
|
209
264
|
/**
|
|
210
265
|
* RAW ΔT integral relative to J2000 (0 at t=0 by convention) — Simpson
|
|
211
|
-
* over the
|
|
212
|
-
* WITHOUT a cache. The engines wrap this: flag-keyed
|
|
213
|
-
* sequential post-integration adds (see the module header).
|
|
266
|
+
* over the kinematic LOD plus the ecliptic missing-motion term, WITHOUT the
|
|
267
|
+
* cycle corrections and WITHOUT a cache. The engines wrap this: flag-keyed
|
|
268
|
+
* cache + their exact sequential post-integration adds (see the module header).
|
|
214
269
|
* @param {number} t_Ma @returns {number} seconds (NaN past tidal lock)
|
|
215
270
|
*/
|
|
216
271
|
function deltaTRawSecondsAtAge(t_Ma) {
|
|
@@ -227,15 +282,14 @@ function createDeepTimeLod(deps) {
|
|
|
227
282
|
const lodMean = lodSecondsAtAge(tau);
|
|
228
283
|
if (lodMean === null) return NaN;
|
|
229
284
|
const yearS = tropicalYearSecondsAtAge(tau);
|
|
230
|
-
//
|
|
231
|
-
//
|
|
232
|
-
//
|
|
233
|
-
//
|
|
234
|
-
//
|
|
235
|
-
//
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
const lodH5Raw = lodMean + lodMean / ((H_local / 5) * mSY_days);
|
|
285
|
+
// Ecliptic "missing motion" — the solar day is measured against the
|
|
286
|
+
// Sun on the ECLIPTIC, whose plane turns on the invariable plane at the
|
|
287
|
+
// nodal rate s₃ (period ≈ 68,751 yr, an orbital quantity), not in the
|
|
288
|
+
// inclination frame. Adds ~3.4 ms at J2000; the fitted cycle stack
|
|
289
|
+
// closes Layer-4 LOD_real onto the USNO anchor. Non-null: the helper
|
|
290
|
+
// can only be null when lodSecondsAtAge(tau) is null, which already
|
|
291
|
+
// returned NaN above — the checker can't see the chain.
|
|
292
|
+
const lodH5Raw = lodMean + /** @type {number} */ (eclipticLodCorrectionSecondsAtAge(tau));
|
|
239
293
|
const integrand = (86400 - lodH5Raw) * yearS * 1e6 / 86400;
|
|
240
294
|
const w = (i === 0 || i === n) ? 1 : (i % 2 === 1 ? 4 : 2);
|
|
241
295
|
sum += w * integrand;
|
|
@@ -331,11 +385,13 @@ function createDeepTimeLod(deps) {
|
|
|
331
385
|
|
|
332
386
|
return {
|
|
333
387
|
lodSecondsAtAge, lodSecondsAtAgeWithAlpha, lodHoursAtAge, hAtAge,
|
|
334
|
-
lunisolarPrecessionRateArcsecPerYrAtAge,
|
|
388
|
+
lunisolarPrecessionRateArcsecPerYrAtAge, lunisolarPrecessionPeriodYearsAtAge,
|
|
335
389
|
// the composition's terms (plan 06 Phase 3 S3, the lunisolar surface): (a₀/a_M)³ and f_S + (1 − f_S)(a₀/a_M)³
|
|
336
390
|
lunarTorqueFactorAtAge: composed.lunarTorqueFactorAtAge,
|
|
337
391
|
precessionTorqueTermAtAge: composed.torqueTermAtAge,
|
|
338
392
|
siderealYearSecondsAtAge, tropicalYearSecondsAtAge, tropicalYearDaysAtAge,
|
|
393
|
+
// the solar day's ecliptic missing-motion term on the nodal period (plan 06 T2 item; one home)
|
|
394
|
+
eclipticLodCorrectionSecondsAtAge,
|
|
339
395
|
yearInDaysAtAge, deltaTRawSecondsAtAge, lodSecondsWithCorrectionsAtAge,
|
|
340
396
|
lodSecondsActualAtAge, dLodDtDecompositionAtAge,
|
|
341
397
|
// the frozen era clock's named counter and bases (device tier, plan 06 D8)
|
|
@@ -12,15 +12,25 @@
|
|
|
12
12
|
* derived from the shared constants (two-body point-mass torques with the
|
|
13
13
|
* (1 − e²)^(−3/2) eccentricity factors and the lunar-inclination factor
|
|
14
14
|
* 1 − 3/2·sin² i_M; ≈ 0.316, the textbook value). At J2000 every factor is 1.
|
|
15
|
-
*
|
|
16
|
-
* (
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
15
|
+
*
|
|
16
|
+
* THE ANCHOR p₀ (plan 06 S5 — one J2000 precession reading): p₀ is the
|
|
17
|
+
* model's DERIVED J2000 rate, 1,296,000/axial0 with axial0 the certified
|
|
18
|
+
* year-length laws' beat at 2000 (sid/(sid − trop) = 25,771.4 yr = 50.2883
|
|
19
|
+
* ″/yr, IAU 50.2879 to 8×10⁻⁶) — the SAME anchor the hybrid obliquity
|
|
20
|
+
* self-anchors on. It is NOT 1,296,000/(H/13): H₀ = 335,317 was fitted on
|
|
21
|
+
* the 1246 AD perihelion–solstice alignment (the perihelion-of-date beat),
|
|
22
|
+
* so H₀/13 = 25,793.6 yr is the fit anchor's reading, 0.086 % slow, and
|
|
23
|
+
* is not a period of anything the model computes (nor a window mean: the
|
|
24
|
+
* published period averages 25,598 yr over ±26 kyr). The unit H(t) =
|
|
25
|
+
* H_era/[torque term] (deltat/deep-time.cjs hAtAge) scales WITH the
|
|
26
|
+
* composed period — H(t)/T_p(t) = H₀/axial0 = 13.011 at every epoch — but
|
|
27
|
+
* is not 13 of them; the 13 is a fit-era label that leaves the physics.
|
|
28
|
+
* The pre-Phase-3 structural clock 13·1,296,000/H_era(t) (pure ω-scaling,
|
|
29
|
+
* H_era = H₀·LOD/LOD₀) survives only as the FROZEN ERA CLOCK's named phase
|
|
30
|
+
* convention (eraClockHAtAge) and in docs/retired-record.md, with its
|
|
31
|
+
* record: it read 70.9 ″/yr against Lantink et al. 2022's 108.6 ± 8.5 at
|
|
32
|
+
* 2.46 Ga and 65.2 against Meyers & Malinverno 2018's 85.79 ± 2.72 at
|
|
33
|
+
* 1.4 Ga, where the composed rate reads 104.6 and 86.6.
|
|
24
34
|
*
|
|
25
35
|
* Pure factory: the tidal chain is injected (each runtime's own LOD and
|
|
26
36
|
* moon-distance evaluators), no artifact reads, no globals.
|
|
@@ -47,15 +57,18 @@ function computeSolarTorqueShare(c) {
|
|
|
47
57
|
|
|
48
58
|
/**
|
|
49
59
|
* @param {{
|
|
50
|
-
* p0ArcsecPerYr: number,
|
|
60
|
+
* p0ArcsecPerYr: number | (() => number),
|
|
51
61
|
* solarShare: number,
|
|
52
62
|
* lodSecondsAtAge: (tMa: number) => (number | null),
|
|
53
63
|
* lodJ2000Seconds: number,
|
|
54
64
|
* moonDistanceMetresAtAge: (tMa: number) => (number | null),
|
|
55
65
|
* moonDistanceJ2000Metres: number,
|
|
56
66
|
* yearToTMa: (year: number) => number,
|
|
57
|
-
* }} deps - p0 =
|
|
58
|
-
* the
|
|
67
|
+
* }} deps - p0 = the model's derived J2000 rate, 1,296,000/axial0 (S5; a
|
|
68
|
+
* number or a LAZY getter — the callers' certified year laws read the
|
|
69
|
+
* deep-time factory this is built inside, so the anchor is resolved on
|
|
70
|
+
* the first RATE use, never at construction; the torque term needs no
|
|
71
|
+
* anchor); lodJ2000Seconds the SAME day basis lodSecondsAtAge(0) returns.
|
|
59
72
|
* @returns {{
|
|
60
73
|
* composedRateArcsecPerYrAtAge: (tMa: number) => (number | null),
|
|
61
74
|
* composedPeriodYearsAtAge: (tMa: number) => (number | null),
|
|
@@ -69,7 +82,18 @@ function computeSolarTorqueShare(c) {
|
|
|
69
82
|
* }}
|
|
70
83
|
*/
|
|
71
84
|
function createComposedPrecession(deps) {
|
|
72
|
-
const {
|
|
85
|
+
const { solarShare: fS } = deps;
|
|
86
|
+
/** @type {number|undefined} */
|
|
87
|
+
let p0Memo;
|
|
88
|
+
/** The J2000 anchor, resolved once on first use (lazy getter allowed). */
|
|
89
|
+
const p0 = () => {
|
|
90
|
+
if (p0Memo === undefined) {
|
|
91
|
+
const v = typeof deps.p0ArcsecPerYr === 'function' ? deps.p0ArcsecPerYr() : deps.p0ArcsecPerYr;
|
|
92
|
+
if (!(v > 0)) throw new Error(`createComposedPrecession: p0ArcsecPerYr must resolve to a positive rate, got ${v}`);
|
|
93
|
+
p0Memo = v;
|
|
94
|
+
}
|
|
95
|
+
return p0Memo;
|
|
96
|
+
};
|
|
73
97
|
/** @param {number} tMa */
|
|
74
98
|
const lunarTorqueFactorAtAge = (tMa) => {
|
|
75
99
|
const a = deps.moonDistanceMetresAtAge(tMa);
|
|
@@ -88,7 +112,7 @@ function createComposedPrecession(deps) {
|
|
|
88
112
|
const lod = deps.lodSecondsAtAge(tMa);
|
|
89
113
|
const term = torqueTermAtAge(tMa);
|
|
90
114
|
if (lod === null || !(lod > 0) || term === null) return null;
|
|
91
|
-
return (deps.lodJ2000Seconds / lod) * p0 * term;
|
|
115
|
+
return (deps.lodJ2000Seconds / lod) * p0() * term;
|
|
92
116
|
};
|
|
93
117
|
/** @param {number} tMa */
|
|
94
118
|
const composedPeriodYearsAtAge = (tMa) => {
|
|
@@ -96,13 +120,13 @@ function createComposedPrecession(deps) {
|
|
|
96
120
|
return r === null ? null : 1296000 / r;
|
|
97
121
|
};
|
|
98
122
|
/** ψ̇(t)/ψ̇₀ — the factor a consumer scales ITS OWN certified J2000
|
|
99
|
-
* anchor by (
|
|
100
|
-
*
|
|
101
|
-
*
|
|
123
|
+
* anchor by (since S5 p₀ and the hybrids' anchor are the same derived
|
|
124
|
+
* value, 25,771.4 yr; the ratio is what D6 changes). ≡ 1 at J2000; null
|
|
125
|
+
* out of the tidal chain's domain.
|
|
102
126
|
* @param {number} tMa */
|
|
103
127
|
const composedRateRatioAtAge = (tMa) => {
|
|
104
128
|
const r = composedRateArcsecPerYrAtAge(tMa);
|
|
105
|
-
return r === null ? null : r / p0;
|
|
129
|
+
return r === null ? null : r / p0();
|
|
106
130
|
};
|
|
107
131
|
return {
|
|
108
132
|
composedRateArcsecPerYrAtAge,
|
|
@@ -113,7 +137,7 @@ function createComposedPrecession(deps) {
|
|
|
113
137
|
torqueTermAtAge,
|
|
114
138
|
lunarTorqueFactorAtAge,
|
|
115
139
|
solarShare: fS,
|
|
116
|
-
p0ArcsecPerYr
|
|
140
|
+
get p0ArcsecPerYr() { return p0(); },
|
|
117
141
|
};
|
|
118
142
|
}
|
|
119
143
|
|
package/src/index.js
CHANGED
|
@@ -227,19 +227,22 @@ export const createModel = (constants = GENERATED, opts = {}) => {
|
|
|
227
227
|
hash,
|
|
228
228
|
|
|
229
229
|
/**
|
|
230
|
-
*
|
|
230
|
+
* The fit-era lattice identities H/13, H/3, H/16, in years — DEVICE tier.
|
|
231
231
|
*
|
|
232
|
-
* PURE ALGEBRA OVER THE CONTEXT. No epoch, no formula, no fit.
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
* Something has to READ the context and return a number for injection to be
|
|
237
|
-
* demonstrated end to end.
|
|
232
|
+
* PURE ALGEBRA OVER THE CONTEXT. No epoch, no formula, no fit. They exist
|
|
233
|
+
* here for one reason: a hash-only counterfactual test would still pass if
|
|
234
|
+
* `createModel` ignored its argument entirely. Something has to READ the
|
|
235
|
+
* context and return a number for injection to be demonstrated end to end.
|
|
238
236
|
*
|
|
239
|
-
*
|
|
237
|
+
* These are NOT the published periods (plan 06 S5): the axial precession
|
|
238
|
+
* period is `epoch.axialPrecessionYearsAtYear` (25,771.4 yr at J2000, the
|
|
239
|
+
* of-date year laws' beat); H/13 = 25,793.6 is the fit anchor's reading,
|
|
240
|
+
* 0.086 % slow — H₀ was fitted on the perihelion-of-date beat. Likewise
|
|
241
|
+
* H/3 and H/16 against the chain's apsidal and perihelion-of-date periods.
|
|
242
|
+
* The property names keep their historical form (plan 06 P4).
|
|
240
243
|
*
|
|
241
244
|
* `divisor` and `period` are never interchangeable (CLAUDE.md): 13 is the
|
|
242
|
-
* divisor, H/13 years is the
|
|
245
|
+
* divisor, H/13 years is the identity's value. The names say which.
|
|
243
246
|
*
|
|
244
247
|
* @returns {{axialPrecessionPeriodYears: number, inclinationPrecessionPeriodYears: number, perihelionPrecessionPeriodYears: number}}
|
|
245
248
|
*/
|
package/src/layer0/index.js
CHANGED
|
@@ -149,7 +149,10 @@ export const createEpochPrimitives = ({ params: p, alphaAtAgeMa }) => {
|
|
|
149
149
|
};
|
|
150
150
|
|
|
151
151
|
/**
|
|
152
|
-
* Tropical year — sidereal less one
|
|
152
|
+
* Tropical year — sidereal less one calendar turn of the unit, 13/H(t): the
|
|
153
|
+
* unit's CALENDAR convention (plan 06 S5 — a device identity, 0.086 % from
|
|
154
|
+
* one turn per the published precession period; D2 decided: it stays a
|
|
155
|
+
* named device, never re-based).
|
|
153
156
|
* Falls back to the J2000 H past the asymptote, matching the shipped chain.
|
|
154
157
|
* @param {number} t age in Ma
|
|
155
158
|
* @returns {number} seconds
|