@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.
Files changed (63) hide show
  1. package/README.md +4 -4
  2. package/package.json +4 -8
  3. package/src/cardinal/one-source-structure.cjs +3 -2
  4. package/src/chain-cycles/index.cjs +12 -30
  5. package/src/climate/l1-orbital.cjs +3 -1
  6. package/src/constants/coefficients.d.ts +17 -93
  7. package/src/constants/coefficients.js +7 -22
  8. package/src/constants/generated.d.ts +18 -156
  9. package/src/constants/generated.js +33 -168
  10. package/src/deltat/deep-time.cjs +36 -92
  11. package/src/deltat/recession-history.cjs +2 -1
  12. package/src/earth/deep-orbital-history.cjs +4 -4
  13. package/src/earth/frame-of-date.cjs +25 -1
  14. package/src/earth/precession-composed.cjs +3 -3
  15. package/src/earth/year-lengths.cjs +16 -1
  16. package/src/eclipse/sun-planetary-completion.cjs +11 -12
  17. package/src/index.js +28 -48
  18. package/src/layer0/derive-params.js +10 -5
  19. package/src/layer0/index.js +27 -73
  20. package/src/layer1/index.js +6 -37
  21. package/src/model.js +200 -225
  22. package/src/moon/arguments.cjs +57 -83
  23. package/src/moon/deep-modes-artifact.cjs +2 -2
  24. package/src/moon/month-chain.cjs +25 -59
  25. package/src/moon/series.cjs +14 -10
  26. package/src/phase/deep-calendar.cjs +35 -80
  27. package/src/planets/chain-artifact.js +2 -2
  28. package/src/planets/display-names.cjs +30 -0
  29. package/src/planets/geometry.cjs +79 -29
  30. package/src/planets/model.cjs +12 -11
  31. package/src/planets/spin-channel.cjs +46 -2
  32. package/types/chain-cycles/index.d.cts +9 -4
  33. package/types/climate/l1-orbital.d.cts +3 -1
  34. package/types/constants/coefficients.d.ts +17 -93
  35. package/types/constants/generated.d.ts +18 -156
  36. package/types/deltat/deep-time.d.cts +3 -16
  37. package/types/earth/frame-of-date.d.cts +9 -0
  38. package/types/earth/year-lengths.d.cts +12 -0
  39. package/types/eclipse/sun-planetary-completion.d.cts +0 -9
  40. package/types/index.d.ts +4 -13
  41. package/types/layer0/derive-params.d.ts +7 -4
  42. package/types/layer0/index.d.ts +6 -13
  43. package/types/layer1/index.d.ts +0 -2
  44. package/types/model.d.ts +8 -6
  45. package/types/moon/arguments.d.cts +23 -22
  46. package/types/moon/deep-modes-artifact.d.cts +3 -3
  47. package/types/moon/month-chain.d.cts +7 -16
  48. package/types/moon/series.d.cts +2 -4
  49. package/types/phase/deep-calendar.d.cts +14 -50
  50. package/types/planets/display-names.d.cts +2 -0
  51. package/types/planets/geometry.d.cts +36 -13
  52. package/types/planets/model.d.cts +7 -6
  53. package/types/planets/spin-channel.d.cts +4 -0
  54. package/src/cardinal/index.cjs +0 -324
  55. package/src/moon/ecc-channel.cjs +0 -141
  56. package/src/phase/index.cjs +0 -186
  57. package/src/planets/ecc-channel.cjs +0 -59
  58. package/src/sun/longitude-correction.cjs +0 -68
  59. package/types/cardinal/index.d.cts +0 -80
  60. package/types/moon/ecc-channel.d.cts +0 -30
  61. package/types/phase/index.d.cts +0 -38
  62. package/types/planets/ecc-channel.d.cts +0 -20
  63. package/types/sun/longitude-correction.d.cts +0 -41
@@ -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: "6c2beb70bb3d5000";
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: "6c2beb70bb3d5000";
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 foundational: {
173
- "holisticyearLength": number;
174
- "stepYears": number;
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;
@@ -2,7 +2,11 @@
2
2
  * GENERATED — do not edit. Regenerate:
3
3
  * node tools/constants/generate.mjs --write
4
4
  *
5
- * Source of truth: public/input/{model-parameters,astro-reference}.json
5
+ * Source of truth: public/input/astro-reference.json (model-parameters.json is
6
+ * DELETED, plan 11 step 6 — its leaves have their homes); the deepTime block
7
+ * is ASSEMBLED from astro-reference.json (moonReference.moonRecessionAlpha1PerMa,
8
+ * giaCoxChaoPeltier), data/deep-time-fitted.json and data/deltaT-4flag-fit.json
9
+ * shipped_taper (plan 11 step 1).
6
10
  * Classification and rationale: tools/constants/generate.mjs
7
11
  *
8
12
  * Two exports, deliberately separate (§2d):
@@ -12,7 +16,6 @@
12
16
  * REFERENCE_DATA validation targets + presentation. Single-sourced so
13
17
  * nothing duplicates them, but NOT injectable:
14
18
  * moonGrailWilliams2014 target
15
- * giaCoxChaoPeltier target
16
19
  * obliquityChapront2002 target
17
20
  * planetSpinObserved target
18
21
  * ascendingNodesSouamiSouchay target
@@ -33,59 +36,17 @@
33
36
  * carry it so a counterfactual is reproducible (§2d).
34
37
  * @type {string}
35
38
  */
36
- export const CONSTANTS_HASH = "6c2beb70bb3d5000";
39
+ export const CONSTANTS_HASH = "f4f43386df2781b8";
37
40
 
38
41
  /** Model version label — single source: public/input/model-version.json (§10 two-axis scheme). */
39
- export const MODEL_VERSION = "v23.0";
42
+ export const MODEL_VERSION = "v25.0";
40
43
 
41
44
  /** Canonical preprint DOI — single source: public/input/model-version.json. */
42
45
  export const PREPRINT_DOI = "10.21203/rs.3.rs-8758810/v4";
43
46
 
44
47
  /** @type {Readonly<Record<string, unknown>>} */
45
48
  export const DEFAULT_CONSTANTS = Object.freeze({
46
- hash: "6c2beb70bb3d5000",
47
- additionalBodies: {
48
- "pluto": {
49
- "name": "Pluto",
50
- "orbitalEccentricityBase": 0.2488273,
51
- "type": "I",
52
- "angleCorrection": 2.469281,
53
- "startpos": 71.555,
54
- "ascendingNodeInvPlane": 101.06,
55
- "invPlaneInclinationMean": 15.7162,
56
- "invPlaneInclinationAmplitude": 0.717024
57
- },
58
- "halleys": {
59
- "name": "Halley's",
60
- "orbitalEccentricityBase": 0.96714291,
61
- "type": "III",
62
- "angleCorrection": -1.619816,
63
- "startpos": 80,
64
- "ascendingNodeInvPlane": 59.56,
65
- "invPlaneInclinationMean": 150,
66
- "invPlaneInclinationAmplitude": 0.1
67
- },
68
- "eros": {
69
- "name": "Eros",
70
- "orbitalEccentricityBase": 0.2229512,
71
- "type": "II",
72
- "angleCorrection": 0.047888,
73
- "startpos": 57.402,
74
- "ascendingNodeInvPlane": 10.36,
75
- "invPlaneInclinationMean": 9.25,
76
- "invPlaneInclinationAmplitude": 0.5
77
- },
78
- "ceres": {
79
- "name": "Ceres",
80
- "orbitalEccentricityBase": 0.0755347,
81
- "orbitDistanceOverride": 2.76596,
82
- "angleCorrection": 0,
83
- "startpos": 0,
84
- "ascendingNodeInvPlane": 80.89,
85
- "invPlaneInclinationMean": 0.43,
86
- "invPlaneInclinationAmplitude": 0.05
87
- }
88
- },
49
+ hash: "f4f43386df2781b8",
89
50
  additionalBodiesReference: {
90
51
  "pluto": {
91
52
  "solarYearInput": 90465,
@@ -97,7 +58,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
97
58
  "ascendingNode": 110.30393,
98
59
  "meanAnomaly": 15.55009,
99
60
  "trueAnomaly": 26.31965048,
100
- "rotationPeriodDays": 6.38720012152536
61
+ "rotationPeriodDays": 6.38720012152536,
62
+ "ascendingNodeInvPlaneClosedForm": 101.06
101
63
  },
102
64
  "halleys": {
103
65
  "solarYearInput": 27503,
@@ -189,48 +151,28 @@ export const DEFAULT_CONSTANTS = Object.freeze({
189
151
  "thermalPumpFactor": 0.454
190
152
  }
191
153
  },
192
- earth: {
193
- "earthtiltMean": 23.413526608469965,
194
- "earthInvPlaneInclinationAmplitude": 0.636069722432876,
195
- "eccentricityBase": 0.015386009686374918,
196
- "eccentricityAmplitude": 0.0013559440307290061,
197
- "kDeviceWheelPhaseAtJ2000Cycles": 0.908498525276082
198
- },
199
154
  earthOrbital: {
200
155
  "j2000EpochYear": 2000,
201
156
  "perihelionalignmentYear": 1246.03125,
202
157
  "juneSolstice2000_JD": 2451716.575,
203
158
  "obliquityJ2000_deg": 23.439279444444445,
204
159
  "obliquityRate_arcsecPerCentury": -46.836769,
160
+ "generalPrecessionJ2000_arcsecPerYr": 50.28796195,
205
161
  "earthEccentricityJ2000": 0.01671022,
206
162
  "earthEccentricityDotJ2000": -0.000042037,
207
163
  "earthEccentricityDotDotJ2000": -2.534e-7,
208
164
  "earthPerihelionLongitudeJ2000": 102.94719,
209
165
  "sunMeanLongitudeJ2000_deg": 280.46646,
210
166
  "earthAscendingNodeInvPlane": 284.51,
211
- "earthInclinationCycleAnchor": 21.77,
212
167
  "perihelionPassageJ2000_JD": 2451547.042,
213
168
  "earthInclinationJ2000_deg": 1.57869,
214
169
  "earthInclinationRate_arcsecPerCentury": -18,
215
- "deltaTStart": 55.63860600148356,
170
+ "deltaTStart": 56.07959443353602,
216
171
  "sunTilt": 7.155
217
172
  },
218
- foundational: {
219
- "holisticyearLength": 335317,
220
- "stepYears": 23,
221
- "inputmeanlengthsolaryearindays": 365.2422,
222
- "startmodelJD": 2451716.5,
223
- "startmodelYear": 2000.5,
224
- "correctionDays": -0.828832119703292,
225
- "correctionSun": 0.4971540149655503,
226
- "startAngleModel": 89.91949879,
227
- "useVariableSpeed": true
228
- },
229
- moon: {
230
- "moonStartposApsidal": 347.5476,
231
- "moonStartposNodal": 64.0435,
232
- "moonStartposMoon": 67.8443,
233
- "moonMeeusLpCorrection": 0
173
+ giaCoxChaoPeltier: {
174
+ "dJ2DtPerYr": -2.7e-11,
175
+ "j2ToAlphaFactor": 2
234
176
  },
235
177
  moonMeeus: {
236
178
  "elpW1T2Decomposition_arcsecPerCy2": {
@@ -257,21 +199,13 @@ export const DEFAULT_CONSTANTS = Object.freeze({
257
199
  "moonApsidalPrecessionDaysInputICRF": 3231.493,
258
200
  "moonNodalPrecessionDaysInputICRF": 6798.38,
259
201
  "moonDistance": 384399.07,
202
+ "moonRecessionAlpha1PerMa": -0.000099375895103,
260
203
  "moonEclipticInclinationJ2000": 5.1573,
261
204
  "moonInclinationConstantBrownELP": 5.1453964,
262
205
  "moonOrbitalEccentricityBase": 0.054900489,
263
206
  "moonObliquityEclipticJ2000": 1.5424,
264
207
  "moonTilt": 6.687
265
208
  },
266
- perihelionPassageRef: {
267
- "mercury": 2460335.9,
268
- "venus": 2455464.42,
269
- "mars": 2456499.441,
270
- "jupiter": 2464224.5,
271
- "saturn": 2452875.9,
272
- "uranus": 2439699.8,
273
- "neptune": 2409432.4
274
- },
275
209
  physicalConstants: {
276
210
  "currentAUDistance": 149597870.698828,
277
211
  "G_CONSTANT": 6.6743e-20,
@@ -335,7 +269,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
335
269
  "ascendingNode": 48.33033155,
336
270
  "invPlaneInclinationJ2000": 6.3472858,
337
271
  "meanAnomaly": 156.6364301,
338
- "trueAnomaly": 164.1669319
272
+ "trueAnomaly": 164.1669319,
273
+ "ascendingNodeInvPlaneClosedForm": 32.83
339
274
  },
340
275
  "venus": {
341
276
  "solarYearInput": 224.695,
@@ -347,7 +282,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
347
282
  "invPlaneInclinationJ2000": 2.1545441,
348
283
  "meanAnomaly": 324.9668371,
349
284
  "trueAnomaly": 324.5198504,
350
- "rotationPeriodDays": 243.022699230302
285
+ "rotationPeriodDays": 243.022699230302,
286
+ "ascendingNodeInvPlaneClosedForm": 54.7
351
287
  },
352
288
  "mars": {
353
289
  "solarYearInput": 686.93,
@@ -359,7 +295,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
359
295
  "invPlaneInclinationJ2000": 1.6311858,
360
296
  "meanAnomaly": 109.2630844,
361
297
  "trueAnomaly": 118.9501056,
362
- "rotationPeriodDays": 1.02595659586635
298
+ "rotationPeriodDays": 1.02595659586635,
299
+ "ascendingNodeInvPlaneClosedForm": 354.87
363
300
  },
364
301
  "jupiter": {
365
302
  "solarYearInput": 4330.53,
@@ -371,7 +308,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
371
308
  "invPlaneInclinationJ2000": 0.3219652,
372
309
  "meanAnomaly": 32.47179744,
373
310
  "trueAnomaly": 35.69428061,
374
- "rotationPeriodDays": 0.413541666975253
311
+ "rotationPeriodDays": 0.413541666975253,
312
+ "ascendingNodeInvPlaneClosedForm": 312.89
375
313
  },
376
314
  "saturn": {
377
315
  "solarYearInput": 10747,
@@ -383,7 +321,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
383
321
  "invPlaneInclinationJ2000": 0.9254704,
384
322
  "meanAnomaly": 325.663876,
385
323
  "trueAnomaly": 321.7910116,
386
- "rotationPeriodDays": 0.440023148755863
324
+ "rotationPeriodDays": 0.440023148755863,
325
+ "ascendingNodeInvPlaneClosedForm": 118.81
387
326
  },
388
327
  "uranus": {
389
328
  "solarYearInput": 30586,
@@ -395,7 +334,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
395
334
  "invPlaneInclinationJ2000": 0.9946692,
396
335
  "meanAnomaly": 145.7292678,
397
336
  "trueAnomaly": 148.5142459,
398
- "rotationPeriodDays": 0.718329998141018
337
+ "rotationPeriodDays": 0.718329998141018,
338
+ "ascendingNodeInvPlaneClosedForm": 307.8
399
339
  },
400
340
  "neptune": {
401
341
  "solarYearInput": 59800,
@@ -407,7 +347,8 @@ export const DEFAULT_CONSTANTS = Object.freeze({
407
347
  "invPlaneInclinationJ2000": 0.7354155,
408
348
  "meanAnomaly": 262.5003424,
409
349
  "trueAnomaly": 261.2242728,
410
- "rotationPeriodDays": 0.671300001591743
350
+ "rotationPeriodDays": 0.671300001591743,
351
+ "ascendingNodeInvPlaneClosedForm": 192.04
411
352
  }
412
353
  },
413
354
  planetSpinPhysical: {
@@ -620,79 +561,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
620
561
  ]
621
562
  }
622
563
  },
623
- planets: {
624
- "mercury": {
625
- "name": "Mercury",
626
- "eocFraction": -0.527,
627
- "startpos": 83.64651142941864,
628
- "angleCorrection": 0.9727205912043573,
629
- "type": "I",
630
- "mirrorPair": "uranus",
631
- "ascendingNodeInvPlane": 32.83,
632
- "ascendingNodeCyclesIn8H": 9
633
- },
634
- "venus": {
635
- "name": "Venus",
636
- "eocFraction": 0.436,
637
- "startpos": 249.28769121856186,
638
- "angleCorrection": -2.789778861448692,
639
- "type": "I",
640
- "mirrorPair": "neptune",
641
- "ascendingNodeInvPlane": 54.7,
642
- "ascendingNodeCyclesIn8H": 1
643
- },
644
- "mars": {
645
- "name": "Mars",
646
- "eocFraction": -0.066224,
647
- "startpos": 121.4634461571797,
648
- "angleCorrection": -2.104652936098656,
649
- "type": "II",
650
- "mirrorPair": "jupiter",
651
- "ascendingNodeInvPlane": 354.87,
652
- "ascendingNodeCyclesIn8H": 64
653
- },
654
- "jupiter": {
655
- "name": "Jupiter",
656
- "eocFraction": 0.495,
657
- "startpos": 13.887946755371052,
658
- "angleCorrection": 0.9333205235053406,
659
- "type": "III",
660
- "mirrorPair": "mars",
661
- "ascendingNodeInvPlane": 312.89,
662
- "ascendingNodeCyclesIn8H": 36
663
- },
664
- "saturn": {
665
- "name": "Saturn",
666
- "eocFraction": 0.54,
667
- "startpos": 11.279308392461772,
668
- "angleCorrection": -0.1784695052193328,
669
- "type": "III",
670
- "mirrorPair": "earth",
671
- "ascendingNodeInvPlane": 118.81,
672
- "ascendingNodeCyclesIn8H": 36
673
- },
674
- "uranus": {
675
- "name": "Uranus",
676
- "eocFraction": 0.53,
677
- "startpos": 44.900388945775106,
678
- "angleCorrection": -0.7343433510960402,
679
- "type": "III",
680
- "mirrorPair": "mercury",
681
- "ascendingNodeInvPlane": 307.8,
682
- "ascendingNodeCyclesIn8H": 11
683
- },
684
- "neptune": {
685
- "name": "Neptune",
686
- "eocFraction": 0.585,
687
- "startpos": 47.9552024382285,
688
- "angleCorrection": 2.3327665835675617,
689
- "type": "III",
690
- "mirrorPair": "venus",
691
- "ascendingNodeInvPlane": 192.04,
692
- "ascendingNodeCyclesIn8H": 3
693
- }
694
- },
695
564
  timeReference: {
565
+ "sceneEpochJD": 2451716.5,
566
+ "sceneEpochYear": 2000.5,
696
567
  "j2000JD": 2451545,
697
568
  "julianCenturyDays": 36525,
698
569
  "gregorianStartJD": 2299160.5,
@@ -705,10 +576,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
705
576
  "tropicalYearSS": 365.241626,
706
577
  "tropicalYearAE": 365.242018,
707
578
  "tropicalYearWS": 365.24274,
708
- "tropicalYearMean": 365.2421897,
709
- "anomalisticYear": 365.259636,
710
579
  "siderealYear": 365.256363004,
711
- "iauPrecessionJ2000": 25770.7280535361,
712
580
  "tropicalYearRateSecPerCentury": -0.53,
713
581
  "solarDay": 86400,
714
582
  "siderealDay": 86164.09053083288,
@@ -765,10 +633,6 @@ export const REFERENCE_DATA = Object.freeze({
765
633
  "greatattractorDistance": 200000000,
766
634
  "milkywaySpeed": 2160000
767
635
  },
768
- giaCoxChaoPeltier: {
769
- "dJ2DtPerYr": -2.7e-11,
770
- "j2ToAlphaFactor": 2
771
- },
772
636
  jplEclipticInclinationTrends: {
773
637
  "mercury": -0.00595,
774
638
  "venus": -0.00079,
@@ -878,6 +742,7 @@ export const REFERENCE_DATA = Object.freeze({
878
742
  "meeusPeriLong2000AD": 102.937,
879
743
  "meeusPeriLong2500AD": 111.546,
880
744
  "meeusPeriLong3000AD": 120.178,
745
+ "simon1994AnomalisticYearDays": 365.259636,
881
746
  "mainstreamAxialPrecKyr": 26,
882
747
  "mainstreamPeriPrecKyr": 21,
883
748
  "mainstreamObliqCycleKyr": 41,