@neilberkman/sidereon 0.15.0 → 0.16.1

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.
@@ -415,6 +415,20 @@ export interface ZonalForceConfig {
415
415
  };
416
416
  }
417
417
 
418
+ /** Embedded EGM96 spherical-harmonic geopotential selector. */
419
+ export interface SphericalHarmonicForceConfig {
420
+ /** Constant set used with the embedded EGM96 coefficient table. Defaults to "earth". */
421
+ model?: "earth" | "egm96" | "EGM96";
422
+ /** Highest active harmonic degree. Defaults to 8 when omitted. */
423
+ maxDegree?: number;
424
+ /** Highest active harmonic order. Defaults to `maxDegree` when omitted. */
425
+ maxOrder?: number;
426
+ /** Alias for `maxDegree`. */
427
+ degree?: number;
428
+ /** Alias for `maxOrder`. */
429
+ order?: number;
430
+ }
431
+
418
432
  /** Sun/Moon third-body force selector. */
419
433
  export interface ThirdBodyForceConfig {
420
434
  sun?: boolean;
@@ -436,6 +450,9 @@ export interface CompositeForceModelConfig {
436
450
  twoBodyMuKm3S2?: number;
437
451
  muKm3S2?: number;
438
452
  zonal?: boolean | "none" | "j2" | "j2_j6" | "j2ThroughJ6" | ZonalForceConfig;
453
+ sphericalHarmonic?: boolean | "none" | "earth" | "egm96" | SphericalHarmonicForceConfig;
454
+ /** Alias for `sphericalHarmonic`. */
455
+ geopotential?: boolean | "none" | "earth" | "egm96" | SphericalHarmonicForceConfig;
439
456
  thirdBody?: boolean | "none" | "sun" | "moon" | "sun_moon" | "sunMoon" | ThirdBodyForceConfig;
440
457
  solarRadiationPressure?: false | "none" | SolarRadiationPressureConfig;
441
458
  srp?: false | "none" | SolarRadiationPressureConfig;
@@ -449,14 +466,31 @@ export interface EarthPhaseAForceModelConfig {
449
466
  srp?: false | "none" | SolarRadiationPressureConfig;
450
467
  }
451
468
 
469
+ /** Canonical Earth Phase B perturbation set with embedded spherical harmonics. */
470
+ export interface EarthPhaseBForceModelConfig {
471
+ kind: "earth_phase_b" | "earthPhaseB";
472
+ /** Highest active harmonic degree. Defaults to 8 when omitted. */
473
+ maxDegree?: number;
474
+ /** Highest active harmonic order. Defaults to `maxDegree` when omitted. */
475
+ maxOrder?: number;
476
+ /** Alias for `maxDegree`. */
477
+ degree?: number;
478
+ /** Alias for `maxOrder`. */
479
+ order?: number;
480
+ solarRadiationPressure?: false | "none" | SolarRadiationPressureConfig;
481
+ srp?: false | "none" | SolarRadiationPressureConfig;
482
+ }
483
+
452
484
  /** Numerical state-propagation force model selector. */
453
485
  export type ForceModel =
454
486
  | "two_body"
455
487
  | "two_body_j2"
456
488
  | "composite"
457
489
  | "earth_phase_a"
490
+ | "earth_phase_b"
458
491
  | CompositeForceModelConfig
459
- | EarthPhaseAForceModelConfig;
492
+ | EarthPhaseAForceModelConfig
493
+ | EarthPhaseBForceModelConfig;
460
494
 
461
495
  /** Numerical state-propagation integrator selector. */
462
496
  export type Integrator = "dp54" | "rk4";
@@ -786,7 +820,7 @@ export interface OrbitResidualLedger {
786
820
  arcSpan: { timeScale: string; startJ2000S: number; endJ2000S: number; durationS: number };
787
821
  }
788
822
 
789
- /** Report returned by `fitSp3PreciseOrbit` and `fitPreciseEphemerisSampleOrbit`. */
823
+ /** Report returned by the SP3, ECEF SP3, and sample-backed orbit-fit entries. */
790
824
  export interface OrbitFitReport {
791
825
  fits: OrbitFitSolution[];
792
826
  ledger: OrbitResidualLedger;