adam_core.orbit_determination.differential_correction module

adam_core.orbit_determination.differential_correction.residual_function(state_vector: ndarray[tuple[Any, ...], dtype[float64]], mjd_tdb: float, observations: OrbitDeterminationObservations, propagator: Propagator) ndarray[tuple[Any, ...], dtype[float64]][source]

Compute the residuals for a given Cartesian orbit with respect to a a set of observations.

Parameters:
  • state_vector (~numpy.ndarray (6,)) – State vector of the orbit in Cartesian coordinates.

  • mjd_tdb (float) – Time of the state vector in MJD TDB.

  • observations (~thor.orbit_determination.DifferentialCorrectionObservations (N)) – Observations to compute residuals for.

  • propagator (~thor.propagator.Propagator) – Propagator to use to generate ephemeris.

Returns:

residuals – Weighted residual (chi) for each observation.

Return type:

~numpy.ndarray (N,)

adam_core.orbit_determination.differential_correction.fit_least_squares(orbit: Orbits, observations: OrbitDeterminationObservations, propagator: Propagator, ignore: List[str] | None = None, **kwargs) Tuple[FittedOrbits, FittedOrbitMembers][source]

Differentially correct a fitted orbit using least squares. correct a fitted orbit using least squares.

Parameters:
  • orbit (~adam_core.orbits.Orbits (1)) – Orbit to differentially correct.

  • observations (~adam_core.orbit_determination.DifferentialCorrectionObservations (N)) – Observations.

  • propagator (~adam_core.propagator.Propagator) – Propagator to use to generate ephemeris.

  • ignore (list of str) – List of observation IDs to ignore when fitting the orbit with least squares. These observations will be marked as outliers in the fitted orbit members.

  • **kwargs

    Additional keyword arguments to pass to ~scipy.optimize.least_squares. Some of these parameters if not specified will be set to sensible defaults.

    xtol = 1e-12 ftol = 1e-12 gtol = 1e-12 jac = “2-point” x_scale = “jac” bounds = (-np.inf, np.inf) (for each parameter)

Returns:

  • fitted_orbit (~adam_core.orbit_determination.FittedOrbits (1)) – Fitted orbit.

  • fitted_orbit_members (~adam_core.orbit_determination.FittedOrbitMembers (N)) – Fitted orbit members.