empyrean.PlanningConfig¶
- class PlanningConfig(force_model=ForceModelTier.STANDARD, epsilon=1e-09, observatories=<factory>, num_threads=0)[source]
Bases:
objectConfiguration for
empyrean.evaluate_plan().Defaults match
PlanningConfig::default()on the Rust side, so a default-constructed config is a no-op across the boundary.Mirrors
empyrean::PlanningConfig.Methods
__init__([force_model, epsilon, ...])Attributes
epsilonAdaptive integrator truncation-error tolerance.
force_modelForce-model tier for the planning propagation.
num_threads0= use all available cores.observatoriesPer-site astrometric assumptions.
- Parameters:
- force_model: ForceModelTier = 'standard'
Force-model tier for the planning propagation. A bare wire string (
"approximate"/"basic"/"standard") is accepted and coerced.
- epsilon: float = 1e-09
Adaptive integrator truncation-error tolerance.
- observatories: list[ObservatoryConfig]
Per-site astrometric assumptions.
Not consulted by
empyrean.evaluate_plan(), which reads each optical candidate’s σ from that candidate’s ownPlannedObservationand applies engine-set observability filters that no field on this config reaches. Supplying a non-empty list therefore raisesValueError— at construction, and again insideempyrean.evaluate_plan()for a config mutated after construction — rather than being accepted and ignored. The field exists because it is part of the shared planning configuration; it will become live if a surface that reads it is exposed.
- num_threads: int = 0
0= use all available cores.Not consulted by
empyrean.evaluate_plan(), which evaluates one orbit and does not shard the work. Any other value raisesValueError— at construction, and again insideempyrean.evaluate_plan()for a config mutated after construction — rather than being accepted and ignored.