@essrt/physics 14.0.0 → 15.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/package.json +2 -2
- package/src/constants/generated.d.ts +2 -38
- package/src/constants/generated.js +3 -72
- package/src/model.js +14 -37
- package/src/planets/model.cjs +0 -4
- package/types/constants/generated.d.ts +2 -38
- package/types/planets/model.d.cts +0 -8
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essrt/physics",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.0",
|
|
4
4
|
"description": "ESSRT (Expanding Solar System Resonance Theory) physics core — pure, injectable-constants, no I/O, no globals, no DOM. The complete model incl. fitted coefficients; every published version immutably ships one recorded model identity.",
|
|
5
5
|
"essrt": {
|
|
6
|
-
"modelVersion": "
|
|
6
|
+
"modelVersion": "v19.0",
|
|
7
7
|
"_note": "The model identity this package version ships (IP-unified-architecture §10: package semver tracks the API axis; the model version + CONSTANTS_HASH/COEFFICIENTS_HASH in src/constants/ carry the scientific identity). The version-pinning gate enforces this pairing against public/input/model-version.json."
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// Gives the TypeScript website full type safety at the boundary (§2g) while
|
|
3
3
|
// packages/physics stays JavaScript.
|
|
4
4
|
|
|
5
|
-
export declare const CONSTANTS_HASH: "
|
|
5
|
+
export declare const CONSTANTS_HASH: "5ce921f2efa2e845";
|
|
6
6
|
|
|
7
7
|
export declare const MODEL_VERSION: string;
|
|
8
8
|
|
|
9
9
|
export declare const PREPRINT_DOI: string;
|
|
10
10
|
|
|
11
11
|
export declare const DEFAULT_CONSTANTS: {
|
|
12
|
-
readonly hash: "
|
|
12
|
+
readonly hash: "5ce921f2efa2e845";
|
|
13
13
|
readonly additionalBodies: {
|
|
14
14
|
"pluto": {
|
|
15
15
|
"name": string;
|
|
@@ -17,9 +17,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
17
17
|
"type": string;
|
|
18
18
|
"angleCorrection": number;
|
|
19
19
|
"startpos": number;
|
|
20
|
-
"perihelionEclipticFraction": [number, number];
|
|
21
20
|
"ascendingNodeInvPlane": number;
|
|
22
|
-
"inclinationCycleAnchor": number;
|
|
23
21
|
"invPlaneInclinationMean": number;
|
|
24
22
|
"invPlaneInclinationAmplitude": number;
|
|
25
23
|
};
|
|
@@ -29,9 +27,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
29
27
|
"type": string;
|
|
30
28
|
"angleCorrection": number;
|
|
31
29
|
"startpos": number;
|
|
32
|
-
"perihelionEclipticFraction": [number, number];
|
|
33
30
|
"ascendingNodeInvPlane": number;
|
|
34
|
-
"inclinationCycleAnchor": number;
|
|
35
31
|
"invPlaneInclinationMean": number;
|
|
36
32
|
"invPlaneInclinationAmplitude": number;
|
|
37
33
|
};
|
|
@@ -41,9 +37,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
41
37
|
"type": string;
|
|
42
38
|
"angleCorrection": number;
|
|
43
39
|
"startpos": number;
|
|
44
|
-
"perihelionEclipticFraction": [number, number];
|
|
45
40
|
"ascendingNodeInvPlane": number;
|
|
46
|
-
"inclinationCycleAnchor": number;
|
|
47
41
|
"invPlaneInclinationMean": number;
|
|
48
42
|
"invPlaneInclinationAmplitude": number;
|
|
49
43
|
};
|
|
@@ -53,9 +47,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
53
47
|
"orbitDistanceOverride": number;
|
|
54
48
|
"angleCorrection": number;
|
|
55
49
|
"startpos": number;
|
|
56
|
-
"perihelionEclipticFraction": [number, number];
|
|
57
50
|
"ascendingNodeInvPlane": number;
|
|
58
|
-
"inclinationCycleAnchor": number;
|
|
59
51
|
"invPlaneInclinationMean": number;
|
|
60
52
|
"invPlaneInclinationAmplitude": number;
|
|
61
53
|
};
|
|
@@ -486,13 +478,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
486
478
|
"eocFraction": number;
|
|
487
479
|
"startpos": number;
|
|
488
480
|
"angleCorrection": number;
|
|
489
|
-
"perihelionEclipticFraction": [number, number];
|
|
490
481
|
"type": string;
|
|
491
482
|
"mirrorPair": string;
|
|
492
|
-
"fibonacciD": number;
|
|
493
483
|
"ascendingNodeInvPlane": number;
|
|
494
|
-
"inclinationCycleAnchor": number;
|
|
495
|
-
"antiPhase": boolean;
|
|
496
484
|
"ascendingNodeCyclesIn8H": number;
|
|
497
485
|
};
|
|
498
486
|
"venus": {
|
|
@@ -500,13 +488,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
500
488
|
"eocFraction": number;
|
|
501
489
|
"startpos": number;
|
|
502
490
|
"angleCorrection": number;
|
|
503
|
-
"perihelionEclipticFraction": [number, number];
|
|
504
491
|
"type": string;
|
|
505
492
|
"mirrorPair": string;
|
|
506
|
-
"fibonacciD": number;
|
|
507
493
|
"ascendingNodeInvPlane": number;
|
|
508
|
-
"inclinationCycleAnchor": number;
|
|
509
|
-
"antiPhase": boolean;
|
|
510
494
|
"ascendingNodeCyclesIn8H": number;
|
|
511
495
|
};
|
|
512
496
|
"mars": {
|
|
@@ -514,13 +498,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
514
498
|
"eocFraction": number;
|
|
515
499
|
"startpos": number;
|
|
516
500
|
"angleCorrection": number;
|
|
517
|
-
"perihelionEclipticFraction": [number, number];
|
|
518
501
|
"type": string;
|
|
519
502
|
"mirrorPair": string;
|
|
520
|
-
"fibonacciD": number;
|
|
521
503
|
"ascendingNodeInvPlane": number;
|
|
522
|
-
"inclinationCycleAnchor": number;
|
|
523
|
-
"antiPhase": boolean;
|
|
524
504
|
"ascendingNodeCyclesIn8H": number;
|
|
525
505
|
};
|
|
526
506
|
"jupiter": {
|
|
@@ -528,13 +508,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
528
508
|
"eocFraction": number;
|
|
529
509
|
"startpos": number;
|
|
530
510
|
"angleCorrection": number;
|
|
531
|
-
"perihelionEclipticFraction": [number, number];
|
|
532
511
|
"type": string;
|
|
533
512
|
"mirrorPair": string;
|
|
534
|
-
"fibonacciD": number;
|
|
535
513
|
"ascendingNodeInvPlane": number;
|
|
536
|
-
"inclinationCycleAnchor": number;
|
|
537
|
-
"antiPhase": boolean;
|
|
538
514
|
"ascendingNodeCyclesIn8H": number;
|
|
539
515
|
};
|
|
540
516
|
"saturn": {
|
|
@@ -542,13 +518,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
542
518
|
"eocFraction": number;
|
|
543
519
|
"startpos": number;
|
|
544
520
|
"angleCorrection": number;
|
|
545
|
-
"perihelionEclipticFraction": [number, number];
|
|
546
521
|
"type": string;
|
|
547
522
|
"mirrorPair": string;
|
|
548
|
-
"fibonacciD": number;
|
|
549
523
|
"ascendingNodeInvPlane": number;
|
|
550
|
-
"inclinationCycleAnchor": number;
|
|
551
|
-
"antiPhase": boolean;
|
|
552
524
|
"ascendingNodeCyclesIn8H": number;
|
|
553
525
|
};
|
|
554
526
|
"uranus": {
|
|
@@ -556,13 +528,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
556
528
|
"eocFraction": number;
|
|
557
529
|
"startpos": number;
|
|
558
530
|
"angleCorrection": number;
|
|
559
|
-
"perihelionEclipticFraction": [number, number];
|
|
560
531
|
"type": string;
|
|
561
532
|
"mirrorPair": string;
|
|
562
|
-
"fibonacciD": number;
|
|
563
533
|
"ascendingNodeInvPlane": number;
|
|
564
|
-
"inclinationCycleAnchor": number;
|
|
565
|
-
"antiPhase": boolean;
|
|
566
534
|
"ascendingNodeCyclesIn8H": number;
|
|
567
535
|
};
|
|
568
536
|
"neptune": {
|
|
@@ -570,13 +538,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
570
538
|
"eocFraction": number;
|
|
571
539
|
"startpos": number;
|
|
572
540
|
"angleCorrection": number;
|
|
573
|
-
"perihelionEclipticFraction": [number, number];
|
|
574
541
|
"type": string;
|
|
575
542
|
"mirrorPair": string;
|
|
576
|
-
"fibonacciD": number;
|
|
577
543
|
"ascendingNodeInvPlane": number;
|
|
578
|
-
"inclinationCycleAnchor": number;
|
|
579
|
-
"antiPhase": boolean;
|
|
580
544
|
"ascendingNodeCyclesIn8H": number;
|
|
581
545
|
};
|
|
582
546
|
};
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
* carry it so a counterfactual is reproducible (§2d).
|
|
34
34
|
* @type {string}
|
|
35
35
|
*/
|
|
36
|
-
export const CONSTANTS_HASH = "
|
|
36
|
+
export const CONSTANTS_HASH = "5ce921f2efa2e845";
|
|
37
37
|
|
|
38
38
|
/** Model version label — single source: public/input/model-version.json (§10 two-axis scheme). */
|
|
39
|
-
export const MODEL_VERSION = "
|
|
39
|
+
export const MODEL_VERSION = "v19.0";
|
|
40
40
|
|
|
41
41
|
/** Canonical preprint DOI — single source: public/input/model-version.json. */
|
|
42
42
|
export const PREPRINT_DOI = "10.21203/rs.3.rs-8758810/v4";
|
|
43
43
|
|
|
44
44
|
/** @type {Readonly<Record<string, unknown>>} */
|
|
45
45
|
export const DEFAULT_CONSTANTS = Object.freeze({
|
|
46
|
-
hash: "
|
|
46
|
+
hash: "5ce921f2efa2e845",
|
|
47
47
|
additionalBodies: {
|
|
48
48
|
"pluto": {
|
|
49
49
|
"name": "Pluto",
|
|
@@ -51,12 +51,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
51
51
|
"type": "I",
|
|
52
52
|
"angleCorrection": 2.469281,
|
|
53
53
|
"startpos": 71.555,
|
|
54
|
-
"perihelionEclipticFraction": [
|
|
55
|
-
1,
|
|
56
|
-
1
|
|
57
|
-
],
|
|
58
54
|
"ascendingNodeInvPlane": 101.06,
|
|
59
|
-
"inclinationCycleAnchor": 203.32,
|
|
60
55
|
"invPlaneInclinationMean": 15.7162,
|
|
61
56
|
"invPlaneInclinationAmplitude": 0.717024
|
|
62
57
|
},
|
|
@@ -66,12 +61,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
66
61
|
"type": "III",
|
|
67
62
|
"angleCorrection": -1.619816,
|
|
68
63
|
"startpos": 80,
|
|
69
|
-
"perihelionEclipticFraction": [
|
|
70
|
-
1,
|
|
71
|
-
1
|
|
72
|
-
],
|
|
73
64
|
"ascendingNodeInvPlane": 59.56,
|
|
74
|
-
"inclinationCycleAnchor": 23.3195,
|
|
75
65
|
"invPlaneInclinationMean": 150,
|
|
76
66
|
"invPlaneInclinationAmplitude": 0.1
|
|
77
67
|
},
|
|
@@ -81,12 +71,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
81
71
|
"type": "II",
|
|
82
72
|
"angleCorrection": 0.047888,
|
|
83
73
|
"startpos": 57.402,
|
|
84
|
-
"perihelionEclipticFraction": [
|
|
85
|
-
1,
|
|
86
|
-
1
|
|
87
|
-
],
|
|
88
74
|
"ascendingNodeInvPlane": 10.36,
|
|
89
|
-
"inclinationCycleAnchor": 203.3195,
|
|
90
75
|
"invPlaneInclinationMean": 9.25,
|
|
91
76
|
"invPlaneInclinationAmplitude": 0.5
|
|
92
77
|
},
|
|
@@ -96,12 +81,7 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
96
81
|
"orbitDistanceOverride": 2.76596,
|
|
97
82
|
"angleCorrection": 0,
|
|
98
83
|
"startpos": 0,
|
|
99
|
-
"perihelionEclipticFraction": [
|
|
100
|
-
1,
|
|
101
|
-
1
|
|
102
|
-
],
|
|
103
84
|
"ascendingNodeInvPlane": 80.89,
|
|
104
|
-
"inclinationCycleAnchor": 203.3195,
|
|
105
85
|
"invPlaneInclinationMean": 0.43,
|
|
106
86
|
"invPlaneInclinationAmplitude": 0.05
|
|
107
87
|
}
|
|
@@ -647,16 +627,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
647
627
|
"eocFraction": -0.527,
|
|
648
628
|
"startpos": 83.64651142941864,
|
|
649
629
|
"angleCorrection": 0.9727205912043573,
|
|
650
|
-
"perihelionEclipticFraction": [
|
|
651
|
-
8,
|
|
652
|
-
11
|
|
653
|
-
],
|
|
654
630
|
"type": "I",
|
|
655
631
|
"mirrorPair": "uranus",
|
|
656
|
-
"fibonacciD": 21,
|
|
657
632
|
"ascendingNodeInvPlane": 32.83,
|
|
658
|
-
"inclinationCycleAnchor": 234.52,
|
|
659
|
-
"antiPhase": false,
|
|
660
633
|
"ascendingNodeCyclesIn8H": 9
|
|
661
634
|
},
|
|
662
635
|
"venus": {
|
|
@@ -664,16 +637,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
664
637
|
"eocFraction": 0.436,
|
|
665
638
|
"startpos": 249.28769121856186,
|
|
666
639
|
"angleCorrection": -2.789778861448692,
|
|
667
|
-
"perihelionEclipticFraction": [
|
|
668
|
-
-8,
|
|
669
|
-
6
|
|
670
|
-
],
|
|
671
640
|
"type": "I",
|
|
672
641
|
"mirrorPair": "neptune",
|
|
673
|
-
"fibonacciD": 34,
|
|
674
642
|
"ascendingNodeInvPlane": 54.7,
|
|
675
|
-
"inclinationCycleAnchor": 218.64,
|
|
676
|
-
"antiPhase": false,
|
|
677
643
|
"ascendingNodeCyclesIn8H": 1
|
|
678
644
|
},
|
|
679
645
|
"mars": {
|
|
@@ -681,16 +647,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
681
647
|
"eocFraction": -0.066224,
|
|
682
648
|
"startpos": 121.4634461571797,
|
|
683
649
|
"angleCorrection": -2.104652936098656,
|
|
684
|
-
"perihelionEclipticFraction": [
|
|
685
|
-
8,
|
|
686
|
-
36
|
|
687
|
-
],
|
|
688
650
|
"type": "II",
|
|
689
651
|
"mirrorPair": "jupiter",
|
|
690
|
-
"fibonacciD": 5,
|
|
691
652
|
"ascendingNodeInvPlane": 354.87,
|
|
692
|
-
"inclinationCycleAnchor": 236.07,
|
|
693
|
-
"antiPhase": false,
|
|
694
653
|
"ascendingNodeCyclesIn8H": 64
|
|
695
654
|
},
|
|
696
655
|
"jupiter": {
|
|
@@ -698,16 +657,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
698
657
|
"eocFraction": 0.495,
|
|
699
658
|
"startpos": 13.887946755371052,
|
|
700
659
|
"angleCorrection": 0.9333205235053406,
|
|
701
|
-
"perihelionEclipticFraction": [
|
|
702
|
-
8,
|
|
703
|
-
39
|
|
704
|
-
],
|
|
705
660
|
"type": "III",
|
|
706
661
|
"mirrorPair": "mars",
|
|
707
|
-
"fibonacciD": 5,
|
|
708
662
|
"ascendingNodeInvPlane": 312.89,
|
|
709
|
-
"inclinationCycleAnchor": 287.06,
|
|
710
|
-
"antiPhase": false,
|
|
711
663
|
"ascendingNodeCyclesIn8H": 36
|
|
712
664
|
},
|
|
713
665
|
"saturn": {
|
|
@@ -715,16 +667,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
715
667
|
"eocFraction": 0.54,
|
|
716
668
|
"startpos": 11.279308392461772,
|
|
717
669
|
"angleCorrection": -0.1784695052193328,
|
|
718
|
-
"perihelionEclipticFraction": [
|
|
719
|
-
-8,
|
|
720
|
-
65
|
|
721
|
-
],
|
|
722
670
|
"type": "III",
|
|
723
671
|
"mirrorPair": "earth",
|
|
724
|
-
"fibonacciD": 3,
|
|
725
672
|
"ascendingNodeInvPlane": 118.81,
|
|
726
|
-
"inclinationCycleAnchor": 116.26,
|
|
727
|
-
"antiPhase": true,
|
|
728
673
|
"ascendingNodeCyclesIn8H": 36
|
|
729
674
|
},
|
|
730
675
|
"uranus": {
|
|
@@ -732,16 +677,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
732
677
|
"eocFraction": 0.53,
|
|
733
678
|
"startpos": 44.900388945775106,
|
|
734
679
|
"angleCorrection": -0.7343433510960402,
|
|
735
|
-
"perihelionEclipticFraction": [
|
|
736
|
-
1,
|
|
737
|
-
3
|
|
738
|
-
],
|
|
739
680
|
"type": "III",
|
|
740
681
|
"mirrorPair": "mercury",
|
|
741
|
-
"fibonacciD": 21,
|
|
742
682
|
"ascendingNodeInvPlane": 307.8,
|
|
743
|
-
"inclinationCycleAnchor": 21.33,
|
|
744
|
-
"antiPhase": false,
|
|
745
683
|
"ascendingNodeCyclesIn8H": 11
|
|
746
684
|
},
|
|
747
685
|
"neptune": {
|
|
@@ -749,16 +687,9 @@ export const DEFAULT_CONSTANTS = Object.freeze({
|
|
|
749
687
|
"eocFraction": 0.585,
|
|
750
688
|
"startpos": 47.9552024382285,
|
|
751
689
|
"angleCorrection": 2.3327665835675617,
|
|
752
|
-
"perihelionEclipticFraction": [
|
|
753
|
-
2,
|
|
754
|
-
1
|
|
755
|
-
],
|
|
756
690
|
"type": "III",
|
|
757
691
|
"mirrorPair": "venus",
|
|
758
|
-
"fibonacciD": 34,
|
|
759
692
|
"ascendingNodeInvPlane": 192.04,
|
|
760
|
-
"inclinationCycleAnchor": 174.04,
|
|
761
|
-
"antiPhase": false,
|
|
762
693
|
"ascendingNodeCyclesIn8H": 3
|
|
763
694
|
}
|
|
764
695
|
},
|
package/src/model.js
CHANGED
|
@@ -25,7 +25,6 @@ import { createPhaseMachinery } from './phase/index.cjs';
|
|
|
25
25
|
import { createYearLengths, ONE_FAMILY_WINDOW_YEARS } from './earth/year-lengths.cjs';
|
|
26
26
|
import { createDeepOrbitalHistory } from './earth/deep-orbital-history.cjs';
|
|
27
27
|
import { CHAIN_ARTIFACT } from './planets/chain-artifact.js';
|
|
28
|
-
import { computeSecularShape } from './planets/secular-shape.cjs';
|
|
29
28
|
import { createPlanetSpinChannelFromArtifacts, computeObliquityJ2000Deg } from './planets/spin-channel.cjs';
|
|
30
29
|
import { createDeltaTCycles } from './deltat/cycles.cjs';
|
|
31
30
|
import { createDeepTimeLod } from './deltat/deep-time.cjs';
|
|
@@ -716,24 +715,21 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
716
715
|
// inclination law it fed went the same way. systemResetN is kept where
|
|
717
716
|
// other consumers read it.)
|
|
718
717
|
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
718
|
+
// Plan 07 R1/R8: the internal PLANET_RECORDS — the device record the
|
|
719
|
+
// fitters once read (the H·num/den perihelion period from
|
|
720
|
+
// perihelionEclipticFraction, fibonacciD, antiPhase, inclinationCycleAnchor,
|
|
721
|
+
// the −8H/N node period) — had no reader left after R6/R5 and is gone with
|
|
722
|
+
// its JSON inputs. What remains is the PUBLISHED record below.
|
|
724
723
|
/** @type {Record<string, Record<string, any>>} */
|
|
725
724
|
const PUBLISHED_PLANET_RECORDS = {}; // what model.planets.record() serves (R8)
|
|
726
725
|
for (const k of PLANET_KEYS) {
|
|
727
726
|
const mp = C.planets[k];
|
|
728
727
|
const ar = C.planetOrbitalElements[k];
|
|
729
|
-
const ecl = /** @type {number} */ (fractionToYears(mp.perihelionEclipticFraction));
|
|
730
728
|
// Plan 06 Phase 7 commit 2: the K device's integer axial and obliquity
|
|
731
|
-
// fractions are retired
|
|
732
|
-
//
|
|
733
|
-
//
|
|
734
|
-
//
|
|
735
|
-
// plane, acute form) — both from the governed artifacts, no fractions.
|
|
736
|
-
const wobble = computeSecularShape(/** @type {any} */ (CHAIN_ARTIFACT), k).beatYears;
|
|
729
|
+
// fractions are retired; the obliquity is the DERIVED J2000 obliquity of
|
|
730
|
+
// the spin channel (the IAU pole against the chain's J2000 plane, acute
|
|
731
|
+
// form) — from the governed artifacts, no fractions. (The g-mode beat the
|
|
732
|
+
// K law's period rode left with the internal record at plan 07 R1/R8.)
|
|
737
733
|
const obliquityDerived = computeObliquityJ2000Deg({
|
|
738
734
|
spin: C.planetSpinPhysical[k],
|
|
739
735
|
anchorInclEclipticDeg: /** @type {any} */ (CHAIN_ARTIFACT).j2000AnchorElements[k].inclEclipticDeg,
|
|
@@ -741,30 +737,11 @@ export function assembleModel(C, F, laws = {}, secularSeriesArtifact = /** @type
|
|
|
741
737
|
obliquityJ2000Deg: C.earthOrbital.obliquityJ2000_deg,
|
|
742
738
|
});
|
|
743
739
|
const obliquityMean = Math.min(obliquityDerived, 180 - obliquityDerived); // acute form of the derived J2000 obliquity
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
ascendingNodePeriod: -(8 * H) / mp.ascendingNodeCyclesIn8H,
|
|
750
|
-
wobblePeriod: wobble,
|
|
751
|
-
fibonacciD: mp.fibonacciD,
|
|
752
|
-
antiPhase: mp.antiPhase || false,
|
|
753
|
-
ascendingNodeInvPlane: mp.ascendingNodeInvPlane,
|
|
754
|
-
inclinationCycleAnchor: mp.inclinationCycleAnchor,
|
|
755
|
-
invPlaneInclinationJ2000: ar.invPlaneInclinationJ2000,
|
|
756
|
-
obliquityMean,
|
|
757
|
-
orbitalEccentricityJ2000: ar.orbitalEccentricityJ2000,
|
|
758
|
-
solarYearInput: ar.solarYearInput,
|
|
759
|
-
axialTiltJ2000: ar.axialTiltJ2000,
|
|
760
|
-
});
|
|
761
|
-
// R8 (plan 07): what `model.planets.record()` PUBLISHES is not the record
|
|
762
|
-
// above. The internal record kept the ψ/K law outputs for the fitting
|
|
763
|
-
// pipeline; at R6 the K half and both fitter steps that read it went, at
|
|
764
|
-
// R5 the ψ half (invPlaneInclinationAmplitude/Mean) — what remains above
|
|
765
|
-
// is the structural inputs and the derived J2000 obliquity.
|
|
766
|
-
// The separation stands for the same reason it was made —
|
|
767
|
-
// but nothing outside needs the device, and serving it made /v1/bodies
|
|
740
|
+
// R8 (plan 07): what `model.planets.record()` PUBLISHES is the structural
|
|
741
|
+
// record, not the device. The internal record that kept the ψ/K law
|
|
742
|
+
// outputs for the fitting pipeline went piecewise: the K half at R6, the ψ
|
|
743
|
+
// half at R5, the lattice inputs at R1/R8 (nothing read it by then).
|
|
744
|
+
// Nothing outside needs the device, and serving it made /v1/bodies
|
|
768
745
|
// contradict the model's own chain on the SAME quantities: Mercury's node
|
|
769
746
|
// cycle 298,060 yr against the chain's 232,001, Jupiter's perihelion period
|
|
770
747
|
// 68,783 against 304,456, Neptune's 670,634 against 2,136,796. The two
|
package/src/planets/model.cjs
CHANGED
|
@@ -37,12 +37,8 @@ const { derivePlanetGeometry } = require('./geometry.cjs');
|
|
|
37
37
|
* @typedef {Object} PlanetModelBody
|
|
38
38
|
* @property {string} [type] - geometry type branch ('I' | 'II' | 'III')
|
|
39
39
|
* @property {number} solarYearInput
|
|
40
|
-
* @property {number} [fibonacciD]
|
|
41
40
|
* @property {number} [invPlaneInclinationJ2000]
|
|
42
41
|
* @property {number} [longitudePerihelion]
|
|
43
|
-
* @property {number} [inclinationCycleAnchor]
|
|
44
|
-
* @property {boolean} [antiPhase]
|
|
45
|
-
* @property {number} [perihelionEclipticYears]
|
|
46
42
|
* @property {number} [wobblePeriodYears] - carriers: the chain's g-mode beat (input since Phase 7 commit 2)
|
|
47
43
|
* @property {number} [obliquityMeanDeg] - carriers: the derived J2000 obliquity (input since Phase 7 commit 2)
|
|
48
44
|
* @property {number} [axialTiltJ2000]
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// Gives the TypeScript website full type safety at the boundary (§2g) while
|
|
3
3
|
// packages/physics stays JavaScript.
|
|
4
4
|
|
|
5
|
-
export declare const CONSTANTS_HASH: "
|
|
5
|
+
export declare const CONSTANTS_HASH: "5ce921f2efa2e845";
|
|
6
6
|
|
|
7
7
|
export declare const MODEL_VERSION: string;
|
|
8
8
|
|
|
9
9
|
export declare const PREPRINT_DOI: string;
|
|
10
10
|
|
|
11
11
|
export declare const DEFAULT_CONSTANTS: {
|
|
12
|
-
readonly hash: "
|
|
12
|
+
readonly hash: "5ce921f2efa2e845";
|
|
13
13
|
readonly additionalBodies: {
|
|
14
14
|
"pluto": {
|
|
15
15
|
"name": string;
|
|
@@ -17,9 +17,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
17
17
|
"type": string;
|
|
18
18
|
"angleCorrection": number;
|
|
19
19
|
"startpos": number;
|
|
20
|
-
"perihelionEclipticFraction": [number, number];
|
|
21
20
|
"ascendingNodeInvPlane": number;
|
|
22
|
-
"inclinationCycleAnchor": number;
|
|
23
21
|
"invPlaneInclinationMean": number;
|
|
24
22
|
"invPlaneInclinationAmplitude": number;
|
|
25
23
|
};
|
|
@@ -29,9 +27,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
29
27
|
"type": string;
|
|
30
28
|
"angleCorrection": number;
|
|
31
29
|
"startpos": number;
|
|
32
|
-
"perihelionEclipticFraction": [number, number];
|
|
33
30
|
"ascendingNodeInvPlane": number;
|
|
34
|
-
"inclinationCycleAnchor": number;
|
|
35
31
|
"invPlaneInclinationMean": number;
|
|
36
32
|
"invPlaneInclinationAmplitude": number;
|
|
37
33
|
};
|
|
@@ -41,9 +37,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
41
37
|
"type": string;
|
|
42
38
|
"angleCorrection": number;
|
|
43
39
|
"startpos": number;
|
|
44
|
-
"perihelionEclipticFraction": [number, number];
|
|
45
40
|
"ascendingNodeInvPlane": number;
|
|
46
|
-
"inclinationCycleAnchor": number;
|
|
47
41
|
"invPlaneInclinationMean": number;
|
|
48
42
|
"invPlaneInclinationAmplitude": number;
|
|
49
43
|
};
|
|
@@ -53,9 +47,7 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
53
47
|
"orbitDistanceOverride": number;
|
|
54
48
|
"angleCorrection": number;
|
|
55
49
|
"startpos": number;
|
|
56
|
-
"perihelionEclipticFraction": [number, number];
|
|
57
50
|
"ascendingNodeInvPlane": number;
|
|
58
|
-
"inclinationCycleAnchor": number;
|
|
59
51
|
"invPlaneInclinationMean": number;
|
|
60
52
|
"invPlaneInclinationAmplitude": number;
|
|
61
53
|
};
|
|
@@ -486,13 +478,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
486
478
|
"eocFraction": number;
|
|
487
479
|
"startpos": number;
|
|
488
480
|
"angleCorrection": number;
|
|
489
|
-
"perihelionEclipticFraction": [number, number];
|
|
490
481
|
"type": string;
|
|
491
482
|
"mirrorPair": string;
|
|
492
|
-
"fibonacciD": number;
|
|
493
483
|
"ascendingNodeInvPlane": number;
|
|
494
|
-
"inclinationCycleAnchor": number;
|
|
495
|
-
"antiPhase": boolean;
|
|
496
484
|
"ascendingNodeCyclesIn8H": number;
|
|
497
485
|
};
|
|
498
486
|
"venus": {
|
|
@@ -500,13 +488,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
500
488
|
"eocFraction": number;
|
|
501
489
|
"startpos": number;
|
|
502
490
|
"angleCorrection": number;
|
|
503
|
-
"perihelionEclipticFraction": [number, number];
|
|
504
491
|
"type": string;
|
|
505
492
|
"mirrorPair": string;
|
|
506
|
-
"fibonacciD": number;
|
|
507
493
|
"ascendingNodeInvPlane": number;
|
|
508
|
-
"inclinationCycleAnchor": number;
|
|
509
|
-
"antiPhase": boolean;
|
|
510
494
|
"ascendingNodeCyclesIn8H": number;
|
|
511
495
|
};
|
|
512
496
|
"mars": {
|
|
@@ -514,13 +498,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
514
498
|
"eocFraction": number;
|
|
515
499
|
"startpos": number;
|
|
516
500
|
"angleCorrection": number;
|
|
517
|
-
"perihelionEclipticFraction": [number, number];
|
|
518
501
|
"type": string;
|
|
519
502
|
"mirrorPair": string;
|
|
520
|
-
"fibonacciD": number;
|
|
521
503
|
"ascendingNodeInvPlane": number;
|
|
522
|
-
"inclinationCycleAnchor": number;
|
|
523
|
-
"antiPhase": boolean;
|
|
524
504
|
"ascendingNodeCyclesIn8H": number;
|
|
525
505
|
};
|
|
526
506
|
"jupiter": {
|
|
@@ -528,13 +508,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
528
508
|
"eocFraction": number;
|
|
529
509
|
"startpos": number;
|
|
530
510
|
"angleCorrection": number;
|
|
531
|
-
"perihelionEclipticFraction": [number, number];
|
|
532
511
|
"type": string;
|
|
533
512
|
"mirrorPair": string;
|
|
534
|
-
"fibonacciD": number;
|
|
535
513
|
"ascendingNodeInvPlane": number;
|
|
536
|
-
"inclinationCycleAnchor": number;
|
|
537
|
-
"antiPhase": boolean;
|
|
538
514
|
"ascendingNodeCyclesIn8H": number;
|
|
539
515
|
};
|
|
540
516
|
"saturn": {
|
|
@@ -542,13 +518,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
542
518
|
"eocFraction": number;
|
|
543
519
|
"startpos": number;
|
|
544
520
|
"angleCorrection": number;
|
|
545
|
-
"perihelionEclipticFraction": [number, number];
|
|
546
521
|
"type": string;
|
|
547
522
|
"mirrorPair": string;
|
|
548
|
-
"fibonacciD": number;
|
|
549
523
|
"ascendingNodeInvPlane": number;
|
|
550
|
-
"inclinationCycleAnchor": number;
|
|
551
|
-
"antiPhase": boolean;
|
|
552
524
|
"ascendingNodeCyclesIn8H": number;
|
|
553
525
|
};
|
|
554
526
|
"uranus": {
|
|
@@ -556,13 +528,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
556
528
|
"eocFraction": number;
|
|
557
529
|
"startpos": number;
|
|
558
530
|
"angleCorrection": number;
|
|
559
|
-
"perihelionEclipticFraction": [number, number];
|
|
560
531
|
"type": string;
|
|
561
532
|
"mirrorPair": string;
|
|
562
|
-
"fibonacciD": number;
|
|
563
533
|
"ascendingNodeInvPlane": number;
|
|
564
|
-
"inclinationCycleAnchor": number;
|
|
565
|
-
"antiPhase": boolean;
|
|
566
534
|
"ascendingNodeCyclesIn8H": number;
|
|
567
535
|
};
|
|
568
536
|
"neptune": {
|
|
@@ -570,13 +538,9 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
570
538
|
"eocFraction": number;
|
|
571
539
|
"startpos": number;
|
|
572
540
|
"angleCorrection": number;
|
|
573
|
-
"perihelionEclipticFraction": [number, number];
|
|
574
541
|
"type": string;
|
|
575
542
|
"mirrorPair": string;
|
|
576
|
-
"fibonacciD": number;
|
|
577
543
|
"ascendingNodeInvPlane": number;
|
|
578
|
-
"inclinationCycleAnchor": number;
|
|
579
|
-
"antiPhase": boolean;
|
|
580
544
|
"ascendingNodeCyclesIn8H": number;
|
|
581
545
|
};
|
|
582
546
|
};
|
|
@@ -4,12 +4,8 @@ export type PlanetModelBody = {
|
|
|
4
4
|
*/
|
|
5
5
|
type?: string | undefined;
|
|
6
6
|
solarYearInput: number;
|
|
7
|
-
fibonacciD?: number | undefined;
|
|
8
7
|
invPlaneInclinationJ2000?: number | undefined;
|
|
9
8
|
longitudePerihelion?: number | undefined;
|
|
10
|
-
inclinationCycleAnchor?: number | undefined;
|
|
11
|
-
antiPhase?: boolean | undefined;
|
|
12
|
-
perihelionEclipticYears?: number | undefined;
|
|
13
9
|
/**
|
|
14
10
|
* - carriers: the chain's g-mode beat (input since Phase 7 commit 2)
|
|
15
11
|
*/
|
|
@@ -47,12 +43,8 @@ export type PlanetModelRecord = {
|
|
|
47
43
|
* @typedef {Object} PlanetModelBody
|
|
48
44
|
* @property {string} [type] - geometry type branch ('I' | 'II' | 'III')
|
|
49
45
|
* @property {number} solarYearInput
|
|
50
|
-
* @property {number} [fibonacciD]
|
|
51
46
|
* @property {number} [invPlaneInclinationJ2000]
|
|
52
47
|
* @property {number} [longitudePerihelion]
|
|
53
|
-
* @property {number} [inclinationCycleAnchor]
|
|
54
|
-
* @property {boolean} [antiPhase]
|
|
55
|
-
* @property {number} [perihelionEclipticYears]
|
|
56
48
|
* @property {number} [wobblePeriodYears] - carriers: the chain's g-mode beat (input since Phase 7 commit 2)
|
|
57
49
|
* @property {number} [obliquityMeanDeg] - carriers: the derived J2000 obliquity (input since Phase 7 commit 2)
|
|
58
50
|
* @property {number} [axialTiltJ2000]
|