empyrean.EphemerisConfig

class EphemerisConfig(propagation=<factory>, max_light_time_iterations=3, light_time_tolerance_days=1e-10, compute_diagnostics=True)[source]

Bases: object

Configuration for empyrean.generate_ephemeris().

Embeds a PropagationConfig. The knobs the integrator consults while bringing each orbit to its observation epoch all apply: force_model, excluded_perturbers, uncertainty_method, compute_stm, frame, num_threads, ephemeris_overlap_policy, and the whole advanced block. Ephemeris-specific fields (light-time iteration limits, diagnostic computation) live on this struct directly.

Two sub-configs do not apply: propagation.events and propagation.diagnostics. Ephemeris generation runs with event detection and timeseries diagnostics off, and EphemerisResult carries neither, so modifying either one raises a ValueError naming the offending fields rather than being silently dropped. Leave them at their defaults and use empyrean.propagate() when you need them.

Generating an ephemeris for an SB441-N16 body (1 Ceres, 2 Pallas, 4 Vesta, …) at Standard tier needs one of the two escapes from the self-perturbation case: propagation.ephemeris_overlap_policy = EphemerisOverlapPolicy.EXCLUDE_AND_INTEGRATE, or naming the body in propagation.excluded_perturbers. Without either, the engine substitutes the body’s own SPK states, produces no dense trajectory, and the call fails.

Parameters:
  • propagation (PropagationConfig) – Inner propagation configuration. Default: PropagationConfig() (Standard, FirstOrder, etc.). events and diagnostics must be left at their defaults.

  • max_light_time_iterations (int) – Light-time convergence loop cap. Default 3.

  • light_time_tolerance_days (float) – Light-time convergence tolerance in days. Default 1e-10.

  • compute_diagnostics (bool) – Compute phase angle, elongation, heliocentric distance, and apparent magnitude. Skip during DC iterations for speed. Default True.

Methods

__init__([propagation, ...])

Attributes

compute_diagnostics

light_time_tolerance_days

max_light_time_iterations

propagation

propagation: PropagationConfig
max_light_time_iterations: int = 3
light_time_tolerance_days: float = 1e-10
compute_diagnostics: bool = True