@essrt/physics 22.1.0 → 23.2.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 (45) hide show
  1. package/README.md +2 -1
  2. package/package.json +9 -3
  3. package/src/constants/coefficients.d.ts +11 -11
  4. package/src/constants/coefficients.js +4 -4
  5. package/src/constants/generated.d.ts +4 -16
  6. package/src/constants/generated.js +8 -32
  7. package/src/constants/units.cjs +20 -0
  8. package/src/deltat/deep-time-chain.js +457 -0
  9. package/src/deltat/deep-time.cjs +68 -25
  10. package/src/deltat/moon-distance-artifact.cjs +23 -0
  11. package/src/deltat/moon-distance-history.cjs +115 -0
  12. package/src/earth/deep-orbital-history.cjs +69 -19
  13. package/src/earth/mass-chain.cjs +95 -0
  14. package/src/earth/mean-obliquity-history.cjs +94 -0
  15. package/src/earth/precession-composed.cjs +49 -3
  16. package/src/index.js +23 -1
  17. package/src/layer0/derive-params.js +1 -5
  18. package/src/layer0/index.js +30 -17
  19. package/src/math/angles.cjs +38 -0
  20. package/src/model.js +100 -266
  21. package/src/moon/arguments.cjs +5 -31
  22. package/src/moon/month-chain.cjs +12 -19
  23. package/src/planets/chain-artifact.js +2 -2
  24. package/src/time/calendar.cjs +165 -0
  25. package/types/constants/coefficients.d.ts +11 -11
  26. package/types/constants/generated.d.ts +4 -16
  27. package/types/constants/units.d.cts +8 -0
  28. package/types/deltat/deep-time-chain.d.ts +266 -0
  29. package/types/deltat/deep-time.d.cts +42 -12
  30. package/types/deltat/moon-distance-artifact.d.cts +22 -0
  31. package/types/deltat/moon-distance-history.d.cts +36 -0
  32. package/types/earth/deep-orbital-history.d.cts +5 -3
  33. package/types/earth/mass-chain.d.cts +78 -0
  34. package/types/earth/mean-obliquity-history.d.cts +32 -0
  35. package/types/earth/precession-composed.d.cts +11 -1
  36. package/types/index.d.ts +8 -1
  37. package/types/layer0/derive-params.d.ts +3 -2
  38. package/types/layer0/index.d.ts +9 -6
  39. package/types/math/angles.d.cts +18 -0
  40. package/types/model.d.ts +21 -3
  41. package/types/moon/arguments.d.cts +2 -6
  42. package/types/moon/month-chain.d.cts +7 -13
  43. package/types/time/calendar.d.cts +78 -0
  44. package/src/deltat/recession-history.cjs +0 -169
  45. package/types/deltat/recession-history.d.cts +0 -80
@@ -1,80 +0,0 @@
1
- export type RecessionRegime = {
2
- /**
3
- * - regime boundary; quartic below, spline above
4
- */
5
- jointMa: number;
6
- /**
7
- * - interior knot ages (ascending)
8
- */
9
- knotAgesMa: number[];
10
- /**
11
- * - fitted knot distances
12
- */
13
- knotDistancesKm: number[];
14
- /**
15
- * - the Roche-crossing epoch
16
- */
17
- genesisMa: number;
18
- /**
19
- * - the rigid Roche endpoint
20
- */
21
- rocheLimitKm: number;
22
- };
23
- /**
24
- * @typedef {Object} RecessionRegime
25
- * @property {number} jointMa - regime boundary; quartic below, spline above
26
- * @property {number[]} knotAgesMa - interior knot ages (ascending)
27
- * @property {number[]} knotDistancesKm - fitted knot distances
28
- * @property {number} genesisMa - the Roche-crossing epoch
29
- * @property {number} rocheLimitKm - the rigid Roche endpoint
30
- */
31
- /**
32
- * @param {{
33
- * aMoonNowMetres: number,
34
- * alpha1PerMa: number, alpha3PerMa3: number, alpha4PerMa4: number,
35
- * regime: RecessionRegime,
36
- * }} deps
37
- * @returns {{ distanceMetresAtAge: (tMa: number) => number }}
38
- */
39
- export function createMoonRecessionHistory(deps: {
40
- aMoonNowMetres: number;
41
- alpha1PerMa: number;
42
- alpha3PerMa3: number;
43
- alpha4PerMa4: number;
44
- regime: RecessionRegime;
45
- }): {
46
- distanceMetresAtAge: (tMa: number) => number;
47
- };
48
- /**
49
- * The solar angular-momentum channels: L_EM(t) integrated backward from
50
- * J2000 with the ocean leak and the thermal-tide pump, explicit only
51
- * beyond jointMa. Absent this module, every consumer's L_EM is the J2000
52
- * constant — which remains the exact behaviour for t ≤ jointMa.
53
- *
54
- * @param {{
55
- * lTotalJ2000KgM2S: number,
56
- * mMoonAloneKg: number, gmEmM3PerS2: number, eFactorMoon: number,
57
- * beta0: number,
58
- * pumpStartMa: number, pumpEndMa: number, pumpFactor: number,
59
- * jointMa: number, genesisMa: number,
60
- * distanceMetresAtAge: (tMa: number) => number,
61
- * stepMa?: number,
62
- * }} deps
63
- * @returns {{ lEmAtAgeKgm2S: (tMa: number) => number }}
64
- */
65
- export function createSolarChannelBudget(deps: {
66
- lTotalJ2000KgM2S: number;
67
- mMoonAloneKg: number;
68
- gmEmM3PerS2: number;
69
- eFactorMoon: number;
70
- beta0: number;
71
- pumpStartMa: number;
72
- pumpEndMa: number;
73
- pumpFactor: number;
74
- jointMa: number;
75
- genesisMa: number;
76
- distanceMetresAtAge: (tMa: number) => number;
77
- stepMa?: number;
78
- }): {
79
- lEmAtAgeKgm2S: (tMa: number) => number;
80
- };