@essrt/physics 23.3.3 → 24.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 +4 -1
- package/package.json +2 -2
- package/src/cardinal/one-source-structure.cjs +3 -1
- package/src/constants/coefficients.d.ts +5 -1
- package/src/constants/coefficients.js +3 -2
- package/src/constants/generated.d.ts +13 -14
- package/src/constants/generated.js +14 -15
- package/src/constants/units.cjs +4 -1
- package/src/deltat/deep-time.cjs +37 -72
- package/src/earth/deep-orbital-history.cjs +48 -34
- package/src/earth/year-lengths.cjs +2 -1
- package/src/eclipse/besselian.cjs +24 -11
- package/src/index.js +30 -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 +332 -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 +3 -3
- package/src/planets/model.cjs +2 -2
- package/types/constants/coefficients.d.ts +5 -1
- package/types/constants/generated.d.ts +13 -14
- package/types/constants/units.d.cts +3 -0
- package/types/deltat/deep-time.d.cts +18 -24
- package/types/earth/deep-orbital-history.d.cts +23 -0
- package/types/eclipse/besselian.d.cts +37 -18
- 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 +53 -0
- package/types/model/surface.d.ts +281 -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 +10 -81
- package/types/moon/arguments.d.cts +5 -11
- package/types/planets/keplerian-chain.d.cts +4 -2
- package/types/planets/model.d.cts +3 -3
|
@@ -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>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** @param {import('./year-day-lengths.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleOneSourceMovement(ctx: import("./year-day-lengths.js").Ctx): {
|
|
3
|
+
lodRealSeconds: (year: number) => number;
|
|
4
|
+
oneFamilyTropicalYearSeconds: (year: number) => number;
|
|
5
|
+
oneSourceM: {
|
|
6
|
+
yearLengths: Readonly<{
|
|
7
|
+
tropicalYearSecondsAtYear: (year: number) => number;
|
|
8
|
+
siderealYearSecondsAtYear: (year: number) => number;
|
|
9
|
+
anomalisticYearSecondsAtYear: (year: number) => number;
|
|
10
|
+
axialPrecessionYearsAtYear: (y: number) => number;
|
|
11
|
+
perihelionPrecessionYearsAtYear: (y: number) => number;
|
|
12
|
+
inclinationPrecessionYearsAtYear: (y: number) => number;
|
|
13
|
+
generalPrecessionArcsecPerJulianYr: (y: number) => number;
|
|
14
|
+
apsidalRateFixedArcsecPerJulianYr: (y: number) => number;
|
|
15
|
+
cardinal: Readonly<{
|
|
16
|
+
yearLengthSeconds: (y: number, type: "VE" | "SS" | "AE" | "WS") => number;
|
|
17
|
+
eocOffsetSeconds: (y: number, type: "VE" | "SS" | "AE" | "WS") => number;
|
|
18
|
+
spreadSeconds: (y: number) => {
|
|
19
|
+
VE: number;
|
|
20
|
+
SS: number;
|
|
21
|
+
AE: number;
|
|
22
|
+
WS: number;
|
|
23
|
+
meanSeconds: number;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
planetaryRelAtYear: (year: number) => number;
|
|
27
|
+
}>;
|
|
28
|
+
/** The one-source sample at a decimal year (the engine year) — ε, e, ϖ of date, the Earth-orbit normal (the fields the frame of date and the invariable-plane elements read). @param {number} year */
|
|
29
|
+
sampleAt: (year: number) => any;
|
|
30
|
+
/** EXPERIMENT accessors: the series' e and equinox-referenced ϖ of date. @param {number} year @returns {number} */
|
|
31
|
+
eAt: (year: number) => number;
|
|
32
|
+
/** @param {number} year @returns {number} */
|
|
33
|
+
periOfDateDegAt: (year: number) => number;
|
|
34
|
+
/** The hybrid's obliquity at a decimal year, degrees — the banked series inside its span, the α(t)-coupled ζ-tail integration beyond (the deep sampler grows ~0.1 s/Myr). @param {number} year @returns {number} */
|
|
35
|
+
epsAt: (year: number) => number;
|
|
36
|
+
/** The hybrid's own domain, [yearFrom, yearTo] — the banked ζ series' span (plan 12 §8.5); null without a series. */
|
|
37
|
+
obliquityHybridDomainYears: [number, number] | null;
|
|
38
|
+
/** The precession of date's two factors at a decimal year (the factory's own — ONE home). @param {number} year @returns {{solarTorque: number, ellipticity: number}} */
|
|
39
|
+
precessionOfDateFactorsAt: (year: number) => {
|
|
40
|
+
solarTorque: number;
|
|
41
|
+
ellipticity: number;
|
|
42
|
+
};
|
|
43
|
+
/** The spin axis's INERTIAL precession period at J2000, years — the self-anchored
|
|
44
|
+
* lunisolar rate the hybrid integrates ŝ on (deep-orbital-history D4e): the general
|
|
45
|
+
* precession anchor plus the planetary mean the ecliptic's own motion carries. */
|
|
46
|
+
axialPrecessionYearsLunisolarJ2000: number;
|
|
47
|
+
};
|
|
48
|
+
siderealDaySeconds: (year: number) => number;
|
|
49
|
+
stellarDaySeconds: (year: number) => number;
|
|
50
|
+
tropicalYearDays: (year: number) => number;
|
|
51
|
+
yearLengthsM: Readonly<{
|
|
52
|
+
tropicalYearSecondsAtYear: (year: number) => number;
|
|
53
|
+
siderealYearSecondsAtYear: (year: number) => number;
|
|
54
|
+
anomalisticYearSecondsAtYear: (year: number) => number;
|
|
55
|
+
axialPrecessionYearsAtYear: (y: number) => number;
|
|
56
|
+
perihelionPrecessionYearsAtYear: (y: number) => number;
|
|
57
|
+
inclinationPrecessionYearsAtYear: (y: number) => number;
|
|
58
|
+
generalPrecessionArcsecPerJulianYr: (y: number) => number;
|
|
59
|
+
apsidalRateFixedArcsecPerJulianYr: (y: number) => number;
|
|
60
|
+
cardinal: Readonly<{
|
|
61
|
+
yearLengthSeconds: (y: number, type: "VE" | "SS" | "AE" | "WS") => number;
|
|
62
|
+
eocOffsetSeconds: (y: number, type: "VE" | "SS" | "AE" | "WS") => number;
|
|
63
|
+
spreadSeconds: (y: number) => {
|
|
64
|
+
VE: number;
|
|
65
|
+
SS: number;
|
|
66
|
+
AE: number;
|
|
67
|
+
WS: number;
|
|
68
|
+
meanSeconds: number;
|
|
69
|
+
};
|
|
70
|
+
}>;
|
|
71
|
+
planetaryRelAtYear: (year: number) => number;
|
|
72
|
+
}>;
|
|
73
|
+
};
|
|
74
|
+
export type Ctx = import("./year-day-lengths.js").Ctx & ReturnType<typeof assembleOneSourceMovement>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @param {import('./planet-spin-channel.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assemblePlanetElementsOfDate(ctx: import("./planet-spin-channel.js").Ctx): {
|
|
3
|
+
nodeOriginSSDeg: () => number;
|
|
4
|
+
planetAscNodeDeg: (k: string, year: number) => number;
|
|
5
|
+
planetEccentricity: (k: string, year: number) => number;
|
|
6
|
+
planetInclinationDeg: (k: string, year: number) => number;
|
|
7
|
+
planetPerihelionDeg: (k: string, year: number) => number;
|
|
8
|
+
};
|
|
9
|
+
export type Ctx = import("./planet-spin-channel.js").Ctx & ReturnType<typeof assemblePlanetElementsOfDate>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @param {import('./delta-t.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assemblePlanetRecords(ctx: import("./delta-t.js").Ctx): {
|
|
3
|
+
PLANET_KEYS: string[];
|
|
4
|
+
PUBLISHED_PLANET_RECORDS: Record<string, Record<string, any>>;
|
|
5
|
+
massFraction: Record<string, number>;
|
|
6
|
+
};
|
|
7
|
+
export type Ctx = import("./delta-t.js").Ctx & ReturnType<typeof assemblePlanetRecords>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @param {import('./planet-records.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assemblePlanetSpinChannel(ctx: import("./planet-records.js").Ctx): {
|
|
3
|
+
planetSpin: (k: string) => Readonly<{
|
|
4
|
+
key: string;
|
|
5
|
+
cassiniLocked: boolean;
|
|
6
|
+
momentOfInertiaFactor: number;
|
|
7
|
+
momentOfInertiaFactorClass: string;
|
|
8
|
+
alphaArcsecPerYr: number;
|
|
9
|
+
satelliteQuadrupole: number;
|
|
10
|
+
satelliteAngularMomentum: number;
|
|
11
|
+
spinRetrograde: boolean;
|
|
12
|
+
meanMotionRadPerYr: number;
|
|
13
|
+
obliquityJ2000Deg: number;
|
|
14
|
+
spinPrecessionRateArcsecPerYrJ2000: number | null;
|
|
15
|
+
axialPrecessionPeriodYearsJ2000: number | null;
|
|
16
|
+
obliquityDegAtYear: (year: number) => number | null;
|
|
17
|
+
spinPrecessionRateArcsecPerYrAtYear: (year: number) => number | null;
|
|
18
|
+
obliquityEnvelopeDeg: (year: number, spanYr: number) => {
|
|
19
|
+
minDeg: number;
|
|
20
|
+
meanDeg: number;
|
|
21
|
+
maxDeg: number;
|
|
22
|
+
} | null;
|
|
23
|
+
spinAxisEclipticJ2000AtYear: (year: number) => number[] | null;
|
|
24
|
+
orbitNormalEclipticJ2000AtYear: (year: number) => number[];
|
|
25
|
+
stepYr: number;
|
|
26
|
+
maxSpanYr: 10000000;
|
|
27
|
+
}>;
|
|
28
|
+
};
|
|
29
|
+
export type Ctx = import("./planet-records.js").Ctx & ReturnType<typeof assemblePlanetSpinChannel>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @param {import('./sun-and-eclipses.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assemblePublishedPeriods(ctx: import("./sun-and-eclipses.js").Ctx): {
|
|
3
|
+
publishedAxialPrecessionYearsAtYear: (year: number) => number;
|
|
4
|
+
publishedSiderealYearSecondsAtYear: (year: number) => number;
|
|
5
|
+
publishedTropicalYearSecondsAtYear: (year: number) => number;
|
|
6
|
+
};
|
|
7
|
+
export type Ctx = import("./sun-and-eclipses.js").Ctx & ReturnType<typeof assemblePublishedPeriods>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** @param {import('./lunar-theory.js').Ctx} ctx @returns the bindings the later slices read */
|
|
2
|
+
export function assembleSunAndEclipses(ctx: import("./lunar-theory.js").Ctx): {
|
|
3
|
+
besselian: {
|
|
4
|
+
umbraGroundAt: (jdUT: number) => {
|
|
5
|
+
latDeg: number;
|
|
6
|
+
lonDeg: number;
|
|
7
|
+
} | null;
|
|
8
|
+
shadowStateAt: (jdUT: number, latDeg: number, lonDeg: number) => {
|
|
9
|
+
offsetKm: number;
|
|
10
|
+
penumbraKm: number;
|
|
11
|
+
umbraKm: number;
|
|
12
|
+
magnitude: number;
|
|
13
|
+
};
|
|
14
|
+
localCircumstances: (jdGreatest: number, latDeg: number, lonDeg: number) => {
|
|
15
|
+
kind: "none" | "partial" | "annular" | "total";
|
|
16
|
+
magnitude: number;
|
|
17
|
+
maxJd: number;
|
|
18
|
+
contacts: {
|
|
19
|
+
c1: number | null;
|
|
20
|
+
c2: number | null;
|
|
21
|
+
c3: number | null;
|
|
22
|
+
c4: number | null;
|
|
23
|
+
};
|
|
24
|
+
centralDurationSeconds: number | null;
|
|
25
|
+
};
|
|
26
|
+
gmstDeg: (jdUT: number) => number;
|
|
27
|
+
};
|
|
28
|
+
eclipseFinders: {
|
|
29
|
+
sunLonDegAt: (jd: number) => number;
|
|
30
|
+
findLunarEclipsesInRange: (jdStart: number, jdEnd: number) => Array<{
|
|
31
|
+
jd: number;
|
|
32
|
+
beta: number;
|
|
33
|
+
moonDistance_km: number;
|
|
34
|
+
type: string;
|
|
35
|
+
magnitudeUmbral: number;
|
|
36
|
+
magnitudePenumbral: number;
|
|
37
|
+
}>;
|
|
38
|
+
findSolarEclipsesInRange: (jdStart: number, jdEnd: number) => Array<{
|
|
39
|
+
jd: number;
|
|
40
|
+
beta: number;
|
|
41
|
+
moonDistance_km: number;
|
|
42
|
+
type: string;
|
|
43
|
+
moonAppR_topo: number;
|
|
44
|
+
sunAppR: number;
|
|
45
|
+
moonSunRatio: number;
|
|
46
|
+
}>;
|
|
47
|
+
};
|
|
48
|
+
sunL0Deg: any;
|
|
49
|
+
sunMeanLongitudeDegAt: (year: number) => number;
|
|
50
|
+
sunPlanetaryCompletionDeg: (T: number) => number;
|
|
51
|
+
sunTropicalRateDegPerCy: number;
|
|
52
|
+
};
|
|
53
|
+
export type Ctx = import("./lunar-theory.js").Ctx & ReturnType<typeof assembleSunAndEclipses>;
|