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 withEphemerisConfig(propagation=PropagationConfig(...), ...). If omitted, one is built from the sugar kwargs below (or defaults).force_model (
ForceModelTier|str|None) – Quick override forconfig.propagation.force_model. Ignored ifconfigis given.uncertainty_method (
UncertaintyMethod|SigmaPoint|MonteCarlo|GaussianMixture|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 input covariance is carried, the observation-partialsObservationSensitivitycontainer. 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)