@essrt/physics 1.15.0 → 1.16.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essrt/physics",
3
- "version": "1.15.0",
3
+ "version": "1.16.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,8 +764,8 @@ export const REFERENCE_DATA = Object.freeze({
764
764
  "sunModelTrueErrorDeg": 0.003,
765
765
  "sunTropicalYearDiffSeconds": 0.1,
766
766
  "sunSiderealYearDiffSeconds": 0.02,
767
- "frameworkSunVsJplRmsArcsec": 0.95,
768
- "meeusCh25SunVsJplRmsArcsec": 1.28,
767
+ "frameworkSunVsJplRmsArcsec": 0.93,
768
+ "meeusCh25SunVsJplRmsArcsec": 1.22,
769
769
  "moonSeriesLonVsJplRmsArcsec": 2.84,
770
770
  "moonSeriesLatVsJplRmsArcsec": 0.35,
771
771
  "mercuryNewtonianArcsecCy": 532,
@@ -41,10 +41,21 @@
41
41
  * (ii) the J2000 phase anchors ARG_L0 / PERI / D0 — epoch initial
42
42
  * conditions ("anchored by design" class; the RATES are now
43
43
  * framework-derived, injected);
44
- * (iii) the 2lE term (+1.42″ sin 2lE) DECLARED FITTED, not derived: a
45
- * finder-annual artifact, measured chain-independent at E4/E5
46
- * (re-fit noise −0.12″/−0.03″). Everything else in this file is
47
- * derived. The Earth-around-EMB wobble is DERIVED: amplitude
44
+ * (iii) RETIRED (FQ-7-Sun annual-channel attribution): the former
45
+ * declared-fitted +1.42″ sin 2lE term. It was fitted against a
46
+ * Sun-ALONE JPL comparison bridged by the leading nutation term
47
+ * only, and the attribution measured it as the semiannual
48
+ * nutation term −1.32″ sin(2F−2D+2Ω) ≡ −1.32″ sin 2lE in disguise
49
+ * (2M residual 0.13″ under that bridge, 1.43″ ≡ the term's
50
+ * negative under the fuller bridge). Nutation in longitude is a
51
+ * frame rotation common to Sun AND Moon — this chain keeps both
52
+ * bodies MEAN-of-date (mean obliquity, mean sidereal time; see
53
+ * besselian.cjs), so a Sun-only nutation term is a frame
54
+ * inconsistency for elongation. Removed: the nutation-free syzygy
55
+ * fleet improves 3.877 → 3.756″ and the fuller-bridged Sun
56
+ * comparison 2.344 → 2.123″ (fq7s-jpl-preview.mjs --no-2le;
57
+ * fq7s-annual-channel.mjs). This file now carries ZERO fitted
58
+ * constants. The Earth-around-EMB wobble is DERIVED: amplitude
48
59
  * a_M·μ/AU with μ = 1/(1+M_E/M_M), injected by the model wiring
49
60
  * from live package constants (6.4399″ at current constants), sign
50
61
  * negative in the subtract convention.
@@ -175,9 +186,6 @@ const TERMS = [
175
186
  [[0, 0, 1, -1, 0, 0], [0, 0, -1, 0, 0, 0], -0.0353, -0.0379],
176
187
  ];
177
188
 
178
- /** The declared-fitted semiannual leftover (header (iii)): +1.42″ sin 2lE. */
179
- const FITTED_2LE_ARCSEC = 1.42;
180
-
181
189
  const D2R = Math.PI / 180;
182
190
 
183
191
  /**
@@ -222,8 +230,7 @@ function createSunPlanetaryCompletion({ embWobbleArcsec, carrierRatesDegPerCy })
222
230
  table += cA * Math.cos(th) + sA * Math.sin(th);
223
231
  }
224
232
  const D = (ARG_D0 + D1 * T) * D2R;
225
- const arcsec = -table - embWobbleArcsec * Math.sin(D)
226
- + FITTED_2LE_ARCSEC * Math.sin(2 * l[2]);
233
+ const arcsec = -table - embWobbleArcsec * Math.sin(D);
227
234
  return arcsec / 3600;
228
235
  }
229
236
  return { sunPlanetaryCompletionDeg };