@essrt/physics 9.2.0 → 11.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/README.md +21 -0
- package/package.json +2 -2
- package/src/climate/l1-orbital.cjs +27 -3
- package/src/constants/generated.d.ts +3 -2
- package/src/constants/generated.js +4 -3
- package/src/earth/deep-orbital-history.cjs +147 -35
- package/src/earth/sidereal-channel-artifact.cjs +4 -3
- package/src/earth/sidereal-year-channel.cjs +14 -4
- package/src/earth/year-lengths.cjs +88 -53
- package/src/model.js +27 -14
- package/src/moon/deep-modes-artifact.cjs +2 -2
- package/src/phase/deep-calendar.cjs +6 -0
- package/types/climate/l1-orbital.d.cts +24 -3
- package/types/constants/generated.d.ts +3 -2
- package/types/earth/deep-orbital-history.d.cts +20 -2
- package/types/earth/sidereal-channel-artifact.d.cts +2 -2
- package/types/earth/year-lengths.d.cts +14 -16
- package/types/model.d.ts +8 -2
- package/types/moon/deep-modes-artifact.d.cts +14 -1
- package/types/phase/deep-calendar.d.cts +5 -0
|
@@ -18,10 +18,20 @@
|
|
|
18
18
|
// J2000 node lamDotRel ≡ 1 by construction, so the caller's anchor is
|
|
19
19
|
// preserved exactly.
|
|
20
20
|
//
|
|
21
|
-
// Scope: this channel
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
21
|
+
// Scope: this channel is the sidereal year OF DATE everywhere — the
|
|
22
|
+
// model/chart surfaces AND the scene: since plan 06 R1 the Sun's mean
|
|
23
|
+
// longitude of date integrates the one-family tropical year (this channel
|
|
24
|
+
// minus the movement's own general precession), so the scene's measured
|
|
25
|
+
// sidereal angle reproduces this law (the scene-sampled gate,
|
|
26
|
+
// tools/verify/scene-year-lengths.js). The frozen era clock's sidereal
|
|
27
|
+
// year (mass-loss only, no planetary drift) is the certified era device,
|
|
28
|
+
// not a member of this family.
|
|
29
|
+
//
|
|
30
|
+
// ESTIMATOR (2026-09): each banked node is the least-squares slope of a
|
|
31
|
+
// quadratic fitted to the dump's unwrapped L over ±5 kyr — the former
|
|
32
|
+
// 2-kyr boxcar of per-step rates telescoped to the difference of the
|
|
33
|
+
// OSCULATING longitude at the window's two ends and left 0.1–0.3 s of
|
|
34
|
+
// node noise (−266 ms at +4000 against DE441; +18…28″ of Sun by 6500).
|
|
25
35
|
|
|
26
36
|
const { SIDEREAL_CHANNEL_ARTIFACT } = require('./sidereal-channel-artifact.cjs');
|
|
27
37
|
|
|
@@ -10,81 +10,112 @@
|
|
|
10
10
|
// pair's members is amplified ~20×/s by P = T_s/(T_s − T_t).
|
|
11
11
|
//
|
|
12
12
|
// The rules this factory owns:
|
|
13
|
-
// • ONE FAMILY:
|
|
14
|
-
// movement's own
|
|
15
|
-
//
|
|
16
|
-
// the
|
|
17
|
-
// the
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
13
|
+
// • ONE FAMILY: sidereal = the D6 λ̇ channel; tropical = the sidereal
|
|
14
|
+
// year minus the movement's own GENERAL-PRECESSION rate of date (the
|
|
15
|
+
// broken-angle equinox longitude, wobble included), in RATE form with
|
|
16
|
+
// the sampler's Julian-year unit named; anomalistic = the tropical
|
|
17
|
+
// year minus the movement's own equinox-referenced apsidal rate of
|
|
18
|
+
// date (the same year-over-year reading — the scene's perihelion
|
|
19
|
+
// passages ARE this movement); every value λ̇-corrected coherently
|
|
20
|
+
// (rate form — beats invariant to second order).
|
|
21
|
+
// • ONE BASIS: SI seconds (days = seconds/86400 at the caller); periods
|
|
22
|
+
// in JULIAN years (the beat's duration ÷ 365.25 d — the unit the
|
|
23
|
+
// frame's precession rate is quoted in, so 360°/rate and the pair's
|
|
24
|
+
// beat are the SAME number; measured 2026-09: the dimensionless
|
|
25
|
+
// T_sid/(T_sid − T_trop) counts TROPICAL years, 2.1e-5 off — 0.55 yr
|
|
26
|
+
// on the axial period, 26 ms on the tropical year against the frame).
|
|
21
27
|
// • BEATS FROM THE PAIR: each precession period is computed from the
|
|
22
28
|
// two years THIS factory returns — recomputing a beat from the
|
|
23
29
|
// displayed/served values reproduces it exactly.
|
|
24
|
-
// •
|
|
25
|
-
//
|
|
30
|
+
// • THE SCENE IS THE REFERENCE (owner, 2026-09-30: "all calculations
|
|
31
|
+
// should match what we measure in the scene"): the scene's Sun
|
|
32
|
+
// integrates the tropical year below and turns with this movement's
|
|
33
|
+
// frame and apsidal line, so its measured sidereal, tropical and
|
|
34
|
+
// anomalistic years reproduce this family to the millisecond once the
|
|
35
|
+
// planetary completion terms are removed per event (the scene-sampled
|
|
36
|
+
// gate, tools/verify/scene-year-lengths.js). Before this restatement
|
|
37
|
+
// the scene read the law's sidereal year 26 ms short at J2000 and up
|
|
38
|
+
// to 1 s off at depth (the projected equinox rate), and the published
|
|
39
|
+
// anomalistic year rode the planet chain's secular tangent — seconds
|
|
40
|
+
// from the scene's own perihelion passages within a few millennia,
|
|
41
|
+
// 395 s at +25 kyr where e passes 0.0034.
|
|
26
42
|
// • The frozen era clock stays the certified era device (opt-out /
|
|
27
43
|
// era-certification record), not a member of this family.
|
|
28
44
|
|
|
29
45
|
const { createCardinalStructure } = require('../cardinal/one-source-structure.cjs');
|
|
30
46
|
const { createSiderealYearChannel } = require('./sidereal-year-channel.cjs');
|
|
31
47
|
|
|
48
|
+
/** SI seconds in one Julian year — the sampler's time unit (t = years from J2000 TT, 365.25 d). */
|
|
49
|
+
const JULIAN_YEAR_SECONDS = 365.25 * 86400;
|
|
50
|
+
|
|
32
51
|
/**
|
|
33
52
|
* @param {{
|
|
34
|
-
* sampleAt: (year: number) => {e: number, periOfDateDeg: number, equinoxLonJ2000Deg: number},
|
|
53
|
+
* sampleAt: (year: number) => {e: number, periOfDateDeg: number, equinoxLonJ2000Deg: number, generalPrecessionLonDeg: number},
|
|
35
54
|
* massLossSiderealSecondsAtYearFn: (year: number) => number,
|
|
36
|
-
* apsidalSecularDegPerYrFn?: (year: number) => number,
|
|
37
55
|
* }} opts
|
|
38
|
-
* sampleAt: the one-source movement sampler,
|
|
39
|
-
*
|
|
40
|
-
* tier where the artifact is
|
|
56
|
+
* sampleAt: the one-source movement sampler, keyed in the sampler's own
|
|
57
|
+
* year (Julian years from J2000 TT, 2000 = J2000; createDeepOrbitalHistory
|
|
58
|
+
* build().at wrapped by the caller — series tier where the artifact is
|
|
59
|
+
* available, mode tail beyond).
|
|
41
60
|
* massLossSiderealSecondsAtYearFn: the caller's secular mass-loss
|
|
42
61
|
* sidereal-year law, SI seconds, IAU-anchored at J2000.
|
|
43
|
-
* apsidalSecularDegPerYrFn: the chain's SECULAR apsidal tangent of date
|
|
44
|
-
* (keplerian-chain computeApsidalSecularDegPerYr for Earth — deg/yr,
|
|
45
|
-
* J2000-ecliptic frame). When given, the anomalistic year is the
|
|
46
|
-
* mean-element construction on this smooth rate; when absent, it falls
|
|
47
|
-
* back to the cardinal structure's measured year-over-year interval
|
|
48
|
-
* (which carries the banked series' century-scale ϖ̇ wobble).
|
|
49
62
|
*/
|
|
50
|
-
function createYearLengths({ sampleAt, massLossSiderealSecondsAtYearFn
|
|
63
|
+
function createYearLengths({ sampleAt, massLossSiderealSecondsAtYearFn }) {
|
|
51
64
|
if (typeof sampleAt !== 'function' || typeof massLossSiderealSecondsAtYearFn !== 'function') {
|
|
52
65
|
throw new Error('createYearLengths: sampleAt and massLossSiderealSecondsAtYearFn are required');
|
|
53
66
|
}
|
|
54
67
|
const w180 = (/** @type {number} */ d) => ((d + 540) % 360) - 180;
|
|
55
68
|
const chan = createSiderealYearChannel({ massLossSiderealSecondsAtYearFn });
|
|
69
|
+
/** A year length from a longer year and a retrograde angular rate of the
|
|
70
|
+
* reference point, RATE form: 1/T = 1/T_long + p/(360°·JY) — exact (the
|
|
71
|
+
* linear T_long·(1 − p/360) drops (p/360)², 47 ms on the tropical year),
|
|
72
|
+
* with p in degrees per JULIAN year (the sampler's unit; read as "per
|
|
73
|
+
* tropical year" it was 26 ms short). @param {number} tLong @param {number} pDegPerJulianYr */
|
|
74
|
+
const shorterYear = (tLong, pDegPerJulianYr) => 1 / (1 / tLong + pDegPerJulianYr / (360 * JULIAN_YEAR_SECONDS));
|
|
75
|
+
/** The movement's own general precession of date, degrees per Julian
|
|
76
|
+
* year, retrograde positive — the year-over-year advance of the
|
|
77
|
+
* broken-angle equinox longitude (wobble included). @param {number} year */
|
|
78
|
+
const generalPrecessionDegPerJulianYr = (year) =>
|
|
79
|
+
w180(sampleAt(year - 0.5).generalPrecessionLonDeg - sampleAt(year + 0.5).generalPrecessionLonDeg);
|
|
80
|
+
/** The movement's own apsidal rate of date RELATIVE TO THE EQUINOX (the
|
|
81
|
+
* climatic-precession rate, ~0.017°/yr at J2000), degrees per Julian
|
|
82
|
+
* year, prograde positive. @param {number} year */
|
|
83
|
+
const apsidalVsEquinoxDegPerJulianYr = (year) =>
|
|
84
|
+
w180(sampleAt(year + 0.5).periOfDateDeg - sampleAt(year - 0.5).periOfDateDeg);
|
|
56
85
|
// The mean tropical year OF DATE, raw (pre-λ̇): the movement's own
|
|
57
|
-
//
|
|
58
|
-
// the smooth secular mean (a wobble-free mean under a wobbling
|
|
59
|
-
// was one of the duplicated implementations this factory retires).
|
|
60
|
-
const tropicalRawSeconds = (/** @type {number} */ year) =>
|
|
61
|
-
|
|
62
|
-
- sampleAt(year + 0.5).equinoxLonJ2000Deg); // retrograde → positive
|
|
63
|
-
return massLossSiderealSecondsAtYearFn(year) * (1 - p / 360);
|
|
64
|
-
};
|
|
86
|
+
// general-precession rate — carries the real precession-rate wobble,
|
|
87
|
+
// unlike the smooth secular mean (a wobble-free mean under a wobbling
|
|
88
|
+
// family was one of the duplicated implementations this factory retires).
|
|
89
|
+
const tropicalRawSeconds = (/** @type {number} */ year) =>
|
|
90
|
+
shorterYear(massLossSiderealSecondsAtYearFn(year), generalPrecessionDegPerJulianYr(year));
|
|
65
91
|
const structure = createCardinalStructure({
|
|
66
92
|
sampleAt,
|
|
67
93
|
tropicalYearSecondsAtYearFn: tropicalRawSeconds,
|
|
68
94
|
});
|
|
69
95
|
const trop = (/** @type {number} */ year) => chan.correctedYearSeconds(year, tropicalRawSeconds(year));
|
|
70
96
|
const sid = (/** @type {number} */ year) => chan.siderealYearSecondsAtYear(year);
|
|
71
|
-
// The anomalistic year OF DATE
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
// The anomalistic year OF DATE: the tropical year lengthened by the
|
|
98
|
+
// movement's own apsidal advance against the equinox (a perihelion
|
|
99
|
+
// passage is a pure mean-anomaly event — no equation-of-centre term), in
|
|
100
|
+
// rate form, then λ̇-corrected coherently. This IS the scene: its apsidal
|
|
101
|
+
// wheel turns with periOfDateDeg, and the scene's perihelion-to-perihelion
|
|
102
|
+
// intervals read this form to 0.03–0.13 s at every sampled epoch. The
|
|
103
|
+
// former construction on the planet chain's secular apsidal tangent (the
|
|
104
|
+
// same family as the Perihelion Longitudes Prec. cell) agreed at J2000
|
|
105
|
+
// (+0.07 s) and parted from the scene by +3.3 s at 0 AD, −6.6 s at 6000,
|
|
106
|
+
// −14 s at 10,000 and −395 s at +25,000 (e = 0.0034, the apsidal line
|
|
107
|
+
// swings fast) — the chain tangent's dϖ̇/dt runs ~40 % steep against the
|
|
108
|
+
// secular mean elements, the series' reads them to ~1 s over ±4 kyr. The
|
|
109
|
+
// rate the beats and the Prec. cell quote is apsidalRateFixedDegPerJulianYr
|
|
110
|
+
// below — ONE family, so 360°/rate and anom/(anom − sid) are the same
|
|
111
|
+
// number. The year-over-year reading carries the banked series' own
|
|
112
|
+
// century-scale ripple (±0.015″/yr ≈ ±0.35 s; the cadence is named in the
|
|
113
|
+
// artifact) — it is the movement's, not smoothed away.
|
|
114
|
+
const anom = (/** @type {number} */ year) =>
|
|
115
|
+
chan.correctedYearSeconds(year, shorterYear(tropicalRawSeconds(year), -apsidalVsEquinoxDegPerJulianYr(year)));
|
|
116
|
+
/** A beat period in JULIAN years from two year lengths (SI s): the time for
|
|
117
|
+
* the shorter year to gain one turn on the longer, ÷ 365.25 d. @param {number} tLong @param {number} tShort */
|
|
118
|
+
const beatJulianYears = (tLong, tShort) => tLong * tShort / ((tLong - tShort) * JULIAN_YEAR_SECONDS);
|
|
88
119
|
|
|
89
120
|
return Object.freeze({
|
|
90
121
|
/** Mean tropical year of date, SI seconds. @param {number} year */
|
|
@@ -93,12 +124,16 @@ function createYearLengths({ sampleAt, massLossSiderealSecondsAtYearFn, apsidalS
|
|
|
93
124
|
siderealYearSecondsAtYear: sid,
|
|
94
125
|
/** Anomalistic year of date, SI seconds. @param {number} year */
|
|
95
126
|
anomalisticYearSecondsAtYear: anom,
|
|
96
|
-
/** Axial precession period of date (equinox regression beat), years. @param {number} y */
|
|
97
|
-
axialPrecessionYearsAtYear: (y) =>
|
|
98
|
-
/** Perihelion (apsidal-vs-equinox) precession period of date, years. @param {number} y */
|
|
99
|
-
perihelionPrecessionYearsAtYear: (y) =>
|
|
100
|
-
/** Apsidal precession period of date vs the fixed stars, years (hypersensitive: ±1 s ↔ ≈400 yr; the identifier keeps the historical "inclination" name). @param {number} y */
|
|
101
|
-
inclinationPrecessionYearsAtYear: (y) =>
|
|
127
|
+
/** Axial precession period of date (equinox regression beat), JULIAN years. @param {number} y */
|
|
128
|
+
axialPrecessionYearsAtYear: (y) => beatJulianYears(sid(y), trop(y)),
|
|
129
|
+
/** Perihelion (apsidal-vs-equinox) precession period of date, JULIAN years. @param {number} y */
|
|
130
|
+
perihelionPrecessionYearsAtYear: (y) => beatJulianYears(anom(y), trop(y)),
|
|
131
|
+
/** Apsidal precession period of date vs the fixed stars, JULIAN years (hypersensitive: ±1 s ↔ ≈400 yr; the identifier keeps the historical "inclination" name). @param {number} y */
|
|
132
|
+
inclinationPrecessionYearsAtYear: (y) => beatJulianYears(anom(y), sid(y)),
|
|
133
|
+
/** The movement's own general precession of date, ″ per Julian year (retrograde positive) — 360°/this ≡ axialPrecessionYearsAtYear to second order. @param {number} y */
|
|
134
|
+
generalPrecessionArcsecPerJulianYr: (y) => generalPrecessionDegPerJulianYr(y) * 3600,
|
|
135
|
+
/** The movement's own apsidal rate of date against the FIXED frame, ″ per Julian year (prograde positive) — the rate the Perihelion Longitudes Prec. cell shows for Earth; 360°/this ≡ inclinationPrecessionYearsAtYear exactly. @param {number} y */
|
|
136
|
+
apsidalRateFixedArcsecPerJulianYr: (y) => { const a = anom(y), s = sid(y); return 360 * JULIAN_YEAR_SECONDS * (1 / s - 1 / a) * 3600; },
|
|
102
137
|
/** The per-cardinal layer (D6 rules: year lengths λ̇-corrected; offsets/spreads raw — μs-class/second-order there). */
|
|
103
138
|
cardinal: Object.freeze({
|
|
104
139
|
/** @param {number} y @param {'VE'|'SS'|'AE'|'WS'} type */
|
package/src/model.js
CHANGED
|
@@ -24,7 +24,6 @@ import { createPhaseMachinery } from './phase/index.cjs';
|
|
|
24
24
|
import { createYearLengths, ONE_FAMILY_WINDOW_YEARS } from './earth/year-lengths.cjs';
|
|
25
25
|
import { createDeepOrbitalHistory } from './earth/deep-orbital-history.cjs';
|
|
26
26
|
import { CHAIN_ARTIFACT } from './planets/chain-artifact.js';
|
|
27
|
-
import { buildPlanetChainsFromArtifactData, computeApsidalSecularDegPerYr } from './planets/keplerian-chain.cjs';
|
|
28
27
|
import { computeSecularShape } from './planets/secular-shape.cjs';
|
|
29
28
|
import { createPlanetSpinChannelFromArtifacts, computeObliquityJ2000Deg } from './planets/spin-channel.cjs';
|
|
30
29
|
import { createDeltaTCycles } from './deltat/cycles.cjs';
|
|
@@ -148,6 +147,10 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
148
147
|
relaxationKyr: C.deepTime.alphaGiaRelaxationKyr,
|
|
149
148
|
alphaGiaRateJ2000PerYr: C.deepTime.alphaGiaRateJ2000PerYr,
|
|
150
149
|
alphaJ2000: earthMoiFactorJ2000,
|
|
150
|
+
// the channel's second observable, J₂(t)/J₂₀ — scaled on the OBSERVED
|
|
151
|
+
// dJ₂/dt; consumed by the spin integration below (the precession of date)
|
|
152
|
+
j2RateJ2000PerYr: C.deepTime.j2RateJ2000PerYr,
|
|
153
|
+
j2J2000: C.physicalConstants.earthJ2,
|
|
151
154
|
});
|
|
152
155
|
|
|
153
156
|
let latticeAlphaPin = false;
|
|
@@ -529,9 +532,6 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
529
532
|
// path; the npm package alone has no 8 MB series), the movement runs the
|
|
530
533
|
// SERIES tier exactly like the browser — killing the mode-vs-series
|
|
531
534
|
// value split (measured: 6 s on the anomalistic year at J2000).
|
|
532
|
-
// The engine-D planet chains (ONE build; the one-family route's apsidal
|
|
533
|
-
// tangent and the lunisolar surface's n_aps read the same instance).
|
|
534
|
-
const kcChainsM = buildPlanetChainsFromArtifactData(CHAIN_ARTIFACT);
|
|
535
535
|
// The ONE-SOURCE movement: the hybrid's ε(t) (plan 06 Phase 3 S3b — THE
|
|
536
536
|
// published obliquity) and the one-family year lengths, on the same
|
|
537
537
|
// per-tier sampler.
|
|
@@ -577,6 +577,14 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
577
577
|
const h = deepLod.hAtAge((startmodelYear - yr) / 1e6);
|
|
578
578
|
return axial0 * (h === null ? 1 : h / H0);
|
|
579
579
|
},
|
|
580
|
+
// THE PRECESSION OF DATE (plan 06 §9 item 10): on top of the secular
|
|
581
|
+
// law above, the solar torque at the eccentricity of date and the
|
|
582
|
+
// oblateness of date from the GIA channel — both exactly 1 at J2000,
|
|
583
|
+
// so the unit H(t) and the J2000 anchor are untouched. The channel is
|
|
584
|
+
// read PURE (alphaGia, not the lattice-pin-aware earthMoiFactorAtAge):
|
|
585
|
+
// the samplers are cached, their values must be pure in year.
|
|
586
|
+
solarTorqueShareJ2000: EPOCH_PARAMS.precessionSolarShareJ2000,
|
|
587
|
+
dynamicalEllipticityRatioAtYearFn: alphaGia.j2RatioAt,
|
|
580
588
|
});
|
|
581
589
|
// PER-TIER ROUTING (the anomalistic-contamination fix): one sampler PER
|
|
582
590
|
// grid tier, built on first entry and KEPT — a query always reads the
|
|
@@ -599,13 +607,12 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
599
607
|
}
|
|
600
608
|
return samplers.get(key).at(t);
|
|
601
609
|
};
|
|
602
|
-
// The anomalistic rides
|
|
603
|
-
//
|
|
604
|
-
|
|
610
|
+
// The anomalistic year rides THIS movement's own apsidal line (the
|
|
611
|
+
// scene's perihelion) — the factory owns the construction; the planet
|
|
612
|
+
// chain's secular tangent is no longer a member (year-lengths.cjs).
|
|
605
613
|
const yearLengths = createYearLengths({
|
|
606
614
|
sampleAt,
|
|
607
615
|
massLossSiderealSecondsAtYearFn: (year) => deepLod.siderealYearSecondsAtAge(yearToTMa(year)),
|
|
608
|
-
apsidalSecularDegPerYrFn: (year) => computeApsidalSecularDegPerYr(year, kcChains.earth, kcChains),
|
|
609
616
|
});
|
|
610
617
|
return {
|
|
611
618
|
yearLengths,
|
|
@@ -615,6 +622,8 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
615
622
|
periOfDateDegAt: (year) => sampleAt(year).periOfDateDeg,
|
|
616
623
|
/** 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} */
|
|
617
624
|
epsAt: (year) => sampleAt(year).epsDeg,
|
|
625
|
+
/** The precession of date's two factors at a decimal year (the factory's own — ONE home). @param {number} year @returns {{solarTorque: number, ellipticity: number}} */
|
|
626
|
+
precessionOfDateFactorsAt: (year) => hist.precessionOfDateFactorsAt(year - 2000),
|
|
618
627
|
};
|
|
619
628
|
})();
|
|
620
629
|
const yearLengthsM = oneSourceM.yearLengths;
|
|
@@ -1471,6 +1480,10 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
1471
1480
|
ofDatePeriodYearsAtYear: publishedAxialPrecessionYearsAtYear,
|
|
1472
1481
|
/** f_S, the solar fraction of the J2000 precession torque. */
|
|
1473
1482
|
solarShareJ2000: EPOCH_PARAMS.precessionSolarShareJ2000,
|
|
1483
|
+
/** THE PRECESSION OF DATE — the solar-torque factor 1 + f_S·([(1 − e²)/(1 − e₀²)]^(−3/2) − 1) at the eccentricity of date (1 at J2000; +3.2·10⁻⁴ on the million-year mean). The spin integration multiplies it into the secular rate. @param {number} year @returns {number} */
|
|
1484
|
+
solarTorqueFactorOfDateAtYear: (year) => oneSourceM.precessionOfDateFactorsAt(year).solarTorque,
|
|
1485
|
+
/** THE PRECESSION OF DATE — J₂(t)/J₂₀, the oblateness of date from the GIA channel (ψ̇ ∝ J₂; 1 at J2000, bounded ±5·10⁻⁴; dJ₂/dt at J2000 = the observed satellite rate). @param {number} year @returns {number} */
|
|
1486
|
+
ellipticityRatioOfDateAtYear: (year) => oneSourceM.precessionOfDateFactorsAt(year).ellipticity,
|
|
1474
1487
|
/** (a₀/a_M(t))³ — the lunar torque's growth on the recession history. @param {number} year @returns {number} */
|
|
1475
1488
|
lunarTorqueFactorAtYear: (year) => { const f = deepLod.lunarTorqueFactorAtAge(yearToTMa(year)); return f === null ? 1 : f; },
|
|
1476
1489
|
/** f_S + (1 − f_S)(a₀/a_M)³ — the torque term the unit divides H_era by. @param {number} year @returns {number} */
|
|
@@ -1487,23 +1500,23 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
1487
1500
|
const psiDot = r === null ? 1296000 / certifiedAxialPrecessionJ2000Years() : r;
|
|
1488
1501
|
return 1296000 / (psiDot - s3ArcsecPerYr);
|
|
1489
1502
|
},
|
|
1490
|
-
/** The apsidal (perihelion vs the stars) period
|
|
1491
|
-
apsidalPeriodYearsAtYear: (year) => (Math.abs(year - 2000) <= ONE_FAMILY_WINDOW_YEARS ?
|
|
1503
|
+
/** The apsidal (perihelion vs the stars) period of date, JULIAN years — the ONE movement's own apsidal rate (the scene's perihelion; anom/(anom − sid) of the one family, ≡ 360°/apsidalRateFixedArcsecPerJulianYr), inside the published window only; null beyond. Before 2026-09 this rode the planet chain's secular tangent, which parted from the scene's perihelion passages by seconds of anomalistic year within a few millennia (year-lengths.cjs). @param {number} year @returns {number|null} */
|
|
1504
|
+
apsidalPeriodYearsAtYear: (year) => (Math.abs(year - 2000) <= ONE_FAMILY_WINDOW_YEARS ? yearLengthsM.inclinationPrecessionYearsAtYear(year) : null),
|
|
1492
1505
|
/** T_aps(t) / T_p(t) — the apsidal period in of-date precession periods (4.33 at J2000, a reading; 0.84 … 9.9 across ±26 kyr, measured); null beyond the published window. @param {number} year @returns {number|null} */
|
|
1493
1506
|
apsidalPerPrecessionAtYear: (year) => {
|
|
1494
1507
|
if (Math.abs(year - 2000) > ONE_FAMILY_WINDOW_YEARS) return null;
|
|
1495
|
-
return (
|
|
1508
|
+
return yearLengthsM.inclinationPrecessionYearsAtYear(year) / publishedAxialPrecessionYearsAtYear(year);
|
|
1496
1509
|
},
|
|
1497
|
-
/** T_peri(t) = 1/(1/T_p + 1/T_aps) — the perihelion-of-date period (equinox precession + inertial perihelion motion, frame arithmetic at every epoch), years, on the of-date T_p; null beyond the published window. @param {number} year @returns {number|null} */
|
|
1510
|
+
/** T_peri(t) = 1/(1/T_p + 1/T_aps) — the perihelion-of-date period (equinox precession + inertial perihelion motion, frame arithmetic at every epoch), JULIAN years, on the of-date T_p — ≡ the one family's anom/(anom − trop); null beyond the published window. @param {number} year @returns {number|null} */
|
|
1498
1511
|
periOfDatePeriodYearsAtYear: (year) => {
|
|
1499
1512
|
if (Math.abs(year - 2000) > ONE_FAMILY_WINDOW_YEARS) return null;
|
|
1500
|
-
const tp = publishedAxialPrecessionYearsAtYear(year), taps =
|
|
1513
|
+
const tp = publishedAxialPrecessionYearsAtYear(year), taps = yearLengthsM.inclinationPrecessionYearsAtYear(year);
|
|
1501
1514
|
return 1 / (1 / tp + 1 / taps);
|
|
1502
1515
|
},
|
|
1503
1516
|
/** T_peri(t) / T_p(t) (0.812 at J2000 — the J2000 reading); null beyond the published window. @param {number} year @returns {number|null} */
|
|
1504
1517
|
periOfDatePerPrecessionAtYear: (year) => {
|
|
1505
1518
|
if (Math.abs(year - 2000) > ONE_FAMILY_WINDOW_YEARS) return null;
|
|
1506
|
-
const tp = publishedAxialPrecessionYearsAtYear(year), taps =
|
|
1519
|
+
const tp = publishedAxialPrecessionYearsAtYear(year), taps = yearLengthsM.inclinationPrecessionYearsAtYear(year);
|
|
1507
1520
|
return (1 / (1 / tp + 1 / taps)) / tp;
|
|
1508
1521
|
},
|
|
1509
1522
|
/** The published of-date window, years from 2000. */
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
'use strict';
|
|
18
18
|
|
|
19
|
-
const DEEP_MODES_ARTIFACT_HASH = "
|
|
19
|
+
const DEEP_MODES_ARTIFACT_HASH = "cbdc477b7442c333";
|
|
20
20
|
|
|
21
|
-
const DEEP_MODES_ARTIFACT = Object.freeze({"meta":{"integrator":"wh","order":2,"dtDays":2,"spanYears":20000000,"sampleDays":20000,"gr":true,"seed":"JPL Horizons J2000 heliocentric state vectors (tools/explore/j2000-state.mjs, the one home)","masses":"DE440 mass ratios (astro-reference physicalConstants)","runCommand":"node tools/explore/lattice-long-window-test.mjs years=20000000 integrator=wh dt=2 order=2 gr=1 frame=both sample=20000","dumpFile":"tools/explore/lattice-long-window-ecliptic-20000000-gr.local.json (untracked, 337 MB)","dumpSha256":"686d6af51a689f7bd64ac1e2d8b26c243a4beccdacd3167adfeeae078e8b990f","conservationMaxDE":1.2738960401328902e-8,"decimation":4,"naffTerms":18,"naffZetaTerms":16,"naffZetaTermsEra":8,"frame":"ecliptic-J2000 (z-modes for the lunar-chain e; ζ-modes for the Stage-C obliquity hybrid — the invariable-frame ζ table remains unbanked, no consumer)","laskarRef":"Laskar, J. et al. (2004), A&A 428, 261–285, Table 3 (theory reference labels)"},"verdict":{"strongestBeatPeriodKyr":405.625567477903,"strongestBeatArcsecPerYr":3.195064867479295,"la2004BeatPeriodKyr":405.6972922210049,"rockMetronomeKyr":405.6,"companion124Kyr":123.84617993487997,"companion95Kyr":94.87791796545507,"earthLeadingModesArcsecPerYr":[4.257358971029763,7.452423838509057,17.917017907389138,17.368946405872247],"topBeatLines":[{"periodKyr":405.625567477903,"productAmp":0.0003123310080848341},{"periodKyr":94.87791796545507,"productAmp":0.00024338439758855827},{"periodKyr":123.84617993487997,"productAmp":0.00020980875877847502},{"periodKyr":98.84386665157218,"productAmp":0.00016694824937892253},{"periodKyr":130.6909747037068,"productAmp":0.00014391721626151482},{"periodKyr":2364.6549700414625,"productAmp":0.00011214770251987629},{"periodKyr":972.3103697584877,"productAmp":0.00007218142389142678},{"periodKyr":695.9670418382926,"productAmp":0.00006222377072471454}],"note":"g5 matches La2004 to 0.0002 ″/yr; the beat gap vs 405.6 is g2 (chaotic-diffusion window sensitivity + omitted separate-Moon/asteroid terms) — the anatomy is the plan’s Stage-B record."},"earthZ":[{"omegaRadPerYr":0.000020640258745496456,"re":0.01640837548946667,"im":0.00964771830356857},{"omegaRadPerYr":0.00003613037034336034,"re":-0.015519645105303494,"im":-0.005327718511512781},{"omegaRadPerYr":0.00008686415406186803,"re":-0.011108307303646387,"im":0.0063324002417276355},{"omegaRadPerYr":0.00008420702844025169,"re":0.005504442820656899,"im":-0.006828487155118338},{"omegaRadPerYr":0.000027102377738159537,"re":0.0005990602912422896,"im":0.0037445139104202996},{"omegaRadPerYr":0.00008284690006982035,"re":0.002385900412412394,"im":0.0008687520930649916},{"omegaRadPerYr":0.00008551634076169395,"re":0.0012667960543480752,"im":0.001284547912075711},{"omegaRadPerYr":0.00008156882804453768,"re":-0.0003413759390549155,"im":0.0016823570425905205},{"omegaRadPerYr":0.000033456117700854,"re":-0.0012412588643094782,"im":0.0009318258971565654},{"omegaRadPerYr":0.00013693625799603712,"re":-0.0009261214276803977,"im":0.0011910509606790575},{"omegaRadPerYr":0.00008736463294475958,"re":0.0013199280789047622,"im":0.0009530586967429039},{"omegaRadPerYr":0.00008630679999141721,"re":-0.00038871245410104777,"im":0.0009912036911146165},{"omegaRadPerYr":0.000026453632677170472,"re":-0.00032615534646350156,"im":-0.0018102501817831135},{"omegaRadPerYr":0.000034145978925786535,"re":0.0009480778866315119,"im":-0.0008230502200947101},{"omegaRadPerYr":0.00003548085475024487,"re":-0.0013007947815593653,"im":-0.00042439393044846465},{"omegaRadPerYr":0.00008951127418467436,"re":-0.0010559339979945592,"im":-0.000005975184481501219},{"omegaRadPerYr":0.00008814769888639652,"re":-0.0003392982459796931,"im":-0.00126615007571311},{"omegaRadPerYr":0.000027692559180942054,"re":0.0004455147622140075,"im":0.0013147856084997915}],"earthZeta":[{"omegaRadPerYr":-6.480692835562015e-14,"re":-0.004134427250631887,"im":0.013144207689667023},{"omegaRadPerYr":-0.00009139020514696892,"re":-0.003762846299946732,"im":-0.007417313993526907},{"omegaRadPerYr":-0.00002707802193107254,"re":0.004228758817782956,"im":0.001552899971393225},{"omegaRadPerYr":-0.00008608086641122392,"re":0.0012161313006493822,"im":-0.0038454411181687697},{"omegaRadPerYr":-0.00003414305478233622,"re":-0.0030829972319892183,"im":0.002522672469285971},{"omegaRadPerYr":-0.00008873899569559657,"re":-0.00020769480131372744,"im":-0.0026850953462850356},{"omegaRadPerYr":-0.00003333897395226539,"re":0.0006468387853619108,"im":-0.0008212555187612507},{"omegaRadPerYr":-0.000034707554013716744,"re":0.0012115602030611985,"im":-0.0008603813396121053},{"omegaRadPerYr":-0.00009404694793046069,"re":0.001124843496312146,"im":0.0009724617908785189},{"omegaRadPerYr":-0.00002647193861971907,"re":0.001606075294689031,"im":0.0005931944911952478},{"omegaRadPerYr":-0.00003277702706161178,"re":0.0005051745779261483,"im":-0.0006705412769950699},{"omegaRadPerYr":-0.00012773805775388969,"re":-0.0008122347824469044,"im":0.0010593881606687687},{"omegaRadPerYr":-0.00009269956713813446,"re":-0.0006909282558950976,"im":0.0004135096481099148},{"omegaRadPerYr":-0.000014507597324441827,"re":-0.0006470785128404058,"im":0.00057746649029071},{"omegaRadPerYr":-0.000033761896788929335,"re":0.001157822428032179,"im":-0.000690971407290411},{"omegaRadPerYr":-0.000028297573329000286,"re":-0.0011184968821771682,"im":-0.0003885179122647609}],"earthZetaEra":[{"omegaRadPerYr":-6.480692835562015e-14,"re":-0.004136170228858843,"im":0.013147349898750587},{"omegaRadPerYr":-0.00009139020514696892,"re":-0.0037451120264298888,"im":-0.007367103224447289},{"omegaRadPerYr":-0.00002707802193107254,"re":0.004192460536906565,"im":0.0015465498581850507},{"omegaRadPerYr":-0.00008608086641122392,"re":0.0012039767467140353,"im":-0.0038572667358382287},{"omegaRadPerYr":-0.00003414305478233622,"re":-0.0032014533879969596,"im":0.0025701217059533803},{"omegaRadPerYr":-0.00008873899569559657,"re":-0.00021856508120855303,"im":-0.002669820778092242},{"omegaRadPerYr":-0.00003333897395226539,"re":0.0003478573166468341,"im":-0.0006130210720886913},{"omegaRadPerYr":-0.000034707554013716744,"re":0.0012188003710118757,"im":-0.000879354385952938}],"planetLeadingZetaArcsecPerYr":{"mercury":-5.583654095308831,"venus":-18.85062201283722,"earth":-18.850582957521933,"mars":-17.75551746317749,"jupiter":-26.34785064223289,"saturn":-26.34785063789155,"uranus":-2.992403454072025,"neptune":-0.6916261380439003},"planetZ":{"mercury":[{"omegaRadPerYr":0.000027101464787379005,"re":0.036443059874745144,"im":0.15312012416846857},{"omegaRadPerYr":0.00002645682320158395,"re":-0.014115236278813163,"im":-0.07933183704397909},{"omegaRadPerYr":0.000027695768774324655,"re":0.014883065162550294,"im":0.04770421699238349},{"omegaRadPerYr":0.000020608825679123343,"re":0.0339424735092415,"im":0.0205886131133393},{"omegaRadPerYr":0.00003613198806683821,"re":0.026373724217244415,"im":0.007998632845938181},{"omegaRadPerYr":0.000025943085765069145,"re":-0.00008287402030671245,"im":0.01382534867142278},{"omegaRadPerYr":0.000021259366308985905,"re":-0.010921101889740678,"im":-0.005391042758241112},{"omegaRadPerYr":0.000033442897144222473,"re":-0.006298873452719107,"im":0.004846731368887027},{"omegaRadPerYr":0.000027342847424225136,"re":-0.031441801079617394,"im":-0.0012828182325896284},{"omegaRadPerYr":0.000026863603353307064,"re":-0.0023658597755055214,"im":0.03845436133115692},{"omegaRadPerYr":0.000029077390952304336,"re":-0.0056672065762804385,"im":0.008668504999729803},{"omegaRadPerYr":0.000025324686199132127,"re":-0.005942232736715857,"im":-0.012274661661212959},{"omegaRadPerYr":0.00002979754974875923,"re":0.0008097924308674098,"im":-0.0064472013829302505},{"omegaRadPerYr":0.000019992412184743173,"re":0.012472217201012077,"im":0.00359833652112381},{"omegaRadPerYr":0.00002454697962536287,"re":0.0020556509667169235,"im":0.0009916346793612978},{"omegaRadPerYr":0.00002812715748715012,"re":-0.002051758629227311,"im":-0.0033287955771129805},{"omegaRadPerYr":0.000019449369227596397,"re":-0.0038021090567115627,"im":-0.0028426209995905025}],"venus":[{"omegaRadPerYr":0.00003613032718771122,"re":-0.020105324941805183,"im":-0.006917696377202324},{"omegaRadPerYr":0.000020639950705137238,"re":0.017068955357371025,"im":0.010006500628836495},{"omegaRadPerYr":0.00008686450325171618,"re":0.011426811376444728,"im":-0.006520605414974846},{"omegaRadPerYr":0.00008420762005329659,"re":-0.006892443369184228,"im":0.008472548929406779},{"omegaRadPerYr":0.000027101843398089462,"re":0.0009492363872320767,"im":0.005898626241129876},{"omegaRadPerYr":0.00008284929259321451,"re":-0.0030327325912061806,"im":-0.0010976776908548803},{"omegaRadPerYr":0.00008156590133143486,"re":0.0004654494107565469,"im":-0.002280587631810283},{"omegaRadPerYr":0.00003345630943302872,"re":-0.0017828402597892042,"im":0.0012954758789217673},{"omegaRadPerYr":0.00008551538095828359,"re":-0.0011609215700463195,"im":-0.0012677518151850962},{"omegaRadPerYr":0.00002645314323665865,"re":-0.0005187468879242992,"im":-0.0028561425016264542},{"omegaRadPerYr":0.000034145633629733906,"re":0.0012933573208605794,"im":-0.001139818586425855},{"omegaRadPerYr":0.00002769519215699273,"re":0.000692247567326856,"im":0.0020562801187020375},{"omegaRadPerYr":0.00003548134649993586,"re":-0.0017504367473210652,"im":-0.0005759353131695786},{"omegaRadPerYr":0.00008736396981192052,"re":-0.0013474628838071549,"im":-0.000992885318268049},{"omegaRadPerYr":0.00008630854715331631,"re":0.0003763610849158857,"im":-0.0010611470059873186},{"omegaRadPerYr":0.00003678579378710168,"re":0.0015965344500683718,"im":0.0003260227593096117},{"omegaRadPerYr":0.00008814539612129297,"re":0.00043027029421162,"im":0.0012698103607611786},{"omegaRadPerYr":0.00009215946508724939,"re":-0.0008157163462856423,"im":-0.0001752965015353975}],"mars":[{"omegaRadPerYr":0.00008686194427246272,"re":0.04150468181977603,"im":-0.02235805720891878},{"omegaRadPerYr":0.00008420997062723613,"re":0.024191159406394575,"im":-0.02897798440552211},{"omegaRadPerYr":0.000020640675066908026,"re":0.01752920390659033,"im":0.010379054381833624},{"omegaRadPerYr":0.00008155902048560256,"re":-0.005126487019269018,"im":0.017498780322239615},{"omegaRadPerYr":0.00008951470797098792,"re":0.012453460704855819,"im":-0.0011162639997386022},{"omegaRadPerYr":0.00008286071984936754,"re":0.012151786749976757,"im":0.005285572685028835},{"omegaRadPerYr":0.00008552376356754678,"re":-0.008207026797923043,"im":-0.006506174683766466},{"omegaRadPerYr":0.00013693612216296713,"re":-0.004303426290032767,"im":0.005495751915005897},{"omegaRadPerYr":0.0000863140674359666,"re":0.003378196925346155,"im":-0.0035707297870487854},{"omegaRadPerYr":0.00009216418711866517,"re":0.004180141329638833,"im":0.001239878529646219},{"omegaRadPerYr":0.00008815294634884687,"re":0.0015478422945863473,"im":0.005394318221250823},{"omegaRadPerYr":0.00008737006869414014,"re":-0.004859264335556832,"im":-0.002468706141182086},{"omegaRadPerYr":0.00008474936320624016,"re":-0.0037175110079883836,"im":0.0005712305102614905},{"omegaRadPerYr":0.00003613060911836741,"re":-0.002878165082426005,"im":-0.0009813871463689},{"omegaRadPerYr":0.00008323445042360793,"re":-0.0021030674464516,"im":0.002382835034113347},{"omegaRadPerYr":0.00008591714206468895,"re":0.00033705398396163035,"im":-0.0031641077910174956},{"omegaRadPerYr":0.00008022543440532314,"re":0.0014077256319658448,"im":0.00023992196561432362},{"omegaRadPerYr":0.0000900335871717643,"re":-0.0007652388036231974,"im":-0.0015581764537776826}],"jupiter":[{"omegaRadPerYr":0.00002064075395335189,"re":0.038028034576741906,"im":0.022474419029067216},{"omegaRadPerYr":0.00013693627466777967,"re":0.009616177715621049,"im":-0.012410735192913122},{"omegaRadPerYr":0.000014970699552264387,"re":-0.0009276176888746422,"im":0.0015645820896462246},{"omegaRadPerYr":0.00025323179539978545,"re":0.0004059157737100984,"im":0.00040456376985595945},{"omegaRadPerYr":0.0001312662749926737,"re":-0.00015614354905163857,"im":-0.00012183629827031596},{"omegaRadPerYr":0.0001426061431474546,"re":-0.00015326196073912603,"im":-0.00011811188348776635},{"omegaRadPerYr":0.00014000309579914057,"re":0.00010317940519689781,"im":0.00006505029768233116},{"omegaRadPerYr":0.00013386863466366606,"re":0.00007960628300069755,"im":0.0000757581826985722},{"omegaRadPerYr":0.0012496810113814863,"re":3.5498901583457483e-9,"im":7.528217439557287e-9}],"saturn":[{"omegaRadPerYr":0.00013693627469533272,"re":-0.02951381641782599,"im":0.038116342187048506},{"omegaRadPerYr":0.000020640753964721574,"re":0.028361784183640975,"im":0.016761738089661193},{"omegaRadPerYr":0.0002532317954411971,"re":-0.0013588658390314074,"im":-0.0013542513704600167},{"omegaRadPerYr":0.000014970698207898392,"re":-0.0007732461228524056,"im":0.0013033726384504506},{"omegaRadPerYr":0.00013126626734545323,"re":0.000471597345592877,"im":0.0003662972802790016},{"omegaRadPerYr":0.00014260613959102947,"re":0.00046558535071819594,"im":0.0003604428232502375},{"omegaRadPerYr":0.0012496810120112478,"re":-2.2413816213183782e-8,"im":-4.3761227707856587e-8}],"uranus":[{"omegaRadPerYr":0.000020640753931894893,"re":-0.03238248798724911,"im":-0.019137541918709554},{"omegaRadPerYr":0.00001497070511159062,"re":-0.014798949407797135,"im":0.024975442503237483},{"omegaRadPerYr":0.000003264464996922227,"re":0.00045075801975650074,"im":0.0016050091168723338},{"omegaRadPerYr":0.00013693627457864556,"re":0.0009471352229324553,"im":-0.0012234989208774374},{"omegaRadPerYr":0.00000929092310040761,"re":-0.0004015633445553787,"im":-0.0002340983045129561},{"omegaRadPerYr":0.00002631265778975313,"re":0.00022664443272842668,"im":-0.0003767093309339966},{"omegaRadPerYr":0.000014377069742263513,"re":0.00005819778777828242,"im":-0.00005910629719132463},{"omegaRadPerYr":0.000630109378889249,"re":-1.1513321171782036e-7,"im":2.121111820496366e-7}],"neptune":[{"omegaRadPerYr":0.000003264141494649585,"re":0.0024665853980857314,"im":0.008775596228059238},{"omegaRadPerYr":0.000014970655663003607,"re":0.0018888606403837439,"im":-0.0031894015693886913},{"omegaRadPerYr":0.00002064075339053921,"re":0.001629524897365034,"im":0.0009616466536353474},{"omegaRadPerYr":-0.00011593914172939557,"re":7.926785905418971e-8,"im":-4.6685992002385664e-8}]},"planetZeta":{"mercury":[{"omegaRadPerYr":-0.000027070318959890106,"re":0.03509799360084889,"im":0.012514361334229175},{"omegaRadPerYr":-0.000034136904111019706,"re":0.02695969560580955,"im":-0.02182848736661456},{"omegaRadPerYr":-0.000034710315380555884,"re":-0.012559168496773116,"im":0.008299078079729882},{"omegaRadPerYr":-0.00002646765287895232,"re":0.015448524016084493,"im":0.005987672372630069},{"omegaRadPerYr":-0.00003340798156431758,"re":-0.006455019023356067,"im":0.006226120154816196},{"omegaRadPerYr":5.384799590336571e-11,"re":-0.0039804878272654606,"im":0.013070100663895403},{"omegaRadPerYr":-0.000032847026422583094,"re":-0.0057003023891457685,"im":0.005259105004808747},{"omegaRadPerYr":-0.00003594792939956603,"re":-0.0012961241060881503,"im":0.0016159947697806383},{"omegaRadPerYr":-0.000025076126902622893,"re":0.0009463621131951934,"im":0.004877886245061111},{"omegaRadPerYr":-0.00003524962055187364,"re":0.0036108114629212922,"im":-0.004623693257308201},{"omegaRadPerYr":-0.000024475658963257535,"re":0.000022935888716433717,"im":-0.004353014017229704},{"omegaRadPerYr":-0.00003379278995294136,"re":-0.007806785352862373,"im":0.004006431979329447},{"omegaRadPerYr":-0.00003218755893963215,"re":-0.003704818024406685,"im":0.0011960062285103251},{"omegaRadPerYr":-0.000028313967733473683,"re":-0.007360063597313632,"im":-0.002796682485956438},{"omegaRadPerYr":-0.000027441506455909732,"re":0.005714284626147598,"im":-0.00031320953109534994},{"omegaRadPerYr":-0.000025718824169110346,"re":-0.00022772395090882533,"im":-0.00196911848110608}],"venus":[{"omegaRadPerYr":-1.6493179814802074e-12,"re":-0.0041316378307605294,"im":0.013147230899595441},{"omegaRadPerYr":-0.00009139039449248062,"re":0.004107318311959544,"im":0.008097727638340723},{"omegaRadPerYr":-0.000027077829093903624,"re":0.005723184464233101,"im":0.002103989760517981},{"omegaRadPerYr":-0.0000860809730098796,"re":-0.0017575781212555862,"im":0.005497182235759365},{"omegaRadPerYr":-0.00003414333446857137,"re":-0.0036683665695228925,"im":0.0029729549111848722},{"omegaRadPerYr":-0.0000887389845132903,"re":0.00017437292720263114,"im":0.002839346558623874},{"omegaRadPerYr":-0.00003332402755350087,"re":0.0008226456090349229,"im":-0.000990196523458664},{"omegaRadPerYr":-0.00003470699633273722,"re":0.0013981977987789472,"im":-0.0010036696718058783},{"omegaRadPerYr":-0.00002647213755615405,"re":0.002192723581813546,"im":0.0008156688371823413},{"omegaRadPerYr":-0.00009404722529229626,"re":-0.001310202146639285,"im":-0.0011534120915617934},{"omegaRadPerYr":-0.00003276165702381588,"re":0.0005497404769706646,"im":-0.0007663000693998108},{"omegaRadPerYr":-0.00009269906010008638,"re":0.000774314512799505,"im":-0.0004388675219967948},{"omegaRadPerYr":-0.00003375443573456643,"re":0.0014500491408612449,"im":-0.0008824349886108636},{"omegaRadPerYr":-0.000014507610514643914,"re":-0.0007092452594379532,"im":0.000644027430133631},{"omegaRadPerYr":-0.00002829966619518156,"re":-0.0015021530175610535,"im":-0.0005258063199032051},{"omegaRadPerYr":-0.00003214220556483202,"re":0.0006661181436053425,"im":-0.0002653316593905635}],"mars":[{"omegaRadPerYr":-0.00008608117781327729,"re":0.01021076871109231,"im":-0.03356452939087538},{"omegaRadPerYr":-0.00009138911102981668,"re":0.006448673929855857,"im":0.013039152420792278},{"omegaRadPerYr":4.816071417209985e-13,"re":-0.004136702437859971,"im":0.013131620521733377},{"omegaRadPerYr":-0.00008873924259238756,"re":0.000719141598532243,"im":0.006332417454417071},{"omegaRadPerYr":-0.00008342553512204505,"re":-0.003385387773112122,"im":0.004320169865314299},{"omegaRadPerYr":-0.00012773796958870522,"re":-0.002768952254262225,"im":0.0036533714419055593},{"omegaRadPerYr":-0.00008732462124121245,"re":0.002315330060230354,"im":0.00021373005960354581},{"omegaRadPerYr":-0.00008533729428600537,"re":0.0000662084835502976,"im":0.0014041635383156973},{"omegaRadPerYr":-0.0000927013779034122,"re":0.0012004630656653568,"im":-0.0007842461095443991},{"omegaRadPerYr":-0.00008675666306804544,"re":0.0007084511153542455,"im":-0.0008188292363296188},{"omegaRadPerYr":-0.00008568093272163965,"re":-0.0022269947606386804,"im":-0.0002915189256492408},{"omegaRadPerYr":-0.0000920127905544982,"re":-0.00012713738691022227,"im":0.0011838067237884178},{"omegaRadPerYr":-0.00008937418687447559,"re":-0.0002755627620382867,"im":0.0007026683188238479},{"omegaRadPerYr":-0.00002707848026399503,"re":0.0008884002528900317,"im":0.00034005750138313076},{"omegaRadPerYr":-0.00009092889696047022,"re":-0.00043281332848104276,"im":0.0003922132913606256},{"omegaRadPerYr":-0.00009004802546465118,"re":0.0008966966123701487,"im":-0.0005174229841345629}],"jupiter":[{"omegaRadPerYr":3.8532251623886294e-13,"re":-0.0041611376264940984,"im":0.013131043712311021},{"omegaRadPerYr":-0.0001277379845918518,"re":0.0019098261437600508,"im":-0.002505661007425496},{"omegaRadPerYr":-0.000003353110004279269,"re":0.0005277820779376669,"im":0.000232885172945674},{"omegaRadPerYr":-0.000014507601866590341,"re":-0.0003702089817814631,"im":0.00030787406163905093},{"omegaRadPerYr":-0.00013080293768331143,"re":-0.000017471248168841094,"im":-0.00001634692544524867},{"omegaRadPerYr":-0.000011442276716160314,"re":0.000012459821928796665,"im":0.00001269474660145274},{"omegaRadPerYr":0.0004016105340997148,"re":0.000008813036156379482,"im":-0.00001120905836048329},{"omegaRadPerYr":-0.00000882703119796523,"re":0.000007828457504338726,"im":0.000007811495266844502},{"omegaRadPerYr":-0.00002707681546885972,"re":-0.000009044718068424064,"im":-0.0000033400395822585094},{"omegaRadPerYr":-0.0000201768700641032,"re":0.000006156498033523465,"im":0.00000751705596830829},{"omegaRadPerYr":0.0002853150225305461,"re":0.000007292599938644516,"im":0.0000043773896212603925},{"omegaRadPerYr":-0.0002440335075107546,"re":0.000006274454282046377,"im":0.0000036485466831589452},{"omegaRadPerYr":0.00016901949668819092,"re":-0.000002519428503521004,"im":0.000005678550409035692},{"omegaRadPerYr":-0.0000027587103410433805,"re":0.000005899853582363865,"im":8.409148783838858e-7},{"omegaRadPerYr":-0.000034144381407487655,"re":0.000004719652715449978,"im":-0.0000037247689900126893},{"omegaRadPerYr":-0.00013340793710151563,"re":0.0000036153371332643194,"im":0.0000026473096931137383}],"saturn":[{"omegaRadPerYr":3.404546335777438e-13,"re":-0.004160815341357166,"im":0.01313037085706424},{"omegaRadPerYr":-0.0001277379845708044,"re":-0.004757531229884148,"im":0.0062418570697877025},{"omegaRadPerYr":-0.000003353103939425025,"re":0.0005082525979425591,"im":0.0002243582817470411},{"omegaRadPerYr":-0.000014507604683407504,"re":-0.0003003418401293427,"im":0.0002498658928695802},{"omegaRadPerYr":-0.00013080297316369022,"re":0.00004462521372870775,"im":0.00004172396328086738},{"omegaRadPerYr":0.0004016105342059343,"re":-0.000021890424766638027,"im":0.00002784479607678065},{"omegaRadPerYr":0.00028531501227593826,"re":-0.000016971705234483944,"im":-0.000010207779625167536},{"omegaRadPerYr":0.00016901949653661777,"re":0.000006353117499272568,"im":-0.000014464465864357296},{"omegaRadPerYr":-0.00002707712299185719,"re":-0.000011819853659803773,"im":-0.000004343694032290057},{"omegaRadPerYr":-0.00008608110335393078,"re":-0.0000038556316501964585,"im":0.000012260170759195859},{"omegaRadPerYr":-0.00013340770427701983,"re":-0.000008291647540272973,"im":-0.0000060449324319747485},{"omegaRadPerYr":-0.00012206708504485138,"re":-0.000007846468613598666,"im":-0.000006177485716796176},{"omegaRadPerYr":-0.000008827506775295263,"re":0.000006912239479621683,"im":0.0000070997530164759055},{"omegaRadPerYr":-0.00024403351156152198,"re":-0.000006770600853713768,"im":-0.000003936350447344142},{"omegaRadPerYr":-0.0009675113430843807,"re":-0.000004521653063656594,"im":-0.000006119593231226156},{"omegaRadPerYr":-0.000034143979713964837,"re":0.000006837682774689789,"im":-0.000005331591672335383}],"uranus":[{"omegaRadPerYr":1.609741252182826e-12,"re":-0.004160857683169045,"im":0.01312987468744944},{"omegaRadPerYr":-0.000014507581339335488,"re":0.006819771098312077,"im":-0.005674555448618447},{"omegaRadPerYr":-0.0000033533175354118582,"re":-0.0005101607663847248,"im":-0.00022431030942694354},{"omegaRadPerYr":-0.00012773798595007094,"re":0.00021390993605577627,"im":-0.00028068024741796866},{"omegaRadPerYr":-0.000011442390269999423,"re":-0.00021565535141600253,"im":-0.0002150430588126844},{"omegaRadPerYr":-0.000020175380767861024,"re":-0.00012178417740316124,"im":-0.0001456136848907788},{"omegaRadPerYr":-0.00000883157541584528,"re":-0.00012271282922940013,"im":-0.0001340577820362881},{"omegaRadPerYr":-0.000015103884918843288,"re":-0.00005803301762598432,"im":0.000026178909117342292},{"omegaRadPerYr":-0.000005772310491116802,"re":0.000018629424113074064,"im":-0.000018786863001070623},{"omegaRadPerYr":0.000055789019292025894,"re":-0.000003583719865681113,"im":0.00001877185158848246},{"omegaRadPerYr":0.00005011887511064967,"re":0.000011951449395631811,"im":0.000002279724016800827},{"omegaRadPerYr":-0.000027076655469348425,"re":0.000008609833687019483,"im":0.0000039638140159356984},{"omegaRadPerYr":-0.00013080298640432038,"re":-0.000007760607234183951,"im":-0.000007178734351197981},{"omegaRadPerYr":-0.000009192811893081681,"re":-0.000006996875336880973,"im":0.000009870536991923898},{"omegaRadPerYr":-0.000014175491386338482,"re":-0.00001270447511881092,"im":0.000007778091287202746},{"omegaRadPerYr":0.00010178796581047778,"re":-0.000004042702368549757,"im":-0.000006403994609904075}],"neptune":[{"omegaRadPerYr":-5.309966632404278e-12,"re":-0.004159721990836072,"im":0.013130987686676325},{"omegaRadPerYr":-0.000003353098139366354,"re":-0.005314734202759442,"im":-0.0023457634229809878},{"omegaRadPerYr":-0.000014507473764320118,"re":-0.0008167253455895104,"im":0.000679803323619701},{"omegaRadPerYr":-0.00001144267951307936,"re":0.00004103714819598339,"im":0.00004000434297961395},{"omegaRadPerYr":-0.0000027576446795887367,"re":-0.00006149846188777267,"im":-0.000008691440917605258},{"omegaRadPerYr":-0.000127737982036136,"re":0.000022941259364012485,"im":-0.000030013884419629694},{"omegaRadPerYr":-0.00002017340325592398,"re":0.00001785684479351327,"im":0.000021295006716797693},{"omegaRadPerYr":-0.000008980453563447026,"re":-0.0000018701512064522262,"im":0.000017342410863083055},{"omegaRadPerYr":0.0000022940676061081706,"re":-0.000008135256823034523,"im":0.0000159660700897465},{"omegaRadPerYr":-0.000005773430993827179,"re":-0.000010150670472290044,"im":0.000012347455189860531},{"omegaRadPerYr":-0.0000036886914876550886,"re":-0.000013289694939214323,"im":-0.000004967461981751487},{"omegaRadPerYr":-0.000015103364422159208,"re":0.000008447715112089554,"im":-0.0000038128138702162122},{"omegaRadPerYr":0.0000029055921239641946,"re":1.0991164784154305e-8,"im":-0.00000667040982519229},{"omegaRadPerYr":0.000050117959348442586,"re":-0.000005129825896938048,"im":-0.0000010095666431561402},{"omegaRadPerYr":0.0000389783728602118,"re":-0.000002068034832737985,"im":0.000002775618631657745}]},"anchorE":0.016702435651957018,"anchorPeriEclipticDeg":462.9179213996577,"anchorInclEclipticDeg":0.00010345820355474172,"anchorAscNodeEclipticDeg":140.29217988414328,"anchorZDotPerYr":[-8.21997e-7,-6.231489999999999e-7],"slopeTaperYears":27943.083333333332});
|
|
21
|
+
const DEEP_MODES_ARTIFACT = Object.freeze({"meta":{"integrator":"wh","order":2,"dtDays":2,"spanYears":20000000,"sampleDays":20000,"gr":true,"seed":"JPL Horizons J2000 heliocentric state vectors (tools/explore/j2000-state.mjs, the one home)","masses":"DE440 mass ratios (astro-reference physicalConstants)","runCommand":"node tools/explore/lattice-long-window-test.mjs years=20000000 integrator=wh dt=2 order=2 gr=1 frame=both sample=20000 lunar=1 asteroids=1","physics":{"lunarQuadrupole":{"qTilde":0.012002947703527635,"aEmKm":384399.07,"effectiveFactor":0.8537,"provenance":"calibrated against the real-Moon RK4 triple (apsidal-fidelity-sweep RM/RQ)"},"asteroids":{"ceres":62.6284,"pallas":13.63,"vesta":17.28828}},"dumpFile":"tools/explore/lattice-long-window-ecliptic-20000000-gr.local.json (untracked, 337 MB)","dumpSha256":"686d6af51a689f7bd64ac1e2d8b26c243a4beccdacd3167adfeeae078e8b990f","conservationMaxDE":1.2738960401328902e-8,"decimation":4,"naffTerms":18,"naffZetaTerms":16,"naffZetaTermsEra":8,"frame":"ecliptic-J2000 (z-modes for the lunar-chain e; ζ-modes for the Stage-C obliquity hybrid — the invariable-frame ζ table remains unbanked, no consumer)","laskarRef":"Laskar, J. et al. (2004), A&A 428, 261–285, Table 3, as tabulated beside La2010a in Laskar et al. (2011), A&A 532, A89, Table 6 (theory reference labels)"},"verdict":{"strongestBeatPeriodKyr":405.625567477903,"strongestBeatArcsecPerYr":3.195064867479295,"la2004BeatPeriodKyr":405.6972922210049,"rockMetronomeKyr":405.6,"companion124Kyr":123.84617993487997,"companion95Kyr":94.87791796545507,"earthLeadingModesArcsecPerYr":[4.257358971029763,7.452423838509057,17.917017907389138,17.368946405872247],"topBeatLines":[{"periodKyr":405.625567477903,"productAmp":0.0003123310080848341},{"periodKyr":94.87791796545507,"productAmp":0.00024338439758855827},{"periodKyr":123.84617993487997,"productAmp":0.00020980875877847502},{"periodKyr":98.84386665157218,"productAmp":0.00016694824937892253},{"periodKyr":130.6909747037068,"productAmp":0.00014391721626151482},{"periodKyr":2364.6549700414625,"productAmp":0.00011214770251987629},{"periodKyr":972.3103697584877,"productAmp":0.00007218142389142678},{"periodKyr":695.9670418382926,"productAmp":0.00006222377072471454}],"note":"g5 matches La2004 to 0.0001 ″/yr and g2 (7.4524) to 0.0004 ″/yr (La2004 7.452, La2010a 7.453) — the point-mass run read 7.4230 (EMB merged, no asteroids; the pre-lunar dump), 0.029 ″/yr low; the lunar quadrupole + asteroids this run carries supply 0.0294 ″/yr (the lab’s asteroid effect on Earth is null, so it is the Moon) and close that gap — doc 109 §17."},"earthZ":[{"omegaRadPerYr":0.000020640258745496456,"re":0.01640837548946667,"im":0.00964771830356857},{"omegaRadPerYr":0.00003613037034336034,"re":-0.015519645105303494,"im":-0.005327718511512781},{"omegaRadPerYr":0.00008686415406186803,"re":-0.011108307303646387,"im":0.0063324002417276355},{"omegaRadPerYr":0.00008420702844025169,"re":0.005504442820656899,"im":-0.006828487155118338},{"omegaRadPerYr":0.000027102377738159537,"re":0.0005990602912422896,"im":0.0037445139104202996},{"omegaRadPerYr":0.00008284690006982035,"re":0.002385900412412394,"im":0.0008687520930649916},{"omegaRadPerYr":0.00008551634076169395,"re":0.0012667960543480752,"im":0.001284547912075711},{"omegaRadPerYr":0.00008156882804453768,"re":-0.0003413759390549155,"im":0.0016823570425905205},{"omegaRadPerYr":0.000033456117700854,"re":-0.0012412588643094782,"im":0.0009318258971565654},{"omegaRadPerYr":0.00013693625799603712,"re":-0.0009261214276803977,"im":0.0011910509606790575},{"omegaRadPerYr":0.00008736463294475958,"re":0.0013199280789047622,"im":0.0009530586967429039},{"omegaRadPerYr":0.00008630679999141721,"re":-0.00038871245410104777,"im":0.0009912036911146165},{"omegaRadPerYr":0.000026453632677170472,"re":-0.00032615534646350156,"im":-0.0018102501817831135},{"omegaRadPerYr":0.000034145978925786535,"re":0.0009480778866315119,"im":-0.0008230502200947101},{"omegaRadPerYr":0.00003548085475024487,"re":-0.0013007947815593653,"im":-0.00042439393044846465},{"omegaRadPerYr":0.00008951127418467436,"re":-0.0010559339979945592,"im":-0.000005975184481501219},{"omegaRadPerYr":0.00008814769888639652,"re":-0.0003392982459796931,"im":-0.00126615007571311},{"omegaRadPerYr":0.000027692559180942054,"re":0.0004455147622140075,"im":0.0013147856084997915}],"earthZeta":[{"omegaRadPerYr":-6.480692835562015e-14,"re":-0.004134427250631887,"im":0.013144207689667023},{"omegaRadPerYr":-0.00009139020514696892,"re":-0.003762846299946732,"im":-0.007417313993526907},{"omegaRadPerYr":-0.00002707802193107254,"re":0.004228758817782956,"im":0.001552899971393225},{"omegaRadPerYr":-0.00008608086641122392,"re":0.0012161313006493822,"im":-0.0038454411181687697},{"omegaRadPerYr":-0.00003414305478233622,"re":-0.0030829972319892183,"im":0.002522672469285971},{"omegaRadPerYr":-0.00008873899569559657,"re":-0.00020769480131372744,"im":-0.0026850953462850356},{"omegaRadPerYr":-0.00003333897395226539,"re":0.0006468387853619108,"im":-0.0008212555187612507},{"omegaRadPerYr":-0.000034707554013716744,"re":0.0012115602030611985,"im":-0.0008603813396121053},{"omegaRadPerYr":-0.00009404694793046069,"re":0.001124843496312146,"im":0.0009724617908785189},{"omegaRadPerYr":-0.00002647193861971907,"re":0.001606075294689031,"im":0.0005931944911952478},{"omegaRadPerYr":-0.00003277702706161178,"re":0.0005051745779261483,"im":-0.0006705412769950699},{"omegaRadPerYr":-0.00012773805775388969,"re":-0.0008122347824469044,"im":0.0010593881606687687},{"omegaRadPerYr":-0.00009269956713813446,"re":-0.0006909282558950976,"im":0.0004135096481099148},{"omegaRadPerYr":-0.000014507597324441827,"re":-0.0006470785128404058,"im":0.00057746649029071},{"omegaRadPerYr":-0.000033761896788929335,"re":0.001157822428032179,"im":-0.000690971407290411},{"omegaRadPerYr":-0.000028297573329000286,"re":-0.0011184968821771682,"im":-0.0003885179122647609}],"earthZetaEra":[{"omegaRadPerYr":-6.480692835562015e-14,"re":-0.004136170228858843,"im":0.013147349898750587},{"omegaRadPerYr":-0.00009139020514696892,"re":-0.0037451120264298888,"im":-0.007367103224447289},{"omegaRadPerYr":-0.00002707802193107254,"re":0.004192460536906565,"im":0.0015465498581850507},{"omegaRadPerYr":-0.00008608086641122392,"re":0.0012039767467140353,"im":-0.0038572667358382287},{"omegaRadPerYr":-0.00003414305478233622,"re":-0.0032014533879969596,"im":0.0025701217059533803},{"omegaRadPerYr":-0.00008873899569559657,"re":-0.00021856508120855303,"im":-0.002669820778092242},{"omegaRadPerYr":-0.00003333897395226539,"re":0.0003478573166468341,"im":-0.0006130210720886913},{"omegaRadPerYr":-0.000034707554013716744,"re":0.0012188003710118757,"im":-0.000879354385952938}],"planetLeadingZetaArcsecPerYr":{"mercury":-5.583654095308831,"venus":-18.85062201283722,"earth":-18.850582957521933,"mars":-17.75551746317749,"jupiter":-26.34785064223289,"saturn":-26.34785063789155,"uranus":-2.992403454072025,"neptune":-0.6916261380439003},"planetZ":{"mercury":[{"omegaRadPerYr":0.000027101464787379005,"re":0.036443059874745144,"im":0.15312012416846857},{"omegaRadPerYr":0.00002645682320158395,"re":-0.014115236278813163,"im":-0.07933183704397909},{"omegaRadPerYr":0.000027695768774324655,"re":0.014883065162550294,"im":0.04770421699238349},{"omegaRadPerYr":0.000020608825679123343,"re":0.0339424735092415,"im":0.0205886131133393},{"omegaRadPerYr":0.00003613198806683821,"re":0.026373724217244415,"im":0.007998632845938181},{"omegaRadPerYr":0.000025943085765069145,"re":-0.00008287402030671245,"im":0.01382534867142278},{"omegaRadPerYr":0.000021259366308985905,"re":-0.010921101889740678,"im":-0.005391042758241112},{"omegaRadPerYr":0.000033442897144222473,"re":-0.006298873452719107,"im":0.004846731368887027},{"omegaRadPerYr":0.000027342847424225136,"re":-0.031441801079617394,"im":-0.0012828182325896284},{"omegaRadPerYr":0.000026863603353307064,"re":-0.0023658597755055214,"im":0.03845436133115692},{"omegaRadPerYr":0.000029077390952304336,"re":-0.0056672065762804385,"im":0.008668504999729803},{"omegaRadPerYr":0.000025324686199132127,"re":-0.005942232736715857,"im":-0.012274661661212959},{"omegaRadPerYr":0.00002979754974875923,"re":0.0008097924308674098,"im":-0.0064472013829302505},{"omegaRadPerYr":0.000019992412184743173,"re":0.012472217201012077,"im":0.00359833652112381},{"omegaRadPerYr":0.00002454697962536287,"re":0.0020556509667169235,"im":0.0009916346793612978},{"omegaRadPerYr":0.00002812715748715012,"re":-0.002051758629227311,"im":-0.0033287955771129805},{"omegaRadPerYr":0.000019449369227596397,"re":-0.0038021090567115627,"im":-0.0028426209995905025}],"venus":[{"omegaRadPerYr":0.00003613032718771122,"re":-0.020105324941805183,"im":-0.006917696377202324},{"omegaRadPerYr":0.000020639950705137238,"re":0.017068955357371025,"im":0.010006500628836495},{"omegaRadPerYr":0.00008686450325171618,"re":0.011426811376444728,"im":-0.006520605414974846},{"omegaRadPerYr":0.00008420762005329659,"re":-0.006892443369184228,"im":0.008472548929406779},{"omegaRadPerYr":0.000027101843398089462,"re":0.0009492363872320767,"im":0.005898626241129876},{"omegaRadPerYr":0.00008284929259321451,"re":-0.0030327325912061806,"im":-0.0010976776908548803},{"omegaRadPerYr":0.00008156590133143486,"re":0.0004654494107565469,"im":-0.002280587631810283},{"omegaRadPerYr":0.00003345630943302872,"re":-0.0017828402597892042,"im":0.0012954758789217673},{"omegaRadPerYr":0.00008551538095828359,"re":-0.0011609215700463195,"im":-0.0012677518151850962},{"omegaRadPerYr":0.00002645314323665865,"re":-0.0005187468879242992,"im":-0.0028561425016264542},{"omegaRadPerYr":0.000034145633629733906,"re":0.0012933573208605794,"im":-0.001139818586425855},{"omegaRadPerYr":0.00002769519215699273,"re":0.000692247567326856,"im":0.0020562801187020375},{"omegaRadPerYr":0.00003548134649993586,"re":-0.0017504367473210652,"im":-0.0005759353131695786},{"omegaRadPerYr":0.00008736396981192052,"re":-0.0013474628838071549,"im":-0.000992885318268049},{"omegaRadPerYr":0.00008630854715331631,"re":0.0003763610849158857,"im":-0.0010611470059873186},{"omegaRadPerYr":0.00003678579378710168,"re":0.0015965344500683718,"im":0.0003260227593096117},{"omegaRadPerYr":0.00008814539612129297,"re":0.00043027029421162,"im":0.0012698103607611786},{"omegaRadPerYr":0.00009215946508724939,"re":-0.0008157163462856423,"im":-0.0001752965015353975}],"mars":[{"omegaRadPerYr":0.00008686194427246272,"re":0.04150468181977603,"im":-0.02235805720891878},{"omegaRadPerYr":0.00008420997062723613,"re":0.024191159406394575,"im":-0.02897798440552211},{"omegaRadPerYr":0.000020640675066908026,"re":0.01752920390659033,"im":0.010379054381833624},{"omegaRadPerYr":0.00008155902048560256,"re":-0.005126487019269018,"im":0.017498780322239615},{"omegaRadPerYr":0.00008951470797098792,"re":0.012453460704855819,"im":-0.0011162639997386022},{"omegaRadPerYr":0.00008286071984936754,"re":0.012151786749976757,"im":0.005285572685028835},{"omegaRadPerYr":0.00008552376356754678,"re":-0.008207026797923043,"im":-0.006506174683766466},{"omegaRadPerYr":0.00013693612216296713,"re":-0.004303426290032767,"im":0.005495751915005897},{"omegaRadPerYr":0.0000863140674359666,"re":0.003378196925346155,"im":-0.0035707297870487854},{"omegaRadPerYr":0.00009216418711866517,"re":0.004180141329638833,"im":0.001239878529646219},{"omegaRadPerYr":0.00008815294634884687,"re":0.0015478422945863473,"im":0.005394318221250823},{"omegaRadPerYr":0.00008737006869414014,"re":-0.004859264335556832,"im":-0.002468706141182086},{"omegaRadPerYr":0.00008474936320624016,"re":-0.0037175110079883836,"im":0.0005712305102614905},{"omegaRadPerYr":0.00003613060911836741,"re":-0.002878165082426005,"im":-0.0009813871463689},{"omegaRadPerYr":0.00008323445042360793,"re":-0.0021030674464516,"im":0.002382835034113347},{"omegaRadPerYr":0.00008591714206468895,"re":0.00033705398396163035,"im":-0.0031641077910174956},{"omegaRadPerYr":0.00008022543440532314,"re":0.0014077256319658448,"im":0.00023992196561432362},{"omegaRadPerYr":0.0000900335871717643,"re":-0.0007652388036231974,"im":-0.0015581764537776826}],"jupiter":[{"omegaRadPerYr":0.00002064075395335189,"re":0.038028034576741906,"im":0.022474419029067216},{"omegaRadPerYr":0.00013693627466777967,"re":0.009616177715621049,"im":-0.012410735192913122},{"omegaRadPerYr":0.000014970699552264387,"re":-0.0009276176888746422,"im":0.0015645820896462246},{"omegaRadPerYr":0.00025323179539978545,"re":0.0004059157737100984,"im":0.00040456376985595945},{"omegaRadPerYr":0.0001312662749926737,"re":-0.00015614354905163857,"im":-0.00012183629827031596},{"omegaRadPerYr":0.0001426061431474546,"re":-0.00015326196073912603,"im":-0.00011811188348776635},{"omegaRadPerYr":0.00014000309579914057,"re":0.00010317940519689781,"im":0.00006505029768233116},{"omegaRadPerYr":0.00013386863466366606,"re":0.00007960628300069755,"im":0.0000757581826985722},{"omegaRadPerYr":0.0012496810113814863,"re":3.5498901583457483e-9,"im":7.528217439557287e-9}],"saturn":[{"omegaRadPerYr":0.00013693627469533272,"re":-0.02951381641782599,"im":0.038116342187048506},{"omegaRadPerYr":0.000020640753964721574,"re":0.028361784183640975,"im":0.016761738089661193},{"omegaRadPerYr":0.0002532317954411971,"re":-0.0013588658390314074,"im":-0.0013542513704600167},{"omegaRadPerYr":0.000014970698207898392,"re":-0.0007732461228524056,"im":0.0013033726384504506},{"omegaRadPerYr":0.00013126626734545323,"re":0.000471597345592877,"im":0.0003662972802790016},{"omegaRadPerYr":0.00014260613959102947,"re":0.00046558535071819594,"im":0.0003604428232502375},{"omegaRadPerYr":0.0012496810120112478,"re":-2.2413816213183782e-8,"im":-4.3761227707856587e-8}],"uranus":[{"omegaRadPerYr":0.000020640753931894893,"re":-0.03238248798724911,"im":-0.019137541918709554},{"omegaRadPerYr":0.00001497070511159062,"re":-0.014798949407797135,"im":0.024975442503237483},{"omegaRadPerYr":0.000003264464996922227,"re":0.00045075801975650074,"im":0.0016050091168723338},{"omegaRadPerYr":0.00013693627457864556,"re":0.0009471352229324553,"im":-0.0012234989208774374},{"omegaRadPerYr":0.00000929092310040761,"re":-0.0004015633445553787,"im":-0.0002340983045129561},{"omegaRadPerYr":0.00002631265778975313,"re":0.00022664443272842668,"im":-0.0003767093309339966},{"omegaRadPerYr":0.000014377069742263513,"re":0.00005819778777828242,"im":-0.00005910629719132463},{"omegaRadPerYr":0.000630109378889249,"re":-1.1513321171782036e-7,"im":2.121111820496366e-7}],"neptune":[{"omegaRadPerYr":0.000003264141494649585,"re":0.0024665853980857314,"im":0.008775596228059238},{"omegaRadPerYr":0.000014970655663003607,"re":0.0018888606403837439,"im":-0.0031894015693886913},{"omegaRadPerYr":0.00002064075339053921,"re":0.001629524897365034,"im":0.0009616466536353474},{"omegaRadPerYr":-0.00011593914172939557,"re":7.926785905418971e-8,"im":-4.6685992002385664e-8}]},"planetZeta":{"mercury":[{"omegaRadPerYr":-0.000027070318959890106,"re":0.03509799360084889,"im":0.012514361334229175},{"omegaRadPerYr":-0.000034136904111019706,"re":0.02695969560580955,"im":-0.02182848736661456},{"omegaRadPerYr":-0.000034710315380555884,"re":-0.012559168496773116,"im":0.008299078079729882},{"omegaRadPerYr":-0.00002646765287895232,"re":0.015448524016084493,"im":0.005987672372630069},{"omegaRadPerYr":-0.00003340798156431758,"re":-0.006455019023356067,"im":0.006226120154816196},{"omegaRadPerYr":5.384799590336571e-11,"re":-0.0039804878272654606,"im":0.013070100663895403},{"omegaRadPerYr":-0.000032847026422583094,"re":-0.0057003023891457685,"im":0.005259105004808747},{"omegaRadPerYr":-0.00003594792939956603,"re":-0.0012961241060881503,"im":0.0016159947697806383},{"omegaRadPerYr":-0.000025076126902622893,"re":0.0009463621131951934,"im":0.004877886245061111},{"omegaRadPerYr":-0.00003524962055187364,"re":0.0036108114629212922,"im":-0.004623693257308201},{"omegaRadPerYr":-0.000024475658963257535,"re":0.000022935888716433717,"im":-0.004353014017229704},{"omegaRadPerYr":-0.00003379278995294136,"re":-0.007806785352862373,"im":0.004006431979329447},{"omegaRadPerYr":-0.00003218755893963215,"re":-0.003704818024406685,"im":0.0011960062285103251},{"omegaRadPerYr":-0.000028313967733473683,"re":-0.007360063597313632,"im":-0.002796682485956438},{"omegaRadPerYr":-0.000027441506455909732,"re":0.005714284626147598,"im":-0.00031320953109534994},{"omegaRadPerYr":-0.000025718824169110346,"re":-0.00022772395090882533,"im":-0.00196911848110608}],"venus":[{"omegaRadPerYr":-1.6493179814802074e-12,"re":-0.0041316378307605294,"im":0.013147230899595441},{"omegaRadPerYr":-0.00009139039449248062,"re":0.004107318311959544,"im":0.008097727638340723},{"omegaRadPerYr":-0.000027077829093903624,"re":0.005723184464233101,"im":0.002103989760517981},{"omegaRadPerYr":-0.0000860809730098796,"re":-0.0017575781212555862,"im":0.005497182235759365},{"omegaRadPerYr":-0.00003414333446857137,"re":-0.0036683665695228925,"im":0.0029729549111848722},{"omegaRadPerYr":-0.0000887389845132903,"re":0.00017437292720263114,"im":0.002839346558623874},{"omegaRadPerYr":-0.00003332402755350087,"re":0.0008226456090349229,"im":-0.000990196523458664},{"omegaRadPerYr":-0.00003470699633273722,"re":0.0013981977987789472,"im":-0.0010036696718058783},{"omegaRadPerYr":-0.00002647213755615405,"re":0.002192723581813546,"im":0.0008156688371823413},{"omegaRadPerYr":-0.00009404722529229626,"re":-0.001310202146639285,"im":-0.0011534120915617934},{"omegaRadPerYr":-0.00003276165702381588,"re":0.0005497404769706646,"im":-0.0007663000693998108},{"omegaRadPerYr":-0.00009269906010008638,"re":0.000774314512799505,"im":-0.0004388675219967948},{"omegaRadPerYr":-0.00003375443573456643,"re":0.0014500491408612449,"im":-0.0008824349886108636},{"omegaRadPerYr":-0.000014507610514643914,"re":-0.0007092452594379532,"im":0.000644027430133631},{"omegaRadPerYr":-0.00002829966619518156,"re":-0.0015021530175610535,"im":-0.0005258063199032051},{"omegaRadPerYr":-0.00003214220556483202,"re":0.0006661181436053425,"im":-0.0002653316593905635}],"mars":[{"omegaRadPerYr":-0.00008608117781327729,"re":0.01021076871109231,"im":-0.03356452939087538},{"omegaRadPerYr":-0.00009138911102981668,"re":0.006448673929855857,"im":0.013039152420792278},{"omegaRadPerYr":4.816071417209985e-13,"re":-0.004136702437859971,"im":0.013131620521733377},{"omegaRadPerYr":-0.00008873924259238756,"re":0.000719141598532243,"im":0.006332417454417071},{"omegaRadPerYr":-0.00008342553512204505,"re":-0.003385387773112122,"im":0.004320169865314299},{"omegaRadPerYr":-0.00012773796958870522,"re":-0.002768952254262225,"im":0.0036533714419055593},{"omegaRadPerYr":-0.00008732462124121245,"re":0.002315330060230354,"im":0.00021373005960354581},{"omegaRadPerYr":-0.00008533729428600537,"re":0.0000662084835502976,"im":0.0014041635383156973},{"omegaRadPerYr":-0.0000927013779034122,"re":0.0012004630656653568,"im":-0.0007842461095443991},{"omegaRadPerYr":-0.00008675666306804544,"re":0.0007084511153542455,"im":-0.0008188292363296188},{"omegaRadPerYr":-0.00008568093272163965,"re":-0.0022269947606386804,"im":-0.0002915189256492408},{"omegaRadPerYr":-0.0000920127905544982,"re":-0.00012713738691022227,"im":0.0011838067237884178},{"omegaRadPerYr":-0.00008937418687447559,"re":-0.0002755627620382867,"im":0.0007026683188238479},{"omegaRadPerYr":-0.00002707848026399503,"re":0.0008884002528900317,"im":0.00034005750138313076},{"omegaRadPerYr":-0.00009092889696047022,"re":-0.00043281332848104276,"im":0.0003922132913606256},{"omegaRadPerYr":-0.00009004802546465118,"re":0.0008966966123701487,"im":-0.0005174229841345629}],"jupiter":[{"omegaRadPerYr":3.8532251623886294e-13,"re":-0.0041611376264940984,"im":0.013131043712311021},{"omegaRadPerYr":-0.0001277379845918518,"re":0.0019098261437600508,"im":-0.002505661007425496},{"omegaRadPerYr":-0.000003353110004279269,"re":0.0005277820779376669,"im":0.000232885172945674},{"omegaRadPerYr":-0.000014507601866590341,"re":-0.0003702089817814631,"im":0.00030787406163905093},{"omegaRadPerYr":-0.00013080293768331143,"re":-0.000017471248168841094,"im":-0.00001634692544524867},{"omegaRadPerYr":-0.000011442276716160314,"re":0.000012459821928796665,"im":0.00001269474660145274},{"omegaRadPerYr":0.0004016105340997148,"re":0.000008813036156379482,"im":-0.00001120905836048329},{"omegaRadPerYr":-0.00000882703119796523,"re":0.000007828457504338726,"im":0.000007811495266844502},{"omegaRadPerYr":-0.00002707681546885972,"re":-0.000009044718068424064,"im":-0.0000033400395822585094},{"omegaRadPerYr":-0.0000201768700641032,"re":0.000006156498033523465,"im":0.00000751705596830829},{"omegaRadPerYr":0.0002853150225305461,"re":0.000007292599938644516,"im":0.0000043773896212603925},{"omegaRadPerYr":-0.0002440335075107546,"re":0.000006274454282046377,"im":0.0000036485466831589452},{"omegaRadPerYr":0.00016901949668819092,"re":-0.000002519428503521004,"im":0.000005678550409035692},{"omegaRadPerYr":-0.0000027587103410433805,"re":0.000005899853582363865,"im":8.409148783838858e-7},{"omegaRadPerYr":-0.000034144381407487655,"re":0.000004719652715449978,"im":-0.0000037247689900126893},{"omegaRadPerYr":-0.00013340793710151563,"re":0.0000036153371332643194,"im":0.0000026473096931137383}],"saturn":[{"omegaRadPerYr":3.404546335777438e-13,"re":-0.004160815341357166,"im":0.01313037085706424},{"omegaRadPerYr":-0.0001277379845708044,"re":-0.004757531229884148,"im":0.0062418570697877025},{"omegaRadPerYr":-0.000003353103939425025,"re":0.0005082525979425591,"im":0.0002243582817470411},{"omegaRadPerYr":-0.000014507604683407504,"re":-0.0003003418401293427,"im":0.0002498658928695802},{"omegaRadPerYr":-0.00013080297316369022,"re":0.00004462521372870775,"im":0.00004172396328086738},{"omegaRadPerYr":0.0004016105342059343,"re":-0.000021890424766638027,"im":0.00002784479607678065},{"omegaRadPerYr":0.00028531501227593826,"re":-0.000016971705234483944,"im":-0.000010207779625167536},{"omegaRadPerYr":0.00016901949653661777,"re":0.000006353117499272568,"im":-0.000014464465864357296},{"omegaRadPerYr":-0.00002707712299185719,"re":-0.000011819853659803773,"im":-0.000004343694032290057},{"omegaRadPerYr":-0.00008608110335393078,"re":-0.0000038556316501964585,"im":0.000012260170759195859},{"omegaRadPerYr":-0.00013340770427701983,"re":-0.000008291647540272973,"im":-0.0000060449324319747485},{"omegaRadPerYr":-0.00012206708504485138,"re":-0.000007846468613598666,"im":-0.000006177485716796176},{"omegaRadPerYr":-0.000008827506775295263,"re":0.000006912239479621683,"im":0.0000070997530164759055},{"omegaRadPerYr":-0.00024403351156152198,"re":-0.000006770600853713768,"im":-0.000003936350447344142},{"omegaRadPerYr":-0.0009675113430843807,"re":-0.000004521653063656594,"im":-0.000006119593231226156},{"omegaRadPerYr":-0.000034143979713964837,"re":0.000006837682774689789,"im":-0.000005331591672335383}],"uranus":[{"omegaRadPerYr":1.609741252182826e-12,"re":-0.004160857683169045,"im":0.01312987468744944},{"omegaRadPerYr":-0.000014507581339335488,"re":0.006819771098312077,"im":-0.005674555448618447},{"omegaRadPerYr":-0.0000033533175354118582,"re":-0.0005101607663847248,"im":-0.00022431030942694354},{"omegaRadPerYr":-0.00012773798595007094,"re":0.00021390993605577627,"im":-0.00028068024741796866},{"omegaRadPerYr":-0.000011442390269999423,"re":-0.00021565535141600253,"im":-0.0002150430588126844},{"omegaRadPerYr":-0.000020175380767861024,"re":-0.00012178417740316124,"im":-0.0001456136848907788},{"omegaRadPerYr":-0.00000883157541584528,"re":-0.00012271282922940013,"im":-0.0001340577820362881},{"omegaRadPerYr":-0.000015103884918843288,"re":-0.00005803301762598432,"im":0.000026178909117342292},{"omegaRadPerYr":-0.000005772310491116802,"re":0.000018629424113074064,"im":-0.000018786863001070623},{"omegaRadPerYr":0.000055789019292025894,"re":-0.000003583719865681113,"im":0.00001877185158848246},{"omegaRadPerYr":0.00005011887511064967,"re":0.000011951449395631811,"im":0.000002279724016800827},{"omegaRadPerYr":-0.000027076655469348425,"re":0.000008609833687019483,"im":0.0000039638140159356984},{"omegaRadPerYr":-0.00013080298640432038,"re":-0.000007760607234183951,"im":-0.000007178734351197981},{"omegaRadPerYr":-0.000009192811893081681,"re":-0.000006996875336880973,"im":0.000009870536991923898},{"omegaRadPerYr":-0.000014175491386338482,"re":-0.00001270447511881092,"im":0.000007778091287202746},{"omegaRadPerYr":0.00010178796581047778,"re":-0.000004042702368549757,"im":-0.000006403994609904075}],"neptune":[{"omegaRadPerYr":-5.309966632404278e-12,"re":-0.004159721990836072,"im":0.013130987686676325},{"omegaRadPerYr":-0.000003353098139366354,"re":-0.005314734202759442,"im":-0.0023457634229809878},{"omegaRadPerYr":-0.000014507473764320118,"re":-0.0008167253455895104,"im":0.000679803323619701},{"omegaRadPerYr":-0.00001144267951307936,"re":0.00004103714819598339,"im":0.00004000434297961395},{"omegaRadPerYr":-0.0000027576446795887367,"re":-0.00006149846188777267,"im":-0.000008691440917605258},{"omegaRadPerYr":-0.000127737982036136,"re":0.000022941259364012485,"im":-0.000030013884419629694},{"omegaRadPerYr":-0.00002017340325592398,"re":0.00001785684479351327,"im":0.000021295006716797693},{"omegaRadPerYr":-0.000008980453563447026,"re":-0.0000018701512064522262,"im":0.000017342410863083055},{"omegaRadPerYr":0.0000022940676061081706,"re":-0.000008135256823034523,"im":0.0000159660700897465},{"omegaRadPerYr":-0.000005773430993827179,"re":-0.000010150670472290044,"im":0.000012347455189860531},{"omegaRadPerYr":-0.0000036886914876550886,"re":-0.000013289694939214323,"im":-0.000004967461981751487},{"omegaRadPerYr":-0.000015103364422159208,"re":0.000008447715112089554,"im":-0.0000038128138702162122},{"omegaRadPerYr":0.0000029055921239641946,"re":1.0991164784154305e-8,"im":-0.00000667040982519229},{"omegaRadPerYr":0.000050117959348442586,"re":-0.000005129825896938048,"im":-0.0000010095666431561402},{"omegaRadPerYr":0.0000389783728602118,"re":-0.000002068034832737985,"im":0.000002775618631657745}]},"anchorE":0.016702435651957018,"anchorPeriEclipticDeg":462.9179213996577,"anchorInclEclipticDeg":0.00010345820355474172,"anchorAscNodeEclipticDeg":140.29217988414328,"anchorZDotPerYr":[-8.21997e-7,-6.231489999999999e-7],"slopeTaperYears":27943.083333333332});
|
|
22
22
|
|
|
23
23
|
module.exports = { DEEP_MODES_ARTIFACT, DEEP_MODES_ARTIFACT_HASH };
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
* scene's precession rotations integrate on this axis; a fit on it agrees
|
|
53
53
|
* with the runtime by construction; the round-trip bias Y_SI − Y is −11.0 yr
|
|
54
54
|
* at −302,635 and grows quadratically).
|
|
55
|
+
* @property {(ySI: number) => number} siYearToJD the exact inverse of jdToSIyear.
|
|
55
56
|
* @property {(targetCumul: number) => (number | null)} yearAtCumulIntegral
|
|
56
57
|
* inverse of the phase machinery's cumulAtYear — null outside the table.
|
|
57
58
|
* @property {() => void} ensureCumulDaysTable builds the ∫ daysPerYear dt table
|
|
@@ -103,6 +104,10 @@ function createDeepCalendar({
|
|
|
103
104
|
}) {
|
|
104
105
|
/** @type {(jd: number) => number} */
|
|
105
106
|
const jdToSIyear = (jd) => startModelYearWithCorrection + (jd - startModelJD) / siTropicalYearDays;
|
|
107
|
+
/** The exact inverse: SI-year label → JD (the Moon layers' argument clock
|
|
108
|
+
* reads the lunar arguments at the JD of the SI year the dispatch passes).
|
|
109
|
+
* @type {(ySI: number) => number} */
|
|
110
|
+
const siYearToJD = (ySI) => startModelJD + (ySI - startModelYearWithCorrection) * siTropicalYearDays;
|
|
106
111
|
|
|
107
112
|
/** @type {(targetCumul: number) => (number | null)} */
|
|
108
113
|
const yearAtCumulIntegral = (targetCumul) => phase().yearAtCumul(targetCumul);
|
|
@@ -191,6 +196,7 @@ function createDeepCalendar({
|
|
|
191
196
|
|
|
192
197
|
return Object.freeze({
|
|
193
198
|
jdToSIyear,
|
|
199
|
+
siYearToJD,
|
|
194
200
|
yearAtCumulIntegral,
|
|
195
201
|
ensureCumulDaysTable,
|
|
196
202
|
yearToJD,
|
|
@@ -70,17 +70,35 @@ export function laggedL1Terms(l1Terms: Array<{
|
|
|
70
70
|
* relaxationKyr: number,
|
|
71
71
|
* alphaGiaRateJ2000PerYr: number,
|
|
72
72
|
* alphaJ2000: number,
|
|
73
|
-
*
|
|
74
|
-
*
|
|
73
|
+
* j2RateJ2000PerYr?: number,
|
|
74
|
+
* j2J2000?: number,
|
|
75
|
+
* }} cfg - relaxationKyr, alphaGiaRateJ2000PerYr and j2RateJ2000PerYr are
|
|
76
|
+
* model-parameters deepTime constants; alphaJ2000 the IERS
|
|
77
|
+
* moment-of-inertia factor; j2J2000 Earth's J₂ (astro-reference)
|
|
75
78
|
* @returns {{
|
|
76
79
|
* alphaAt: (year: number) => number,
|
|
80
|
+
* j2RatioAt: (year: number) => number,
|
|
77
81
|
* laggedL1PermilAt: (year: number) => number,
|
|
78
82
|
* kPerPermille: number,
|
|
79
83
|
* relaxationKyr: number,
|
|
80
84
|
* laggedL1Terms: Array<{period_kyr: number, a: number, b: number}>,
|
|
81
85
|
* }}
|
|
86
|
+
*
|
|
87
|
+
* THE SAME REDISTRIBUTION, ITS SECOND OBSERVABLE — j2RatioAt(year) = J₂(t)/J₂₀.
|
|
88
|
+
* The mass that changes the polar moment changes the oblateness, and the
|
|
89
|
+
* luni-solar precession rate is proportional to it (ψ̇ ∝ (C − A)/C; the
|
|
90
|
+
* consumer is the spin integration, earth/deep-orbital-history). The J₂ side
|
|
91
|
+
* is scaled on its OWN observation, exactly as the α side is on its rate:
|
|
92
|
+
*
|
|
93
|
+
* J₂(t) = J₂₀ − k_J · [ L1'(t) − L1'(2000) ], k_J = −(dJ₂/dt)_obs / (dL1'/dt)₂₀₀₀
|
|
94
|
+
*
|
|
95
|
+
* so dJ₂/dt(J2000) IS the observed satellite rate (Cox & Chao 2002) by
|
|
96
|
+
* construction, and the J₂→α conversion factor never enters. A constant
|
|
97
|
+
* dJ₂/dt would be a rate valid at a point used across a span; this is the
|
|
98
|
+
* history. Bounded: ±5·10⁻⁴ over the glacial cycles, no secular part.
|
|
99
|
+
* Without the two constants the ratio is 1 at every year.
|
|
82
100
|
*/
|
|
83
|
-
export function createAlphaGiaChannel({ l1Terms, yStdDenormalization, relaxationKyr, alphaGiaRateJ2000PerYr, alphaJ2000 }: {
|
|
101
|
+
export function createAlphaGiaChannel({ l1Terms, yStdDenormalization, relaxationKyr, alphaGiaRateJ2000PerYr, alphaJ2000, j2RateJ2000PerYr, j2J2000 }: {
|
|
84
102
|
l1Terms: Array<{
|
|
85
103
|
period_kyr: number;
|
|
86
104
|
a: number;
|
|
@@ -90,8 +108,11 @@ export function createAlphaGiaChannel({ l1Terms, yStdDenormalization, relaxation
|
|
|
90
108
|
relaxationKyr: number;
|
|
91
109
|
alphaGiaRateJ2000PerYr: number;
|
|
92
110
|
alphaJ2000: number;
|
|
111
|
+
j2RateJ2000PerYr?: number;
|
|
112
|
+
j2J2000?: number;
|
|
93
113
|
}): {
|
|
94
114
|
alphaAt: (year: number) => number;
|
|
115
|
+
j2RatioAt: (year: number) => number;
|
|
95
116
|
laggedL1PermilAt: (year: number) => number;
|
|
96
117
|
kPerPermille: number;
|
|
97
118
|
relaxationKyr: number;
|
|
@@ -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: "726b10e23d8ace09";
|
|
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: "726b10e23d8ace09";
|
|
13
13
|
readonly additionalBodies: {
|
|
14
14
|
"pluto": {
|
|
15
15
|
"name": string;
|
|
@@ -136,6 +136,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
136
136
|
"alpha4PerMa4": number;
|
|
137
137
|
"alphaGiaRateJ2000PerYr": number;
|
|
138
138
|
"alphaGiaRelaxationKyr": number;
|
|
139
|
+
"j2RateJ2000PerYr": number;
|
|
139
140
|
"dtStackTaperFullHalfwidthYr": number;
|
|
140
141
|
"dtStackTaperTotalHalfwidthYr": number;
|
|
141
142
|
"recessionRegime": {
|