@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
|
@@ -46,6 +46,16 @@
|
|
|
46
46
|
* `computeObliquityJ2000Deg`), and — through the chain's own g-mode beat
|
|
47
47
|
* (keplerian-chain `computeSecularShape`) — the "wobble period" the K
|
|
48
48
|
* device beat from its integer axial and obliquity fractions.
|
|
49
|
+
*
|
|
50
|
+
* Since plan 11 step 3 the channel also serves the POLE of date itself —
|
|
51
|
+
* `spinAxisEclipticJ2000AtYear` (the integrated ŝ(t), angular-momentum
|
|
52
|
+
* sense) beside `orbitNormalEclipticJ2000AtYear` (n̂(t)) — so both scene
|
|
53
|
+
* twins place each planet's rotation axis in world through the frame bridge
|
|
54
|
+
* exactly as Earth's axis is placed (R4): the pole's azimuth used to ride the
|
|
55
|
+
* retired scaffold's start angle (one turn of the pole per orbit), only its
|
|
56
|
+
* tilt magnitude was read from here. Mercury's Cassini-locked pole is the
|
|
57
|
+
* J2000 pole carried with its orbit normal (the minimal rotation n̂₀ → n̂(t)),
|
|
58
|
+
* the lock's constant obliquity.
|
|
49
59
|
*/
|
|
50
60
|
|
|
51
61
|
'use strict';
|
|
@@ -124,6 +134,19 @@ const dot = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
|
|
|
124
134
|
const unit = (a) => { const r = Math.hypot(a[0], a[1], a[2]); return [a[0] / r, a[1] / r, a[2] / r]; };
|
|
125
135
|
/** @param {number[]} a @param {number[]} b */
|
|
126
136
|
const angleDeg = (a, b) => Math.acos(Math.max(-1, Math.min(1, dot(a, b)))) * R2D;
|
|
137
|
+
/**
|
|
138
|
+
* v carried by the minimal rotation that takes unit a onto unit b (Rodrigues
|
|
139
|
+
* about a × b); v itself when a and b coincide.
|
|
140
|
+
* @param {number[]} a @param {number[]} b @param {number[]} v
|
|
141
|
+
*/
|
|
142
|
+
const rotateAligned = (a, b, v) => {
|
|
143
|
+
const k = cross(a, b);
|
|
144
|
+
const s = Math.hypot(k[0], k[1], k[2]), c = dot(a, b);
|
|
145
|
+
if (s < 1e-15) return v.slice();
|
|
146
|
+
const kh = [k[0] / s, k[1] / s, k[2] / s];
|
|
147
|
+
const kv = cross(kh, v), kd = dot(kh, v) * (1 - c);
|
|
148
|
+
return [v[0] * c + kv[0] * s + kh[0] * kd, v[1] * c + kv[1] * s + kh[1] * kd, v[2] * c + kv[2] * s + kh[2] * kd];
|
|
149
|
+
};
|
|
127
150
|
|
|
128
151
|
/**
|
|
129
152
|
* The IAU pole (ICRF equatorial RA/Dec) as an ecliptic-J2000 unit vector.
|
|
@@ -272,9 +295,9 @@ function createPlanetSpinChannel(deps) {
|
|
|
272
295
|
const stepYr = deps.stepYr ?? (cassiniLocked ? STEP_MAX_YR
|
|
273
296
|
: Math.min(STEP_MAX_YR, Math.max(STEP_MIN_YR, axialPrecessionPeriodYearsJ2000 / STEPS_PER_PRECESSION_PERIOD)));
|
|
274
297
|
// append-only trajectories from J2000, one per direction: sample i sits at t = sign · i · step
|
|
275
|
-
/** @typedef {{ eps: number[], last: number[] }} Track */
|
|
298
|
+
/** @typedef {{ eps: number[], sv: number[][], last: number[] }} Track — the obliquity and the unit spin vector per sample */
|
|
276
299
|
/** @returns {Track} */
|
|
277
|
-
const mkTrack = () => ({ eps: [obliquityJ2000], last: s0.slice() });
|
|
300
|
+
const mkTrack = () => ({ eps: [obliquityJ2000], sv: [s0.slice()], last: s0.slice() });
|
|
278
301
|
const fwd = mkTrack(), bwd = mkTrack();
|
|
279
302
|
/** @param {Track} tr @param {number} sign @param {number} count */
|
|
280
303
|
const grow = (tr, sign, count) => {
|
|
@@ -284,6 +307,7 @@ function createPlanetSpinChannel(deps) {
|
|
|
284
307
|
const h = sign * stepYr;
|
|
285
308
|
const s = rk4(tr.last, t, h);
|
|
286
309
|
tr.eps.push(angleDeg(s, orbitNormalAt(t + h)));
|
|
310
|
+
tr.sv.push(s);
|
|
287
311
|
tr.last = s;
|
|
288
312
|
}
|
|
289
313
|
};
|
|
@@ -333,6 +357,24 @@ function createPlanetSpinChannel(deps) {
|
|
|
333
357
|
}
|
|
334
358
|
return { minDeg: mn, meanDeg: sum / cnt, maxDeg: mx };
|
|
335
359
|
};
|
|
360
|
+
/** the planet's orbit normal of date n̂(t), a unit vector in the J2000 ecliptic (the ζ table at the chain's anchor) @param {number} year */
|
|
361
|
+
const orbitNormalEclipticJ2000AtYear = (year) => orbitNormalAt(year - 2000);
|
|
362
|
+
/**
|
|
363
|
+
* the spin axis of date ŝ(t), a unit vector in the J2000 ecliptic in the
|
|
364
|
+
* angular-momentum sense (Venus and Uranus point south of their orbits):
|
|
365
|
+
* the integrated pole, interpolated linearly between the track's samples
|
|
366
|
+
* and renormalized (≤ 1.2° of pole motion per sample — the chord error is
|
|
367
|
+
* arcsecond-class, below what any renderer resolves); Mercury (Cassini
|
|
368
|
+
* lock) carries the J2000 pole with its orbit normal; null beyond ±10 Myr
|
|
369
|
+
* @param {number} year
|
|
370
|
+
*/
|
|
371
|
+
const spinAxisEclipticJ2000AtYear = (year) => {
|
|
372
|
+
if (cassiniLocked) return rotateAligned(n0, orbitNormalAt(year - 2000), s0);
|
|
373
|
+
const b = bracket(year - 2000);
|
|
374
|
+
if (!b) return null;
|
|
375
|
+
const a = b.tr.sv[b.i], c = b.tr.sv[b.i + 1];
|
|
376
|
+
return unit([a[0] + b.f * (c[0] - a[0]), a[1] + b.f * (c[1] - a[1]), a[2] + b.f * (c[2] - a[2])]);
|
|
377
|
+
};
|
|
336
378
|
|
|
337
379
|
return Object.freeze({
|
|
338
380
|
key,
|
|
@@ -350,6 +392,8 @@ function createPlanetSpinChannel(deps) {
|
|
|
350
392
|
obliquityDegAtYear,
|
|
351
393
|
spinPrecessionRateArcsecPerYrAtYear,
|
|
352
394
|
obliquityEnvelopeDeg,
|
|
395
|
+
spinAxisEclipticJ2000AtYear,
|
|
396
|
+
orbitNormalEclipticJ2000AtYear,
|
|
353
397
|
stepYr,
|
|
354
398
|
maxSpanYr: MAX_SPAN_YR,
|
|
355
399
|
});
|
|
@@ -5,7 +5,6 @@ export type PeriodSecondsAtAge = (tMa: number) => (number | null);
|
|
|
5
5
|
/**
|
|
6
6
|
* @param {{
|
|
7
7
|
* ageAnchorYear: number,
|
|
8
|
-
* tropicalYearSecondsAtAge: (tMa: number) => (number | null),
|
|
9
8
|
* tropicalYearJ2000Seconds: number,
|
|
10
9
|
* isDeepTime: () => boolean,
|
|
11
10
|
* gridMinYear?: number,
|
|
@@ -15,12 +14,18 @@ export type PeriodSecondsAtAge = (tMa: number) => (number | null);
|
|
|
15
14
|
* maxCacheEntries?: number,
|
|
16
15
|
* }} deps — ageAnchorYear is the year whose age is 0 in the period
|
|
17
16
|
* functions' t_Ma coordinate (startmodelYear = 2000.5, the certified
|
|
18
|
-
* convention); tropicalYearJ2000Seconds
|
|
17
|
+
* convention); tropicalYearJ2000Seconds is the length of ONE tick of the
|
|
18
|
+
* year axis the integrator is fed — the linear SI-year label, each tick
|
|
19
|
+
* exactly one J2000 tropical year of seconds — so it is the integrand's
|
|
20
|
+
* weight in BOTH branches (plan 09 step 7c′: the deep branch had weighted
|
|
21
|
+
* each tick by the tropical year OF DATE, adding that year's deep-time
|
|
22
|
+
* drift to every lunar count — ~5° of Moon at ±100 kyr, ~1.3 orbits at
|
|
23
|
+
* 1 Ma — although the tick itself never changes length; the owner's call:
|
|
24
|
+
* a plain correctness fix, the tick already is an SI tick);
|
|
19
25
|
* isDeepTime is read PER CALL so the engine's runtime toggle works.
|
|
20
26
|
*/
|
|
21
|
-
export function createChainCycleIntegrator({ ageAnchorYear,
|
|
27
|
+
export function createChainCycleIntegrator({ ageAnchorYear, tropicalYearJ2000Seconds, isDeepTime, gridMinYear, gridMaxYear, gridStepYears, gridAnchorYear, maxCacheEntries, }: {
|
|
22
28
|
ageAnchorYear: number;
|
|
23
|
-
tropicalYearSecondsAtAge: (tMa: number) => (number | null);
|
|
24
29
|
tropicalYearJ2000Seconds: number;
|
|
25
30
|
isDeepTime: () => boolean;
|
|
26
31
|
gridMinYear?: number;
|
|
@@ -73,7 +73,9 @@ export function laggedL1Terms(l1Terms: Array<{
|
|
|
73
73
|
* j2RateJ2000PerYr?: number,
|
|
74
74
|
* j2J2000?: number,
|
|
75
75
|
* }} cfg - relaxationKyr, alphaGiaRateJ2000PerYr and j2RateJ2000PerYr are
|
|
76
|
-
*
|
|
76
|
+
* assembled deepTime block (DEFAULT_CONSTANTS.deepTime: τ the banked record
|
|
77
|
+
* data/deep-time-fitted.json, the rate derived from astro-reference
|
|
78
|
+
* giaCoxChaoPeltier — plan 11 step 1); alphaJ2000 the IERS
|
|
77
79
|
* moment-of-inertia factor; j2J2000 Earth's J₂ (astro-reference)
|
|
78
80
|
* @returns {{
|
|
79
81
|
* alphaAt: (year: number) => number,
|
|
@@ -1,74 +1,11 @@
|
|
|
1
1
|
// GENERATED — do not edit. Regenerate: node tools/constants/generate.mjs --write
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
|
-
// in coefficients.js, emitted VERBATIM from
|
|
3
|
+
// in coefficients.js, emitted VERBATIM from the fit artifacts under data/.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "91e2d041c7b6e038";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
|
-
readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
9
8
|
readonly BALANCE_PRESETS: Array<Array<number | string>>;
|
|
10
|
-
readonly CARDINAL_POINT_ANCHORS: {
|
|
11
|
-
"SS": number;
|
|
12
|
-
"WS": number;
|
|
13
|
-
"VE": number;
|
|
14
|
-
"AE": number;
|
|
15
|
-
};
|
|
16
|
-
readonly CARDINAL_POINT_ANCHORS_ADJUSTED: {
|
|
17
|
-
"SS": number;
|
|
18
|
-
"WS": number;
|
|
19
|
-
"VE": number;
|
|
20
|
-
"AE": number;
|
|
21
|
-
};
|
|
22
|
-
readonly CARDINAL_POINT_DERIVED: {
|
|
23
|
-
"lincoef": number;
|
|
24
|
-
"h0": number;
|
|
25
|
-
"h1": number;
|
|
26
|
-
"eccOrderDivisors": [number, number];
|
|
27
|
-
"note": string;
|
|
28
|
-
};
|
|
29
|
-
readonly CARDINAL_POINT_ECC_TERMS: {
|
|
30
|
-
"SS": Array<{
|
|
31
|
-
"order": number;
|
|
32
|
-
"sin": number;
|
|
33
|
-
"cos": number;
|
|
34
|
-
}>;
|
|
35
|
-
"WS": Array<{
|
|
36
|
-
"order": number;
|
|
37
|
-
"sin": number;
|
|
38
|
-
"cos": number;
|
|
39
|
-
}>;
|
|
40
|
-
"VE": Array<{
|
|
41
|
-
"order": number;
|
|
42
|
-
"sin": number;
|
|
43
|
-
"cos": number;
|
|
44
|
-
}>;
|
|
45
|
-
"AE": Array<{
|
|
46
|
-
"order": number;
|
|
47
|
-
"sin": number;
|
|
48
|
-
"cos": number;
|
|
49
|
-
}>;
|
|
50
|
-
};
|
|
51
|
-
readonly CARDINAL_POINT_HARMONICS: {
|
|
52
|
-
"SS": Array<[number, number, number]>;
|
|
53
|
-
"WS": Array<[number, number, number]>;
|
|
54
|
-
"VE": Array<[number, number, number]>;
|
|
55
|
-
"AE": Array<[number, number, number]>;
|
|
56
|
-
};
|
|
57
|
-
readonly CARDINAL_POINT_JOINT_TERMS: {
|
|
58
|
-
"quadratureDeg": {
|
|
59
|
-
"SS": number;
|
|
60
|
-
"AE": number;
|
|
61
|
-
"WS": number;
|
|
62
|
-
"VE": number;
|
|
63
|
-
};
|
|
64
|
-
"terms": Array<{
|
|
65
|
-
"order": number;
|
|
66
|
-
"div": number;
|
|
67
|
-
"sin": number;
|
|
68
|
-
"cos": number;
|
|
69
|
-
}>;
|
|
70
|
-
"note": string;
|
|
71
|
-
};
|
|
72
9
|
readonly CLIMATE_FORMULA_COEFFS: {
|
|
73
10
|
"config": {
|
|
74
11
|
"L1_lines": Array<{
|
|
@@ -303,105 +240,105 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
303
240
|
"delta_l3": number;
|
|
304
241
|
};
|
|
305
242
|
"carbon_amplification_ratios": {
|
|
306
|
-
"19.
|
|
243
|
+
"19.0015": {
|
|
307
244
|
"period_kyr": number;
|
|
308
245
|
"lr04_post_mpt_amp": number;
|
|
309
246
|
"epica_amp": number;
|
|
310
247
|
"ratio": number;
|
|
311
248
|
"label": string;
|
|
312
249
|
};
|
|
313
|
-
"19.
|
|
250
|
+
"19.1555": {
|
|
314
251
|
"period_kyr": number;
|
|
315
252
|
"lr04_post_mpt_amp": number;
|
|
316
253
|
"epica_amp": number;
|
|
317
254
|
"ratio": number;
|
|
318
255
|
"label": string;
|
|
319
256
|
};
|
|
320
|
-
"22.
|
|
257
|
+
"22.4453": {
|
|
321
258
|
"period_kyr": number;
|
|
322
259
|
"lr04_post_mpt_amp": number;
|
|
323
260
|
"epica_amp": number;
|
|
324
261
|
"ratio": number;
|
|
325
262
|
"label": string;
|
|
326
263
|
};
|
|
327
|
-
"23.
|
|
264
|
+
"23.1933": {
|
|
328
265
|
"period_kyr": number;
|
|
329
266
|
"lr04_post_mpt_amp": number;
|
|
330
267
|
"epica_amp": number;
|
|
331
268
|
"ratio": number;
|
|
332
269
|
"label": string;
|
|
333
270
|
};
|
|
334
|
-
"23.
|
|
271
|
+
"23.7601": {
|
|
335
272
|
"period_kyr": number;
|
|
336
273
|
"lr04_post_mpt_amp": number;
|
|
337
274
|
"epica_amp": number;
|
|
338
275
|
"ratio": number;
|
|
339
276
|
"label": string;
|
|
340
277
|
};
|
|
341
|
-
"27.
|
|
278
|
+
"27.2691": {
|
|
342
279
|
"period_kyr": number;
|
|
343
280
|
"lr04_post_mpt_amp": number;
|
|
344
281
|
"epica_amp": number;
|
|
345
282
|
"ratio": number;
|
|
346
283
|
"label": string;
|
|
347
284
|
};
|
|
348
|
-
"28.
|
|
285
|
+
"28.8426": {
|
|
349
286
|
"period_kyr": number;
|
|
350
287
|
"lr04_post_mpt_amp": number;
|
|
351
288
|
"epica_amp": number;
|
|
352
289
|
"ratio": number;
|
|
353
290
|
"label": string;
|
|
354
291
|
};
|
|
355
|
-
"29.
|
|
292
|
+
"29.0050": {
|
|
356
293
|
"period_kyr": number;
|
|
357
294
|
"lr04_post_mpt_amp": number;
|
|
358
295
|
"epica_amp": number;
|
|
359
296
|
"ratio": number;
|
|
360
297
|
"label": string;
|
|
361
298
|
};
|
|
362
|
-
"29.
|
|
299
|
+
"29.6174": {
|
|
363
300
|
"period_kyr": number;
|
|
364
301
|
"lr04_post_mpt_amp": number;
|
|
365
302
|
"epica_amp": number;
|
|
366
303
|
"ratio": number;
|
|
367
304
|
"label": string;
|
|
368
305
|
};
|
|
369
|
-
"29.
|
|
306
|
+
"29.8094": {
|
|
370
307
|
"period_kyr": number;
|
|
371
308
|
"lr04_post_mpt_amp": number;
|
|
372
309
|
"epica_amp": number;
|
|
373
310
|
"ratio": number;
|
|
374
311
|
"label": string;
|
|
375
312
|
};
|
|
376
|
-
"39.
|
|
313
|
+
"39.5564": {
|
|
377
314
|
"period_kyr": number;
|
|
378
315
|
"lr04_post_mpt_amp": number;
|
|
379
316
|
"epica_amp": number;
|
|
380
317
|
"ratio": number;
|
|
381
318
|
"label": string;
|
|
382
319
|
};
|
|
383
|
-
"40.
|
|
320
|
+
"40.2297": {
|
|
384
321
|
"period_kyr": number;
|
|
385
322
|
"lr04_post_mpt_amp": number;
|
|
386
323
|
"epica_amp": number;
|
|
387
324
|
"ratio": number;
|
|
388
325
|
"label": string;
|
|
389
326
|
};
|
|
390
|
-
"40.
|
|
327
|
+
"40.9244": {
|
|
391
328
|
"period_kyr": number;
|
|
392
329
|
"lr04_post_mpt_amp": number;
|
|
393
330
|
"epica_amp": number;
|
|
394
331
|
"ratio": number;
|
|
395
332
|
"label": string;
|
|
396
333
|
};
|
|
397
|
-
"41.
|
|
334
|
+
"41.6450": {
|
|
398
335
|
"period_kyr": number;
|
|
399
336
|
"lr04_post_mpt_amp": number;
|
|
400
337
|
"epica_amp": number;
|
|
401
338
|
"ratio": number;
|
|
402
339
|
"label": string;
|
|
403
340
|
};
|
|
404
|
-
"53.
|
|
341
|
+
"53.6182": {
|
|
405
342
|
"period_kyr": number;
|
|
406
343
|
"lr04_post_mpt_amp": number;
|
|
407
344
|
"epica_amp": number;
|
|
@@ -634,17 +571,4 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
634
571
|
};
|
|
635
572
|
readonly MEEUS_LATITUDE_TERMS: Array<number[]>;
|
|
636
573
|
readonly MEEUS_LONGITUDE_TERMS: Array<number[]>;
|
|
637
|
-
readonly PERI_HARMONICS_RAW: Array<[number, number, number]>;
|
|
638
|
-
readonly PERI_OFFSET: number;
|
|
639
|
-
readonly RA_DAY_OFFSET_MS: {
|
|
640
|
-
"mean": number;
|
|
641
|
-
"terms": Array<[number, number, number]>;
|
|
642
|
-
"note": string;
|
|
643
|
-
};
|
|
644
|
-
readonly SIDEREAL_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
645
|
-
readonly SOLSTICE_OBLIQUITY_HARMONICS: Array<[number, number, number]>;
|
|
646
|
-
readonly SOLSTICE_OBLIQUITY_MEAN_FITTED: number;
|
|
647
|
-
readonly SUN_LONGITUDE_HARMONICS: Array<[number, number, number]>;
|
|
648
|
-
readonly SUN_LONGITUDE_MEAN: number;
|
|
649
|
-
readonly TROPICAL_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
650
574
|
};
|
|
@@ -2,56 +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: "f4f43386df2781b8";
|
|
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: "
|
|
13
|
-
readonly additionalBodies: {
|
|
14
|
-
"pluto": {
|
|
15
|
-
"name": string;
|
|
16
|
-
"orbitalEccentricityBase": number;
|
|
17
|
-
"type": string;
|
|
18
|
-
"angleCorrection": number;
|
|
19
|
-
"startpos": number;
|
|
20
|
-
"ascendingNodeInvPlane": number;
|
|
21
|
-
"invPlaneInclinationMean": number;
|
|
22
|
-
"invPlaneInclinationAmplitude": number;
|
|
23
|
-
};
|
|
24
|
-
"halleys": {
|
|
25
|
-
"name": string;
|
|
26
|
-
"orbitalEccentricityBase": number;
|
|
27
|
-
"type": string;
|
|
28
|
-
"angleCorrection": number;
|
|
29
|
-
"startpos": number;
|
|
30
|
-
"ascendingNodeInvPlane": number;
|
|
31
|
-
"invPlaneInclinationMean": number;
|
|
32
|
-
"invPlaneInclinationAmplitude": number;
|
|
33
|
-
};
|
|
34
|
-
"eros": {
|
|
35
|
-
"name": string;
|
|
36
|
-
"orbitalEccentricityBase": number;
|
|
37
|
-
"type": string;
|
|
38
|
-
"angleCorrection": number;
|
|
39
|
-
"startpos": number;
|
|
40
|
-
"ascendingNodeInvPlane": number;
|
|
41
|
-
"invPlaneInclinationMean": number;
|
|
42
|
-
"invPlaneInclinationAmplitude": number;
|
|
43
|
-
};
|
|
44
|
-
"ceres": {
|
|
45
|
-
"name": string;
|
|
46
|
-
"orbitalEccentricityBase": number;
|
|
47
|
-
"orbitDistanceOverride": number;
|
|
48
|
-
"angleCorrection": number;
|
|
49
|
-
"startpos": number;
|
|
50
|
-
"ascendingNodeInvPlane": number;
|
|
51
|
-
"invPlaneInclinationMean": number;
|
|
52
|
-
"invPlaneInclinationAmplitude": number;
|
|
53
|
-
};
|
|
54
|
-
};
|
|
12
|
+
readonly hash: "f4f43386df2781b8";
|
|
55
13
|
readonly additionalBodiesReference: {
|
|
56
14
|
"pluto": {
|
|
57
15
|
"solarYearInput": number;
|
|
@@ -64,6 +22,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
64
22
|
"meanAnomaly": number;
|
|
65
23
|
"trueAnomaly": number;
|
|
66
24
|
"rotationPeriodDays": number;
|
|
25
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
67
26
|
};
|
|
68
27
|
"halleys": {
|
|
69
28
|
"solarYearInput": number;
|
|
@@ -143,48 +102,28 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
143
102
|
"thermalPumpFactor": number;
|
|
144
103
|
};
|
|
145
104
|
};
|
|
146
|
-
readonly earth: {
|
|
147
|
-
"earthtiltMean": number;
|
|
148
|
-
"earthInvPlaneInclinationAmplitude": number;
|
|
149
|
-
"eccentricityBase": number;
|
|
150
|
-
"eccentricityAmplitude": number;
|
|
151
|
-
"kDeviceWheelPhaseAtJ2000Cycles": number;
|
|
152
|
-
};
|
|
153
105
|
readonly earthOrbital: {
|
|
154
106
|
"j2000EpochYear": number;
|
|
155
107
|
"perihelionalignmentYear": number;
|
|
156
108
|
"juneSolstice2000_JD": number;
|
|
157
109
|
"obliquityJ2000_deg": number;
|
|
158
110
|
"obliquityRate_arcsecPerCentury": number;
|
|
111
|
+
"generalPrecessionJ2000_arcsecPerYr": number;
|
|
159
112
|
"earthEccentricityJ2000": number;
|
|
160
113
|
"earthEccentricityDotJ2000": number;
|
|
161
114
|
"earthEccentricityDotDotJ2000": number;
|
|
162
115
|
"earthPerihelionLongitudeJ2000": number;
|
|
163
116
|
"sunMeanLongitudeJ2000_deg": number;
|
|
164
117
|
"earthAscendingNodeInvPlane": number;
|
|
165
|
-
"earthInclinationCycleAnchor": number;
|
|
166
118
|
"perihelionPassageJ2000_JD": number;
|
|
167
119
|
"earthInclinationJ2000_deg": number;
|
|
168
120
|
"earthInclinationRate_arcsecPerCentury": number;
|
|
169
121
|
"deltaTStart": number;
|
|
170
122
|
"sunTilt": number;
|
|
171
123
|
};
|
|
172
|
-
readonly
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"inputmeanlengthsolaryearindays": number;
|
|
176
|
-
"startmodelJD": number;
|
|
177
|
-
"startmodelYear": number;
|
|
178
|
-
"correctionDays": number;
|
|
179
|
-
"correctionSun": number;
|
|
180
|
-
"startAngleModel": number;
|
|
181
|
-
"useVariableSpeed": boolean;
|
|
182
|
-
};
|
|
183
|
-
readonly moon: {
|
|
184
|
-
"moonStartposApsidal": number;
|
|
185
|
-
"moonStartposNodal": number;
|
|
186
|
-
"moonStartposMoon": number;
|
|
187
|
-
"moonMeeusLpCorrection": number;
|
|
124
|
+
readonly giaCoxChaoPeltier: {
|
|
125
|
+
"dJ2DtPerYr": number;
|
|
126
|
+
"j2ToAlphaFactor": number;
|
|
188
127
|
};
|
|
189
128
|
readonly moonMeeus: {
|
|
190
129
|
"elpW1T2Decomposition_arcsecPerCy2": {
|
|
@@ -211,21 +150,13 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
211
150
|
"moonApsidalPrecessionDaysInputICRF": number;
|
|
212
151
|
"moonNodalPrecessionDaysInputICRF": number;
|
|
213
152
|
"moonDistance": number;
|
|
153
|
+
"moonRecessionAlpha1PerMa": number;
|
|
214
154
|
"moonEclipticInclinationJ2000": number;
|
|
215
155
|
"moonInclinationConstantBrownELP": number;
|
|
216
156
|
"moonOrbitalEccentricityBase": number;
|
|
217
157
|
"moonObliquityEclipticJ2000": number;
|
|
218
158
|
"moonTilt": number;
|
|
219
159
|
};
|
|
220
|
-
readonly perihelionPassageRef: {
|
|
221
|
-
"mercury": number;
|
|
222
|
-
"venus": number;
|
|
223
|
-
"mars": number;
|
|
224
|
-
"jupiter": number;
|
|
225
|
-
"saturn": number;
|
|
226
|
-
"uranus": number;
|
|
227
|
-
"neptune": number;
|
|
228
|
-
};
|
|
229
160
|
readonly physicalConstants: {
|
|
230
161
|
"currentAUDistance": number;
|
|
231
162
|
"G_CONSTANT": number;
|
|
@@ -290,6 +221,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
290
221
|
"invPlaneInclinationJ2000": number;
|
|
291
222
|
"meanAnomaly": number;
|
|
292
223
|
"trueAnomaly": number;
|
|
224
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
293
225
|
};
|
|
294
226
|
"venus": {
|
|
295
227
|
"solarYearInput": number;
|
|
@@ -302,6 +234,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
302
234
|
"meanAnomaly": number;
|
|
303
235
|
"trueAnomaly": number;
|
|
304
236
|
"rotationPeriodDays": number;
|
|
237
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
305
238
|
};
|
|
306
239
|
"mars": {
|
|
307
240
|
"solarYearInput": number;
|
|
@@ -314,6 +247,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
314
247
|
"meanAnomaly": number;
|
|
315
248
|
"trueAnomaly": number;
|
|
316
249
|
"rotationPeriodDays": number;
|
|
250
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
317
251
|
};
|
|
318
252
|
"jupiter": {
|
|
319
253
|
"solarYearInput": number;
|
|
@@ -326,6 +260,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
326
260
|
"meanAnomaly": number;
|
|
327
261
|
"trueAnomaly": number;
|
|
328
262
|
"rotationPeriodDays": number;
|
|
263
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
329
264
|
};
|
|
330
265
|
"saturn": {
|
|
331
266
|
"solarYearInput": number;
|
|
@@ -338,6 +273,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
338
273
|
"meanAnomaly": number;
|
|
339
274
|
"trueAnomaly": number;
|
|
340
275
|
"rotationPeriodDays": number;
|
|
276
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
341
277
|
};
|
|
342
278
|
"uranus": {
|
|
343
279
|
"solarYearInput": number;
|
|
@@ -350,6 +286,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
350
286
|
"meanAnomaly": number;
|
|
351
287
|
"trueAnomaly": number;
|
|
352
288
|
"rotationPeriodDays": number;
|
|
289
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
353
290
|
};
|
|
354
291
|
"neptune": {
|
|
355
292
|
"solarYearInput": number;
|
|
@@ -362,6 +299,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
362
299
|
"meanAnomaly": number;
|
|
363
300
|
"trueAnomaly": number;
|
|
364
301
|
"rotationPeriodDays": number;
|
|
302
|
+
"ascendingNodeInvPlaneClosedForm": number;
|
|
365
303
|
};
|
|
366
304
|
};
|
|
367
305
|
readonly planetSpinPhysical: {
|
|
@@ -471,79 +409,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
471
409
|
}>;
|
|
472
410
|
};
|
|
473
411
|
};
|
|
474
|
-
readonly planets: {
|
|
475
|
-
"mercury": {
|
|
476
|
-
"name": string;
|
|
477
|
-
"eocFraction": number;
|
|
478
|
-
"startpos": number;
|
|
479
|
-
"angleCorrection": number;
|
|
480
|
-
"type": string;
|
|
481
|
-
"mirrorPair": string;
|
|
482
|
-
"ascendingNodeInvPlane": number;
|
|
483
|
-
"ascendingNodeCyclesIn8H": number;
|
|
484
|
-
};
|
|
485
|
-
"venus": {
|
|
486
|
-
"name": string;
|
|
487
|
-
"eocFraction": number;
|
|
488
|
-
"startpos": number;
|
|
489
|
-
"angleCorrection": number;
|
|
490
|
-
"type": string;
|
|
491
|
-
"mirrorPair": string;
|
|
492
|
-
"ascendingNodeInvPlane": number;
|
|
493
|
-
"ascendingNodeCyclesIn8H": number;
|
|
494
|
-
};
|
|
495
|
-
"mars": {
|
|
496
|
-
"name": string;
|
|
497
|
-
"eocFraction": number;
|
|
498
|
-
"startpos": number;
|
|
499
|
-
"angleCorrection": number;
|
|
500
|
-
"type": string;
|
|
501
|
-
"mirrorPair": string;
|
|
502
|
-
"ascendingNodeInvPlane": number;
|
|
503
|
-
"ascendingNodeCyclesIn8H": number;
|
|
504
|
-
};
|
|
505
|
-
"jupiter": {
|
|
506
|
-
"name": string;
|
|
507
|
-
"eocFraction": number;
|
|
508
|
-
"startpos": number;
|
|
509
|
-
"angleCorrection": number;
|
|
510
|
-
"type": string;
|
|
511
|
-
"mirrorPair": string;
|
|
512
|
-
"ascendingNodeInvPlane": number;
|
|
513
|
-
"ascendingNodeCyclesIn8H": number;
|
|
514
|
-
};
|
|
515
|
-
"saturn": {
|
|
516
|
-
"name": string;
|
|
517
|
-
"eocFraction": number;
|
|
518
|
-
"startpos": number;
|
|
519
|
-
"angleCorrection": number;
|
|
520
|
-
"type": string;
|
|
521
|
-
"mirrorPair": string;
|
|
522
|
-
"ascendingNodeInvPlane": number;
|
|
523
|
-
"ascendingNodeCyclesIn8H": number;
|
|
524
|
-
};
|
|
525
|
-
"uranus": {
|
|
526
|
-
"name": string;
|
|
527
|
-
"eocFraction": number;
|
|
528
|
-
"startpos": number;
|
|
529
|
-
"angleCorrection": number;
|
|
530
|
-
"type": string;
|
|
531
|
-
"mirrorPair": string;
|
|
532
|
-
"ascendingNodeInvPlane": number;
|
|
533
|
-
"ascendingNodeCyclesIn8H": number;
|
|
534
|
-
};
|
|
535
|
-
"neptune": {
|
|
536
|
-
"name": string;
|
|
537
|
-
"eocFraction": number;
|
|
538
|
-
"startpos": number;
|
|
539
|
-
"angleCorrection": number;
|
|
540
|
-
"type": string;
|
|
541
|
-
"mirrorPair": string;
|
|
542
|
-
"ascendingNodeInvPlane": number;
|
|
543
|
-
"ascendingNodeCyclesIn8H": number;
|
|
544
|
-
};
|
|
545
|
-
};
|
|
546
412
|
readonly timeReference: {
|
|
413
|
+
"sceneEpochJD": number;
|
|
414
|
+
"sceneEpochYear": number;
|
|
547
415
|
"j2000JD": number;
|
|
548
416
|
"julianCenturyDays": number;
|
|
549
417
|
"gregorianStartJD": number;
|
|
@@ -556,10 +424,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
556
424
|
"tropicalYearSS": number;
|
|
557
425
|
"tropicalYearAE": number;
|
|
558
426
|
"tropicalYearWS": number;
|
|
559
|
-
"tropicalYearMean": number;
|
|
560
|
-
"anomalisticYear": number;
|
|
561
427
|
"siderealYear": number;
|
|
562
|
-
"iauPrecessionJ2000": number;
|
|
563
428
|
"tropicalYearRateSecPerCentury": number;
|
|
564
429
|
"solarDay": number;
|
|
565
430
|
"siderealDay": number;
|
|
@@ -603,10 +468,6 @@ export declare const REFERENCE_DATA: {
|
|
|
603
468
|
"greatattractorDistance": number;
|
|
604
469
|
"milkywaySpeed": number;
|
|
605
470
|
};
|
|
606
|
-
readonly giaCoxChaoPeltier: {
|
|
607
|
-
"dJ2DtPerYr": number;
|
|
608
|
-
"j2ToAlphaFactor": number;
|
|
609
|
-
};
|
|
610
471
|
readonly jplEclipticInclinationTrends: {
|
|
611
472
|
"mercury": number;
|
|
612
473
|
"venus": number;
|
|
@@ -716,6 +577,7 @@ export declare const REFERENCE_DATA: {
|
|
|
716
577
|
"meeusPeriLong2000AD": number;
|
|
717
578
|
"meeusPeriLong2500AD": number;
|
|
718
579
|
"meeusPeriLong3000AD": number;
|
|
580
|
+
"simon1994AnomalisticYearDays": number;
|
|
719
581
|
"mainstreamAxialPrecKyr": number;
|
|
720
582
|
"mainstreamPeriPrecKyr": number;
|
|
721
583
|
"mainstreamObliqCycleKyr": number;
|