empyrean.PropagationConfig

class PropagationConfig(force_model=ForceModelTier.STANDARD, excluded_perturbers=<factory>, uncertainty_method=UncertaintyMethod.FIRST_ORDER, compute_stm=False, frame=Frame.ECLIPTICJ2000, events=<factory>, diagnostics=<factory>, num_threads=None, advanced=<factory>)[source]

Bases: object

Configuration for orbit propagation.

Sensible defaults out of the box; adjust fields when you need to deviate. Default output frame is Frame.ECLIPTICJ2000; set frame=Frame.ICRF for ICRF output.

Parameters:
  • force_model (ForceModelTier) – Force-model preset. See ForceModelTier for the available tiers and what each includes.

  • excluded_perturbers (list[Origin | str]) – Bodies to omit from the perturber set. Useful when propagating an asteroid that the force model would otherwise include as a perturber — exclude it from its own perturber set so it does not self-attract. Pass Origin instances (e.g. [Origin.asteroid(1)]) or canonical names.

  • uncertainty_method (UncertaintyMethod | SigmaPoint | MonteCarlo | str) – Uncertainty propagation method. See UncertaintyMethod and the parameterized variants (SigmaPoint, MonteCarlo).

  • compute_stm (bool) – Produce STMs even when the input has no covariance.

  • frame (Frame) – Output reference frame.

  • events (EventConfig) – Event-detection configuration.

  • diagnostics (DiagnosticsConfig) – Per-trajectory diagnostic outputs.

  • num_threads (int | None) – Threads for multi-orbit propagation. None (default) and 0 both mean “use all available cores” (Rayon default); positive n pins exactly n threads. Each orbit is integrated on a single thread; parallelism is across orbits, not within a single trajectory.

  • advanced (AdvancedIntegratorConfig) – Integrator-tuning knobs (rarely touched).

Methods

__init__([force_model, excluded_perturbers, ...])

Attributes

compute_stm

epsilon

Back-compat alias for advanced.epsilon.

force_model

frame

num_threads

uncertainty_method

excluded_perturbers

events

diagnostics

advanced

force_model: ForceModelTier = 'standard'
excluded_perturbers: list[Origin | str]
uncertainty_method: UncertaintyMethod | SigmaPoint | MonteCarlo | str = 'first_order'
compute_stm: bool = False
frame: Frame = 'eclipticj2000'
events: EventConfig
diagnostics: DiagnosticsConfig
num_threads: int | None = None
advanced: AdvancedIntegratorConfig
property epsilon: float | None

Back-compat alias for advanced.epsilon. Returns None if the integrator tolerance is at its default; otherwise returns the override.