@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.
- package/package.json +3 -2
- package/src/constants/coefficients.d.ts +1 -1
- package/src/constants/coefficients.js +2 -2
- package/src/constants/generated.js +1 -1
- package/src/deltat/deep-time-chain.js +18 -10
- package/src/earth/precession-composed.cjs +6 -18
- package/src/eclipse/besselian.cjs +5 -6
- package/src/eclipse/sun-planetary-completion.cjs +7 -12
- package/src/index.js +4 -1
- package/src/model/cardinal-instants.js +3 -4
- package/src/model/deep-time-chain.js +3 -3
- package/src/model/lunar-theory.js +6 -5
- package/src/model/one-source-movement.js +8 -8
- package/src/model/planet-records.js +2 -2
- package/src/model/published-periods.js +1 -1
- package/src/model/sun-and-eclipses.js +3 -3
- package/src/model/surface.js +10 -6
- package/src/moon/arguments.cjs +70 -26
- package/src/moon/deep-ecc-channel.cjs +18 -23
- package/src/moon/ecc-sensitivities.cjs +87 -0
- package/src/moon/month-chain.cjs +7 -16
- package/src/moon/series-extension.cjs +3 -3
- package/src/moon/series.cjs +5 -8
- package/src/planets/chain-artifact.js +2 -2
- package/types/constants/coefficients.d.ts +1 -1
- package/types/deltat/deep-time-chain.d.ts +13 -8
- package/types/index.d.ts +2 -1
- package/types/model/deep-time-chain.d.ts +13 -0
- package/types/model/lunar-theory.d.ts +9 -3
- package/types/model/one-source-movement.d.ts +1 -1
- package/types/model/surface.d.ts +17 -4
- package/types/model.d.ts +13 -0
- package/types/moon/arguments.d.cts +11 -3
- package/types/moon/deep-ecc-channel.d.cts +2 -1
- package/types/moon/ecc-sensitivities.d.cts +48 -0
- 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
|
|
27
|
-
*
|
|
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;
|
|
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: {
|