@essrt/physics 4.9.0 → 5.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/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 +69 -2
- package/src/earth/deep-orbital-history.cjs +6 -5
- package/src/earth/precession-composed.cjs +120 -0
- package/src/earth/year-lengths.cjs +12 -1
- package/src/index.js +6 -2
- package/src/layer0/derive-params.js +21 -4
- package/src/layer0/index.js +35 -4
- package/src/model.js +165 -33
- 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 +13 -0
- package/types/earth/precession-composed.d.cts +59 -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 +28 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// The fitted coefficients' shapes for TypeScript consumers (§2g); values live
|
|
3
3
|
// in coefficients.js, emitted VERBATIM from fitted-coefficients.json.
|
|
4
4
|
|
|
5
|
-
export declare const COEFFICIENTS_HASH: "
|
|
5
|
+
export declare const COEFFICIENTS_HASH: "b8b18424a3435e20";
|
|
6
6
|
|
|
7
7
|
export declare const FITTED_COEFFICIENTS: {
|
|
8
8
|
readonly ANOMALISTIC_YEAR_HARMONICS: Array<[number, number, number]>;
|
|
@@ -71,9 +71,14 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
71
71
|
};
|
|
72
72
|
readonly CLIMATE_FORMULA_COEFFS: {
|
|
73
73
|
"config": {
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
"L1_lines": Array<{
|
|
75
|
+
"family": string;
|
|
76
|
+
"label": string;
|
|
77
|
+
"arcsecPerYr": number;
|
|
78
|
+
"periodKyr": number;
|
|
79
|
+
"relAmp": number;
|
|
80
|
+
}>;
|
|
81
|
+
"L1_source": string;
|
|
77
82
|
"L2_periods_kyr": {
|
|
78
83
|
"405-kyr (fundamental)": number;
|
|
79
84
|
"202-kyr (2nd harmonic)": number;
|
|
@@ -97,16 +102,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
97
102
|
"n_samples": number;
|
|
98
103
|
"intercept": number;
|
|
99
104
|
"L1": Array<{
|
|
100
|
-
"
|
|
101
|
-
"a": number;
|
|
102
|
-
"b": number;
|
|
103
|
-
}>;
|
|
104
|
-
"L2": Array<{
|
|
105
|
-
"p_kyr": number;
|
|
105
|
+
"period_kyr": number;
|
|
106
106
|
"label": string;
|
|
107
107
|
"a": number;
|
|
108
108
|
"b": number;
|
|
109
109
|
}>;
|
|
110
|
+
"L2": unknown[];
|
|
110
111
|
"L3": unknown[];
|
|
111
112
|
"denormalization": {
|
|
112
113
|
"y_mean": number;
|
|
@@ -129,16 +130,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
129
130
|
"n_samples": number;
|
|
130
131
|
"intercept": number;
|
|
131
132
|
"L1": Array<{
|
|
132
|
-
"
|
|
133
|
-
"a": number;
|
|
134
|
-
"b": number;
|
|
135
|
-
}>;
|
|
136
|
-
"L2": Array<{
|
|
137
|
-
"p_kyr": number;
|
|
133
|
+
"period_kyr": number;
|
|
138
134
|
"label": string;
|
|
139
135
|
"a": number;
|
|
140
136
|
"b": number;
|
|
141
137
|
}>;
|
|
138
|
+
"L2": unknown[];
|
|
142
139
|
"L3": unknown[];
|
|
143
140
|
"denormalization": {
|
|
144
141
|
"y_mean": number;
|
|
@@ -161,16 +158,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
161
158
|
"n_samples": number;
|
|
162
159
|
"intercept": number;
|
|
163
160
|
"L1": Array<{
|
|
164
|
-
"
|
|
165
|
-
"a": number;
|
|
166
|
-
"b": number;
|
|
167
|
-
}>;
|
|
168
|
-
"L2": Array<{
|
|
169
|
-
"p_kyr": number;
|
|
161
|
+
"period_kyr": number;
|
|
170
162
|
"label": string;
|
|
171
163
|
"a": number;
|
|
172
164
|
"b": number;
|
|
173
165
|
}>;
|
|
166
|
+
"L2": unknown[];
|
|
174
167
|
"L3": unknown[];
|
|
175
168
|
"denormalization": {
|
|
176
169
|
"y_mean": number;
|
|
@@ -193,16 +186,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
193
186
|
"n_samples": number;
|
|
194
187
|
"intercept": number;
|
|
195
188
|
"L1": Array<{
|
|
196
|
-
"
|
|
197
|
-
"a": number;
|
|
198
|
-
"b": number;
|
|
199
|
-
}>;
|
|
200
|
-
"L2": Array<{
|
|
201
|
-
"p_kyr": number;
|
|
189
|
+
"period_kyr": number;
|
|
202
190
|
"label": string;
|
|
203
191
|
"a": number;
|
|
204
192
|
"b": number;
|
|
205
193
|
}>;
|
|
194
|
+
"L2": unknown[];
|
|
206
195
|
"L3": Array<{
|
|
207
196
|
"label": string;
|
|
208
197
|
"t_kyr": number;
|
|
@@ -229,16 +218,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
229
218
|
"n_samples": number;
|
|
230
219
|
"intercept": number;
|
|
231
220
|
"L1": Array<{
|
|
232
|
-
"
|
|
233
|
-
"a": number;
|
|
234
|
-
"b": number;
|
|
235
|
-
}>;
|
|
236
|
-
"L2": Array<{
|
|
237
|
-
"p_kyr": number;
|
|
221
|
+
"period_kyr": number;
|
|
238
222
|
"label": string;
|
|
239
223
|
"a": number;
|
|
240
224
|
"b": number;
|
|
241
225
|
}>;
|
|
226
|
+
"L2": unknown[];
|
|
242
227
|
"L3": Array<{
|
|
243
228
|
"label": string;
|
|
244
229
|
"t_kyr": number;
|
|
@@ -265,16 +250,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
265
250
|
"n_samples": number;
|
|
266
251
|
"intercept": number;
|
|
267
252
|
"L1": Array<{
|
|
268
|
-
"
|
|
269
|
-
"a": number;
|
|
270
|
-
"b": number;
|
|
271
|
-
}>;
|
|
272
|
-
"L2": Array<{
|
|
273
|
-
"p_kyr": number;
|
|
253
|
+
"period_kyr": number;
|
|
274
254
|
"label": string;
|
|
275
255
|
"a": number;
|
|
276
256
|
"b": number;
|
|
277
257
|
}>;
|
|
258
|
+
"L2": unknown[];
|
|
278
259
|
"L3": Array<{
|
|
279
260
|
"label": string;
|
|
280
261
|
"t_kyr": number;
|
|
@@ -301,16 +282,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
301
282
|
"n_samples": number;
|
|
302
283
|
"intercept": number;
|
|
303
284
|
"L1": Array<{
|
|
304
|
-
"
|
|
305
|
-
"a": number;
|
|
306
|
-
"b": number;
|
|
307
|
-
}>;
|
|
308
|
-
"L2": Array<{
|
|
309
|
-
"p_kyr": number;
|
|
285
|
+
"period_kyr": number;
|
|
310
286
|
"label": string;
|
|
311
287
|
"a": number;
|
|
312
288
|
"b": number;
|
|
313
289
|
}>;
|
|
290
|
+
"L2": unknown[];
|
|
314
291
|
"L3": unknown[];
|
|
315
292
|
"denormalization": {
|
|
316
293
|
"y_mean": number;
|
|
@@ -326,264 +303,196 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
326
303
|
"delta_l3": number;
|
|
327
304
|
};
|
|
328
305
|
"carbon_amplification_ratios": {
|
|
329
|
-
"
|
|
330
|
-
"n": number;
|
|
331
|
-
"period_kyr": number;
|
|
332
|
-
"lr04_post_mpt_amp": number;
|
|
333
|
-
"epica_amp": number;
|
|
334
|
-
"ratio": number;
|
|
335
|
-
"label": string;
|
|
336
|
-
};
|
|
337
|
-
"12": {
|
|
338
|
-
"n": number;
|
|
306
|
+
"19.0014": {
|
|
339
307
|
"period_kyr": number;
|
|
340
308
|
"lr04_post_mpt_amp": number;
|
|
341
309
|
"epica_amp": number;
|
|
342
310
|
"ratio": number;
|
|
343
311
|
"label": string;
|
|
344
312
|
};
|
|
345
|
-
"
|
|
346
|
-
"n": number;
|
|
313
|
+
"19.1554": {
|
|
347
314
|
"period_kyr": number;
|
|
348
315
|
"lr04_post_mpt_amp": number;
|
|
349
316
|
"epica_amp": number;
|
|
350
317
|
"ratio": number;
|
|
351
318
|
"label": string;
|
|
352
319
|
};
|
|
353
|
-
"
|
|
354
|
-
"n": number;
|
|
320
|
+
"22.4452": {
|
|
355
321
|
"period_kyr": number;
|
|
356
322
|
"lr04_post_mpt_amp": number;
|
|
357
323
|
"epica_amp": number;
|
|
358
324
|
"ratio": number;
|
|
359
325
|
"label": string;
|
|
360
326
|
};
|
|
361
|
-
"
|
|
362
|
-
"n": number;
|
|
327
|
+
"23.1931": {
|
|
363
328
|
"period_kyr": number;
|
|
364
329
|
"lr04_post_mpt_amp": number;
|
|
365
330
|
"epica_amp": number;
|
|
366
331
|
"ratio": number;
|
|
367
332
|
"label": string;
|
|
368
333
|
};
|
|
369
|
-
"
|
|
370
|
-
"n": number;
|
|
334
|
+
"23.7599": {
|
|
371
335
|
"period_kyr": number;
|
|
372
336
|
"lr04_post_mpt_amp": number;
|
|
373
337
|
"epica_amp": number;
|
|
374
338
|
"ratio": number;
|
|
375
339
|
"label": string;
|
|
376
340
|
};
|
|
377
|
-
"
|
|
378
|
-
"n": number;
|
|
341
|
+
"27.4019": {
|
|
379
342
|
"period_kyr": number;
|
|
380
343
|
"lr04_post_mpt_amp": number;
|
|
381
344
|
"epica_amp": number;
|
|
382
345
|
"ratio": number;
|
|
383
346
|
"label": string;
|
|
384
347
|
};
|
|
385
|
-
"
|
|
386
|
-
"n": number;
|
|
348
|
+
"28.9913": {
|
|
387
349
|
"period_kyr": number;
|
|
388
350
|
"lr04_post_mpt_amp": number;
|
|
389
351
|
"epica_amp": number;
|
|
390
352
|
"ratio": number;
|
|
391
353
|
"label": string;
|
|
392
354
|
};
|
|
393
|
-
"
|
|
394
|
-
"n": number;
|
|
355
|
+
"29.1554": {
|
|
395
356
|
"period_kyr": number;
|
|
396
357
|
"lr04_post_mpt_amp": number;
|
|
397
358
|
"epica_amp": number;
|
|
398
359
|
"ratio": number;
|
|
399
360
|
"label": string;
|
|
400
361
|
};
|
|
401
|
-
"
|
|
402
|
-
"n": number;
|
|
362
|
+
"29.7742": {
|
|
403
363
|
"period_kyr": number;
|
|
404
364
|
"lr04_post_mpt_amp": number;
|
|
405
365
|
"epica_amp": number;
|
|
406
366
|
"ratio": number;
|
|
407
367
|
"label": string;
|
|
408
368
|
};
|
|
409
|
-
"
|
|
410
|
-
"n": number;
|
|
369
|
+
"29.9682": {
|
|
411
370
|
"period_kyr": number;
|
|
412
371
|
"lr04_post_mpt_amp": number;
|
|
413
372
|
"epica_amp": number;
|
|
414
373
|
"ratio": number;
|
|
415
374
|
"label": string;
|
|
416
375
|
};
|
|
417
|
-
"
|
|
418
|
-
"n": number;
|
|
376
|
+
"39.8366": {
|
|
419
377
|
"period_kyr": number;
|
|
420
378
|
"lr04_post_mpt_amp": number;
|
|
421
379
|
"epica_amp": number;
|
|
422
380
|
"ratio": number;
|
|
423
381
|
"label": string;
|
|
424
382
|
};
|
|
425
|
-
"
|
|
426
|
-
"n": number;
|
|
383
|
+
"40.5195": {
|
|
427
384
|
"period_kyr": number;
|
|
428
385
|
"lr04_post_mpt_amp": number;
|
|
429
386
|
"epica_amp": number;
|
|
430
387
|
"ratio": number;
|
|
431
388
|
"label": string;
|
|
432
389
|
};
|
|
433
|
-
"
|
|
434
|
-
"n": number;
|
|
390
|
+
"41.2244": {
|
|
435
391
|
"period_kyr": number;
|
|
436
392
|
"lr04_post_mpt_amp": number;
|
|
437
393
|
"epica_amp": number;
|
|
438
394
|
"ratio": number;
|
|
439
395
|
"label": string;
|
|
440
396
|
};
|
|
441
|
-
"
|
|
442
|
-
"n": number;
|
|
397
|
+
"41.9557": {
|
|
443
398
|
"period_kyr": number;
|
|
444
399
|
"lr04_post_mpt_amp": number;
|
|
445
400
|
"epica_amp": number;
|
|
446
401
|
"ratio": number;
|
|
447
402
|
"label": string;
|
|
448
403
|
};
|
|
449
|
-
"
|
|
450
|
-
"n": number;
|
|
404
|
+
"54.1343": {
|
|
451
405
|
"period_kyr": number;
|
|
452
406
|
"lr04_post_mpt_amp": number;
|
|
453
407
|
"epica_amp": number;
|
|
454
408
|
"ratio": number;
|
|
455
409
|
"label": string;
|
|
456
410
|
};
|
|
457
|
-
"
|
|
458
|
-
"n": number;
|
|
411
|
+
"94.8779": {
|
|
459
412
|
"period_kyr": number;
|
|
460
413
|
"lr04_post_mpt_amp": number;
|
|
461
414
|
"epica_amp": number;
|
|
462
415
|
"ratio": number;
|
|
463
416
|
"label": string;
|
|
464
417
|
};
|
|
465
|
-
"
|
|
466
|
-
"n": number;
|
|
418
|
+
"96.8490": {
|
|
467
419
|
"period_kyr": number;
|
|
468
420
|
"lr04_post_mpt_amp": number;
|
|
469
421
|
"epica_amp": number;
|
|
470
422
|
"ratio": number;
|
|
471
423
|
"label": string;
|
|
472
424
|
};
|
|
473
|
-
"
|
|
474
|
-
"n": number;
|
|
425
|
+
"98.8439": {
|
|
475
426
|
"period_kyr": number;
|
|
476
427
|
"lr04_post_mpt_amp": number;
|
|
477
428
|
"epica_amp": number;
|
|
478
429
|
"ratio": number;
|
|
479
430
|
"label": string;
|
|
480
431
|
};
|
|
481
|
-
"
|
|
482
|
-
"n": number;
|
|
432
|
+
"101.0051": {
|
|
483
433
|
"period_kyr": number;
|
|
484
434
|
"lr04_post_mpt_amp": number;
|
|
485
435
|
"epica_amp": number;
|
|
486
436
|
"ratio": number;
|
|
487
437
|
"label": string;
|
|
488
438
|
};
|
|
489
|
-
"
|
|
490
|
-
"n": number;
|
|
439
|
+
"103.1238": {
|
|
491
440
|
"period_kyr": number;
|
|
492
441
|
"lr04_post_mpt_amp": number;
|
|
493
442
|
"epica_amp": number;
|
|
494
443
|
"ratio": number;
|
|
495
444
|
"label": string;
|
|
496
445
|
};
|
|
497
|
-
"
|
|
498
|
-
"n": number;
|
|
446
|
+
"105.1372": {
|
|
499
447
|
"period_kyr": number;
|
|
500
448
|
"lr04_post_mpt_amp": number;
|
|
501
449
|
"epica_amp": number;
|
|
502
450
|
"ratio": number;
|
|
503
451
|
"label": string;
|
|
504
452
|
};
|
|
505
|
-
"
|
|
506
|
-
"n": number;
|
|
453
|
+
"110.0293": {
|
|
507
454
|
"period_kyr": number;
|
|
508
455
|
"lr04_post_mpt_amp": number;
|
|
509
456
|
"epica_amp": number;
|
|
510
457
|
"ratio": number;
|
|
511
458
|
"label": string;
|
|
512
459
|
};
|
|
513
|
-
"
|
|
514
|
-
"n": number;
|
|
460
|
+
"123.8462": {
|
|
515
461
|
"period_kyr": number;
|
|
516
462
|
"lr04_post_mpt_amp": number;
|
|
517
463
|
"epica_amp": number;
|
|
518
464
|
"ratio": number;
|
|
519
465
|
"label": string;
|
|
520
466
|
};
|
|
521
|
-
"
|
|
522
|
-
"n": number;
|
|
467
|
+
"130.6910": {
|
|
523
468
|
"period_kyr": number;
|
|
524
469
|
"lr04_post_mpt_amp": number;
|
|
525
470
|
"epica_amp": number;
|
|
526
471
|
"ratio": number;
|
|
527
472
|
"label": string;
|
|
528
473
|
};
|
|
529
|
-
"
|
|
530
|
-
"n": number;
|
|
474
|
+
"134.4960": {
|
|
531
475
|
"period_kyr": number;
|
|
532
476
|
"lr04_post_mpt_amp": number;
|
|
533
477
|
"epica_amp": number;
|
|
534
478
|
"ratio": number;
|
|
535
479
|
"label": string;
|
|
536
480
|
};
|
|
537
|
-
"
|
|
538
|
-
"n": number;
|
|
481
|
+
"405.6256": {
|
|
539
482
|
"period_kyr": number;
|
|
540
483
|
"lr04_post_mpt_amp": number;
|
|
541
484
|
"epica_amp": number;
|
|
542
485
|
"ratio": number;
|
|
543
486
|
"label": string;
|
|
544
487
|
};
|
|
545
|
-
"
|
|
546
|
-
"n": number;
|
|
488
|
+
"202.8128": {
|
|
547
489
|
"period_kyr": number;
|
|
548
490
|
"lr04_post_mpt_amp": number;
|
|
549
491
|
"epica_amp": number;
|
|
550
492
|
"ratio": number;
|
|
551
493
|
"label": string;
|
|
552
494
|
};
|
|
553
|
-
"
|
|
554
|
-
"n": number;
|
|
555
|
-
"period_kyr": number;
|
|
556
|
-
"lr04_post_mpt_amp": number;
|
|
557
|
-
"epica_amp": number;
|
|
558
|
-
"ratio": number;
|
|
559
|
-
"label": string;
|
|
560
|
-
};
|
|
561
|
-
"134": {
|
|
562
|
-
"n": number;
|
|
563
|
-
"period_kyr": number;
|
|
564
|
-
"lr04_post_mpt_amp": number;
|
|
565
|
-
"epica_amp": number;
|
|
566
|
-
"ratio": number;
|
|
567
|
-
"label": string;
|
|
568
|
-
};
|
|
569
|
-
"141": {
|
|
570
|
-
"n": number;
|
|
571
|
-
"period_kyr": number;
|
|
572
|
-
"lr04_post_mpt_amp": number;
|
|
573
|
-
"epica_amp": number;
|
|
574
|
-
"ratio": number;
|
|
575
|
-
"label": string;
|
|
576
|
-
};
|
|
577
|
-
"152": {
|
|
578
|
-
"n": number;
|
|
579
|
-
"period_kyr": number;
|
|
580
|
-
"lr04_post_mpt_amp": number;
|
|
581
|
-
"epica_amp": number;
|
|
582
|
-
"ratio": number;
|
|
583
|
-
"label": string;
|
|
584
|
-
};
|
|
585
|
-
"185": {
|
|
586
|
-
"n": number;
|
|
495
|
+
"135.2085": {
|
|
587
496
|
"period_kyr": number;
|
|
588
497
|
"lr04_post_mpt_amp": number;
|
|
589
498
|
"epica_amp": number;
|
|
@@ -599,16 +508,12 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
599
508
|
"n_samples": number;
|
|
600
509
|
"intercept": number;
|
|
601
510
|
"L1": Array<{
|
|
602
|
-
"
|
|
603
|
-
"a": number;
|
|
604
|
-
"b": number;
|
|
605
|
-
}>;
|
|
606
|
-
"L2": Array<{
|
|
607
|
-
"p_kyr": number;
|
|
511
|
+
"period_kyr": number;
|
|
608
512
|
"label": string;
|
|
609
513
|
"a": number;
|
|
610
514
|
"b": number;
|
|
611
515
|
}>;
|
|
516
|
+
"L2": unknown[];
|
|
612
517
|
"L3": Array<{
|
|
613
518
|
"label": string;
|
|
614
519
|
"t_kyr": number;
|
|
@@ -655,6 +560,7 @@ export declare const FITTED_COEFFICIENTS: {
|
|
|
655
560
|
"phi_locked_rad": number;
|
|
656
561
|
"amp_s": number;
|
|
657
562
|
"phase_convention": string;
|
|
563
|
+
"retired": string;
|
|
658
564
|
}>;
|
|
659
565
|
"rms_s": number;
|
|
660
566
|
"raw_at_j2000_s": number;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// Gives the TypeScript website full type safety at the boundary (§2g) while
|
|
3
3
|
// packages/physics stays JavaScript.
|
|
4
4
|
|
|
5
|
-
export declare const CONSTANTS_HASH: "
|
|
5
|
+
export declare const CONSTANTS_HASH: "d94a9f41b4a85cb6";
|
|
6
6
|
|
|
7
7
|
export declare const MODEL_VERSION: string;
|
|
8
8
|
|
|
9
9
|
export declare const PREPRINT_DOI: string;
|
|
10
10
|
|
|
11
11
|
export declare const DEFAULT_CONSTANTS: {
|
|
12
|
-
readonly hash: "
|
|
12
|
+
readonly hash: "d94a9f41b4a85cb6";
|
|
13
13
|
readonly additionalBodies: {
|
|
14
14
|
"pluto": {
|
|
15
15
|
"name": string;
|
|
@@ -134,7 +134,8 @@ export declare const DEFAULT_CONSTANTS: {
|
|
|
134
134
|
"alpha1PerMa": number;
|
|
135
135
|
"alpha3PerMa3": number;
|
|
136
136
|
"alpha4PerMa4": number;
|
|
137
|
-
"
|
|
137
|
+
"alphaGiaRateJ2000PerYr": number;
|
|
138
|
+
"alphaGiaRelaxationKyr": number;
|
|
138
139
|
"dtStackTaperFullHalfwidthYr": number;
|
|
139
140
|
"dtStackTaperTotalHalfwidthYr": number;
|
|
140
141
|
"recessionRegime": {
|
|
@@ -36,6 +36,11 @@ export type DeepTimeLodConstants = {
|
|
|
36
36
|
* - Actual-LOD numerator
|
|
37
37
|
*/
|
|
38
38
|
siderealYearDaysKinematicJ2000: number;
|
|
39
|
+
/**
|
|
40
|
+
* - f_S, the solar fraction of the J2000
|
|
41
|
+
* precession torque (derive-params) — the unit H(t) = 13·T_p,composed needs it
|
|
42
|
+
*/
|
|
43
|
+
precessionSolarShareJ2000: number;
|
|
39
44
|
};
|
|
40
45
|
export type DeepTimeLodDeps = {
|
|
41
46
|
constants: DeepTimeLodConstants;
|
|
@@ -82,6 +87,8 @@ export type DeepTimeLodDeps = {
|
|
|
82
87
|
* @property {number} meanSiderealYearJ2000Seconds
|
|
83
88
|
* @property {number} solarMassLossFracPerYear
|
|
84
89
|
* @property {number} siderealYearDaysKinematicJ2000 - Actual-LOD numerator
|
|
90
|
+
* @property {number} precessionSolarShareJ2000 - f_S, the solar fraction of the J2000
|
|
91
|
+
* precession torque (derive-params) — the unit H(t) = 13·T_p,composed needs it
|
|
85
92
|
*/
|
|
86
93
|
/**
|
|
87
94
|
* @typedef {Object} DeepTimeLodDeps
|
|
@@ -103,6 +110,9 @@ export function createDeepTimeLod(deps: DeepTimeLodDeps): {
|
|
|
103
110
|
lodSecondsAtAgeWithAlpha: (t_Ma: number, alpha: number) => number | null;
|
|
104
111
|
lodHoursAtAge: (t_Ma: number) => number | null;
|
|
105
112
|
hAtAge: (t_Ma: number) => number | null;
|
|
113
|
+
lunisolarPrecessionRateArcsecPerYrAtAge: (t_Ma: number) => number | null;
|
|
114
|
+
lunarTorqueFactorAtAge: (tMa: number) => (number | null);
|
|
115
|
+
precessionTorqueTermAtAge: (tMa: number) => (number | null);
|
|
106
116
|
siderealYearSecondsAtAge: (t_Ma: number) => number;
|
|
107
117
|
tropicalYearSecondsAtAge: (t_Ma: number) => number;
|
|
108
118
|
tropicalYearDaysAtAge: (t_Ma: number) => number | null;
|
|
@@ -119,4 +129,7 @@ export function createDeepTimeLod(deps: DeepTimeLodDeps): {
|
|
|
119
129
|
net_L3: number | null;
|
|
120
130
|
net_L4: number | null;
|
|
121
131
|
};
|
|
132
|
+
eraClockHAtAge: (t_Ma: number) => number | null;
|
|
133
|
+
eraClockTropicalYearSecondsAtAge: (t_Ma: number) => number;
|
|
134
|
+
eraClockYearInDaysAtAge: (t_Ma: number) => number | null;
|
|
122
135
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solar fraction of the J2000 precession torque from the shared constants.
|
|
3
|
+
* @param {{
|
|
4
|
+
* gmSunKm3S2: number, auKm: number, earthEccentricity: number,
|
|
5
|
+
* gmMoonKm3S2: number, moonDistanceKm: number, moonEccentricity: number, moonInclinationDeg: number,
|
|
6
|
+
* }} c
|
|
7
|
+
* @returns {number} f_S in [0, 1]
|
|
8
|
+
*/
|
|
9
|
+
export function computeSolarTorqueShare(c: {
|
|
10
|
+
gmSunKm3S2: number;
|
|
11
|
+
auKm: number;
|
|
12
|
+
earthEccentricity: number;
|
|
13
|
+
gmMoonKm3S2: number;
|
|
14
|
+
moonDistanceKm: number;
|
|
15
|
+
moonEccentricity: number;
|
|
16
|
+
moonInclinationDeg: number;
|
|
17
|
+
}): number;
|
|
18
|
+
/**
|
|
19
|
+
* @param {{
|
|
20
|
+
* p0ArcsecPerYr: number,
|
|
21
|
+
* solarShare: number,
|
|
22
|
+
* lodSecondsAtAge: (tMa: number) => (number | null),
|
|
23
|
+
* lodJ2000Seconds: number,
|
|
24
|
+
* moonDistanceMetresAtAge: (tMa: number) => (number | null),
|
|
25
|
+
* moonDistanceJ2000Metres: number,
|
|
26
|
+
* yearToTMa: (year: number) => number,
|
|
27
|
+
* }} deps - p0 = 1,296,000/(H/13) (the model's J2000 rate); lodJ2000Seconds
|
|
28
|
+
* the SAME day basis lodSecondsAtAge(0) returns.
|
|
29
|
+
* @returns {{
|
|
30
|
+
* composedRateArcsecPerYrAtAge: (tMa: number) => (number | null),
|
|
31
|
+
* composedPeriodYearsAtAge: (tMa: number) => (number | null),
|
|
32
|
+
* composedRateArcsecPerYrAtYear: (year: number) => (number | null),
|
|
33
|
+
* composedPeriodYearsAtYear: (year: number) => (number | null),
|
|
34
|
+
* composedRateRatioAtAge: (tMa: number) => (number | null),
|
|
35
|
+
* torqueTermAtAge: (tMa: number) => (number | null),
|
|
36
|
+
* lunarTorqueFactorAtAge: (tMa: number) => (number | null),
|
|
37
|
+
* solarShare: number,
|
|
38
|
+
* p0ArcsecPerYr: number,
|
|
39
|
+
* }}
|
|
40
|
+
*/
|
|
41
|
+
export function createComposedPrecession(deps: {
|
|
42
|
+
p0ArcsecPerYr: number;
|
|
43
|
+
solarShare: number;
|
|
44
|
+
lodSecondsAtAge: (tMa: number) => (number | null);
|
|
45
|
+
lodJ2000Seconds: number;
|
|
46
|
+
moonDistanceMetresAtAge: (tMa: number) => (number | null);
|
|
47
|
+
moonDistanceJ2000Metres: number;
|
|
48
|
+
yearToTMa: (year: number) => number;
|
|
49
|
+
}): {
|
|
50
|
+
composedRateArcsecPerYrAtAge: (tMa: number) => (number | null);
|
|
51
|
+
composedPeriodYearsAtAge: (tMa: number) => (number | null);
|
|
52
|
+
composedRateArcsecPerYrAtYear: (year: number) => (number | null);
|
|
53
|
+
composedPeriodYearsAtYear: (year: number) => (number | null);
|
|
54
|
+
composedRateRatioAtAge: (tMa: number) => (number | null);
|
|
55
|
+
torqueTermAtAge: (tMa: number) => (number | null);
|
|
56
|
+
lunarTorqueFactorAtAge: (tMa: number) => (number | null);
|
|
57
|
+
solarShare: number;
|
|
58
|
+
p0ArcsecPerYr: number;
|
|
59
|
+
};
|
|
@@ -55,3 +55,13 @@ export function createYearLengths({ sampleAt, massLossSiderealSecondsAtYearFn, a
|
|
|
55
55
|
/** The planetary λ̇ ratio (diagnostic; ≡1 at J2000). */
|
|
56
56
|
planetaryRelAtYear: (year: number) => number;
|
|
57
57
|
}>;
|
|
58
|
+
/**
|
|
59
|
+
* The published of-date window (plan 06 Phase 3 S2): inside |year − 2000| ≤
|
|
60
|
+
* this span the one-family route is THE published year-length / precession
|
|
61
|
+
* family (the banked tiers — 100-yr and 1000-yr grids, no unbounded sampler
|
|
62
|
+
* growth); beyond it the published surfaces return the unit's SECULAR mean
|
|
63
|
+
* (H(t)/13 for the precession period, the tidal-chain mean year), because the
|
|
64
|
+
* of-date wobble is unresolved there and the deep sampler grows ~0.1 s per Myr
|
|
65
|
+
* of span. A displayed rate must name its window — this is the window.
|
|
66
|
+
*/
|
|
67
|
+
export const ONE_FAMILY_WINDOW_YEARS: 2000000;
|
package/types/index.d.ts
CHANGED
|
@@ -19,12 +19,10 @@ export { createSecularSeriesOverride } from "./planets/secular-series.cjs";
|
|
|
19
19
|
export { createDeepEccChannel } from "./moon/deep-ecc-channel.cjs";
|
|
20
20
|
export { createDeepOrbitalHistory } from "./earth/deep-orbital-history.cjs";
|
|
21
21
|
export { createSiderealYearChannel } from "./earth/sidereal-year-channel.cjs";
|
|
22
|
-
export { createYearLengths } from "./earth/year-lengths.cjs";
|
|
23
22
|
export { createPlanetModel } from "./planets/model.cjs";
|
|
24
23
|
export { createDeltaTCycles } from "./deltat/cycles.cjs";
|
|
25
24
|
export { createDeepTimeLod } from "./deltat/deep-time.cjs";
|
|
26
25
|
export { deltaTEspenakMeeusCanonSeconds } from "./deltat/historical.cjs";
|
|
27
|
-
export { evalClimateL1OrbitalPermil } from "./climate/l1-orbital.cjs";
|
|
28
26
|
export { createEclipseFinders } from "./eclipse/finders.cjs";
|
|
29
27
|
export { createSunLongitudeCorrection } from "./sun/longitude-correction.cjs";
|
|
30
28
|
export function createModel(constants?: Constants, opts?: {
|
|
@@ -73,5 +71,8 @@ export { buildPlanetChainsFromArtifactData, computePlanetElementsAtYear, compute
|
|
|
73
71
|
export { computeEquatorNodeOriginSFrameDeg, convertNodeSFrameToEquatorOriginDeg } from "./planets/inv-plane-frame.cjs";
|
|
74
72
|
export { CHAIN_ARTIFACT, CHAIN_ARTIFACT_HASH } from "./planets/chain-artifact.js";
|
|
75
73
|
export { DEEP_MODES_ARTIFACT, DEEP_MODES_ARTIFACT_HASH } from "./moon/deep-modes-artifact.cjs";
|
|
74
|
+
export { createYearLengths, ONE_FAMILY_WINDOW_YEARS } from "./earth/year-lengths.cjs";
|
|
75
|
+
export { computeSolarTorqueShare, createComposedPrecession } from "./earth/precession-composed.cjs";
|
|
76
76
|
export { createPredictivePrecession, calcPlanetPerihelionLongDeg } from "./planets/predict.cjs";
|
|
77
77
|
export { createMoonRecessionHistory, createSolarChannelBudget } from "./deltat/recession-history.cjs";
|
|
78
|
+
export { evalClimateL1OrbitalPermil, laggedL1Terms, createAlphaGiaChannel } from "./climate/l1-orbital.cjs";
|
|
@@ -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
|
};
|