@essrt/physics 4.9.0 → 6.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/README.md +1 -1
- package/package.json +3 -2
- package/src/climate/l1-orbital.cjs +76 -5
- package/src/constants/coefficients.d.ts +54 -148
- package/src/constants/coefficients.js +4 -4
- package/src/constants/generated.d.ts +4 -3
- package/src/constants/generated.js +6 -5
- package/src/deltat/deep-time.cjs +98 -3
- package/src/earth/deep-orbital-history.cjs +6 -5
- package/src/earth/precession-composed.cjs +144 -0
- package/src/earth/year-lengths.cjs +12 -1
- package/src/index.js +18 -11
- package/src/layer0/derive-params.js +21 -4
- package/src/layer0/index.js +39 -5
- package/src/model.js +205 -36
- package/src/planets/chain-artifact.js +2 -2
- package/types/climate/l1-orbital.d.cts +81 -10
- package/types/constants/coefficients.d.ts +54 -148
- package/types/constants/generated.d.ts +4 -3
- package/types/deltat/deep-time.d.cts +29 -0
- package/types/earth/precession-composed.d.cts +62 -0
- package/types/earth/year-lengths.d.cts +10 -0
- package/types/index.d.ts +3 -2
- package/types/layer0/derive-params.d.ts +10 -0
- package/types/layer0/index.d.ts +15 -0
- package/types/model.d.ts +34 -0
|
@@ -33,4 +33,14 @@ export type RawEpochConstants = {
|
|
|
33
33
|
moonDistanceKm: number;
|
|
34
34
|
moonOrbitalEccentricity: number;
|
|
35
35
|
gmEarthMoonSystemKm3S2: number;
|
|
36
|
+
/**
|
|
37
|
+
* GM☉ (km³/s²) — the solar precession torque
|
|
38
|
+
*/
|
|
39
|
+
gmSunKm3S2: number;
|
|
40
|
+
/**
|
|
41
|
+
* 1 AU (km)
|
|
42
|
+
*/
|
|
43
|
+
astronomicalUnitKm: number;
|
|
44
|
+
earthOrbitalEccentricityJ2000: number;
|
|
45
|
+
moonEclipticInclinationJ2000Deg: number;
|
|
36
46
|
};
|
package/types/layer0/index.d.ts
CHANGED
|
@@ -37,13 +37,28 @@ export type EpochParams = {
|
|
|
37
37
|
lodNowH13Seconds: number;
|
|
38
38
|
siderealYearJ2000Seconds: number;
|
|
39
39
|
solarMassLossFracPerYear: number;
|
|
40
|
+
/**
|
|
41
|
+
* f_S, the solar fraction of the J2000 precession torque
|
|
42
|
+
*/
|
|
43
|
+
precessionSolarShareJ2000: number;
|
|
40
44
|
};
|
|
41
45
|
export type EpochPrimitives = {
|
|
42
46
|
tMa: (year: number) => number;
|
|
43
47
|
moonDistanceMetres: (year: number) => number;
|
|
44
48
|
lodSeconds: (year: number) => number | null;
|
|
49
|
+
/**
|
|
50
|
+
* the UNIT: 13 × the composed lunisolar precession period
|
|
51
|
+
*/
|
|
45
52
|
holisticH: (year: number) => number | null;
|
|
46
53
|
siderealYearSeconds: (year: number) => number;
|
|
47
54
|
tropicalYearSeconds: (year: number) => number;
|
|
48
55
|
anomalisticYearSeconds: (year: number) => number | null;
|
|
56
|
+
/**
|
|
57
|
+
* the frozen era clock's phase convention H₀·LOD/LOD₀ (device tier)
|
|
58
|
+
*/
|
|
59
|
+
eraClockH: (year: number) => number | null;
|
|
60
|
+
/**
|
|
61
|
+
* T_sid·(1 − 13/H_era) — the frozen comb family's base
|
|
62
|
+
*/
|
|
63
|
+
eraClockTropicalYearSeconds: (year: number) => number;
|
|
49
64
|
};
|
package/types/model.d.ts
CHANGED
|
@@ -34,10 +34,44 @@ export function assembleModel(C: Readonly<Record<string, any>>, F: Readonly<Reco
|
|
|
34
34
|
deltaTSecondsAtYear: (year: number) => number;
|
|
35
35
|
cyclesBetween: (yearA: number, yearB: number, divisorN: number) => number;
|
|
36
36
|
axialPrecessionYearsAtYear: (year: number) => number;
|
|
37
|
+
tropicalYearSecondsAtYear: (year: number) => number;
|
|
38
|
+
}>;
|
|
39
|
+
lunisolar: Readonly<{
|
|
40
|
+
/** The mean lunisolar precession period T_p(t), years — the composed torque rate's period on the derived J2000 anchor (25,771.4 at J2000). @param {number} year @returns {number} */
|
|
41
|
+
meanPeriodYearsAtYear: (year: number) => number;
|
|
42
|
+
/** The composed rate ψ̇(t) = [ω/ω₀]·p₀·[f_S + (1 − f_S)(a₀/a_M)³], ″/yr (p₀ = 50.2883, derived). @param {number} year @returns {number} */
|
|
43
|
+
meanRateArcsecPerYrAtYear: (year: number) => number;
|
|
44
|
+
/** The of-date period — the one-family beat inside ±2 Myr, the composed mean beyond. @param {number} year @returns {number} */
|
|
45
|
+
ofDatePeriodYearsAtYear: (year: number) => number;
|
|
46
|
+
/** f_S, the solar fraction of the J2000 precession torque. */
|
|
47
|
+
solarShareJ2000: number;
|
|
48
|
+
/** (a₀/a_M(t))³ — the lunar torque's growth on the recession history. @param {number} year @returns {number} */
|
|
49
|
+
lunarTorqueFactorAtYear: (year: number) => number;
|
|
50
|
+
/** f_S + (1 − f_S)(a₀/a_M)³ — the torque term the unit divides H_era by. @param {number} year @returns {number} */
|
|
51
|
+
torqueTermAtYear: (year: number) => number;
|
|
52
|
+
/** The hybrid's precession constant α = p₀ / cos ε₀, ″/yr (p₀ the derived J2000 rate, ε₀ the J2000 obliquity input; 54.81). */
|
|
53
|
+
torqueConstantJ2000ArcsecPerYr: number;
|
|
54
|
+
/** |s₃|, the dominant nodal mode of Earth's orbit — the largest-amplitude ζ mode of the banked deep secular modes, ″/yr (18.85; the obliquity beat's partner). ONE home for the registry, the browser and the API. */
|
|
55
|
+
nodalModeS3ArcsecPerYr: number;
|
|
56
|
+
/** The ecliptic (nodal) precession period 1,296,000/|s₃|, years (68,751) — an orbital quantity, fixed at every epoch at the two-body level. */
|
|
57
|
+
nodalPeriodYears: number;
|
|
58
|
+
/** The obliquity beat 2π/(ψ̇(t) − |s₃|), years — the SHIPPED deep-time obliquity period (falsification leg 1; 41,224 at J2000, on the composed rate). @param {number} year @returns {number} */
|
|
59
|
+
obliquityBeatYearsAtYear: (year: number) => number;
|
|
60
|
+
/** The apsidal (perihelion vs the stars) period from the engine-D chain's secular tangent, years — inside the published window only (the tangent is an extrapolation beyond the banked series: it turns negative at −5 Myr); null beyond. @param {number} year @returns {number|null} */
|
|
61
|
+
apsidalPeriodYearsAtYear: (year: number) => number | null;
|
|
62
|
+
/** T_aps(t) / T_p(t) — the apsidal period in of-date precession periods (4.33 at J2000, a reading; 0.84 … 9.9 across ±26 kyr, measured); null beyond the published window. @param {number} year @returns {number|null} */
|
|
63
|
+
apsidalPerPrecessionAtYear: (year: number) => number | null;
|
|
64
|
+
/** T_peri(t) = 1/(1/T_p + 1/T_aps) — the perihelion-of-date period (equinox precession + inertial perihelion motion, frame arithmetic at every epoch), years, on the of-date T_p; null beyond the published window. @param {number} year @returns {number|null} */
|
|
65
|
+
periOfDatePeriodYearsAtYear: (year: number) => number | null;
|
|
66
|
+
/** T_peri(t) / T_p(t) (0.812 at J2000 — the J2000 reading); null beyond the published window. @param {number} year @returns {number|null} */
|
|
67
|
+
periOfDatePerPrecessionAtYear: (year: number) => number | null;
|
|
68
|
+
/** The published of-date window, years from 2000. */
|
|
69
|
+
publishedWindowYears: 2000000;
|
|
37
70
|
}>;
|
|
38
71
|
earth: Readonly<{
|
|
39
72
|
perihelionLongitudeDeg: (year: number) => number;
|
|
40
73
|
obliquityDeg: (year: number) => number;
|
|
74
|
+
obliquityCombDeg: (year: number) => number;
|
|
41
75
|
eccentricity: (year: number) => number;
|
|
42
76
|
inclinationDeg: (year: number) => number;
|
|
43
77
|
ascendingNodeDeg: (year: number) => number;
|