@essrt/physics 1.16.0 → 1.17.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 +1 -1
- package/src/constants/generated.js +1 -1
- package/src/model.js +18 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@essrt/physics",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"description": "ESSRT (Expanding Solar System Resonance Theory) physics core \u2014 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
6
|
"modelVersion": "v11.0",
|
|
@@ -764,7 +764,7 @@ export const REFERENCE_DATA = Object.freeze({
|
|
|
764
764
|
"sunModelTrueErrorDeg": 0.003,
|
|
765
765
|
"sunTropicalYearDiffSeconds": 0.1,
|
|
766
766
|
"sunSiderealYearDiffSeconds": 0.02,
|
|
767
|
-
"frameworkSunVsJplRmsArcsec": 0.
|
|
767
|
+
"frameworkSunVsJplRmsArcsec": 0.8,
|
|
768
768
|
"meeusCh25SunVsJplRmsArcsec": 1.22,
|
|
769
769
|
"moonSeriesLonVsJplRmsArcsec": 2.84,
|
|
770
770
|
"moonSeriesLatVsJplRmsArcsec": 0.35,
|
package/src/model.js
CHANGED
|
@@ -860,11 +860,28 @@ export function assembleModel(C, F) {
|
|
|
860
860
|
// D2 completion table is unchanged (residual 2lE re-fit ≈ 0.1″ — noise).
|
|
861
861
|
const sunL0Deg = C.earthOrbital.sunMeanLongitudeJ2000_deg;
|
|
862
862
|
const sunTropicalRateDegPerCy = 360 * julianCenturyDays / meanSolarYearDays;
|
|
863
|
+
// FQ-7-Sun option C-small — ONE eccentricity law for Sun and Moon in the
|
|
864
|
+
// eclipse chain. Eccentricity is frame-invariant (e = |z|, z = e·e^{iϖ}),
|
|
865
|
+
// so it may carry only FIXED-FRAME lattice content: the H/3 line the Moon's
|
|
866
|
+
// E-factor already rides (moon/ecc-channel.cjs). H/16 is the OF-DATE
|
|
867
|
+
// perihelion period (13 + 3 = 16: the H/3 apsidal rotation seen from the
|
|
868
|
+
// H/13 equinox) — it belongs to ϖ_of-date, not to e. The previous form
|
|
869
|
+
// added the H/16 law's own slope (−0.84e-5/cy) on top of the H/3 line,
|
|
870
|
+
// and that slope WAS the measured Sun-side ė tension (annual channel
|
|
871
|
+
// T·sinM −3.7″/cy; JPL sides with the H/3 line: fq7s-ecc-consistency.mjs).
|
|
872
|
+
// Anchor: the H/16 law's J2000 value (the observed e, anchored by design),
|
|
873
|
+
// evaluated once — an explicit law change, not a hidden freeze; the
|
|
874
|
+
// cardinal-point path keeps the H/16 law (eccentricityAt) unchanged.
|
|
875
|
+
// Measured at the swap: JPL Sun 2.123 → 1.487″ (1900–2100), registry
|
|
876
|
+
// window 0.93 → 0.80″, syzygy fleet 3.756 → 3.719″, T·sinM −3.65 → −0.19″/cy,
|
|
877
|
+
// curvature term unchanged in size; the H/16 term at the corpus epochs
|
|
878
|
+
// detrends to 0.174 min — below the ancient corpus's discrimination.
|
|
879
|
+
const sunEccentricityJ2000 = eccentricityAt(2000);
|
|
863
880
|
/** @param {number} year @returns {number} */
|
|
864
881
|
const sunEccentricityAt = (year) => {
|
|
865
882
|
const cos3 = -Math.cos(phaseRadians(balancedYear, year, 3));
|
|
866
883
|
const cos3J2000 = -Math.cos(phaseRadians(balancedYear, 2000, 3));
|
|
867
|
-
return
|
|
884
|
+
return sunEccentricityJ2000 + (eccentricityBase / 2) * (cos3 - cos3J2000);
|
|
868
885
|
};
|
|
869
886
|
const sunMeanLongitudeDegAt = (() => {
|
|
870
887
|
// SW PHASE B — the CLOSED FORM on the integrated lattice phase
|