empyrean.generate_ephemeris¶
- generate_ephemeris(orbits, observers, config=None, *, force_model=None, uncertainty_method=None, _builtsystem=None)[source]¶
Generate predicted ephemeris (RA/Dec) for orbits at observer locations.
- Parameters:
orbits (
CartesianOrbits|KeplerianOrbits|CometaryOrbits|SphericalOrbits) – Input orbits with optional covariance and non-gravitational parameters.observers (
Observers) – Observer states fromget_observer_states().config (
EphemerisConfig|None) –Full configuration. Construct with
EphemerisConfig(propagation=PropagationConfig(...), ...). If omitted, one is built from the sugar kwargs below (or defaults).config.propagation.ephemeris_overlap_policyandconfig.propagation.excluded_perturbersare both honored here, and one of them is required to generate an ephemeris for an SB441-N16 body (1 Ceres, 2 Pallas, 4 Vesta, …), which is otherwise both the target and one of its own perturbers; seeEphemerisConfig.config.propagation.eventsandconfig.propagation.diagnosticsdo not apply to this call and raise aValueErrorif modified.force_model (
ForceModelTier|str|None) – Quick override forconfig.propagation.force_model. Ignored ifconfigis given.uncertainty_method (
UncertaintyMethod|SigmaPoint|MonteCarlo|GaussianMixture|Auto|str|None) – Optional quick override forconfig.propagation.uncertainty_method. Only the analytic methods are supported for ephemeris:FIRST_ORDER,SECOND_ORDER,AUTO, andGAUSSIAN_MIXTURE(SECOND_ORDERadditionally populates observation Hessians on the resultingObservationSensitivity;GAUSSIAN_MIXTUREis an adaptive-Gaussian-mixture method that is likewise analytic on this path). The sky-plane covariance is a first-order STM projection (J·Φ·Σ·Φᵀ·Jᵀ) that does not consume a sampled ensemble, so the sampling methodsSIGMA_POINTandMONTE_CARLOare rejected with aValueErrorrather than silently downgraded to first order. For a sampled state covariance usepropagate()withSIGMA_POINT; for Monte-Carlo impact probability usecompute_impact_probabilities(). Ignored ifconfigis given._builtsystem (Any)
- Return type:
EphemerisResult- Returns:
EphemerisResult – Wraps the
Ephemeristable and, when the propagation traced the state-transition matrix, the observation-partialsObservationSensitivitycontainer. The STM is traced when the input orbit carries a covariance, and — covariance or not — wheneverconfig.propagation.compute_stm=True: that flag reaches the engine on this path, so partials can be requested for an orbit with no covariance at all. Rows are orbit-major and, within each orbit, follow the observer-input order (sensitivity rows too). Each observer carries its own epoch, so positional pairing against the input observers is safe within an orbit block.
Examples
Defaults (Standard force model, FirstOrder uncertainty):
>>> result = empyrean.generate_ephemeris(orbits, observers)
With a config object:
>>> cfg = EphemerisConfig( ... propagation=PropagationConfig( ... force_model=ForceModelTier.STANDARD, ... uncertainty_method=UncertaintyMethod.SECOND_ORDER, ... ), ... compute_diagnostics=False, ... ) >>> result = empyrean.generate_ephemeris(orbits, observers, cfg)