@essrt/physics 25.0.0 → 26.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 (36) hide show
  1. package/package.json +3 -2
  2. package/src/constants/coefficients.d.ts +1 -1
  3. package/src/constants/coefficients.js +2 -2
  4. package/src/constants/generated.js +1 -1
  5. package/src/deltat/deep-time-chain.js +18 -10
  6. package/src/earth/precession-composed.cjs +6 -18
  7. package/src/eclipse/besselian.cjs +5 -6
  8. package/src/eclipse/sun-planetary-completion.cjs +7 -12
  9. package/src/index.js +4 -1
  10. package/src/model/cardinal-instants.js +3 -4
  11. package/src/model/deep-time-chain.js +3 -3
  12. package/src/model/lunar-theory.js +6 -5
  13. package/src/model/one-source-movement.js +8 -8
  14. package/src/model/planet-records.js +2 -2
  15. package/src/model/published-periods.js +1 -1
  16. package/src/model/sun-and-eclipses.js +3 -3
  17. package/src/model/surface.js +10 -6
  18. package/src/moon/arguments.cjs +70 -26
  19. package/src/moon/deep-ecc-channel.cjs +18 -23
  20. package/src/moon/ecc-sensitivities.cjs +87 -0
  21. package/src/moon/month-chain.cjs +7 -16
  22. package/src/moon/series-extension.cjs +3 -3
  23. package/src/moon/series.cjs +5 -8
  24. package/src/planets/chain-artifact.js +2 -2
  25. package/types/constants/coefficients.d.ts +1 -1
  26. package/types/deltat/deep-time-chain.d.ts +13 -8
  27. package/types/index.d.ts +2 -1
  28. package/types/model/deep-time-chain.d.ts +13 -0
  29. package/types/model/lunar-theory.d.ts +9 -3
  30. package/types/model/one-source-movement.d.ts +1 -1
  31. package/types/model/surface.d.ts +17 -4
  32. package/types/model.d.ts +13 -0
  33. package/types/moon/arguments.d.cts +11 -3
  34. package/types/moon/deep-ecc-channel.d.cts +2 -1
  35. package/types/moon/ecc-sensitivities.d.cts +48 -0
  36. package/types/moon/month-chain.d.cts +3 -6
@@ -0,0 +1,48 @@
1
+ /** Meeus Ch. 47 mean-argument rates, degrees per Julian century (the J2000 polynomials' linear terms). */
2
+ export const MEEUS_ARGUMENT_RATES_DEG_PER_CY: Readonly<{
3
+ Lp: 481267.88123421;
4
+ D: 445267.1114034;
5
+ M: 35999.0502909;
6
+ Mp: 477198.8675055;
7
+ F: 483202.0175233;
8
+ }>;
9
+ /** The Meeus-effective pair: Meeus-exact of-date T² by construction (the shipped record values). */
10
+ export const MOON_ECC_SENSITIVITY_PERIGEE: 2.407;
11
+ export const MOON_ECC_SENSITIVITY_NODE: 1.018;
12
+ /**
13
+ * The physical pair and the rate split, derived from the shipped constants.
14
+ * @param {{
15
+ * eccentricityJ2000: number,
16
+ * eccentricityDotJ2000: number,
17
+ * frameT2ArcsecPerCy2: number,
18
+ * generalPrecessionArcsecPerYr: number,
19
+ * }} inputs — e₀ (the catalog secular value the Taylor checks use); ė₀ per
20
+ * Julian century; the general precession's T² coefficient the of-date Meeus
21
+ * polynomials embed (Lieske 1976, the ELP frame), ″/cy²; p₀, the IAU 2006 p_A
22
+ * linear rate, ″/yr
23
+ * @returns {Readonly<{
24
+ * perigeeEffective: number, nodeEffective: number,
25
+ * perigeePhysical: number, nodePhysical: number,
26
+ * kappaPerCy: number, frameT2DegPerCy2: number, generalPrecessionDegPerCy: number,
27
+ * perigeeRateOfDateDegPerCy: number, nodeRateOfDateDegPerCy: number,
28
+ * perigeeRateIcrfDegPerCy: number, nodeRateIcrfDegPerCy: number,
29
+ * }>}
30
+ */
31
+ export function deriveMoonEccSensitivities({ eccentricityJ2000, eccentricityDotJ2000, frameT2ArcsecPerCy2, generalPrecessionArcsecPerYr }: {
32
+ eccentricityJ2000: number;
33
+ eccentricityDotJ2000: number;
34
+ frameT2ArcsecPerCy2: number;
35
+ generalPrecessionArcsecPerYr: number;
36
+ }): Readonly<{
37
+ perigeeEffective: number;
38
+ nodeEffective: number;
39
+ perigeePhysical: number;
40
+ nodePhysical: number;
41
+ kappaPerCy: number;
42
+ frameT2DegPerCy2: number;
43
+ generalPrecessionDegPerCy: number;
44
+ perigeeRateOfDateDegPerCy: number;
45
+ nodeRateOfDateDegPerCy: number;
46
+ perigeeRateIcrfDegPerCy: number;
47
+ nodeRateIcrfDegPerCy: number;
48
+ }>;
@@ -23,13 +23,10 @@
23
23
  * eccentricity channel's modulation; constants are the engine's derived
24
24
  * J2000 anchors (both engines derive them from the same JSON).
25
25
  * fns.precessionPeriodYearsAtAge is the engine's lunisolar precession period
26
- * of date T_p(t), Julian years (the composed rate's period; plan 09 step
27
- * 5c — the tropical month's equinox turn, formerly the counter's 13/H(t),
28
- * 0.086 % slow: the chain's J2000 tropical month sat 5.85 ms above the IAU
29
- * input, the 1/T_p form is within 0.1 ms of it).
26
+ * of date T_p(t), Julian years (the composed rate's period — the tropical
27
+ * month's equinox turn; within 0.1 ms of the IAU input at J2000).
30
28
  * fns.distanceMetresAtAge is the engine's CITED distance history
31
- * (deltat/moon-distance-history; plan 12 option A — the internal quartic
32
- * twin this chain carried until then is deleted; null beyond the span).
29
+ * (deltat/moon-distance-history; null beyond the span).
33
30
  */
34
31
  export function createMoonMonthChain({ constants, fns }: {
35
32
  constants: {