@essrt/physics 23.3.2 → 23.6.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 +6 -1
- package/package.json +2 -2
- package/src/constants/coefficients.d.ts +5 -1
- package/src/constants/coefficients.js +3 -2
- package/src/constants/generated.d.ts +2 -3
- package/src/constants/generated.js +3 -4
- package/src/constants/units.cjs +4 -1
- package/src/deltat/deep-time.cjs +37 -72
- package/src/index.js +35 -48
- package/src/model/cardinal-instants.js +101 -0
- package/src/model/context.js +54 -0
- package/src/model/deep-time-chain.js +79 -0
- package/src/model/delta-t.js +38 -0
- package/src/model/derived-constants.js +58 -0
- package/src/model/earth-scalars.js +47 -0
- package/src/model/inv-plane-elements.js +56 -0
- package/src/model/lunar-theory.js +216 -0
- package/src/model/moon-epoch.js +28 -0
- package/src/model/one-source-movement.js +192 -0
- package/src/model/planet-elements-of-date.js +61 -0
- package/src/model/planet-records.js +63 -0
- package/src/model/planet-spin-channel.js +41 -0
- package/src/model/published-periods.js +38 -0
- package/src/model/sun-and-eclipses.js +199 -0
- package/src/model/surface.js +330 -0
- package/src/model/time-axis.js +24 -0
- package/src/model/year-day-lengths.js +42 -0
- package/src/model.js +62 -1612
- package/src/moon/arguments.cjs +27 -43
- package/src/planets/chain-artifact.js +2 -2
- package/src/planets/keplerian-chain.cjs +1 -1
- package/types/constants/coefficients.d.ts +5 -1
- package/types/constants/generated.d.ts +2 -3
- package/types/constants/units.d.cts +3 -0
- package/types/deltat/deep-time.d.cts +18 -24
- package/types/index.d.ts +1 -1
- package/types/model/cardinal-instants.d.ts +14 -0
- package/types/model/context.d.ts +87 -0
- package/types/model/deep-time-chain.d.ts +288 -0
- package/types/model/delta-t.d.ts +11 -0
- package/types/model/derived-constants.d.ts +25 -0
- package/types/model/earth-scalars.d.ts +14 -0
- package/types/model/inv-plane-elements.d.ts +6 -0
- package/types/model/lunar-theory.d.ts +72 -0
- package/types/model/moon-epoch.d.ts +10 -0
- package/types/model/one-source-movement.d.ts +74 -0
- package/types/model/planet-elements-of-date.d.ts +9 -0
- package/types/model/planet-records.d.ts +7 -0
- package/types/model/planet-spin-channel.d.ts +29 -0
- package/types/model/published-periods.d.ts +7 -0
- package/types/model/sun-and-eclipses.d.ts +52 -0
- package/types/model/surface.d.ts +279 -0
- package/types/model/time-axis.d.ts +12 -0
- package/types/model/year-day-lengths.d.ts +8 -0
- package/types/model.d.ts +9 -81
- package/types/moon/arguments.d.cts +5 -11
- package/types/planets/keplerian-chain.d.cts +3 -1
|
@@ -27,14 +27,14 @@ export type DeepTimeLodConstants = {
|
|
|
27
27
|
*/
|
|
28
28
|
alpha1PerMa: number;
|
|
29
29
|
/**
|
|
30
|
-
* - ω₀, the J2000 day length (the SI day
|
|
30
|
+
* - ω₀, the J2000 day length (the SI day; identifier kept)
|
|
31
31
|
*/
|
|
32
32
|
lodNowH13Seconds: number;
|
|
33
33
|
meanSiderealYearJ2000Seconds: number;
|
|
34
34
|
solarMassLossFracPerYear: number;
|
|
35
35
|
/**
|
|
36
36
|
* - f_S, the solar fraction of the J2000
|
|
37
|
-
* precession torque (derive-params) — the
|
|
37
|
+
* precession torque (derive-params) — the composed precession rate needs it
|
|
38
38
|
*/
|
|
39
39
|
precessionSolarShareJ2000: number;
|
|
40
40
|
};
|
|
@@ -61,10 +61,9 @@ export type DeepTimeLodDeps = {
|
|
|
61
61
|
*/
|
|
62
62
|
swingLodRateAt: (year: number) => number;
|
|
63
63
|
/**
|
|
64
|
-
* - the model's
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* reading; the same anchor the hybrid obliquity self-anchors on). Read
|
|
64
|
+
* - the model's J2000 axial
|
|
65
|
+
* precession period, 1,296,000/p_A = 25,771.575 yr (the IAU 2006 general
|
|
66
|
+
* precession; the same anchor the hybrid obliquity self-anchors on). Read
|
|
68
67
|
* LAZILY on the first composed-rate use, never at construction: every
|
|
69
68
|
* runtime's year laws read THIS factory's bases.
|
|
70
69
|
*/
|
|
@@ -74,16 +73,14 @@ export type DeepTimeLodDeps = {
|
|
|
74
73
|
* plane's nodal regression on the invariable plane, 1,296,000/|s₃| with s₃
|
|
75
74
|
* the dominant ζ mode of the banked deep secular modes (≈ 68,751 yr). An
|
|
76
75
|
* ORBITAL quantity (μ-tier: it does not follow Earth's spin), the reference
|
|
77
|
-
* the solar day's "ecliptic missing motion" term rides
|
|
78
|
-
*
|
|
79
|
-
* spin at deep time). Lazy, like the precession anchor.
|
|
76
|
+
* the solar day's "ecliptic missing motion" term rides. Lazy, like the
|
|
77
|
+
* precession anchor.
|
|
80
78
|
*/
|
|
81
79
|
nodalPeriodYearsFn: () => number;
|
|
82
80
|
/**
|
|
83
81
|
* - OPTIONAL time-dependent
|
|
84
82
|
* Earth-Moon angular momentum. Absent → the J2000 constant: conservation
|
|
85
|
-
* (
|
|
86
|
-
* measured: conservation on the cited history reproduces Farhat's own LOD
|
|
83
|
+
* (measured: conservation on the cited history reproduces Farhat's own LOD
|
|
87
84
|
* to 0.01 h at 100 Ma, 0.14 h at 2.46 Ga).
|
|
88
85
|
*/
|
|
89
86
|
lEmAtAgeKgm2S?: ((tMa: number) => number) | undefined;
|
|
@@ -98,7 +95,7 @@ export type DeepTimeLodDeps = {
|
|
|
98
95
|
* -
|
|
99
96
|
* OPTIONAL cos ε̄(t)/cos ε̄(0) of the cited mean obliquity (earth/mean-
|
|
100
97
|
* obliquity-history) — the factor the precession RATE of date carries on the
|
|
101
|
-
* constant
|
|
98
|
+
* constant; absent → 1, the constant alone, bit-identical.
|
|
102
99
|
*/
|
|
103
100
|
meanObliquityCosRatioAtAge?: ((tMa: number) => number | null) | undefined;
|
|
104
101
|
};
|
|
@@ -113,11 +110,11 @@ export type DeepTimeLodDeps = {
|
|
|
113
110
|
* @property {number} aLockMetres - tidal-lock distance (LOD denominator → 0)
|
|
114
111
|
* @property {number} aMoonNowMetres - Farhat polynomial anchor
|
|
115
112
|
* @property {number} alpha1PerMa - the LLR recession rate (the J2000 slope of the cited history)
|
|
116
|
-
* @property {number} lodNowH13Seconds - ω₀, the J2000 day length (the SI day
|
|
113
|
+
* @property {number} lodNowH13Seconds - ω₀, the J2000 day length (the SI day; identifier kept)
|
|
117
114
|
* @property {number} meanSiderealYearJ2000Seconds
|
|
118
115
|
* @property {number} solarMassLossFracPerYear
|
|
119
116
|
* @property {number} precessionSolarShareJ2000 - f_S, the solar fraction of the J2000
|
|
120
|
-
* precession torque (derive-params) — the
|
|
117
|
+
* precession torque (derive-params) — the composed precession rate needs it
|
|
121
118
|
*/
|
|
122
119
|
/**
|
|
123
120
|
* @typedef {Object} DeepTimeLodDeps
|
|
@@ -127,23 +124,20 @@ export type DeepTimeLodDeps = {
|
|
|
127
124
|
* @property {(year: number) => number} cycleLodSumAt - gated δLOD sum (incl. swing)
|
|
128
125
|
* @property {(year: number) => number} swingLodAt - gated swing δLOD alone
|
|
129
126
|
* @property {(year: number) => number} swingLodRateAt - gated analytic swing rate
|
|
130
|
-
* @property {() => number} precessionPeriodJ2000YearsFn - the model's
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* reading; the same anchor the hybrid obliquity self-anchors on). Read
|
|
127
|
+
* @property {() => number} precessionPeriodJ2000YearsFn - the model's J2000 axial
|
|
128
|
+
* precession period, 1,296,000/p_A = 25,771.575 yr (the IAU 2006 general
|
|
129
|
+
* precession; the same anchor the hybrid obliquity self-anchors on). Read
|
|
134
130
|
* LAZILY on the first composed-rate use, never at construction: every
|
|
135
131
|
* runtime's year laws read THIS factory's bases.
|
|
136
132
|
* @property {() => number} nodalPeriodYearsFn - the period of Earth's orbit
|
|
137
133
|
* plane's nodal regression on the invariable plane, 1,296,000/|s₃| with s₃
|
|
138
134
|
* the dominant ζ mode of the banked deep secular modes (≈ 68,751 yr). An
|
|
139
135
|
* ORBITAL quantity (μ-tier: it does not follow Earth's spin), the reference
|
|
140
|
-
* the solar day's "ecliptic missing motion" term rides
|
|
141
|
-
*
|
|
142
|
-
* spin at deep time). Lazy, like the precession anchor.
|
|
136
|
+
* the solar day's "ecliptic missing motion" term rides. Lazy, like the
|
|
137
|
+
* precession anchor.
|
|
143
138
|
* @property {(tMa: number) => number} [lEmAtAgeKgm2S] - OPTIONAL time-dependent
|
|
144
139
|
* Earth-Moon angular momentum. Absent → the J2000 constant: conservation
|
|
145
|
-
* (
|
|
146
|
-
* measured: conservation on the cited history reproduces Farhat's own LOD
|
|
140
|
+
* (measured: conservation on the cited history reproduces Farhat's own LOD
|
|
147
141
|
* to 0.01 h at 100 Ma, 0.14 h at 2.46 Ga).
|
|
148
142
|
* @property {(tMa: number) => number|null} [moonDistanceSlopeMetresPerMaAtAge] -
|
|
149
143
|
* OPTIONAL analytic slope of the distance history (metres per Ma, positive
|
|
@@ -152,7 +146,7 @@ export type DeepTimeLodDeps = {
|
|
|
152
146
|
* @property {(tMa: number) => number|null} [meanObliquityCosRatioAtAge] -
|
|
153
147
|
* OPTIONAL cos ε̄(t)/cos ε̄(0) of the cited mean obliquity (earth/mean-
|
|
154
148
|
* obliquity-history) — the factor the precession RATE of date carries on the
|
|
155
|
-
* constant
|
|
149
|
+
* constant; absent → 1, the constant alone, bit-identical.
|
|
156
150
|
*/
|
|
157
151
|
/** @param {DeepTimeLodDeps} deps */
|
|
158
152
|
export function createDeepTimeLod(deps: DeepTimeLodDeps): {
|
package/types/index.d.ts
CHANGED
|
@@ -66,7 +66,7 @@ export { computeMassChainJ2000, computeMoonPeriodsJ2000 } from "./earth/mass-cha
|
|
|
66
66
|
export { SECONDS_PER_DAY, DAYS_PER_JULIAN_YEAR, JULIAN_CENTURY_DAYS, SECONDS_PER_JULIAN_YEAR } from "./constants/units.cjs";
|
|
67
67
|
export { computeEarthFrameOfDate, solveWheelAngleForLongitude, computeSceneWorldFrameJ2000, SCENE_EQUINOX_VIEW_AZIMUTH_DEG } from "./earth/frame-of-date.cjs";
|
|
68
68
|
export { derivePlanetGeometry, scaffoldOrbitInputs } from "./planets/geometry.cjs";
|
|
69
|
-
export { buildPlanetChainsFromArtifactData, computePlanetElementsAtYear, computeHeliocentricEclipticFromElements, computePoissonArgRad, computeOsculatingElements, solveKeplerRad, computeApsidalSecularDegPerYr, ANCHOR_EPOCH_YEAR, ANCHOR_EPOCH_JD } from "./planets/keplerian-chain.cjs";
|
|
69
|
+
export { buildPlanetChainsFromArtifactData, computePlanetElementsAtYear, computeHeliocentricEclipticFromElements, computePoissonArgRad, computeOsculatingElements, solveKeplerRad, computeApsidalSecularDegPerYr, computeApsidalSecularDegPerYr as computeApsidalTangentDegPerYr, ANCHOR_EPOCH_YEAR, ANCHOR_EPOCH_JD } from "./planets/keplerian-chain.cjs";
|
|
70
70
|
export { computeEquatorNodeOriginSFrameDeg, convertNodeSFrameToEquatorOriginDeg } from "./planets/inv-plane-frame.cjs";
|
|
71
71
|
export { computePlanetPrecessionConstant, createPlanetSpinChannel, createPlanetSpinChannelFromArtifacts, computeObliquityJ2000Deg } from "./planets/spin-channel.cjs";
|
|
72
72
|
export { CHAIN_ARTIFACT, CHAIN_ARTIFACT_HASH } from "./planets/chain-artifact.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cardinal instants — the apparent Sun (completed, aberrated, nutated) and the Newton crossings.
|
|
3
|
+
*
|
|
4
|
+
* One slice of `assembleModel` (../model.js): receives the context the earlier slices built, returns the bindings the later ones read.
|
|
5
|
+
*/
|
|
6
|
+
/** @param {import('./published-periods.js').Ctx} ctx @returns the bindings the later slices read */
|
|
7
|
+
export function assembleCardinalInstants(ctx: import("./published-periods.js").Ctx): {
|
|
8
|
+
cardinalCrossingJdUT: (year: number, type: string) => number;
|
|
9
|
+
cardinalCrossingNearJdUT: (jdSeedUT: number, type: string) => number;
|
|
10
|
+
cardinalTargetDeg: (type: string) => number;
|
|
11
|
+
sunAberrationArcsecAt: (year: number) => number;
|
|
12
|
+
sunApparentLonDegAtJdUT: (jdUT: number) => number;
|
|
13
|
+
};
|
|
14
|
+
export type Ctx = import("./published-periods.js").Ctx & ReturnType<typeof assembleCardinalInstants>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RESEARCH OVERRIDES for Earth's orbit laws (doc 109 §7): an alternative e(t), de/dt(t) and
|
|
3
|
+
* ϖ_of-date(t) flow through every consumer (the eclipse Sun, the Moon's E-factor, the cardinal
|
|
4
|
+
* points) exactly as the shipped laws do. `{}` = the shipped laws. Not a counterfactual in the §2d
|
|
5
|
+
* sense (no hash change) — callers must say when they used it; the generators refuse to --write
|
|
6
|
+
* under an override.
|
|
7
|
+
*/
|
|
8
|
+
export type Laws = {
|
|
9
|
+
eccentricityAt?: (year: number) => number;
|
|
10
|
+
eccentricityRateAt?: (year: number) => number;
|
|
11
|
+
perihelionLongitudeDegAt?: (year: number) => number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* `giaEllipticityOfDate: false` builds the one-source history WITHOUT the J₂(t)/J₂₀ factor of date
|
|
15
|
+
* (the ice-driven GIA channel, which rides the climate formula's own post-MPT layer): the orbital
|
|
16
|
+
* FORCING alone. The T1 exporter derives the climate lines' obliquity rate on it, so the lines
|
|
17
|
+
* cannot depend on their own fit (v23.0; measured 3e-5 of the rate, 2–3 yr of period). Default true =
|
|
18
|
+
* the shipped physics.
|
|
19
|
+
*/
|
|
20
|
+
export type Options = {
|
|
21
|
+
giaEllipticityOfDate?: boolean;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The forward bindings — what an early slice reads at call time from a later one. Typed by the
|
|
25
|
+
* members actually read, so the composer's assignment is checked against each owner's surface.
|
|
26
|
+
*/
|
|
27
|
+
export type LateBindings = {
|
|
28
|
+
/**
|
|
29
|
+
* owner: year-day-lengths — read by deep-time-chain
|
|
30
|
+
*/
|
|
31
|
+
certifiedAxialPrecessionJ2000Years: () => number;
|
|
32
|
+
/**
|
|
33
|
+
* owner: one-source-movement — read by deep-time-chain and earth-scalars
|
|
34
|
+
*/
|
|
35
|
+
oneSourceM: {
|
|
36
|
+
epsAt(year: number): number;
|
|
37
|
+
eAt(year: number): number;
|
|
38
|
+
periOfDateDegAt(year: number): number;
|
|
39
|
+
precessionOfDateFactorsAt(year: number): {
|
|
40
|
+
solarTorque: number;
|
|
41
|
+
ellipticity: number;
|
|
42
|
+
};
|
|
43
|
+
axialPrecessionYearsLunisolarJ2000: number;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* owner: one-source-movement — read by year-day-lengths
|
|
47
|
+
*/
|
|
48
|
+
yearLengthsM: {
|
|
49
|
+
anomalisticYearSecondsAtYear(year: number): number;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* owner: sun-and-eclipses — read by lunar-theory (the arguments' Sun)
|
|
53
|
+
*/
|
|
54
|
+
sunMeanLongitudeDegAt: (year: number) => number;
|
|
55
|
+
/**
|
|
56
|
+
* owner: published-periods — read by lunar-theory (the dynamical rate of date)
|
|
57
|
+
*/
|
|
58
|
+
publishedAxialPrecessionYearsAtYear: (year: number) => number;
|
|
59
|
+
/**
|
|
60
|
+
* owner: published-periods — read by year-day-lengths
|
|
61
|
+
*/
|
|
62
|
+
publishedSiderealYearSecondsAtYear: (year: number) => number;
|
|
63
|
+
/**
|
|
64
|
+
* owner: cardinal-instants — read by sun-and-eclipses (the besselian's apparent Sun)
|
|
65
|
+
*/
|
|
66
|
+
sunAberrationArcsecAt: (year: number) => number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* The composer's inputs — the first slice's context.
|
|
70
|
+
*/
|
|
71
|
+
export type ModelInputs = {
|
|
72
|
+
/**
|
|
73
|
+
* the frozen constants context
|
|
74
|
+
*/
|
|
75
|
+
C: Readonly<Record<string, any>>;
|
|
76
|
+
/**
|
|
77
|
+
* the fitted coefficients
|
|
78
|
+
*/
|
|
79
|
+
F: Readonly<Record<string, any>>;
|
|
80
|
+
laws: Laws;
|
|
81
|
+
/**
|
|
82
|
+
* the governed N-body secular series (the API/Node path; null for the bare package)
|
|
83
|
+
*/
|
|
84
|
+
secularSeriesArtifact: any;
|
|
85
|
+
options: Options;
|
|
86
|
+
late: LateBindings;
|
|
87
|
+
};
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/** @param {import('./derived-constants.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleDeepTimeChain(ctx: import("./derived-constants.js").Ctx): {
|
|
3
|
+
EPOCH_PARAMS: import("../layer0/index.js").EpochParams;
|
|
4
|
+
alphaGia: {
|
|
5
|
+
alphaAt: (year: number) => number;
|
|
6
|
+
j2RatioAt: (year: number) => number;
|
|
7
|
+
laggedL1PermilAt: (year: number) => number;
|
|
8
|
+
kPerPermille: number;
|
|
9
|
+
relaxationKyr: number;
|
|
10
|
+
laggedL1Terms: Array<{
|
|
11
|
+
period_kyr: number;
|
|
12
|
+
a: number;
|
|
13
|
+
b: number;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
chain: Readonly<{
|
|
17
|
+
meanSolarYearDays: number;
|
|
18
|
+
meanSiderealYearDays: any;
|
|
19
|
+
meanSiderealYearSeconds: number;
|
|
20
|
+
meanLengthOfDay: any;
|
|
21
|
+
meanTropicalYearJ2000Seconds: number;
|
|
22
|
+
siTropicalYearDays: number;
|
|
23
|
+
axialPrecessionJ2000Years: number;
|
|
24
|
+
axialPrecessionJ2000Days: number;
|
|
25
|
+
G_CONSTANT: any;
|
|
26
|
+
MASS_RATIO_EARTH_MOON: any;
|
|
27
|
+
currentAUDistance: any;
|
|
28
|
+
earthMoiFactorJ2000: any;
|
|
29
|
+
moonDistanceKm: any;
|
|
30
|
+
moonSiderealMonthInput: any;
|
|
31
|
+
moonOrbitalShift: number;
|
|
32
|
+
moonDistanceCorrected: number;
|
|
33
|
+
GM_EARTH_MOON_SYSTEM: number;
|
|
34
|
+
GM_EARTH_ALONE: number;
|
|
35
|
+
GM_MOON_ALONE: number;
|
|
36
|
+
GM_SUN_PLUS_EARTH: number;
|
|
37
|
+
GM_SUN: number;
|
|
38
|
+
M_SUN: number;
|
|
39
|
+
moonApsidalJ2000Seconds: number;
|
|
40
|
+
moonNodalJ2000Seconds: number;
|
|
41
|
+
moonSiderealMonthJ2000Seconds: number;
|
|
42
|
+
moonPeriods: {
|
|
43
|
+
moonApsidalPrecessionDaysEarth: number;
|
|
44
|
+
moonNodalPrecessionDaysEarth: number;
|
|
45
|
+
moonApsidalJ2000Seconds: number;
|
|
46
|
+
moonNodalJ2000Seconds: number;
|
|
47
|
+
moonSiderealMonthJ2000Seconds: number;
|
|
48
|
+
moonAnomalisticMonthDays: number;
|
|
49
|
+
moonNodalMonthDays: number;
|
|
50
|
+
moonSynodicMonthDays: number;
|
|
51
|
+
moonTropicalMonthDays: number;
|
|
52
|
+
moonFullMoonCycleEarthDays: number;
|
|
53
|
+
moonFullMoonCycleICRFDays: number;
|
|
54
|
+
moonApsidalMeetsNodalDays: number;
|
|
55
|
+
moonLunarLevelingCycleDays: number;
|
|
56
|
+
moonDraconicYearICRFDays: number;
|
|
57
|
+
moonDraconicYearEarthDays: number;
|
|
58
|
+
};
|
|
59
|
+
certifiedAxialPrecessionJ2000Years: () => number;
|
|
60
|
+
precessionRateJ2000ArcsecPerYr: () => number;
|
|
61
|
+
EPOCH_PARAMS: import("../layer0/index.js").EpochParams;
|
|
62
|
+
ageAnchorYear: any;
|
|
63
|
+
alphaGia: {
|
|
64
|
+
alphaAt: (year: number) => number;
|
|
65
|
+
j2RatioAt: (year: number) => number;
|
|
66
|
+
laggedL1PermilAt: (year: number) => number;
|
|
67
|
+
kPerPermille: number;
|
|
68
|
+
relaxationKyr: number;
|
|
69
|
+
laggedL1Terms: Array<{
|
|
70
|
+
period_kyr: number;
|
|
71
|
+
a: number;
|
|
72
|
+
b: number;
|
|
73
|
+
}>;
|
|
74
|
+
};
|
|
75
|
+
earthMoiFactorAtAge: (tMa: number) => number;
|
|
76
|
+
withLatticeAlpha: (build: () => void) => void;
|
|
77
|
+
j2RatioAtYear: (year: number) => number;
|
|
78
|
+
iEarthAtAge: (tMa: number) => number;
|
|
79
|
+
recession: {
|
|
80
|
+
distanceMetresAtAge: (tMa: number) => number | null;
|
|
81
|
+
slopeMetresPerMaAtAge: (tMa: number) => number | null;
|
|
82
|
+
ratioAtAge: (tMa: number) => number | null;
|
|
83
|
+
spanMa: number;
|
|
84
|
+
};
|
|
85
|
+
meanObliquity: {
|
|
86
|
+
meanObliquityDegAtAge: (tMa: number) => number | null;
|
|
87
|
+
cosRatioAtAge: (tMa: number) => number | null;
|
|
88
|
+
meanObliquityJ2000Deg: number;
|
|
89
|
+
spanMa: number;
|
|
90
|
+
};
|
|
91
|
+
dtCycles: {
|
|
92
|
+
taperAt: (year: number) => number;
|
|
93
|
+
taperDerivativeAt: (year: number) => number;
|
|
94
|
+
cycleDeltaTSecondsAt: (cycleKey: string, year: number) => number;
|
|
95
|
+
cycleLodSecondsAt: (cycleKey: string, year: number) => number;
|
|
96
|
+
swingDeltaTSecondsAt: (year: number) => number;
|
|
97
|
+
swingLodSecondsAt: (year: number) => number;
|
|
98
|
+
swingLodRateAt: (year: number) => number;
|
|
99
|
+
};
|
|
100
|
+
s3ArcsecPerYr: number;
|
|
101
|
+
deepLod: {
|
|
102
|
+
lodSecondsAtAge: (t_Ma: number) => number | null;
|
|
103
|
+
lodSecondsAtAgeWithAlpha: (t_Ma: number, alpha: number) => number | null;
|
|
104
|
+
lodHoursAtAge: (t_Ma: number) => number | null;
|
|
105
|
+
lunisolarPrecessionRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
106
|
+
lunisolarPrecessionPeriodYearsAtAge: (t_Ma: number) => number | null;
|
|
107
|
+
lunisolarTorqueRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
108
|
+
lunisolarTorquePeriodYearsAtAge: (t_Ma: number) => number | null;
|
|
109
|
+
precessionObliquityFactorAtAge: (t_Ma: number) => number | null;
|
|
110
|
+
lunarTorqueFactorAtAge: (tMa: number) => (number | null);
|
|
111
|
+
precessionTorqueTermAtAge: (tMa: number) => (number | null);
|
|
112
|
+
siderealYearSecondsAtAge: (t_Ma: number) => number;
|
|
113
|
+
tropicalYearSecondsAtAge: (t_Ma: number) => number;
|
|
114
|
+
tropicalYearDaysAtAge: (t_Ma: number) => number | null;
|
|
115
|
+
tropicalYearSecondsFromLod: (t_Ma: number, LOD_s: number | null) => number;
|
|
116
|
+
eclipticLodCorrectionSecondsAtAge: (t_Ma: number) => number | null;
|
|
117
|
+
yearInDaysAtAge: (t_Ma: number) => number | null;
|
|
118
|
+
deltaTRawSecondsAtAge: (t_Ma: number) => number;
|
|
119
|
+
lodSecondsWithCorrectionsAtAge: (t_Ma: number) => number | null;
|
|
120
|
+
dLodDtDecompositionAtAge: (t_Ma: number) => {
|
|
121
|
+
tidal: number | null;
|
|
122
|
+
gia: number | null;
|
|
123
|
+
stack: number | null;
|
|
124
|
+
resonator: number | null;
|
|
125
|
+
net_L2: number | null;
|
|
126
|
+
net_L3: number | null;
|
|
127
|
+
net_L4: number | null;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
l0: import("../layer0/index.js").EpochPrimitives;
|
|
131
|
+
deepEcc: {
|
|
132
|
+
eccAt: (tYr: number) => number;
|
|
133
|
+
eccRateAt: (tYr: number) => number;
|
|
134
|
+
modulation: (tMa: number, s: number) => number;
|
|
135
|
+
channelIntegral: (T: number, s: number) => number;
|
|
136
|
+
eFactorAt: (tYr: number) => number;
|
|
137
|
+
e0: number;
|
|
138
|
+
g0: number;
|
|
139
|
+
};
|
|
140
|
+
eCompModulation: (tMa: number, s: number) => number;
|
|
141
|
+
moonChain: {
|
|
142
|
+
distanceMetresAtAge: (tMa: number) => number | null;
|
|
143
|
+
distanceKmAtAge: (tMa: number) => number | null;
|
|
144
|
+
solarDeltaAKmAtAge: (tMa: number, aApparentKm: number) => number | null;
|
|
145
|
+
distanceCorrectedKmAtAge: (tMa: number) => number | null;
|
|
146
|
+
siderealMonthSecondsAtAge: (tMa: number) => number | null;
|
|
147
|
+
synodicMonthSecondsAtAge: (tMa: number) => number | null;
|
|
148
|
+
tropicalMonthSecondsAtAge: (tMa: number) => number | null;
|
|
149
|
+
perigeePrecessionSecondsAtAge: (tMa: number) => number | null;
|
|
150
|
+
nodePrecessionSecondsAtAge: (tMa: number) => number | null;
|
|
151
|
+
anomalisticMonthSecondsAtAge: (tMa: number) => number | null;
|
|
152
|
+
nodalMonthSecondsAtAge: (tMa: number) => number | null;
|
|
153
|
+
apsidalMeetsNodalSecondsAtAge: (tMa: number) => number | null;
|
|
154
|
+
lunarLevelingSecondsAtAge: (tMa: number) => number | null;
|
|
155
|
+
};
|
|
156
|
+
meanMoonDistanceMetresAtAge: (tMa: number) => number | null;
|
|
157
|
+
meanMoonDistanceAtAge: (tMa: number) => number | null;
|
|
158
|
+
meanLodSecondsAtAge: (tMa: number) => number | null;
|
|
159
|
+
meanLodHoursAtAge: (t_Ma: number) => number | null;
|
|
160
|
+
meanLunisolarPrecessionRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
161
|
+
meanLunisolarPrecessionPeriodYearsAtAge: (tMa: number) => number | null;
|
|
162
|
+
meanLunisolarTorqueRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
163
|
+
meanLunisolarTorquePeriodYearsAtAge: (t_Ma: number) => number | null;
|
|
164
|
+
precessionObliquityFactorAtAge: (t_Ma: number) => number | null;
|
|
165
|
+
meanObliquityCitedDegAtAge: (tMa: number) => number | null;
|
|
166
|
+
meanAuAtAge: (tMa: number) => number;
|
|
167
|
+
meanSiderealYearSecondsAtAge: (tMa: number) => number;
|
|
168
|
+
meanTropicalYearSecondsAtAge: (t_Ma: number) => number;
|
|
169
|
+
meanTropicalYearDaysAtAge: (t_Ma: number) => number | null;
|
|
170
|
+
meanYearInDaysAtAge: (t_Ma: number) => number | null;
|
|
171
|
+
meanDeltaTSecondsAtAge: (tMa: number) => number;
|
|
172
|
+
bondCycleDeltaTCorrection: (year: number) => number;
|
|
173
|
+
hallstattCycleDeltaTCorrection: (year: number) => number;
|
|
174
|
+
jose5CycleDeltaTCorrection: (year: number) => number;
|
|
175
|
+
jose4CycleDeltaTCorrection: (year: number) => number;
|
|
176
|
+
bondCycleLodCorrection: (year: number) => number;
|
|
177
|
+
hallstattCycleLodCorrection: (year: number) => number;
|
|
178
|
+
jose5CycleLodCorrection: (year: number) => number;
|
|
179
|
+
jose4CycleLodCorrection: (year: number) => number;
|
|
180
|
+
dtCycleLodCorrectionSum: (year: number) => number;
|
|
181
|
+
resonatorSwingDeltaTCorrection: (year: number) => number;
|
|
182
|
+
resonatorSwingLodCorrection: (year: number) => number;
|
|
183
|
+
resonatorSwingLodRate: (year: number) => number;
|
|
184
|
+
meanLodSecondsWithCorrectionsAtAge: (t_Ma: number) => number | null;
|
|
185
|
+
dLodDtDecompositionAtAge: (t_Ma: number) => {
|
|
186
|
+
tidal: number | null;
|
|
187
|
+
gia: number | null;
|
|
188
|
+
stack: number | null;
|
|
189
|
+
resonator: number | null;
|
|
190
|
+
net_L2: number | null;
|
|
191
|
+
net_L3: number | null;
|
|
192
|
+
net_L4: number | null;
|
|
193
|
+
};
|
|
194
|
+
h5Correction: (year: number) => number;
|
|
195
|
+
computeLodKinematicSecondsAtEpoch: (year: number) => number;
|
|
196
|
+
computeLodRealSecondsAtEpoch: (year: number) => number;
|
|
197
|
+
meanSolarDeltaAAtAge: (tMa: number, aApparentKm: number) => number | null;
|
|
198
|
+
meanMoonDistanceCorrectedAtAge: (tMa: number) => number | null;
|
|
199
|
+
meanMoonSiderealMonthAtAge: (tMa: number) => number | null;
|
|
200
|
+
meanSynodicMonthAtAge: (tMa: number) => number | null;
|
|
201
|
+
meanTropicalMonthAtAge: (tMa: number) => number | null;
|
|
202
|
+
meanLunarPerigeePrecessionAtAge: (tMa: number) => number | null;
|
|
203
|
+
meanLunarNodePrecessionAtAge: (tMa: number) => number | null;
|
|
204
|
+
meanAnomalisticMonthAtAge: (tMa: number) => number | null;
|
|
205
|
+
meanNodalMonthAtAge: (tMa: number) => number | null;
|
|
206
|
+
meanApsidalMeetsNodalAtAge: (tMa: number) => number | null;
|
|
207
|
+
meanLunarLevelingCycleAtAge: (tMa: number) => number | null;
|
|
208
|
+
meanStellarDayAtAge: (tMa: number) => number | null;
|
|
209
|
+
meanStellarDayProjectedAtAge: (tMa: number) => number | null;
|
|
210
|
+
meanSiderealDayAtAge: (tMa: number) => number | null;
|
|
211
|
+
meanPlanetSemiMajorAxisAtAge: (planetName: string, tMa: number) => number | null;
|
|
212
|
+
meanPlanetOrbitalPeriodAtAge: (tMa: number, periodJ2000Seconds: number) => number;
|
|
213
|
+
meanEarthPlanetSynodicPeriodAtAge: (tMa: number, periodJ2000Seconds: number) => number;
|
|
214
|
+
}>;
|
|
215
|
+
deepEcc: {
|
|
216
|
+
eccAt: (tYr: number) => number;
|
|
217
|
+
eccRateAt: (tYr: number) => number;
|
|
218
|
+
modulation: (tMa: number, s: number) => number;
|
|
219
|
+
channelIntegral: (T: number, s: number) => number;
|
|
220
|
+
eFactorAt: (tYr: number) => number;
|
|
221
|
+
e0: number;
|
|
222
|
+
g0: number;
|
|
223
|
+
};
|
|
224
|
+
deepLod: {
|
|
225
|
+
lodSecondsAtAge: (t_Ma: number) => number | null;
|
|
226
|
+
lodSecondsAtAgeWithAlpha: (t_Ma: number, alpha: number) => number | null;
|
|
227
|
+
lodHoursAtAge: (t_Ma: number) => number | null;
|
|
228
|
+
lunisolarPrecessionRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
229
|
+
lunisolarPrecessionPeriodYearsAtAge: (t_Ma: number) => number | null;
|
|
230
|
+
lunisolarTorqueRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
231
|
+
lunisolarTorquePeriodYearsAtAge: (t_Ma: number) => number | null;
|
|
232
|
+
precessionObliquityFactorAtAge: (t_Ma: number) => number | null;
|
|
233
|
+
lunarTorqueFactorAtAge: (tMa: number) => (number | null);
|
|
234
|
+
precessionTorqueTermAtAge: (tMa: number) => (number | null);
|
|
235
|
+
siderealYearSecondsAtAge: (t_Ma: number) => number;
|
|
236
|
+
tropicalYearSecondsAtAge: (t_Ma: number) => number;
|
|
237
|
+
tropicalYearDaysAtAge: (t_Ma: number) => number | null;
|
|
238
|
+
tropicalYearSecondsFromLod: (t_Ma: number, LOD_s: number | null) => number;
|
|
239
|
+
eclipticLodCorrectionSecondsAtAge: (t_Ma: number) => number | null;
|
|
240
|
+
yearInDaysAtAge: (t_Ma: number) => number | null;
|
|
241
|
+
deltaTRawSecondsAtAge: (t_Ma: number) => number;
|
|
242
|
+
lodSecondsWithCorrectionsAtAge: (t_Ma: number) => number | null;
|
|
243
|
+
dLodDtDecompositionAtAge: (t_Ma: number) => {
|
|
244
|
+
tidal: number | null;
|
|
245
|
+
gia: number | null;
|
|
246
|
+
stack: number | null;
|
|
247
|
+
resonator: number | null;
|
|
248
|
+
net_L2: number | null;
|
|
249
|
+
net_L3: number | null;
|
|
250
|
+
net_L4: number | null;
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
dtCycleLodCorrectionSum: (year: number) => number;
|
|
254
|
+
dtCycles: {
|
|
255
|
+
taperAt: (year: number) => number;
|
|
256
|
+
taperDerivativeAt: (year: number) => number;
|
|
257
|
+
cycleDeltaTSecondsAt: (cycleKey: string, year: number) => number;
|
|
258
|
+
cycleLodSecondsAt: (cycleKey: string, year: number) => number;
|
|
259
|
+
swingDeltaTSecondsAt: (year: number) => number;
|
|
260
|
+
swingLodSecondsAt: (year: number) => number;
|
|
261
|
+
swingLodRateAt: (year: number) => number;
|
|
262
|
+
};
|
|
263
|
+
earthMoiFactorAtAge: (tMa: number) => number;
|
|
264
|
+
evalClimateL1: (year: number) => number;
|
|
265
|
+
moonChain: {
|
|
266
|
+
distanceMetresAtAge: (tMa: number) => number | null;
|
|
267
|
+
distanceKmAtAge: (tMa: number) => number | null;
|
|
268
|
+
solarDeltaAKmAtAge: (tMa: number, aApparentKm: number) => number | null;
|
|
269
|
+
distanceCorrectedKmAtAge: (tMa: number) => number | null;
|
|
270
|
+
siderealMonthSecondsAtAge: (tMa: number) => number | null;
|
|
271
|
+
synodicMonthSecondsAtAge: (tMa: number) => number | null;
|
|
272
|
+
tropicalMonthSecondsAtAge: (tMa: number) => number | null;
|
|
273
|
+
perigeePrecessionSecondsAtAge: (tMa: number) => number | null;
|
|
274
|
+
nodePrecessionSecondsAtAge: (tMa: number) => number | null;
|
|
275
|
+
anomalisticMonthSecondsAtAge: (tMa: number) => number | null;
|
|
276
|
+
nodalMonthSecondsAtAge: (tMa: number) => number | null;
|
|
277
|
+
apsidalMeetsNodalSecondsAtAge: (tMa: number) => number | null;
|
|
278
|
+
lunarLevelingSecondsAtAge: (tMa: number) => number | null;
|
|
279
|
+
};
|
|
280
|
+
moonDistanceKmAtYearOrNaN: (year: number) => number;
|
|
281
|
+
moonDistanceMetresAtAge: (tMa: number) => number | null;
|
|
282
|
+
s3ArcsecPerYr: number;
|
|
283
|
+
spinAxisInertialRateMeanArcsecPerYr: (yearFrom: number, yearTo: number, stepYears?: number, opts?: {
|
|
284
|
+
ellipticity?: boolean;
|
|
285
|
+
}) => number;
|
|
286
|
+
yearToTMa: (year: number) => number;
|
|
287
|
+
};
|
|
288
|
+
export type Ctx = import("./derived-constants.js").Ctx & ReturnType<typeof assembleDeepTimeChain>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ΔT (TT − UT1) — the raw integral plus the cycle stack, memoized on the exact argument.
|
|
3
|
+
*
|
|
4
|
+
* One slice of `assembleModel` (../model.js): receives the context the earlier slices built, returns the bindings the later ones read.
|
|
5
|
+
*/
|
|
6
|
+
/** @param {import('./moon-epoch.js').Ctx} ctx @returns the bindings the later slices read */
|
|
7
|
+
export function assembleDeltaT(ctx: import("./moon-epoch.js").Ctx): {
|
|
8
|
+
deltaTSeconds: (year: number) => number;
|
|
9
|
+
meanDeltaTSecondsAtAge: (tMa: number) => number;
|
|
10
|
+
};
|
|
11
|
+
export type Ctx = import("./moon-epoch.js").Ctx & ReturnType<typeof assembleDeltaT>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** @param {import('./context.js').ModelInputs} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleDerivedConstants(ctx: import("./context.js").ModelInputs): {
|
|
3
|
+
GM_EARTH_ALONE: number;
|
|
4
|
+
GM_EARTH_MOON_SYSTEM: number;
|
|
5
|
+
GM_MOON_ALONE: number;
|
|
6
|
+
GM_SUN: number;
|
|
7
|
+
GM_SUN_PLUS_EARTH: number;
|
|
8
|
+
G_CONSTANT: any;
|
|
9
|
+
MASS_RATIO_EARTH_MOON: any;
|
|
10
|
+
M_SUN: number;
|
|
11
|
+
axialPrecessionJ2000Days: number;
|
|
12
|
+
currentAUDistance: any;
|
|
13
|
+
meanLengthOfDay: any;
|
|
14
|
+
meanSiderealYearDays: any;
|
|
15
|
+
meanSolarYearDays: number;
|
|
16
|
+
meanTropicalYearJ2000Seconds: number;
|
|
17
|
+
moonDistanceCorrected: number;
|
|
18
|
+
moonDistanceKm: any;
|
|
19
|
+
moonOrbitalShift: number;
|
|
20
|
+
moonSiderealMonth: any;
|
|
21
|
+
moonSiderealMonthInput: any;
|
|
22
|
+
startmodelJD: any;
|
|
23
|
+
startmodelYear: any;
|
|
24
|
+
};
|
|
25
|
+
export type Ctx = import("./context.js").ModelInputs & ReturnType<typeof assembleDerivedConstants>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Earth scalars of date — e, ϖ, ε read from the one-source movement; the eclipse Sun's mean elements (the research `laws` hook).
|
|
3
|
+
*
|
|
4
|
+
* One slice of `assembleModel` (../model.js): receives the context the earlier slices built, returns the bindings the later ones read.
|
|
5
|
+
*/
|
|
6
|
+
/** @param {import('./deep-time-chain.js').Ctx} ctx @returns the bindings the later slices read */
|
|
7
|
+
export function assembleEarthScalars(ctx: import("./deep-time-chain.js").Ctx): {
|
|
8
|
+
earthPerihelionDeg: (year: number) => number;
|
|
9
|
+
eccentricityAt: (year: number) => number;
|
|
10
|
+
obliquityDeg: (year: number) => number;
|
|
11
|
+
sunEccentricityAt: (year: number) => any;
|
|
12
|
+
sunPerihelionDegAt: (year: number) => number;
|
|
13
|
+
};
|
|
14
|
+
export type Ctx = import("./deep-time-chain.js").Ctx & ReturnType<typeof assembleEarthScalars>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** @param {import('./planet-elements-of-date.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleInvPlaneElements(ctx: import("./planet-elements-of-date.js").Ctx): {
|
|
3
|
+
ascendingNodeDeg: (year: number) => number;
|
|
4
|
+
inclinationDeg: (year: number) => number;
|
|
5
|
+
};
|
|
6
|
+
export type Ctx = import("./planet-elements-of-date.js").Ctx & ReturnType<typeof assembleInvPlaneElements>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** @param {import('./time-axis.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleLunarTheory(ctx: import("./time-axis.js").Ctx): {
|
|
3
|
+
frameworkDeltaTSecondsAtJD: (jd: number) => number;
|
|
4
|
+
j2000JD: number;
|
|
5
|
+
jdTTFromUT: (jd: number) => number;
|
|
6
|
+
julianCenturyDays: number;
|
|
7
|
+
moonArgs: {
|
|
8
|
+
argsAt: (jdTT: number) => MoonArgsDeg;
|
|
9
|
+
fwArgs: (jdTT: number) => MoonArgsDeg;
|
|
10
|
+
fwArgsDeep: (jd: number) => MoonArgsDeg | null;
|
|
11
|
+
pureMeeusArgs: (jdTT: number) => MoonArgsDeg;
|
|
12
|
+
planetaryCarrier: (T: number) => number;
|
|
13
|
+
obliquityCarrier: (T: number) => number;
|
|
14
|
+
lpSecularCompletion: (T: number) => number;
|
|
15
|
+
bundle: {
|
|
16
|
+
LP0: number;
|
|
17
|
+
D0: number;
|
|
18
|
+
M0: number;
|
|
19
|
+
MP0: number;
|
|
20
|
+
F0: number;
|
|
21
|
+
LPR: number;
|
|
22
|
+
DR: number;
|
|
23
|
+
MR: number;
|
|
24
|
+
WDOT: number;
|
|
25
|
+
NDOT: number;
|
|
26
|
+
T2_W: number;
|
|
27
|
+
T2_N: number;
|
|
28
|
+
T3_W: number;
|
|
29
|
+
T3_N: number;
|
|
30
|
+
T2_LP: number;
|
|
31
|
+
T2_LP_TIDAL: number;
|
|
32
|
+
S_W: number;
|
|
33
|
+
S_N: number;
|
|
34
|
+
};
|
|
35
|
+
_rateCompletion: () => {
|
|
36
|
+
rc: {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
pFix: (dyYears: number) => number;
|
|
39
|
+
pdSlopeDegPerCy2: number;
|
|
40
|
+
};
|
|
41
|
+
anchors: {
|
|
42
|
+
ok: boolean;
|
|
43
|
+
Lp: number;
|
|
44
|
+
w: number;
|
|
45
|
+
om: number;
|
|
46
|
+
Lsun: number;
|
|
47
|
+
ws: number;
|
|
48
|
+
Tq: number;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
moonSeries: {
|
|
53
|
+
sceneEvalAt: (dDaysTT: number) => {
|
|
54
|
+
thetaAddRad: number;
|
|
55
|
+
lonDeg: number;
|
|
56
|
+
latRad: number;
|
|
57
|
+
latDeg: number;
|
|
58
|
+
distKm: number;
|
|
59
|
+
T: number;
|
|
60
|
+
};
|
|
61
|
+
truncatedLonDeg: (jdUT: number) => number;
|
|
62
|
+
truncatedBetaDeg: (jdUT: number) => number;
|
|
63
|
+
truncatedDistanceKm: (jdUT: number) => number;
|
|
64
|
+
additionalArgs: (T: number, dDaysTT: number) => {
|
|
65
|
+
A1: number;
|
|
66
|
+
A2: number;
|
|
67
|
+
A3: number;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
moonSynodicMonthDays: number;
|
|
71
|
+
};
|
|
72
|
+
export type Ctx = import("./time-axis.js").Ctx & ReturnType<typeof assembleLunarTheory>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Moon at epoch — the solar-Δa-corrected Kepler month.
|
|
3
|
+
*
|
|
4
|
+
* One slice of `assembleModel` (../model.js): receives the context the earlier slices built, returns the bindings the later ones read.
|
|
5
|
+
*/
|
|
6
|
+
/** @param {import('./one-source-movement.js').Ctx} ctx @returns the bindings the later slices read */
|
|
7
|
+
export function assembleMoonEpoch(ctx: import("./one-source-movement.js").Ctx): {
|
|
8
|
+
moonSiderealMonthDaysAt: (year: number) => number;
|
|
9
|
+
};
|
|
10
|
+
export type Ctx = import("./one-source-movement.js").Ctx & ReturnType<typeof assembleMoonEpoch>;
|