@essrt/physics 20.0.1 → 22.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 +4 -4
- package/package.json +4 -8
- package/src/cardinal/one-source-structure.cjs +3 -2
- package/src/chain-cycles/index.cjs +12 -30
- package/src/climate/l1-orbital.cjs +3 -1
- package/src/constants/coefficients.d.ts +17 -93
- package/src/constants/coefficients.js +7 -22
- package/src/constants/generated.d.ts +18 -156
- package/src/constants/generated.js +33 -168
- package/src/deltat/deep-time.cjs +36 -92
- package/src/deltat/recession-history.cjs +2 -1
- package/src/earth/deep-orbital-history.cjs +4 -4
- package/src/earth/frame-of-date.cjs +25 -1
- package/src/earth/precession-composed.cjs +3 -3
- package/src/earth/year-lengths.cjs +16 -1
- package/src/eclipse/sun-planetary-completion.cjs +11 -12
- package/src/index.js +28 -48
- package/src/layer0/derive-params.js +10 -5
- package/src/layer0/index.js +27 -73
- package/src/layer1/index.js +6 -37
- package/src/model.js +200 -225
- package/src/moon/arguments.cjs +57 -83
- package/src/moon/deep-modes-artifact.cjs +2 -2
- package/src/moon/month-chain.cjs +25 -59
- package/src/moon/series.cjs +14 -10
- package/src/phase/deep-calendar.cjs +35 -80
- package/src/planets/chain-artifact.js +2 -2
- package/src/planets/display-names.cjs +30 -0
- package/src/planets/geometry.cjs +79 -29
- package/src/planets/model.cjs +12 -11
- package/src/planets/spin-channel.cjs +46 -2
- package/types/chain-cycles/index.d.cts +9 -4
- package/types/climate/l1-orbital.d.cts +3 -1
- package/types/constants/coefficients.d.ts +17 -93
- package/types/constants/generated.d.ts +18 -156
- package/types/deltat/deep-time.d.cts +3 -16
- package/types/earth/frame-of-date.d.cts +9 -0
- package/types/earth/year-lengths.d.cts +12 -0
- package/types/eclipse/sun-planetary-completion.d.cts +0 -9
- package/types/index.d.ts +4 -13
- package/types/layer0/derive-params.d.ts +7 -4
- package/types/layer0/index.d.ts +6 -13
- package/types/layer1/index.d.ts +0 -2
- package/types/model.d.ts +8 -6
- package/types/moon/arguments.d.cts +23 -22
- package/types/moon/deep-modes-artifact.d.cts +3 -3
- package/types/moon/month-chain.d.cts +7 -16
- package/types/moon/series.d.cts +2 -4
- package/types/phase/deep-calendar.d.cts +14 -50
- package/types/planets/display-names.d.cts +2 -0
- package/types/planets/geometry.d.cts +36 -13
- package/types/planets/model.d.cts +7 -6
- package/types/planets/spin-channel.d.cts +4 -0
- package/src/cardinal/index.cjs +0 -324
- package/src/moon/ecc-channel.cjs +0 -141
- package/src/phase/index.cjs +0 -186
- package/src/planets/ecc-channel.cjs +0 -59
- package/src/sun/longitude-correction.cjs +0 -68
- package/types/cardinal/index.d.cts +0 -80
- package/types/moon/ecc-channel.d.cts +0 -30
- package/types/phase/index.d.cts +0 -38
- package/types/planets/ecc-channel.d.cts +0 -20
- package/types/sun/longitude-correction.d.cts +0 -41
package/src/moon/arguments.cjs
CHANGED
|
@@ -3,21 +3,25 @@
|
|
|
3
3
|
* (Phase 8.2-5). The measured argument-decomposition recipe of doc 66 §1:
|
|
4
4
|
* {Lp, D, M, Mp, F} in degrees, of-date, Meeus Ch. 47 convention.
|
|
5
5
|
*
|
|
6
|
-
* Extracted VERBATIM from src/script.js (_FW_MOON,
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Extracted VERBATIM from src/script.js (_FW_MOON, the two bounded Lp
|
|
7
|
+
* carriers, _fwMoonArgsDeep, _fwMoonArgs, and the pure-Meeus reference
|
|
8
|
+
* polynomials), which tools/lib/scene-graph.js mirrored. Plan 09: the Sun's
|
|
9
|
+
* mean longitude and perihelion of date are INJECTED from the ONE certified
|
|
10
|
+
* Sun (sunMeanLonDegAtJdTT / sunPerihelionLonDegAtJdTT); the former
|
|
11
|
+
* _FW_SUN_SEC / _fwSunSecularDeviations (the retired year combs' Sun
|
|
12
|
+
* integrals, −695″ against the IAU mean Sun at −2000) are deleted. Mirror
|
|
13
|
+
* gaps closed at extraction:
|
|
10
14
|
*
|
|
11
|
-
* - S3: the Sun secular deviations' year coordinate. The browser used
|
|
12
|
-
* full Julian/Gregorian calendar conversion; the tools mirror used a
|
|
15
|
+
* - S3: the (then) Sun secular deviations' year coordinate. The browser used
|
|
16
|
+
* the full Julian/Gregorian calendar conversion; the tools mirror used a
|
|
13
17
|
* linear approximation. The calendar conversion is EMBEDDED here as a
|
|
14
|
-
* private helper, so both engines
|
|
18
|
+
* private helper, so both engines evaluate the same coordinate.
|
|
15
19
|
* - S9: ϖ/Ω composition order in the deep branch (wrapper-composed vs
|
|
16
20
|
* use-site subtraction) — one form now, the browser's.
|
|
17
|
-
* - S10: P_DEGCY
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
+
* - S10: P_DEGCY (the counter's 13/H general precession, no consumers) was
|
|
22
|
+
* kept as documentation of the frame decomposition; it left with the
|
|
23
|
+
* unit at plan 09 step 5c (the frame decomposition is WDOT = ϖ̇_ICRF + p,
|
|
24
|
+
* NDOT = Ω̇_ICRF + p with p the IAU general precession).
|
|
21
25
|
*
|
|
22
26
|
* Construction (docs/66 §1, abridged): linear rates are observational J2000
|
|
23
27
|
* anchors; perigee/node ride the PHASE-AWARE e_E channel integral (s_ϖ
|
|
@@ -70,17 +74,19 @@ function jdToDecimalYear(jd) {
|
|
|
70
74
|
* @typedef {{Lp: number, D: number, M: number, Mp: number, F: number}} MoonArgsDeg
|
|
71
75
|
*/
|
|
72
76
|
|
|
77
|
+
/** The secular-completion taper half-width, Julian years: the cos² envelope
|
|
78
|
+
* inside which the chain's Meeus-measured rate anchors and the Lp secular
|
|
79
|
+
* completion act (full at the anchor, zero beyond). A recorded window of the
|
|
80
|
+
* completion, not a law — the anchors were measured with it (plan 09 step
|
|
81
|
+
* 5c: it was written as the era unit's twelfth, H/12, "lattice-derived";
|
|
82
|
+
* the value is kept bit-identical and named for what it is). */
|
|
83
|
+
const SECULAR_COMPLETION_TAPER_YEARS = 27943.083333333332;
|
|
84
|
+
|
|
73
85
|
/**
|
|
74
86
|
* @param {{
|
|
75
87
|
* constants: {
|
|
76
88
|
* j2000JD: number,
|
|
77
89
|
* julianCenturyDays: number,
|
|
78
|
-
* holisticYearJ2000: number,
|
|
79
|
-
* balancedYearJ2000: number,
|
|
80
|
-
* meanSolarYearDays: number,
|
|
81
|
-
* meanAnomalisticYearDays: number,
|
|
82
|
-
* tropicalYearHarmonics: Array<[number, number, number]>,
|
|
83
|
-
* anomalisticYearHarmonics: Array<[number, number, number]>,
|
|
84
90
|
* eccentricityJ2000: number,
|
|
85
91
|
* eccentricityDotJ2000: number,
|
|
86
92
|
* eccentricityDotDotJ2000: number,
|
|
@@ -92,11 +98,12 @@ function jdToDecimalYear(jd) {
|
|
|
92
98
|
* eccAt: (tYr: number) => number,
|
|
93
99
|
* channelIntegral: (T: number, s: number) => number,
|
|
94
100
|
* computeObliquityEarth: (year: number) => number,
|
|
101
|
+
* sunMeanLonDegAtJdTT: (jdTT: number) => number,
|
|
102
|
+
* sunPerihelionLonDegAtJdTT: (jdTT: number) => number,
|
|
95
103
|
* jdToSIyear: (jd: number) => number,
|
|
96
104
|
* tropicalOrbitsBetween: (yearA: number, yearB: number) => (number | null),
|
|
97
105
|
* apsidalOfDateCyclesBetween: (yearA: number, yearB: number) => (number | null),
|
|
98
106
|
* nodalOfDateCyclesBetween: (yearA: number, yearB: number) => (number | null),
|
|
99
|
-
* cyclesBetween: (yearA: number, yearB: number, divisorN: number) => (number | null),
|
|
100
107
|
* isDeepTime: () => boolean,
|
|
101
108
|
* isFrameworkNative: () => boolean,
|
|
102
109
|
* pDynDegPerYearAt?: (year: number) => number,
|
|
@@ -110,20 +117,28 @@ function jdToDecimalYear(jd) {
|
|
|
110
117
|
* evaluators — the tweakpane identity, real at J2000, epoch-valid);
|
|
111
118
|
* pKin = the KINEMATIC pair's beat (the H/13-family mean the chains
|
|
112
119
|
* embed). Absent ⇒ the completion is disabled (pre-(d′) behaviour).
|
|
120
|
+
* Plan 09: the Sun of the arguments is the engine's ONE certified Sun —
|
|
121
|
+
* sunMeanLonDegAtJdTT (the mean longitude that integrates the one-family
|
|
122
|
+
* tropical year, unwrapped) and sunPerihelionLonDegAtJdTT (the mean
|
|
123
|
+
* perihelion of date, wrapped — the arguments wrap M, and the rate anchors
|
|
124
|
+
* difference it over ±25 days wrapped to ±180°). The former "model timeline" Sun — 360° per mean solar
|
|
125
|
+
* year plus the closed-form integrals of the retired year-length combs,
|
|
126
|
+
* the perihelion on the H/16 chain count — sat 0.2° behind the IAU mean
|
|
127
|
+
* Sun at −2000 (the combs could not carry the tropical year's secular
|
|
128
|
+
* drift); measured against Meeus L0 before the move.
|
|
113
129
|
*/
|
|
114
130
|
function createMoonArguments({ constants, fns }) {
|
|
115
131
|
const {
|
|
116
|
-
j2000JD, julianCenturyDays,
|
|
117
|
-
meanSolarYearDays, meanAnomalisticYearDays,
|
|
118
|
-
tropicalYearHarmonics, anomalisticYearHarmonics,
|
|
132
|
+
j2000JD, julianCenturyDays,
|
|
119
133
|
eccentricityJ2000, eccentricityDotJ2000, eccentricityDotDotJ2000,
|
|
120
134
|
elpEarthFigureJ2ArcsecPerCy2, elpGeneralPrecessionPA_T2ArcsecPerCy2,
|
|
121
135
|
eccE0,
|
|
122
136
|
} = constants;
|
|
123
137
|
const {
|
|
124
138
|
eccAt, channelIntegral, computeObliquityEarth, jdToSIyear,
|
|
139
|
+
sunMeanLonDegAtJdTT, sunPerihelionLonDegAtJdTT,
|
|
125
140
|
tropicalOrbitsBetween, apsidalOfDateCyclesBetween, nodalOfDateCyclesBetween,
|
|
126
|
-
|
|
141
|
+
isDeepTime, isFrameworkNative,
|
|
127
142
|
pDynDegPerYearAt, pKinDegPerYearAt,
|
|
128
143
|
} = fns;
|
|
129
144
|
|
|
@@ -133,7 +148,6 @@ function createMoonArguments({ constants, fns }) {
|
|
|
133
148
|
MP0 = 134.9633964, F0 = 93.2720950;
|
|
134
149
|
const LPR = 481267.88123421, DR = 445267.1114034, MR = 35999.0502909,
|
|
135
150
|
MPR = 477198.8675055, FR = 483202.0175233;
|
|
136
|
-
const P_DEGCY = 360 * 13 / holisticYearJ2000 * 100; // framework general precession, deg/Julian cy (S10: J2000-frozen by injection; no consumers — documentation of the frame decomposition)
|
|
137
151
|
const WDOT = LPR - MPR; // perigee ϖ̇ of-date (+4069.0137) = ϖ̇_ICRF + p
|
|
138
152
|
const NDOT = LPR - FR; // node Ω̇ of-date (−1934.1363) = Ω̇_ICRF + p
|
|
139
153
|
// e_E channel Taylor CHECKS (documented J2000 reference values — the live
|
|
@@ -154,52 +168,12 @@ function createMoonArguments({ constants, fns }) {
|
|
|
154
168
|
const T2_LP_TIDAL = (-25.86 / 3600) / 2;
|
|
155
169
|
const T2_LP_PLANETARY = -0.0015786 - T2_LP_TIDAL; // +7.247″/cy²
|
|
156
170
|
const T2_LP = T2_LP_TIDAL + T2_LP_PLANETARY;
|
|
157
|
-
return { LP0, D0, M0, MP0, F0, LPR, DR, MR,
|
|
158
|
-
})();
|
|
159
|
-
|
|
160
|
-
// ── Sun secular deviations: closed-form year-length-harmonic integrals ───
|
|
161
|
-
// Normalized to value 0 AND slope 0 at J2000. KL/KA/KS capture the J2000
|
|
162
|
-
// mean-year values at construction by design; phases use the fixed J2000
|
|
163
|
-
// lattice (the documented snapshot approximation).
|
|
164
|
-
const sunSec = (() => {
|
|
165
|
-
const trop = tropicalYearHarmonics, anom = anomalisticYearHarmonics;
|
|
166
|
-
const PBAR = meanSolarYearDays, ABAR = meanAnomalisticYearDays, DBAR = ABAR - PBAR;
|
|
167
|
-
const KL = -(360 / PBAR);
|
|
168
|
-
const wbar = 360 * DBAR / ABAR;
|
|
169
|
-
const KA = wbar * PBAR / (ABAR * DBAR);
|
|
170
|
-
const KS = -wbar / DBAR;
|
|
171
|
-
/** @param {number} y @param {Array<[number, number, number]>} set */
|
|
172
|
-
const dP = (y, set) => {
|
|
173
|
-
const t = y - balancedYearJ2000; let s = 0;
|
|
174
|
-
for (const [d, sc, cc] of set) {
|
|
175
|
-
const w = 2 * Math.PI / (holisticYearJ2000 / d);
|
|
176
|
-
s += sc * Math.sin(w * t) + cc * Math.cos(w * t);
|
|
177
|
-
} return s;
|
|
178
|
-
};
|
|
179
|
-
/** @param {number} y @param {Array<[number, number, number]>} set */
|
|
180
|
-
const intdP = (y, set) => {
|
|
181
|
-
const t = y - balancedYearJ2000; let s = 0;
|
|
182
|
-
for (const [d, sc, cc] of set) {
|
|
183
|
-
const w = 2 * Math.PI / (holisticYearJ2000 / d);
|
|
184
|
-
s += (-sc * Math.cos(w * t) + cc * Math.sin(w * t)) / w;
|
|
185
|
-
} return s;
|
|
186
|
-
};
|
|
187
|
-
return { int0T: intdP(2000, trop), int0A: intdP(2000, anom),
|
|
188
|
-
slope0L: KL * dP(2000, trop),
|
|
189
|
-
slope0P: KA * dP(2000, anom) + KS * dP(2000, trop),
|
|
190
|
-
KL, KA, KS, intdP, trop, anom };
|
|
171
|
+
return { LP0, D0, M0, MP0, F0, LPR, DR, MR, WDOT, NDOT, T2_W, T2_N, T3_W, T3_N, T2_LP, T2_LP_TIDAL, S_W, S_N };
|
|
191
172
|
})();
|
|
192
173
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
const S = sunSec;
|
|
197
|
-
const iT = S.intdP(y, S.trop) - S.int0T, iA = S.intdP(y, S.anom) - S.int0A;
|
|
198
|
-
return {
|
|
199
|
-
dLs: S.KL * iT - S.slope0L * (y - 2000),
|
|
200
|
-
dPeri: S.KA * iA + S.KS * iT - S.slope0P * (y - 2000),
|
|
201
|
-
};
|
|
202
|
-
}
|
|
174
|
+
// (Plan 09: the "Sun secular deviations" — closed-form integrals of the
|
|
175
|
+
// retired year-length combs on the calendar coordinate — are gone; the
|
|
176
|
+
// Sun is injected, see the header.)
|
|
203
177
|
|
|
204
178
|
// ── Bounded Lp carriers (K_PL / C_OBL derived lazily — zero new constants)
|
|
205
179
|
/** @type {number | null} */
|
|
@@ -272,9 +246,9 @@ function createMoonArguments({ constants, fns }) {
|
|
|
272
246
|
// channel) through the same K_PL conversion: zero through T² by
|
|
273
247
|
// construction (the certified T² normalization is untouched), < 0.001″
|
|
274
248
|
// in the modern era, the derived tail across the eclipse corpus. The
|
|
275
|
-
// envelope is the
|
|
276
|
-
//
|
|
277
|
-
//
|
|
249
|
+
// envelope is the cos² taper of half-width SECULAR_COMPLETION_TAPER_YEARS
|
|
250
|
+
// (~27.9 kyr): the completion saturates there, so deep time carries no
|
|
251
|
+
// open polynomial. The
|
|
278
252
|
// channel's own third-order content is not subtracted (ω³-suppressed,
|
|
279
253
|
// negligible); the T⁴ secular remainder beyond the channel term stays a
|
|
280
254
|
// documented deviation (D3: 40.8% derived; ≈ −7″ at −135).
|
|
@@ -292,7 +266,7 @@ function createMoonArguments({ constants, fns }) {
|
|
|
292
266
|
/** @param {number} tCy */
|
|
293
267
|
const e2 = (tCy) => { const e = eccAt(tCy * 100); return e * e; };
|
|
294
268
|
const d2Ch = (e2(10) - 2 * e2(0) + e2(-10)) / 100;
|
|
295
|
-
secComp = { dd2: d2Sec - d2Ch, d3Sec, Tq:
|
|
269
|
+
secComp = { dd2: d2Sec - d2Ch, d3Sec, Tq: SECULAR_COMPLETION_TAPER_YEARS / 100 };
|
|
296
270
|
}
|
|
297
271
|
const S = secComp;
|
|
298
272
|
/** @param {number} t */
|
|
@@ -403,6 +377,8 @@ function createMoonArguments({ constants, fns }) {
|
|
|
403
377
|
return dy / 2 + (Tq / (2 * Math.PI)) * Math.sin(Math.PI * dy / Tq);
|
|
404
378
|
}
|
|
405
379
|
|
|
380
|
+
/** Wrap a degree difference to (−180, 180]. @param {number} d */
|
|
381
|
+
const w180 = (d) => ((d + 540) % 360 + 360) % 360 - 180;
|
|
406
382
|
/** @type {{ok: boolean, Lp: number, w: number, om: number, Lsun: number, ws: number, Tq: number} | null} */
|
|
407
383
|
let rcAnchors = null;
|
|
408
384
|
function anchorsInit() {
|
|
@@ -430,8 +406,8 @@ function createMoonArguments({ constants, fns }) {
|
|
|
430
406
|
w: B.WDOT * k - (b.w - a.w) / span,
|
|
431
407
|
om: B.NDOT * k - (b.om - a.om) / span,
|
|
432
408
|
Lsun: (B.LPR - B.DR) * k - (b.Lsun - a.Lsun) / span,
|
|
433
|
-
ws: (B.LPR - B.DR - B.MR) * k - (b.ws - a.ws) / span,
|
|
434
|
-
Tq:
|
|
409
|
+
ws: (B.LPR - B.DR - B.MR) * k - w180(b.ws - a.ws) / span, // ws is wrapped; ±25 days of perihelion motion is far inside ±180°
|
|
410
|
+
Tq: SECULAR_COMPLETION_TAPER_YEARS,
|
|
435
411
|
};
|
|
436
412
|
return rcAnchors;
|
|
437
413
|
}
|
|
@@ -447,9 +423,7 @@ function createMoonArguments({ constants, fns }) {
|
|
|
447
423
|
const Ntrop = tropicalOrbitsBetween(argsY0, y);
|
|
448
424
|
const Naps = apsidalOfDateCyclesBetween(argsY0, y);
|
|
449
425
|
const Nnod = nodalOfDateCyclesBetween(argsY0, y);
|
|
450
|
-
|
|
451
|
-
if (Ntrop === null || Naps === null || Nnod === null || Nperi === null) return null; // tidal-lock guard
|
|
452
|
-
const dev = sunSecularDeviations(jd);
|
|
426
|
+
if (Ntrop === null || Naps === null || Nnod === null) return null; // tidal-lock guard
|
|
453
427
|
const Tj = (jd - j2000JD) / julianCenturyDays;
|
|
454
428
|
const dy = y - argsY0;
|
|
455
429
|
// pFix rides Lp ONLY: the obliquity carrier's PA reduction compensates
|
|
@@ -464,8 +438,9 @@ function createMoonArguments({ constants, fns }) {
|
|
|
464
438
|
+ lpSecularCompletion(Tj) + pF;
|
|
465
439
|
const w = (A.LP0 - A.MP0) + 360 * Naps; // perigee ϖ (of-date, advance)
|
|
466
440
|
const om = (A.LP0 - A.F0) - 360 * Nnod; // node Ω (of-date, regression)
|
|
467
|
-
const Lsun = (
|
|
468
|
-
const ws = (
|
|
441
|
+
const Lsun = sunMeanLonDegAtJdTT(jd); // the certified Sun's mean longitude (unwrapped)
|
|
442
|
+
const ws = sunPerihelionLonDegAtJdTT(jd) + 180; // the Sun's perihelion = Earth's mean ϖ of date + 180° (wrapped; M wraps)
|
|
443
|
+
void A;
|
|
469
444
|
return { Lp, w, om, Lsun, ws, dy };
|
|
470
445
|
}
|
|
471
446
|
|
|
@@ -510,9 +485,8 @@ function createMoonArguments({ constants, fns }) {
|
|
|
510
485
|
const Lp = A.LP0 + A.LPR * T + A.T2_LP * Tc2 + Tc3 / 538841 - Tc4 / 65194000;
|
|
511
486
|
const w = (A.LP0 - A.MP0) + A.WDOT * (T + channelIntegral(T, A.S_W)); // perigee ϖ (of-date)
|
|
512
487
|
const om = (A.LP0 - A.F0) + A.NDOT * (T + channelIntegral(T, A.S_N)); // node Ω (of-date)
|
|
513
|
-
const
|
|
514
|
-
const
|
|
515
|
-
const ws = (A.LP0 - A.D0 - A.M0) + (A.LPR - A.DR - A.MR) * T + dev.dPeri; // of-date Sun perihelion
|
|
488
|
+
const Lsun = sunMeanLonDegAtJdTT(jdTT); // the certified Sun's mean longitude of date
|
|
489
|
+
const ws = sunPerihelionLonDegAtJdTT(jdTT) + 180; // the Sun's perihelion of date
|
|
516
490
|
return {
|
|
517
491
|
Lp: wrap(Lp), D: wrap(Lp - Lsun), M: wrap(Lsun - ws),
|
|
518
492
|
Mp: wrap(Lp - w), F: wrap(Lp - om),
|
|
@@ -543,8 +517,8 @@ function createMoonArguments({ constants, fns }) {
|
|
|
543
517
|
|
|
544
518
|
// _rateCompletion: probe hook (instruments/verification) — the (d′) state:
|
|
545
519
|
// whether the completion is live, its measured ṗΔ, and the five anchors.
|
|
546
|
-
return { argsAt, fwArgs, fwArgsDeep, pureMeeusArgs,
|
|
520
|
+
return { argsAt, fwArgs, fwArgsDeep, pureMeeusArgs, planetaryCarrier, obliquityCarrier, lpSecularCompletion, bundle,
|
|
547
521
|
_rateCompletion: () => ({ rc: rateCompInit(), anchors: anchorsInit() }) };
|
|
548
522
|
}
|
|
549
523
|
|
|
550
|
-
module.exports = { createMoonArguments, jdToDecimalYear };
|
|
524
|
+
module.exports = { createMoonArguments, jdToDecimalYear, SECULAR_COMPLETION_TAPER_YEARS };
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
'use strict';
|
|
18
18
|
|
|
19
|
-
const DEEP_MODES_ARTIFACT_HASH = "
|
|
19
|
+
const DEEP_MODES_ARTIFACT_HASH = "87c325fac77d94a4";
|
|
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 lunar=1 asteroids=1 mean=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}},"sampling":{"kind":"running mean","windowDays":20000,"accumulateDays":20,"form":"z = e·e^{iϖ}, ζ = sin(i/2)·e^{iΩ}, the unwrapped L and a averaged over the interval centred on each sample instant; e/ϖ/i/Ω read back from the mean vectors"},"dumpFile":"tools/explore/lattice-long-window-ecliptic-20000000-gr.local.json (untracked, 337 MB)","dumpSha256":"fc601c3a6000530e7948e6a5472d571f139c5a04623f5eb0e00b7609875d3eea","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.6256163323512,"strongestBeatArcsecPerYr":3.195064482658601,"la2004BeatPeriodKyr":405.6972922210049,"rockMetronomeKyr":405.6,"companion124Kyr":123.8461774280429,"companion95Kyr":94.8779191670953,"earthLeadingModesArcsecPerYr":[4.25735934102568,7.45242382368428,17.917018104383835,17.3689464700915],"topBeatLines":[{"periodKyr":405.6256163323512,"productAmp":0.0003123331310002905},{"periodKyr":94.8779191670953,"productAmp":0.00024338439929369183},{"periodKyr":123.8461774280429,"productAmp":0.00020980866259533084},{"periodKyr":98.8438689567201,"productAmp":0.0001669487990040976},{"periodKyr":130.69097366197656,"productAmp":0.00014391762307936173},{"periodKyr":2364.6543971818337,"productAmp":0.00011214725805349748},{"periodKyr":972.3108567571052,"productAmp":0.00007217872288838428},{"periodKyr":695.9669361480503,"productAmp":0.00006222141337324166}],"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.00002064026053928728,"re":0.016408481973687293,"im":0.00964767356766811},{"omegaRadPerYr":0.000036130370271487795,"re":-0.015519642149088433,"im":-0.005327887107665329},{"omegaRadPerYr":0.00008686415501692527,"re":-0.011108273919656759,"im":0.006332365232208935},{"omegaRadPerYr":0.00008420702875159541,"re":0.005504475099147945,"im":-0.006828457315943787},{"omegaRadPerYr":0.000027102376295286908,"re":0.0005989651787266197,"im":0.003744371476925423},{"omegaRadPerYr":0.00008284689867908997,"re":0.0023859026034732315,"im":0.0008687938005845257},{"omegaRadPerYr":0.00008551634174576832,"re":0.0012668406307752948,"im":0.0012845431923923425},{"omegaRadPerYr":0.00008156882850046812,"re":-0.00034138421027087083,"im":0.001682380915016239},{"omegaRadPerYr":0.0000334561278810516,"re":-0.0012412251771850532,"im":0.0009317341271077432},{"omegaRadPerYr":0.0001369362592349324,"re":-0.000926051128681748,"im":0.0011910539702119224},{"omegaRadPerYr":0.00008736463255888094,"re":0.001319961318579058,"im":0.0009530742834143687},{"omegaRadPerYr":0.00008630680149412104,"re":-0.00038870896796713313,"im":0.0009911550727905994},{"omegaRadPerYr":0.000026453640981046377,"re":-0.00032604229856499203,"im":-0.0018103222794453506},{"omegaRadPerYr":0.000034145952616259075,"re":0.000948067859564817,"im":-0.0008231127465299272},{"omegaRadPerYr":0.000035480850773932457,"re":-0.0013008376918118244,"im":-0.0004244818801519477},{"omegaRadPerYr":0.00008951127352155837,"re":-0.0010559690881993635,"im":-0.000006007222063534987},{"omegaRadPerYr":0.00008814769748799456,"re":-0.0003393110824778119,"im":-0.0012661738187862766},{"omegaRadPerYr":0.00002769257654916034,"re":0.0004456460433847887,"im":0.001314672372975069}],"earthZeta":[{"omegaRadPerYr":-1.1410293228035924e-13,"re":-0.004134413965808633,"im":0.013144187955853495},{"omegaRadPerYr":-0.00009139020542200846,"re":-0.003762855590302997,"im":-0.007417296801641696},{"omegaRadPerYr":-0.000027078021559933723,"re":0.00422876100285432,"im":0.00155286032785777},{"omegaRadPerYr":-0.00008608086603475567,"re":0.0012161433255985612,"im":-0.003845457399097178},{"omegaRadPerYr":-0.0000341430545590667,"re":-0.003083019044835525,"im":0.0025226701548715204},{"omegaRadPerYr":-0.00008873899573767858,"re":-0.00020769829253787777,"im":-0.0026851282887250696},{"omegaRadPerYr":-0.00003333897758181369,"re":0.0006468537453096387,"im":-0.0008212873095351131},{"omegaRadPerYr":-0.000034707553507463474,"re":0.0012115494424393928,"im":-0.000860411790116295},{"omegaRadPerYr":-0.0000940469486230801,"re":0.0011248423973212406,"im":0.0009724980212842997},{"omegaRadPerYr":-0.000026471937837019996,"re":0.0016060798799799707,"im":0.000593154840511889},{"omegaRadPerYr":-0.00003277703034606899,"re":0.0005051926299923736,"im":-0.0006705902286727336},{"omegaRadPerYr":-0.00012773805775455268,"re":-0.0008122426040282591,"im":0.0010593610390690518},{"omegaRadPerYr":-0.00009269956749879626,"re":-0.0006909391732184238,"im":0.0004135337700854824},{"omegaRadPerYr":-0.000014507596996125832,"re":-0.0006470710267199387,"im":0.000577430822715892},{"omegaRadPerYr":-0.00003376189960948027,"re":0.0011578179749108309,"im":-0.0006909320839040882},{"omegaRadPerYr":-0.000028297573149631648,"re":-0.0011184863049224826,"im":-0.00038854420643713}],"earthZetaEra":[{"omegaRadPerYr":-1.1410293228035924e-13,"re":-0.004136153285970237,"im":0.013147337976083528},{"omegaRadPerYr":-0.00009139020542200846,"re":-0.0037451237972679404,"im":-0.007367091634537792},{"omegaRadPerYr":-0.000027078021559933723,"re":0.004192469329211744,"im":0.0015465198705623788},{"omegaRadPerYr":-0.00008608086603475567,"re":0.0012039923095212837,"im":-0.0038572750383669345},{"omegaRadPerYr":-0.0000341430545590667,"re":-0.0032014640685733347,"im":0.0025701013111980495},{"omegaRadPerYr":-0.00008873899573767858,"re":-0.00021856302716135288,"im":-0.002669850686242565},{"omegaRadPerYr":-0.00003333897758181369,"re":0.0003478756410273143,"im":-0.0006130452097161655},{"omegaRadPerYr":-0.000034707553507463474,"re":0.0012187997429937238,"im":-0.0008793880034144133}],"planetLeadingZetaArcsecPerYr":{"mercury":-5.583654017430141,"venus":-18.850622076583996,"earth":-18.850583014252912,"mars":-17.755517386122037,"jupiter":-26.347850642158217,"saturn":-26.347850635862965,"uranus":-2.992403456610929,"neptune":-0.6916261436887565},"planetZ":{"mercury":[{"omegaRadPerYr":0.000027101464292273197,"re":0.036444023071520636,"im":0.15311954497855707},{"omegaRadPerYr":0.000026456823395078742,"re":-0.014114753138057533,"im":-0.07933223620417756},{"omegaRadPerYr":0.000027695766401728754,"re":0.01488391380562996,"im":0.047703846765386804},{"omegaRadPerYr":0.00002060882554543645,"re":0.0339423908826784,"im":0.020589139515272425},{"omegaRadPerYr":0.00003613198793828062,"re":0.026373193241984387,"im":0.007998904226487892},{"omegaRadPerYr":0.000025943087153978193,"re":-0.00008248063135793124,"im":0.013824800750224079},{"omegaRadPerYr":0.000021259365941927403,"re":-0.010921071601665637,"im":-0.00539059578698316},{"omegaRadPerYr":0.000033442897746394404,"re":-0.006298687522836857,"im":0.00484612541944046},{"omegaRadPerYr":0.000027342848191263363,"re":-0.031442682817373786,"im":-0.0012822394903995275},{"omegaRadPerYr":0.000026863602621838813,"re":-0.002366611347964581,"im":0.038454733492295695},{"omegaRadPerYr":0.00002907738952128752,"re":-0.005667150672888674,"im":0.008668058090193012},{"omegaRadPerYr":0.000025324684311921822,"re":-0.005942093342373906,"im":-0.01227534565589349},{"omegaRadPerYr":0.000029797550612968427,"re":0.000809258995991266,"im":-0.006447105182531865},{"omegaRadPerYr":0.00001999241202238688,"re":0.012472253334907629,"im":0.003598867020651667},{"omegaRadPerYr":0.00002454698002313524,"re":0.002056079809993918,"im":0.0009914215789243552},{"omegaRadPerYr":0.00002812715562213109,"re":-0.0020516552363352264,"im":-0.003328524118382283},{"omegaRadPerYr":0.000019449370220817053,"re":-0.003801761527220787,"im":-0.0028424602404039483}],"venus":[{"omegaRadPerYr":0.00003613032717939823,"re":-0.020105347354812095,"im":-0.006917538891956874},{"omegaRadPerYr":0.000020639948809626973,"re":0.017068877008042455,"im":0.010006596219855075},{"omegaRadPerYr":0.0000868645027614212,"re":0.011426774420107297,"im":-0.006520468232307801},{"omegaRadPerYr":0.00008420762194547333,"re":-0.006892461031289234,"im":0.008472542669728586},{"omegaRadPerYr":0.00002710184368013,"re":0.0009493588277041413,"im":0.005898793130900129},{"omegaRadPerYr":0.00008284929179142955,"re":-0.0030327004795685426,"im":-0.0010976765634767385},{"omegaRadPerYr":0.00008156590429518311,"re":0.00046548814192078384,"im":-0.002280559309662902},{"omegaRadPerYr":0.00003345630063643376,"re":-0.0017828871626142308,"im":0.0012955364260770735},{"omegaRadPerYr":0.00008551538273944128,"re":-0.0011609762656497502,"im":-0.0012677611714651579},{"omegaRadPerYr":0.000026453137653133872,"re":-0.0005188505651127462,"im":-0.0028560488274096364},{"omegaRadPerYr":0.00003414565288549131,"re":0.001293348332442756,"im":-0.0011398131361210271},{"omegaRadPerYr":0.000027695175568907657,"re":0.0006921270564176893,"im":0.0020564256252633547},{"omegaRadPerYr":0.00003548134976957423,"re":-0.0017504233501284942,"im":-0.0005758759957417746},{"omegaRadPerYr":0.00008736398097589147,"re":-0.0013474575390550706,"im":-0.0009927321347241434},{"omegaRadPerYr":0.00008630851103555993,"re":0.00037655629612362053,"im":-0.0010608653943554895},{"omegaRadPerYr":0.00003678579077719159,"re":0.0015965103652885013,"im":0.000326196064641942},{"omegaRadPerYr":0.0000881453951345754,"re":0.00043023762572567373,"im":0.001269808377143898},{"omegaRadPerYr":0.00009215945807380688,"re":-0.0008156703652309041,"im":-0.00017529954633412867}],"mars":[{"omegaRadPerYr":0.00008686194512479256,"re":0.041504765489223015,"im":-0.02235814703330247},{"omegaRadPerYr":0.00008420997111097055,"re":0.024191089432561166,"im":-0.02897789085013378},{"omegaRadPerYr":0.000020640675014565008,"re":0.017529126075107513,"im":0.010379120272326686},{"omegaRadPerYr":0.000081559020668252,"re":-0.00512653562679053,"im":0.01749879738680057},{"omegaRadPerYr":0.00008951470911630578,"re":0.012453519346797655,"im":-0.0011163597951142977},{"omegaRadPerYr":0.00008286071875760845,"re":0.012151704081874753,"im":0.005285614192118448},{"omegaRadPerYr":0.00008552376315601169,"re":-0.008207003431997713,"im":-0.006506087433708435},{"omegaRadPerYr":0.0001369361221002656,"re":-0.004303475464136668,"im":0.005495829517999798},{"omegaRadPerYr":0.00008631407152193165,"re":0.0033781915488995404,"im":-0.003571055838038572},{"omegaRadPerYr":0.00009216418877389077,"re":0.0041800677044199945,"im":0.001239884803910324},{"omegaRadPerYr":0.00008815294721554903,"re":0.00154794952520183,"im":0.00539423751052082},{"omegaRadPerYr":0.00008737006845359332,"re":-0.004859218563287805,"im":-0.002468677396252279},{"omegaRadPerYr":0.00008474936086400094,"re":-0.0037175961790920664,"im":0.0005712029882590096},{"omegaRadPerYr":0.00003613060896653201,"re":-0.002878129202013714,"im":-0.0009814752724489001},{"omegaRadPerYr":0.00008323445025475002,"re":-0.0021029885361835633,"im":0.002382757319176468},{"omegaRadPerYr":0.00008591713432043544,"re":0.00033708647405510046,"im":-0.0031644039564270067},{"omegaRadPerYr":0.00008022543414911489,"re":0.0014076962389630687,"im":0.00023987935673597328},{"omegaRadPerYr":0.00009003358824060439,"re":-0.0007651109812525995,"im":-0.0015582440837956203}],"jupiter":[{"omegaRadPerYr":0.000020640753950043428,"re":0.03802835653373994,"im":0.022474649418839143},{"omegaRadPerYr":0.00013693627464314361,"re":0.009616154524345534,"im":-0.012410670409417759},{"omegaRadPerYr":0.00001497069966714567,"re":-0.0009272949693244661,"im":0.0015648766360135547},{"omegaRadPerYr":0.00025323179540132025,"re":0.0004058115437952037,"im":0.00040467312162701524},{"omegaRadPerYr":0.00013126627519382845,"re":-0.00015615390192768368,"im":-0.00012179063499624867},{"omegaRadPerYr":0.00014260614561117772,"re":-0.00015325271440933683,"im":-0.00011808845300916341},{"omegaRadPerYr":0.0001400031002474608,"re":0.00010313509494656653,"im":0.0000651207812040597},{"omegaRadPerYr":0.0001338686339295293,"re":0.0000796494850505555,"im":0.00007573975519807786},{"omegaRadPerYr":0.000026318691871986604,"re":-0.000033595588479122196,"im":0.00005893247722089392},{"omegaRadPerYr":0.000003264678984966945,"re":0.000015672896590185083,"im":0.000055892815074490174},{"omegaRadPerYr":0.0002589017654084997,"re":0.00003478722893472479,"im":-0.00003493345314915969},{"omegaRadPerYr":0.00036952732172556234,"re":-0.000023203909177119398,"im":0.000018106250385394238},{"omegaRadPerYr":0.000247561165114356,"re":0.000010581651136056448,"im":-0.00001055507796201632},{"omegaRadPerYr":0.00003612988319399951,"re":0.000013390695778674781,"im":0.0000047037021480044725},{"omegaRadPerYr":-0.00009565477053631919,"re":0.000005624309267976877,"im":-0.000012958002634747445},{"omegaRadPerYr":-0.0003924122435437034,"re":-0.000006992958975102424,"im":0.000009315796061382198},{"omegaRadPerYr":0.000009269941986513537,"re":-0.000008048534939225588,"im":-0.000003864628170723291},{"omegaRadPerYr":0.000027095228271856093,"re":-0.0000012609241750656542,"im":-0.000009355961110822987}],"saturn":[{"omegaRadPerYr":0.000136936274676527,"re":-0.029526114913357417,"im":0.03810663037643012},{"omegaRadPerYr":0.000020640753952303068,"re":0.02836216323554009,"im":0.016761916826061506},{"omegaRadPerYr":0.00025323179557224743,"re":-0.001358212735687014,"im":-0.001354494584141828},{"omegaRadPerYr":0.00001497069849206233,"re":-0.0007728290759742578,"im":0.0013036819124627682},{"omegaRadPerYr":0.00013126626764177452,"re":0.00047689972059781664,"im":0.0003718595755313727},{"omegaRadPerYr":0.00014260614140321844,"re":0.0004737043111922672,"im":0.00036497849195663706},{"omegaRadPerYr":0.00014000311722760271,"re":-0.0003189291778619858,"im":-0.00020142776498442827},{"omegaRadPerYr":0.0001338686331837861,"re":-0.00024288410398718474,"im":-0.00023105602990010615},{"omegaRadPerYr":0.00025890179311419993,"re":-0.0001171411707612403,"im":0.00011746492627150931},{"omegaRadPerYr":-0.00009565476823859153,"re":-0.000056224226827865934,"im":0.00012953968117821664},{"omegaRadPerYr":0.00036952732152187306,"re":0.000074583569294192,"im":-0.00005820083715270732},{"omegaRadPerYr":0.000003264848751840267,"re":0.000015700788295876694,"im":0.000055596186033803225},{"omegaRadPerYr":0.00024756115576041627,"re":-0.000035570705372331575,"im":0.00003545203031406821},{"omegaRadPerYr":0.00002631979662460751,"re":-0.000022991236071399768,"im":0.00003897885795678947},{"omegaRadPerYr":0.001249681025763079,"re":-2.3198668024885977e-9,"im":-2.0840120184947853e-8}],"uranus":[{"omegaRadPerYr":0.000020640754051905455,"re":-0.03238314921291906,"im":-0.019136270900500952},{"omegaRadPerYr":0.0000149707050305949,"re":-0.014799549047510857,"im":0.0249763314093295},{"omegaRadPerYr":0.0000032644703067195065,"re":0.0004512567709134293,"im":0.001607308223192826},{"omegaRadPerYr":0.00013693627421784157,"re":0.0009472723337198114,"im":-0.001223413990042431},{"omegaRadPerYr":0.00000929094076647845,"re":-0.0004098452587973499,"im":-0.000230897166720661},{"omegaRadPerYr":0.000026312658284797307,"re":0.0002273593783200553,"im":-0.00037789890577027204},{"omegaRadPerYr":0.000014377129396282065,"re":0.00005768197408126378,"im":-0.00005810167513883437},{"omegaRadPerYr":0.00013126623893761725,"re":-0.00004556400692074889,"im":-0.000035057876684577},{"omegaRadPerYr":0.000023704505602337045,"re":-0.00002212705831337314,"im":0.00004522467254519739},{"omegaRadPerYr":0.00025323179334234454,"re":0.000030115231546042077,"im":0.000030059783606340597},{"omegaRadPerYr":-0.0000956549513307507,"re":0.000016732588154100183,"im":-0.000038367429765478644},{"omegaRadPerYr":-0.00010132493178332638,"re":-0.00003431585146480019,"im":-0.000014866128319587489},{"omegaRadPerYr":0.000003858978166561776,"re":0.000022170010867448007,"im":0.000036447723730098744},{"omegaRadPerYr":0.000008814049719074161,"re":-0.00004082218088597741,"im":0.000012040500670065223},{"omegaRadPerYr":-0.00011590416867359514,"re":8.699602946641052e-8,"im":5.553883763810545e-8}],"neptune":[{"omegaRadPerYr":0.000003264141493530658,"re":0.0024666456746272147,"im":0.008775592288536284},{"omegaRadPerYr":0.000014970655885150893,"re":0.0018888514982263334,"im":-0.0031893968986236457},{"omegaRadPerYr":0.000020640754940856132,"re":0.00162951102568054,"im":0.0009616436926450925},{"omegaRadPerYr":-0.00011593914216418409,"re":2.747101136845908e-8,"im":-4.5026418830945565e-8}]},"planetZeta":{"mercury":[{"omegaRadPerYr":-0.000027070318582323557,"re":0.03509797249014931,"im":0.012514149382448552},{"omegaRadPerYr":-0.00003413690389739279,"re":0.026959869021417716,"im":-0.02182847853112868},{"omegaRadPerYr":-0.00003471031474027818,"re":-0.012559011294671124,"im":0.008298962969675253},{"omegaRadPerYr":-0.000026467651991945705,"re":0.015448590221985688,"im":0.005987464598341215},{"omegaRadPerYr":-0.000033407984465361296,"re":-0.006454952479176622,"im":0.006225963940515123},{"omegaRadPerYr":5.3811079978842454e-11,"re":-0.003980547301058507,"im":0.013069885927750423},{"omegaRadPerYr":-0.00003284702818980641,"re":-0.005700152713256442,"im":0.005259062565586818},{"omegaRadPerYr":-0.000035947927223711426,"re":-0.0012959811858415944,"im":0.0016158859533398368},{"omegaRadPerYr":-0.00002507612667936281,"re":0.0009462178374093093,"im":0.004877806208895182},{"omegaRadPerYr":-0.00003524962417899834,"re":0.0036109217252571144,"im":-0.0046240145829117745},{"omegaRadPerYr":-0.000024475657766030782,"re":0.000022798260296432497,"im":-0.004353168465030345},{"omegaRadPerYr":-0.00003379279225968061,"re":-0.007806902851354338,"im":0.004006379682954141},{"omegaRadPerYr":-0.00003218755977160671,"re":-0.003704667874928154,"im":0.0011958837300393094},{"omegaRadPerYr":-0.000028313967231963364,"re":-0.007360063047898489,"im":-0.0027969385837881607},{"omegaRadPerYr":-0.000027441503808049902,"re":0.0057143439391363115,"im":-0.00031294413395922653},{"omegaRadPerYr":-0.000025718821831500368,"re":-0.00022793114140702504,"im":-0.0019692404478195507}],"venus":[{"omegaRadPerYr":-1.6562063244548837e-12,"re":-0.0041316136422036975,"im":0.01314721125537392},{"omegaRadPerYr":-0.00009139039480153373,"re":0.004107285858484012,"im":0.008097724809849395},{"omegaRadPerYr":-0.000027077828639080643,"re":0.005723189259789776,"im":0.0021039425165124866},{"omegaRadPerYr":-0.00008608097266426905,"re":-0.0017575515997674367,"im":0.005497157000665012},{"omegaRadPerYr":-0.000034143334247237,"re":-0.0036684091781582005,"im":0.002972948909888301},{"omegaRadPerYr":-0.00008873898453972984,"re":0.00017435780296718974,"im":0.0028392930948168225},{"omegaRadPerYr":-0.00003332403122213448,"re":0.0008226721972746479,"im":-0.0009902272668019395},{"omegaRadPerYr":-0.000034706995821957084,"re":0.0013981723019846563,"im":-0.001003710822132505},{"omegaRadPerYr":-0.000026472136493668425,"re":0.002192723210036257,"im":0.0008156183271466527},{"omegaRadPerYr":-0.00009404722603802501,"re":-0.001310191142044668,"im":-0.0011533602374424112},{"omegaRadPerYr":-0.00003276166039911322,"re":0.0005497614278436831,"im":-0.000766360825371281},{"omegaRadPerYr":-0.0000926990603428534,"re":0.0007742960276975197,"im":-0.0004388347814239686},{"omegaRadPerYr":-0.000014507611623856052,"re":-0.0007092320230026597,"im":0.0006439859099214741},{"omegaRadPerYr":-0.000033754439090015164,"re":0.0014500510633024821,"im":-0.0008823786435673462},{"omegaRadPerYr":-0.000028299666175675138,"re":-0.0015021371101183883,"im":-0.0005258401276251515},{"omegaRadPerYr":-0.000032142206337013534,"re":0.0006661202277925022,"im":-0.0002653819963406987}],"mars":[{"omegaRadPerYr":-0.0000860811774397019,"re":0.010210834361735826,"im":-0.033564529480866426},{"omegaRadPerYr":-0.00009138911135565136,"re":0.006448618722464604,"im":0.013039152431651668},{"omegaRadPerYr":4.601264393751777e-13,"re":-0.004136646781035758,"im":0.013131602510833217},{"omegaRadPerYr":-0.00008873924254782978,"re":0.000719112601174314,"im":0.006332401348408038},{"omegaRadPerYr":-0.00008342553438253896,"re":-0.0033853606632027037,"im":0.004320155147168284},{"omegaRadPerYr":-0.00012773796955546586,"re":-0.002768989655290775,"im":0.0036533623978556177},{"omegaRadPerYr":-0.00008732461876937654,"re":0.00231534214924283,"im":0.00021373810426928368},{"omegaRadPerYr":-0.00008533731389685978,"re":0.00006630596192623674,"im":0.0014041501898406413},{"omegaRadPerYr":-0.00009270137877064185,"re":0.0012004306952446298,"im":-0.0007842328019909585},{"omegaRadPerYr":-0.00008675664615870381,"re":0.0007083420236363926,"im":-0.0008188387730287849},{"omegaRadPerYr":-0.00008568093986250838,"re":-0.0022270788357200036,"im":-0.00029158862728667726},{"omegaRadPerYr":-0.00009201279009249361,"re":-0.0001271862943350417,"im":0.001183825444928393},{"omegaRadPerYr":-0.00008937418452457295,"re":-0.0002755997174158327,"im":0.0007026579504328407},{"omegaRadPerYr":-0.0000270784800397243,"re":0.0008884309933447211,"im":0.00034003835617355427},{"omegaRadPerYr":-0.0000909288977613683,"re":-0.0004328117004380372,"im":0.0003922371902857479},{"omegaRadPerYr":-0.0000900480286442466,"re":0.0008966649316363436,"im":-0.0005174407942921522}],"jupiter":[{"omegaRadPerYr":3.7221754548585053e-13,"re":-0.004161137617013913,"im":0.013131043801952312},{"omegaRadPerYr":-0.00012773798459148977,"re":0.0019098221513580863,"im":-0.0025056558344084797},{"omegaRadPerYr":-0.000003353109945997523,"re":0.0005277820190990891,"im":0.00023288511772927517},{"omegaRadPerYr":-0.000014507601915596835,"re":-0.0003702089551422678,"im":0.0003078742011939763},{"omegaRadPerYr":-0.00013080293731212533,"re":-0.000017471232928724017,"im":-0.000016346795039079824},{"omegaRadPerYr":-0.000011442276301002287,"re":0.00001245980539505912,"im":0.00001269484118435882},{"omegaRadPerYr":0.00040161053399539277,"re":0.000008812960980166388,"im":-0.000011208823964357068},{"omegaRadPerYr":-0.000008827051616158178,"re":0.000007828579901231225,"im":0.00000781148442453125},{"omegaRadPerYr":-0.000027076815023712354,"re":-0.00000904470054078902,"im":-0.000003339892094053355},{"omegaRadPerYr":-0.00002017687762687059,"re":0.00000615649209644949,"im":0.00000751719853458792},{"omegaRadPerYr":0.0002853150150423352,"re":0.000007292068558861277,"im":0.000004378186079347917},{"omegaRadPerYr":-0.00024403350530026745,"re":0.000006274646554284911,"im":0.0000036486170089619},{"omegaRadPerYr":0.000169019491259695,"re":-0.0000025193695259248434,"im":0.000005678652678520896},{"omegaRadPerYr":-0.000002758708719863724,"re":0.000005899866664345434,"im":8.408375136534654e-7},{"omegaRadPerYr":-0.00003414438203433599,"re":0.00000471959319804195,"im":-0.000003724804010815483},{"omegaRadPerYr":-0.00013340793479052466,"re":0.000003615222293693522,"im":0.0000026473282077432464}],"saturn":[{"omegaRadPerYr":3.585419863101795e-13,"re":-0.004160829821085266,"im":0.01313035318190379},{"omegaRadPerYr":-0.00012773798456096954,"re":-0.00475752525331164,"im":0.006241839650150809},{"omegaRadPerYr":-0.000003353104048552392,"re":0.0005082773835787105,"im":0.00022438915547556837},{"omegaRadPerYr":-0.000014507604459261644,"re":-0.0003003529136201397,"im":0.0002498522709495287},{"omegaRadPerYr":-0.00013080297358737127,"re":0.00004462313026048051,"im":0.00004172135220672922},{"omegaRadPerYr":0.00040161053412911805,"re":-0.000021891186916241336,"im":0.000027842986249657194},{"omegaRadPerYr":0.00028531501271526966,"re":-0.000016973213900275996,"im":-0.000010209427993912636},{"omegaRadPerYr":0.00016901949553398734,"re":0.000006351249396626556,"im":-0.000014466385743905935},{"omegaRadPerYr":-0.000027077124002162175,"re":-0.000011812157537888775,"im":-0.000004333883484050759},{"omegaRadPerYr":-0.00008608110331037643,"re":-0.000003851841685967594,"im":0.000012265127869631022},{"omegaRadPerYr":-0.00013340770677559036,"re":-0.000008294931517564553,"im":-0.000006049557294846683},{"omegaRadPerYr":-0.00012206710895509666,"re":-0.000007849634096708948,"im":-0.000006182455594994061},{"omegaRadPerYr":-0.000008827439024311075,"re":0.000006897691656407948,"im":0.000007082500448309159},{"omegaRadPerYr":-0.0002440335040954839,"re":-0.000006773234418159552,"im":-0.000003939449654109784},{"omegaRadPerYr":-0.0000341439870403911,"re":0.000006808043941033205,"im":-0.000005368804116486281},{"omegaRadPerYr":-0.000020177691392900797,"re":0.000004208114355739691,"im":0.000005258604111260197}],"uranus":[{"omegaRadPerYr":1.6141148042328129e-12,"re":-0.004160858186670563,"im":0.013129873611558377},{"omegaRadPerYr":-0.000014507581351644442,"re":0.00681976988891068,"im":-0.00567455558541934},{"omegaRadPerYr":-0.0000033533173289506766,"re":-0.0005101610822664126,"im":-0.000224310078502412},{"omegaRadPerYr":-0.0001277379853640299,"re":0.0002139091624012802,"im":-0.00028067983977205185},{"omegaRadPerYr":-0.00001144239016674966,"re":-0.0002156563261634957,"im":-0.0002150429303191138},{"omegaRadPerYr":-0.000020175380714993984,"re":-0.0001217849690988656,"im":-0.0001456139226672655},{"omegaRadPerYr":-0.000008831574335573594,"re":-0.00012271331977628462,"im":-0.00013405824655403535},{"omegaRadPerYr":-0.00001510388467496541,"re":-0.00005803376568527162,"im":0.00002617841729566363},{"omegaRadPerYr":-0.000005772310975280442,"re":0.0000186284763652826,"im":-0.000018787231377164656},{"omegaRadPerYr":0.000055789018305747005,"re":-0.000003584390196202557,"im":0.000018771821808602262},{"omegaRadPerYr":0.000050118875830489076,"re":0.000011950781441802792,"im":0.0000022797653890251466},{"omegaRadPerYr":-0.00002707666210632543,"re":0.00000860900240250949,"im":0.000003963441917605542},{"omegaRadPerYr":-0.00013080306359358084,"re":-0.000007760848939991108,"im":-0.0000071759927999063306},{"omegaRadPerYr":-0.000009192797711448383,"re":-0.000006995283248688764,"im":0.000009869457731411796},{"omegaRadPerYr":-0.000014175489628890538,"re":-0.000012703150624760847,"im":0.000007778454242024216},{"omegaRadPerYr":0.0001017879709588662,"re":-0.000004042914508902477,"im":-0.000006404468758645802}],"neptune":[{"omegaRadPerYr":-5.354534864918708e-12,"re":-0.004159722070410082,"im":0.013130987574325645},{"omegaRadPerYr":-0.0000033530981667333895,"re":-0.005314734683414286,"im":-0.002345763320993943},{"omegaRadPerYr":-0.000014507473745238309,"re":-0.0008167258086049919,"im":0.0006798034088892296},{"omegaRadPerYr":-0.000011442679063650532,"re":0.000041036510281751056,"im":0.00004000471131993182},{"omegaRadPerYr":-0.0000027576451599032637,"re":-0.00006149844675699788,"im":-0.000008691318229841067},{"omegaRadPerYr":-0.0001277379853991284,"re":0.000022940819123859223,"im":-0.000030013552771801523},{"omegaRadPerYr":-0.000020173403598083907,"re":0.000017856436332375348,"im":0.000021295077746280004},{"omegaRadPerYr":-0.00000898047932753266,"re":-0.0000018712220224329416,"im":0.00001734263010674452},{"omegaRadPerYr":0.0000022940677597405162,"re":-0.000008135675285680441,"im":0.00001596639991310029},{"omegaRadPerYr":-0.00000577342966650786,"re":-0.000010151270217803843,"im":0.000012347469128448818},{"omegaRadPerYr":-0.000003688694102054736,"re":-0.000013288748719471691,"im":-0.000004967372846951306},{"omegaRadPerYr":-0.00001510336833335311,"re":0.000008447399515316875,"im":-0.0000038128564863716114},{"omegaRadPerYr":0.0000029055858228923875,"re":1.0662959363406667e-8,"im":-0.000006670003949424725},{"omegaRadPerYr":0.00005011796292783657,"re":-0.000005130325158457534,"im":-0.0000010094005026246946},{"omegaRadPerYr":0.00003897837341896782,"re":-0.0000020680050285509657,"im":0.0000027753917603475307}]},"anchorE":0.016702435651957018,"anchorPeriEclipticDeg":462.9179213996577,"anchorInclEclipticDeg":0.00010345820355474172,"anchorAscNodeEclipticDeg":140.29217988414328,"anchorZDotPerYr":[-8.220369999999999e-7,-6.198139999999997e-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 mean=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}},"sampling":{"kind":"running mean","windowDays":20000,"accumulateDays":20,"form":"z = e·e^{iϖ}, ζ = sin(i/2)·e^{iΩ}, the unwrapped L and a averaged over the interval centred on each sample instant; e/ϖ/i/Ω read back from the mean vectors"},"dumpFile":"tools/explore/lattice-long-window-ecliptic-20000000-gr.local.json (untracked, 337 MB)","dumpSha256":"fc601c3a6000530e7948e6a5472d571f139c5a04623f5eb0e00b7609875d3eea","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.6256163323512,"strongestBeatArcsecPerYr":3.195064482658601,"la2004BeatPeriodKyr":405.6972922210049,"rockMetronomeKyr":405.6,"companion124Kyr":123.8461774280429,"companion95Kyr":94.8779191670953,"earthLeadingModesArcsecPerYr":[4.25735934102568,7.45242382368428,17.917018104383835,17.3689464700915],"topBeatLines":[{"periodKyr":405.6256163323512,"productAmp":0.0003123331310002905},{"periodKyr":94.8779191670953,"productAmp":0.00024338439929369183},{"periodKyr":123.8461774280429,"productAmp":0.00020980866259533084},{"periodKyr":98.8438689567201,"productAmp":0.0001669487990040976},{"periodKyr":130.69097366197656,"productAmp":0.00014391762307936173},{"periodKyr":2364.6543971818337,"productAmp":0.00011214725805349748},{"periodKyr":972.3108567571052,"productAmp":0.00007217872288838428},{"periodKyr":695.9669361480503,"productAmp":0.00006222141337324166}],"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.00002064026053928728,"re":0.016408481973687293,"im":0.00964767356766811},{"omegaRadPerYr":0.000036130370271487795,"re":-0.015519642149088433,"im":-0.005327887107665329},{"omegaRadPerYr":0.00008686415501692527,"re":-0.011108273919656759,"im":0.006332365232208935},{"omegaRadPerYr":0.00008420702875159541,"re":0.005504475099147945,"im":-0.006828457315943787},{"omegaRadPerYr":0.000027102376295286908,"re":0.0005989651787266197,"im":0.003744371476925423},{"omegaRadPerYr":0.00008284689867908997,"re":0.0023859026034732315,"im":0.0008687938005845257},{"omegaRadPerYr":0.00008551634174576832,"re":0.0012668406307752948,"im":0.0012845431923923425},{"omegaRadPerYr":0.00008156882850046812,"re":-0.00034138421027087083,"im":0.001682380915016239},{"omegaRadPerYr":0.0000334561278810516,"re":-0.0012412251771850532,"im":0.0009317341271077432},{"omegaRadPerYr":0.0001369362592349324,"re":-0.000926051128681748,"im":0.0011910539702119224},{"omegaRadPerYr":0.00008736463255888094,"re":0.001319961318579058,"im":0.0009530742834143687},{"omegaRadPerYr":0.00008630680149412104,"re":-0.00038870896796713313,"im":0.0009911550727905994},{"omegaRadPerYr":0.000026453640981046377,"re":-0.00032604229856499203,"im":-0.0018103222794453506},{"omegaRadPerYr":0.000034145952616259075,"re":0.000948067859564817,"im":-0.0008231127465299272},{"omegaRadPerYr":0.000035480850773932457,"re":-0.0013008376918118244,"im":-0.0004244818801519477},{"omegaRadPerYr":0.00008951127352155837,"re":-0.0010559690881993635,"im":-0.000006007222063534987},{"omegaRadPerYr":0.00008814769748799456,"re":-0.0003393110824778119,"im":-0.0012661738187862766},{"omegaRadPerYr":0.00002769257654916034,"re":0.0004456460433847887,"im":0.001314672372975069}],"earthZeta":[{"omegaRadPerYr":-1.1410293228035924e-13,"re":-0.004134413965808633,"im":0.013144187955853495},{"omegaRadPerYr":-0.00009139020542200846,"re":-0.003762855590302997,"im":-0.007417296801641696},{"omegaRadPerYr":-0.000027078021559933723,"re":0.00422876100285432,"im":0.00155286032785777},{"omegaRadPerYr":-0.00008608086603475567,"re":0.0012161433255985612,"im":-0.003845457399097178},{"omegaRadPerYr":-0.0000341430545590667,"re":-0.003083019044835525,"im":0.0025226701548715204},{"omegaRadPerYr":-0.00008873899573767858,"re":-0.00020769829253787777,"im":-0.0026851282887250696},{"omegaRadPerYr":-0.00003333897758181369,"re":0.0006468537453096387,"im":-0.0008212873095351131},{"omegaRadPerYr":-0.000034707553507463474,"re":0.0012115494424393928,"im":-0.000860411790116295},{"omegaRadPerYr":-0.0000940469486230801,"re":0.0011248423973212406,"im":0.0009724980212842997},{"omegaRadPerYr":-0.000026471937837019996,"re":0.0016060798799799707,"im":0.000593154840511889},{"omegaRadPerYr":-0.00003277703034606899,"re":0.0005051926299923736,"im":-0.0006705902286727336},{"omegaRadPerYr":-0.00012773805775455268,"re":-0.0008122426040282591,"im":0.0010593610390690518},{"omegaRadPerYr":-0.00009269956749879626,"re":-0.0006909391732184238,"im":0.0004135337700854824},{"omegaRadPerYr":-0.000014507596996125832,"re":-0.0006470710267199387,"im":0.000577430822715892},{"omegaRadPerYr":-0.00003376189960948027,"re":0.0011578179749108309,"im":-0.0006909320839040882},{"omegaRadPerYr":-0.000028297573149631648,"re":-0.0011184863049224826,"im":-0.00038854420643713}],"earthZetaEra":[{"omegaRadPerYr":-1.1410293228035924e-13,"re":-0.004136153285970237,"im":0.013147337976083528},{"omegaRadPerYr":-0.00009139020542200846,"re":-0.0037451237972679404,"im":-0.007367091634537792},{"omegaRadPerYr":-0.000027078021559933723,"re":0.004192469329211744,"im":0.0015465198705623788},{"omegaRadPerYr":-0.00008608086603475567,"re":0.0012039923095212837,"im":-0.0038572750383669345},{"omegaRadPerYr":-0.0000341430545590667,"re":-0.0032014640685733347,"im":0.0025701013111980495},{"omegaRadPerYr":-0.00008873899573767858,"re":-0.00021856302716135288,"im":-0.002669850686242565},{"omegaRadPerYr":-0.00003333897758181369,"re":0.0003478756410273143,"im":-0.0006130452097161655},{"omegaRadPerYr":-0.000034707553507463474,"re":0.0012187997429937238,"im":-0.0008793880034144133}],"planetLeadingZetaArcsecPerYr":{"mercury":-5.583654017430141,"venus":-18.850622076583996,"earth":-18.850583014252912,"mars":-17.755517386122037,"jupiter":-26.347850642158217,"saturn":-26.347850635862965,"uranus":-2.992403456610929,"neptune":-0.6916261436887565},"planetZ":{"mercury":[{"omegaRadPerYr":0.000027101464292273197,"re":0.036444023071520636,"im":0.15311954497855707},{"omegaRadPerYr":0.000026456823395078742,"re":-0.014114753138057533,"im":-0.07933223620417756},{"omegaRadPerYr":0.000027695766401728754,"re":0.01488391380562996,"im":0.047703846765386804},{"omegaRadPerYr":0.00002060882554543645,"re":0.0339423908826784,"im":0.020589139515272425},{"omegaRadPerYr":0.00003613198793828062,"re":0.026373193241984387,"im":0.007998904226487892},{"omegaRadPerYr":0.000025943087153978193,"re":-0.00008248063135793124,"im":0.013824800750224079},{"omegaRadPerYr":0.000021259365941927403,"re":-0.010921071601665637,"im":-0.00539059578698316},{"omegaRadPerYr":0.000033442897746394404,"re":-0.006298687522836857,"im":0.00484612541944046},{"omegaRadPerYr":0.000027342848191263363,"re":-0.031442682817373786,"im":-0.0012822394903995275},{"omegaRadPerYr":0.000026863602621838813,"re":-0.002366611347964581,"im":0.038454733492295695},{"omegaRadPerYr":0.00002907738952128752,"re":-0.005667150672888674,"im":0.008668058090193012},{"omegaRadPerYr":0.000025324684311921822,"re":-0.005942093342373906,"im":-0.01227534565589349},{"omegaRadPerYr":0.000029797550612968427,"re":0.000809258995991266,"im":-0.006447105182531865},{"omegaRadPerYr":0.00001999241202238688,"re":0.012472253334907629,"im":0.003598867020651667},{"omegaRadPerYr":0.00002454698002313524,"re":0.002056079809993918,"im":0.0009914215789243552},{"omegaRadPerYr":0.00002812715562213109,"re":-0.0020516552363352264,"im":-0.003328524118382283},{"omegaRadPerYr":0.000019449370220817053,"re":-0.003801761527220787,"im":-0.0028424602404039483}],"venus":[{"omegaRadPerYr":0.00003613032717939823,"re":-0.020105347354812095,"im":-0.006917538891956874},{"omegaRadPerYr":0.000020639948809626973,"re":0.017068877008042455,"im":0.010006596219855075},{"omegaRadPerYr":0.0000868645027614212,"re":0.011426774420107297,"im":-0.006520468232307801},{"omegaRadPerYr":0.00008420762194547333,"re":-0.006892461031289234,"im":0.008472542669728586},{"omegaRadPerYr":0.00002710184368013,"re":0.0009493588277041413,"im":0.005898793130900129},{"omegaRadPerYr":0.00008284929179142955,"re":-0.0030327004795685426,"im":-0.0010976765634767385},{"omegaRadPerYr":0.00008156590429518311,"re":0.00046548814192078384,"im":-0.002280559309662902},{"omegaRadPerYr":0.00003345630063643376,"re":-0.0017828871626142308,"im":0.0012955364260770735},{"omegaRadPerYr":0.00008551538273944128,"re":-0.0011609762656497502,"im":-0.0012677611714651579},{"omegaRadPerYr":0.000026453137653133872,"re":-0.0005188505651127462,"im":-0.0028560488274096364},{"omegaRadPerYr":0.00003414565288549131,"re":0.001293348332442756,"im":-0.0011398131361210271},{"omegaRadPerYr":0.000027695175568907657,"re":0.0006921270564176893,"im":0.0020564256252633547},{"omegaRadPerYr":0.00003548134976957423,"re":-0.0017504233501284942,"im":-0.0005758759957417746},{"omegaRadPerYr":0.00008736398097589147,"re":-0.0013474575390550706,"im":-0.0009927321347241434},{"omegaRadPerYr":0.00008630851103555993,"re":0.00037655629612362053,"im":-0.0010608653943554895},{"omegaRadPerYr":0.00003678579077719159,"re":0.0015965103652885013,"im":0.000326196064641942},{"omegaRadPerYr":0.0000881453951345754,"re":0.00043023762572567373,"im":0.001269808377143898},{"omegaRadPerYr":0.00009215945807380688,"re":-0.0008156703652309041,"im":-0.00017529954633412867}],"mars":[{"omegaRadPerYr":0.00008686194512479256,"re":0.041504765489223015,"im":-0.02235814703330247},{"omegaRadPerYr":0.00008420997111097055,"re":0.024191089432561166,"im":-0.02897789085013378},{"omegaRadPerYr":0.000020640675014565008,"re":0.017529126075107513,"im":0.010379120272326686},{"omegaRadPerYr":0.000081559020668252,"re":-0.00512653562679053,"im":0.01749879738680057},{"omegaRadPerYr":0.00008951470911630578,"re":0.012453519346797655,"im":-0.0011163597951142977},{"omegaRadPerYr":0.00008286071875760845,"re":0.012151704081874753,"im":0.005285614192118448},{"omegaRadPerYr":0.00008552376315601169,"re":-0.008207003431997713,"im":-0.006506087433708435},{"omegaRadPerYr":0.0001369361221002656,"re":-0.004303475464136668,"im":0.005495829517999798},{"omegaRadPerYr":0.00008631407152193165,"re":0.0033781915488995404,"im":-0.003571055838038572},{"omegaRadPerYr":0.00009216418877389077,"re":0.0041800677044199945,"im":0.001239884803910324},{"omegaRadPerYr":0.00008815294721554903,"re":0.00154794952520183,"im":0.00539423751052082},{"omegaRadPerYr":0.00008737006845359332,"re":-0.004859218563287805,"im":-0.002468677396252279},{"omegaRadPerYr":0.00008474936086400094,"re":-0.0037175961790920664,"im":0.0005712029882590096},{"omegaRadPerYr":0.00003613060896653201,"re":-0.002878129202013714,"im":-0.0009814752724489001},{"omegaRadPerYr":0.00008323445025475002,"re":-0.0021029885361835633,"im":0.002382757319176468},{"omegaRadPerYr":0.00008591713432043544,"re":0.00033708647405510046,"im":-0.0031644039564270067},{"omegaRadPerYr":0.00008022543414911489,"re":0.0014076962389630687,"im":0.00023987935673597328},{"omegaRadPerYr":0.00009003358824060439,"re":-0.0007651109812525995,"im":-0.0015582440837956203}],"jupiter":[{"omegaRadPerYr":0.000020640753950043428,"re":0.03802835653373994,"im":0.022474649418839143},{"omegaRadPerYr":0.00013693627464314361,"re":0.009616154524345534,"im":-0.012410670409417759},{"omegaRadPerYr":0.00001497069966714567,"re":-0.0009272949693244661,"im":0.0015648766360135547},{"omegaRadPerYr":0.00025323179540132025,"re":0.0004058115437952037,"im":0.00040467312162701524},{"omegaRadPerYr":0.00013126627519382845,"re":-0.00015615390192768368,"im":-0.00012179063499624867},{"omegaRadPerYr":0.00014260614561117772,"re":-0.00015325271440933683,"im":-0.00011808845300916341},{"omegaRadPerYr":0.0001400031002474608,"re":0.00010313509494656653,"im":0.0000651207812040597},{"omegaRadPerYr":0.0001338686339295293,"re":0.0000796494850505555,"im":0.00007573975519807786},{"omegaRadPerYr":0.000026318691871986604,"re":-0.000033595588479122196,"im":0.00005893247722089392},{"omegaRadPerYr":0.000003264678984966945,"re":0.000015672896590185083,"im":0.000055892815074490174},{"omegaRadPerYr":0.0002589017654084997,"re":0.00003478722893472479,"im":-0.00003493345314915969},{"omegaRadPerYr":0.00036952732172556234,"re":-0.000023203909177119398,"im":0.000018106250385394238},{"omegaRadPerYr":0.000247561165114356,"re":0.000010581651136056448,"im":-0.00001055507796201632},{"omegaRadPerYr":0.00003612988319399951,"re":0.000013390695778674781,"im":0.0000047037021480044725},{"omegaRadPerYr":-0.00009565477053631919,"re":0.000005624309267976877,"im":-0.000012958002634747445},{"omegaRadPerYr":-0.0003924122435437034,"re":-0.000006992958975102424,"im":0.000009315796061382198},{"omegaRadPerYr":0.000009269941986513537,"re":-0.000008048534939225588,"im":-0.000003864628170723291},{"omegaRadPerYr":0.000027095228271856093,"re":-0.0000012609241750656542,"im":-0.000009355961110822987}],"saturn":[{"omegaRadPerYr":0.000136936274676527,"re":-0.029526114913357417,"im":0.03810663037643012},{"omegaRadPerYr":0.000020640753952303068,"re":0.02836216323554009,"im":0.016761916826061506},{"omegaRadPerYr":0.00025323179557224743,"re":-0.001358212735687014,"im":-0.001354494584141828},{"omegaRadPerYr":0.00001497069849206233,"re":-0.0007728290759742578,"im":0.0013036819124627682},{"omegaRadPerYr":0.00013126626764177452,"re":0.00047689972059781664,"im":0.0003718595755313727},{"omegaRadPerYr":0.00014260614140321844,"re":0.0004737043111922672,"im":0.00036497849195663706},{"omegaRadPerYr":0.00014000311722760271,"re":-0.0003189291778619858,"im":-0.00020142776498442827},{"omegaRadPerYr":0.0001338686331837861,"re":-0.00024288410398718474,"im":-0.00023105602990010615},{"omegaRadPerYr":0.00025890179311419993,"re":-0.0001171411707612403,"im":0.00011746492627150931},{"omegaRadPerYr":-0.00009565476823859153,"re":-0.000056224226827865934,"im":0.00012953968117821664},{"omegaRadPerYr":0.00036952732152187306,"re":0.000074583569294192,"im":-0.00005820083715270732},{"omegaRadPerYr":0.000003264848751840267,"re":0.000015700788295876694,"im":0.000055596186033803225},{"omegaRadPerYr":0.00024756115576041627,"re":-0.000035570705372331575,"im":0.00003545203031406821},{"omegaRadPerYr":0.00002631979662460751,"re":-0.000022991236071399768,"im":0.00003897885795678947},{"omegaRadPerYr":0.001249681025763079,"re":-2.3198668024885977e-9,"im":-2.0840120184947853e-8}],"uranus":[{"omegaRadPerYr":0.000020640754051905455,"re":-0.03238314921291906,"im":-0.019136270900500952},{"omegaRadPerYr":0.0000149707050305949,"re":-0.014799549047510857,"im":0.0249763314093295},{"omegaRadPerYr":0.0000032644703067195065,"re":0.0004512567709134293,"im":0.001607308223192826},{"omegaRadPerYr":0.00013693627421784157,"re":0.0009472723337198114,"im":-0.001223413990042431},{"omegaRadPerYr":0.00000929094076647845,"re":-0.0004098452587973499,"im":-0.000230897166720661},{"omegaRadPerYr":0.000026312658284797307,"re":0.0002273593783200553,"im":-0.00037789890577027204},{"omegaRadPerYr":0.000014377129396282065,"re":0.00005768197408126378,"im":-0.00005810167513883437},{"omegaRadPerYr":0.00013126623893761725,"re":-0.00004556400692074889,"im":-0.000035057876684577},{"omegaRadPerYr":0.000023704505602337045,"re":-0.00002212705831337314,"im":0.00004522467254519739},{"omegaRadPerYr":0.00025323179334234454,"re":0.000030115231546042077,"im":0.000030059783606340597},{"omegaRadPerYr":-0.0000956549513307507,"re":0.000016732588154100183,"im":-0.000038367429765478644},{"omegaRadPerYr":-0.00010132493178332638,"re":-0.00003431585146480019,"im":-0.000014866128319587489},{"omegaRadPerYr":0.000003858978166561776,"re":0.000022170010867448007,"im":0.000036447723730098744},{"omegaRadPerYr":0.000008814049719074161,"re":-0.00004082218088597741,"im":0.000012040500670065223},{"omegaRadPerYr":-0.00011590416867359514,"re":8.699602946641052e-8,"im":5.553883763810545e-8}],"neptune":[{"omegaRadPerYr":0.000003264141493530658,"re":0.0024666456746272147,"im":0.008775592288536284},{"omegaRadPerYr":0.000014970655885150893,"re":0.0018888514982263334,"im":-0.0031893968986236457},{"omegaRadPerYr":0.000020640754940856132,"re":0.00162951102568054,"im":0.0009616436926450925},{"omegaRadPerYr":-0.00011593914216418409,"re":2.747101136845908e-8,"im":-4.5026418830945565e-8}]},"planetZeta":{"mercury":[{"omegaRadPerYr":-0.000027070318582323557,"re":0.03509797249014931,"im":0.012514149382448552},{"omegaRadPerYr":-0.00003413690389739279,"re":0.026959869021417716,"im":-0.02182847853112868},{"omegaRadPerYr":-0.00003471031474027818,"re":-0.012559011294671124,"im":0.008298962969675253},{"omegaRadPerYr":-0.000026467651991945705,"re":0.015448590221985688,"im":0.005987464598341215},{"omegaRadPerYr":-0.000033407984465361296,"re":-0.006454952479176622,"im":0.006225963940515123},{"omegaRadPerYr":5.3811079978842454e-11,"re":-0.003980547301058507,"im":0.013069885927750423},{"omegaRadPerYr":-0.00003284702818980641,"re":-0.005700152713256442,"im":0.005259062565586818},{"omegaRadPerYr":-0.000035947927223711426,"re":-0.0012959811858415944,"im":0.0016158859533398368},{"omegaRadPerYr":-0.00002507612667936281,"re":0.0009462178374093093,"im":0.004877806208895182},{"omegaRadPerYr":-0.00003524962417899834,"re":0.0036109217252571144,"im":-0.0046240145829117745},{"omegaRadPerYr":-0.000024475657766030782,"re":0.000022798260296432497,"im":-0.004353168465030345},{"omegaRadPerYr":-0.00003379279225968061,"re":-0.007806902851354338,"im":0.004006379682954141},{"omegaRadPerYr":-0.00003218755977160671,"re":-0.003704667874928154,"im":0.0011958837300393094},{"omegaRadPerYr":-0.000028313967231963364,"re":-0.007360063047898489,"im":-0.0027969385837881607},{"omegaRadPerYr":-0.000027441503808049902,"re":0.0057143439391363115,"im":-0.00031294413395922653},{"omegaRadPerYr":-0.000025718821831500368,"re":-0.00022793114140702504,"im":-0.0019692404478195507}],"venus":[{"omegaRadPerYr":-1.6562063244548837e-12,"re":-0.0041316136422036975,"im":0.01314721125537392},{"omegaRadPerYr":-0.00009139039480153373,"re":0.004107285858484012,"im":0.008097724809849395},{"omegaRadPerYr":-0.000027077828639080643,"re":0.005723189259789776,"im":0.0021039425165124866},{"omegaRadPerYr":-0.00008608097266426905,"re":-0.0017575515997674367,"im":0.005497157000665012},{"omegaRadPerYr":-0.000034143334247237,"re":-0.0036684091781582005,"im":0.002972948909888301},{"omegaRadPerYr":-0.00008873898453972984,"re":0.00017435780296718974,"im":0.0028392930948168225},{"omegaRadPerYr":-0.00003332403122213448,"re":0.0008226721972746479,"im":-0.0009902272668019395},{"omegaRadPerYr":-0.000034706995821957084,"re":0.0013981723019846563,"im":-0.001003710822132505},{"omegaRadPerYr":-0.000026472136493668425,"re":0.002192723210036257,"im":0.0008156183271466527},{"omegaRadPerYr":-0.00009404722603802501,"re":-0.001310191142044668,"im":-0.0011533602374424112},{"omegaRadPerYr":-0.00003276166039911322,"re":0.0005497614278436831,"im":-0.000766360825371281},{"omegaRadPerYr":-0.0000926990603428534,"re":0.0007742960276975197,"im":-0.0004388347814239686},{"omegaRadPerYr":-0.000014507611623856052,"re":-0.0007092320230026597,"im":0.0006439859099214741},{"omegaRadPerYr":-0.000033754439090015164,"re":0.0014500510633024821,"im":-0.0008823786435673462},{"omegaRadPerYr":-0.000028299666175675138,"re":-0.0015021371101183883,"im":-0.0005258401276251515},{"omegaRadPerYr":-0.000032142206337013534,"re":0.0006661202277925022,"im":-0.0002653819963406987}],"mars":[{"omegaRadPerYr":-0.0000860811774397019,"re":0.010210834361735826,"im":-0.033564529480866426},{"omegaRadPerYr":-0.00009138911135565136,"re":0.006448618722464604,"im":0.013039152431651668},{"omegaRadPerYr":4.601264393751777e-13,"re":-0.004136646781035758,"im":0.013131602510833217},{"omegaRadPerYr":-0.00008873924254782978,"re":0.000719112601174314,"im":0.006332401348408038},{"omegaRadPerYr":-0.00008342553438253896,"re":-0.0033853606632027037,"im":0.004320155147168284},{"omegaRadPerYr":-0.00012773796955546586,"re":-0.002768989655290775,"im":0.0036533623978556177},{"omegaRadPerYr":-0.00008732461876937654,"re":0.00231534214924283,"im":0.00021373810426928368},{"omegaRadPerYr":-0.00008533731389685978,"re":0.00006630596192623674,"im":0.0014041501898406413},{"omegaRadPerYr":-0.00009270137877064185,"re":0.0012004306952446298,"im":-0.0007842328019909585},{"omegaRadPerYr":-0.00008675664615870381,"re":0.0007083420236363926,"im":-0.0008188387730287849},{"omegaRadPerYr":-0.00008568093986250838,"re":-0.0022270788357200036,"im":-0.00029158862728667726},{"omegaRadPerYr":-0.00009201279009249361,"re":-0.0001271862943350417,"im":0.001183825444928393},{"omegaRadPerYr":-0.00008937418452457295,"re":-0.0002755997174158327,"im":0.0007026579504328407},{"omegaRadPerYr":-0.0000270784800397243,"re":0.0008884309933447211,"im":0.00034003835617355427},{"omegaRadPerYr":-0.0000909288977613683,"re":-0.0004328117004380372,"im":0.0003922371902857479},{"omegaRadPerYr":-0.0000900480286442466,"re":0.0008966649316363436,"im":-0.0005174407942921522}],"jupiter":[{"omegaRadPerYr":3.7221754548585053e-13,"re":-0.004161137617013913,"im":0.013131043801952312},{"omegaRadPerYr":-0.00012773798459148977,"re":0.0019098221513580863,"im":-0.0025056558344084797},{"omegaRadPerYr":-0.000003353109945997523,"re":0.0005277820190990891,"im":0.00023288511772927517},{"omegaRadPerYr":-0.000014507601915596835,"re":-0.0003702089551422678,"im":0.0003078742011939763},{"omegaRadPerYr":-0.00013080293731212533,"re":-0.000017471232928724017,"im":-0.000016346795039079824},{"omegaRadPerYr":-0.000011442276301002287,"re":0.00001245980539505912,"im":0.00001269484118435882},{"omegaRadPerYr":0.00040161053399539277,"re":0.000008812960980166388,"im":-0.000011208823964357068},{"omegaRadPerYr":-0.000008827051616158178,"re":0.000007828579901231225,"im":0.00000781148442453125},{"omegaRadPerYr":-0.000027076815023712354,"re":-0.00000904470054078902,"im":-0.000003339892094053355},{"omegaRadPerYr":-0.00002017687762687059,"re":0.00000615649209644949,"im":0.00000751719853458792},{"omegaRadPerYr":0.0002853150150423352,"re":0.000007292068558861277,"im":0.000004378186079347917},{"omegaRadPerYr":-0.00024403350530026745,"re":0.000006274646554284911,"im":0.0000036486170089619},{"omegaRadPerYr":0.000169019491259695,"re":-0.0000025193695259248434,"im":0.000005678652678520896},{"omegaRadPerYr":-0.000002758708719863724,"re":0.000005899866664345434,"im":8.408375136534654e-7},{"omegaRadPerYr":-0.00003414438203433599,"re":0.00000471959319804195,"im":-0.000003724804010815483},{"omegaRadPerYr":-0.00013340793479052466,"re":0.000003615222293693522,"im":0.0000026473282077432464}],"saturn":[{"omegaRadPerYr":3.585419863101795e-13,"re":-0.004160829821085266,"im":0.01313035318190379},{"omegaRadPerYr":-0.00012773798456096954,"re":-0.00475752525331164,"im":0.006241839650150809},{"omegaRadPerYr":-0.000003353104048552392,"re":0.0005082773835787105,"im":0.00022438915547556837},{"omegaRadPerYr":-0.000014507604459261644,"re":-0.0003003529136201397,"im":0.0002498522709495287},{"omegaRadPerYr":-0.00013080297358737127,"re":0.00004462313026048051,"im":0.00004172135220672922},{"omegaRadPerYr":0.00040161053412911805,"re":-0.000021891186916241336,"im":0.000027842986249657194},{"omegaRadPerYr":0.00028531501271526966,"re":-0.000016973213900275996,"im":-0.000010209427993912636},{"omegaRadPerYr":0.00016901949553398734,"re":0.000006351249396626556,"im":-0.000014466385743905935},{"omegaRadPerYr":-0.000027077124002162175,"re":-0.000011812157537888775,"im":-0.000004333883484050759},{"omegaRadPerYr":-0.00008608110331037643,"re":-0.000003851841685967594,"im":0.000012265127869631022},{"omegaRadPerYr":-0.00013340770677559036,"re":-0.000008294931517564553,"im":-0.000006049557294846683},{"omegaRadPerYr":-0.00012206710895509666,"re":-0.000007849634096708948,"im":-0.000006182455594994061},{"omegaRadPerYr":-0.000008827439024311075,"re":0.000006897691656407948,"im":0.000007082500448309159},{"omegaRadPerYr":-0.0002440335040954839,"re":-0.000006773234418159552,"im":-0.000003939449654109784},{"omegaRadPerYr":-0.0000341439870403911,"re":0.000006808043941033205,"im":-0.000005368804116486281},{"omegaRadPerYr":-0.000020177691392900797,"re":0.000004208114355739691,"im":0.000005258604111260197}],"uranus":[{"omegaRadPerYr":1.6141148042328129e-12,"re":-0.004160858186670563,"im":0.013129873611558377},{"omegaRadPerYr":-0.000014507581351644442,"re":0.00681976988891068,"im":-0.00567455558541934},{"omegaRadPerYr":-0.0000033533173289506766,"re":-0.0005101610822664126,"im":-0.000224310078502412},{"omegaRadPerYr":-0.0001277379853640299,"re":0.0002139091624012802,"im":-0.00028067983977205185},{"omegaRadPerYr":-0.00001144239016674966,"re":-0.0002156563261634957,"im":-0.0002150429303191138},{"omegaRadPerYr":-0.000020175380714993984,"re":-0.0001217849690988656,"im":-0.0001456139226672655},{"omegaRadPerYr":-0.000008831574335573594,"re":-0.00012271331977628462,"im":-0.00013405824655403535},{"omegaRadPerYr":-0.00001510388467496541,"re":-0.00005803376568527162,"im":0.00002617841729566363},{"omegaRadPerYr":-0.000005772310975280442,"re":0.0000186284763652826,"im":-0.000018787231377164656},{"omegaRadPerYr":0.000055789018305747005,"re":-0.000003584390196202557,"im":0.000018771821808602262},{"omegaRadPerYr":0.000050118875830489076,"re":0.000011950781441802792,"im":0.0000022797653890251466},{"omegaRadPerYr":-0.00002707666210632543,"re":0.00000860900240250949,"im":0.000003963441917605542},{"omegaRadPerYr":-0.00013080306359358084,"re":-0.000007760848939991108,"im":-0.0000071759927999063306},{"omegaRadPerYr":-0.000009192797711448383,"re":-0.000006995283248688764,"im":0.000009869457731411796},{"omegaRadPerYr":-0.000014175489628890538,"re":-0.000012703150624760847,"im":0.000007778454242024216},{"omegaRadPerYr":0.0001017879709588662,"re":-0.000004042914508902477,"im":-0.000006404468758645802}],"neptune":[{"omegaRadPerYr":-5.354534864918708e-12,"re":-0.004159722070410082,"im":0.013130987574325645},{"omegaRadPerYr":-0.0000033530981667333895,"re":-0.005314734683414286,"im":-0.002345763320993943},{"omegaRadPerYr":-0.000014507473745238309,"re":-0.0008167258086049919,"im":0.0006798034088892296},{"omegaRadPerYr":-0.000011442679063650532,"re":0.000041036510281751056,"im":0.00004000471131993182},{"omegaRadPerYr":-0.0000027576451599032637,"re":-0.00006149844675699788,"im":-0.000008691318229841067},{"omegaRadPerYr":-0.0001277379853991284,"re":0.000022940819123859223,"im":-0.000030013552771801523},{"omegaRadPerYr":-0.000020173403598083907,"re":0.000017856436332375348,"im":0.000021295077746280004},{"omegaRadPerYr":-0.00000898047932753266,"re":-0.0000018712220224329416,"im":0.00001734263010674452},{"omegaRadPerYr":0.0000022940677597405162,"re":-0.000008135675285680441,"im":0.00001596639991310029},{"omegaRadPerYr":-0.00000577342966650786,"re":-0.000010151270217803843,"im":0.000012347469128448818},{"omegaRadPerYr":-0.000003688694102054736,"re":-0.000013288748719471691,"im":-0.000004967372846951306},{"omegaRadPerYr":-0.00001510336833335311,"re":0.000008447399515316875,"im":-0.0000038128564863716114},{"omegaRadPerYr":0.0000029055858228923875,"re":1.0662959363406667e-8,"im":-0.000006670003949424725},{"omegaRadPerYr":0.00005011796292783657,"re":-0.000005130325158457534,"im":-0.0000010094005026246946},{"omegaRadPerYr":0.00003897837341896782,"re":-0.0000020680050285509657,"im":0.0000027753917603475307}]},"anchorE":0.016702435651957125,"anchorPeriEclipticDeg":462.9179213996576,"anchorInclEclipticDeg":0.00010345820355474172,"anchorAscNodeEclipticDeg":140.29217988414328,"anchorZDotPerYr":[-8.220369999999999e-7,-6.198139999999997e-7],"slopeTaperYears":27943.083333333332});
|
|
22
22
|
|
|
23
23
|
module.exports = { DEEP_MODES_ARTIFACT, DEEP_MODES_ARTIFACT_HASH };
|
package/src/moon/month-chain.cjs
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* ▼ ▼
|
|
12
12
|
* (engine LOD layer, injected) Kepler sidereal month
|
|
13
13
|
* ├─► synodic month (beat with sidereal year)
|
|
14
|
-
* ├─► tropical month (
|
|
14
|
+
* ├─► tropical month (one equinox turn per T_p(t))
|
|
15
15
|
* └─► perigee/node precession
|
|
16
16
|
* (Brouwer–Clemence m² scaling ×
|
|
17
17
|
* e_E-channel modulation — the
|
|
@@ -31,9 +31,12 @@
|
|
|
31
31
|
* - `modulation` is the shared moon eccentricity channel's [g/g₀]^s with the
|
|
32
32
|
* Meeus-EFFECTIVE sensitivities s_ϖ = 2.407 / s_Ω = 1.018 (the physical
|
|
33
33
|
* pair is 2.479/0.867 after removing the IAU frame term — doc 66 §1).
|
|
34
|
-
* - The
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* - The of-date perigee/node periods are COMPOSITIONS of the inertial chain
|
|
35
|
+
* with the precession of date (the engines' `…OfDateCyclesBetween` count
|
|
36
|
+
* identities N_trop − N_anom and N_drac − N_trop). The former 'OfDate'
|
|
37
|
+
* family here — N·(H(t)/H₀)² counts per anchor unit and period ∝ T_yr/H —
|
|
38
|
+
* was the era device's counter law (doc 99's "Lunar Precession
|
|
39
|
+
* Invariant"); it left at plan 09 step 5c with the per-H counts.
|
|
37
40
|
* - apsidalMeetsNodal / lunarLeveling existed ONLY in the browser before
|
|
38
41
|
* this move (the Node scene aliased apsidal-of-date on a cancellation
|
|
39
42
|
* argument valid for the paired scene nodes only) — the Node engine gains
|
|
@@ -52,14 +55,9 @@
|
|
|
52
55
|
* gmEarthMoonM3PerS2: number,
|
|
53
56
|
* massRatioEarthMoon: number,
|
|
54
57
|
* moonSiderealMonthInputDays: number,
|
|
55
|
-
* holisticYearJ2000: number,
|
|
56
58
|
* meanSiderealYearJ2000Seconds: number,
|
|
57
|
-
* nApsidalOfDateJ2000: number,
|
|
58
|
-
* nNodalOfDateJ2000: number,
|
|
59
59
|
* moonApsidalJ2000Seconds: number,
|
|
60
60
|
* moonNodalJ2000Seconds: number,
|
|
61
|
-
* moonApsidalOfDateJ2000Seconds: number,
|
|
62
|
-
* moonNodalOfDateJ2000Seconds: number,
|
|
63
61
|
* moonSiderealMonthJ2000Seconds: number,
|
|
64
62
|
* sPerigee: number,
|
|
65
63
|
* sNode: number,
|
|
@@ -67,13 +65,18 @@
|
|
|
67
65
|
* fns: {
|
|
68
66
|
* meanLodSecondsAtAge: (tMa: number) => (number | null),
|
|
69
67
|
* meanSiderealYearSecondsAtAge: (tMa: number) => number,
|
|
70
|
-
*
|
|
68
|
+
* precessionPeriodYearsAtAge: (tMa: number) => (number | null),
|
|
71
69
|
* modulation: (tMa: number, s: number) => number,
|
|
72
70
|
* distanceMetresAtAge?: (tMa: number) => number,
|
|
73
71
|
* },
|
|
74
72
|
* }} deps — fns are the ENGINE'S OWN layer-0/1 evaluators and the shared
|
|
75
73
|
* eccentricity channel's modulation; constants are the engine's derived
|
|
76
74
|
* J2000 anchors (both engines derive them from the same JSON).
|
|
75
|
+
* fns.precessionPeriodYearsAtAge is the engine's lunisolar precession period
|
|
76
|
+
* of date T_p(t), Julian years (the composed rate's period; plan 09 step
|
|
77
|
+
* 5c — the tropical month's equinox turn, formerly the counter's 13/H(t),
|
|
78
|
+
* 0.086 % slow: the chain's J2000 tropical month sat 5.85 ms above the IAU
|
|
79
|
+
* input, the 1/T_p form is within 0.1 ms of it).
|
|
77
80
|
* fns.distanceMetresAtAge, when present, OVERRIDES the internal quartic —
|
|
78
81
|
* the Driver-1½ regime-aware history (recession-history.cjs); absent, the
|
|
79
82
|
* internal quartic is the pure twin (bit-identical for t ≤ jointMa).
|
|
@@ -82,14 +85,12 @@ function createMoonMonthChain({ constants, fns }) {
|
|
|
82
85
|
const {
|
|
83
86
|
aMoonNowMetres, alpha1PerMa, alpha3PerMa3, alpha4PerMa4,
|
|
84
87
|
gmEarthMoonM3PerS2, massRatioEarthMoon, moonSiderealMonthInputDays,
|
|
85
|
-
|
|
86
|
-
nApsidalOfDateJ2000, nNodalOfDateJ2000,
|
|
88
|
+
meanSiderealYearJ2000Seconds,
|
|
87
89
|
moonApsidalJ2000Seconds, moonNodalJ2000Seconds,
|
|
88
|
-
moonApsidalOfDateJ2000Seconds, moonNodalOfDateJ2000Seconds,
|
|
89
90
|
moonSiderealMonthJ2000Seconds,
|
|
90
91
|
sPerigee, sNode,
|
|
91
92
|
} = constants;
|
|
92
|
-
const { meanLodSecondsAtAge, meanSiderealYearSecondsAtAge,
|
|
93
|
+
const { meanLodSecondsAtAge, meanSiderealYearSecondsAtAge, precessionPeriodYearsAtAge, modulation } = fns;
|
|
93
94
|
|
|
94
95
|
/** Farhat α₁/α₃/α₄ polynomial — Earth–Moon distance in metres at age t_Ma.
|
|
95
96
|
* @param {number} tMa @returns {number} */
|
|
@@ -140,55 +141,22 @@ function createMoonMonthChain({ constants, fns }) {
|
|
|
140
141
|
return tSm * tYr / (tYr - tSm);
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
/** Tropical month in seconds (equinox-referenced
|
|
144
|
-
*
|
|
144
|
+
/** Tropical month in seconds (equinox-referenced): the sidereal month less
|
|
145
|
+
* the equinox's own motion over one month — one turn per the precession
|
|
146
|
+
* period of date T_p(t). (Plan 09 step 5c: formerly 13 turns per the
|
|
147
|
+
* counter H(t), 0.086 % slow.) @param {number} tMa @returns {number | null} */
|
|
145
148
|
function tropicalMonthSecondsAtAge(tMa) {
|
|
146
149
|
const tSm = siderealMonthSecondsAtAge(tMa);
|
|
147
150
|
if (tSm === null) return null;
|
|
148
151
|
const tYr = meanSiderealYearSecondsAtAge(tMa);
|
|
149
|
-
const
|
|
150
|
-
return tSm * (1 -
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/** Apsidal cycles per H (of-date convention; legacy-'ICRF' input name):
|
|
154
|
-
* N × (H/H₀)², real-valued. @param {number} tMa @returns {number | null} */
|
|
155
|
-
function apsidalCyclesOfDateAtAge(tMa) {
|
|
156
|
-
const hT = meanHAtAge(tMa);
|
|
157
|
-
if (hT === null) return null;
|
|
158
|
-
return nApsidalOfDateJ2000 * Math.pow(hT / holisticYearJ2000, 2);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/** @param {number} tMa @returns {number | null} */
|
|
162
|
-
function nodalCyclesOfDateAtAge(tMa) {
|
|
163
|
-
const hT = meanHAtAge(tMa);
|
|
164
|
-
if (hT === null) return null;
|
|
165
|
-
return nNodalOfDateJ2000 * Math.pow(hT / holisticYearJ2000, 2);
|
|
152
|
+
const tP = precessionPeriodYearsAtAge(tMa);
|
|
153
|
+
return tSm * (1 - tSm / (/** @type {number} */ (tP) * tYr));
|
|
166
154
|
}
|
|
167
155
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
* H × sidereal-year seconds / N while N was counted in mean-SOLAR-year
|
|
173
|
-
* days — the sidereal/solar ratio 1.0000388 put the J2000 perigee cycle
|
|
174
|
-
* 2.9 h and the node 6.2 h above the anchors (found by the Formula
|
|
175
|
-
* Verification Moon panels against Meeus). The year RATIO carries the
|
|
176
|
-
* evolution; the anchor carries the unit. @param {number} tMa
|
|
177
|
-
* @returns {number | null} */
|
|
178
|
-
function apsidalPrecessionSecondsOfDateAtAge(tMa) {
|
|
179
|
-
if (tMa === 0) return moonApsidalOfDateJ2000Seconds;
|
|
180
|
-
const hT = meanHAtAge(tMa);
|
|
181
|
-
if (hT === null) return null;
|
|
182
|
-
return moonApsidalOfDateJ2000Seconds * (meanSiderealYearSecondsAtAge(tMa) / meanSiderealYearJ2000Seconds) * (holisticYearJ2000 / hT);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/** @param {number} tMa @returns {number | null} */
|
|
186
|
-
function nodalPrecessionSecondsOfDateAtAge(tMa) {
|
|
187
|
-
if (tMa === 0) return moonNodalOfDateJ2000Seconds;
|
|
188
|
-
const hT = meanHAtAge(tMa);
|
|
189
|
-
if (hT === null) return null;
|
|
190
|
-
return moonNodalOfDateJ2000Seconds * (meanSiderealYearSecondsAtAge(tMa) / meanSiderealYearJ2000Seconds) * (holisticYearJ2000 / hT);
|
|
191
|
-
}
|
|
156
|
+
// (Plan 09 step 5c: the H² of-date family — apsidal/nodal "cycles per H"
|
|
157
|
+
// N·(H(t)/H₀)² and the of-date periods ∝ T_yr/H — is deleted with the per-H
|
|
158
|
+
// counts. The of-date perigee and node of date are the engines' count
|
|
159
|
+
// compositions of this chain's inertial periods with the tropical month.)
|
|
192
160
|
|
|
193
161
|
/** Perigee precession period in seconds — Brouwer–Clemence m² scaling ×
|
|
194
162
|
* e_E-channel modulation (the factored law: period = invariant mean /
|
|
@@ -256,8 +224,6 @@ function createMoonMonthChain({ constants, fns }) {
|
|
|
256
224
|
distanceMetresAtAge, distanceKmAtAge, solarDeltaAKmAtAge,
|
|
257
225
|
distanceCorrectedKmAtAge, siderealMonthSecondsAtAge,
|
|
258
226
|
synodicMonthSecondsAtAge, tropicalMonthSecondsAtAge,
|
|
259
|
-
apsidalCyclesOfDateAtAge, nodalCyclesOfDateAtAge,
|
|
260
|
-
apsidalPrecessionSecondsOfDateAtAge, nodalPrecessionSecondsOfDateAtAge,
|
|
261
227
|
perigeePrecessionSecondsAtAge, nodePrecessionSecondsAtAge,
|
|
262
228
|
anomalisticMonthSecondsAtAge, nodalMonthSecondsAtAge,
|
|
263
229
|
apsidalMeetsNodalSecondsAtAge, lunarLevelingSecondsAtAge,
|