Find_Orb - B612-Asteroid-Institute/orb_it GitHub Wiki

Find_Orb was created by Bill Gray as a personal project to track asteroids.

Inquiring Minds are sometimes curious about the entire "black art" of turning astrometric data into orbital elements. This was my main motivation for writing Find_Orb. (And it's turned out to be useful for instructional purposes; I occasionally hear from people using Find_Orb as part of their coursework.) You can find out what effect Jupiter has on the orbit of an object of interest, or how certain observations worked to change the knowledge of the orbit.

-Bill Gray on why Find_Orb exists

You can find the documentation and software at Project Pluto's website, https://www.projectpluto.com/find_orb.htm.

Installation

For most Find_Orb can be installed with conda. It can be found in the conda repo here, https://anaconda.org/conda-forge/findorb. It just requires a regular conda install.

FINDORB() backend

Find_Orb integrator backend for orb_it testing.

Keyword Arguments

  • config_file : str, optional, Path to Find_Orb's configuration file.

Attributes

  • name : str, Name of the integrator.

Integrator Functions

FINDORB()._propagateOrbits()

Propagate orbits to t1.

Parameters

  • orbits : ~orb_it.raiden.Orbits, Orbits to propagate.
  • t1 : ~astropy.time.core.Time, Times to which to propagate each orbit.
  • out_dir : str, optional, Save input and output files to this directory. Will create a sub directory called propagation inside this directory.

Returns

  • propagated : ~pandas.DataFrame, Orbits propagated to t1 (sorted by orbit_ids and t1).
  • process_returns : list, List of subprocess CompletedProcess objects.

FINDORB()._generateEphemeris()

Generate ephemerides for each orbit and observer.

Parameters

  • orbits : ~orb_it.raiden.Orbits, Orbits to propagate.
  • observers : dict or ~pandas.DataFrame, A dictionary with observatory codes as keys and observation_times (~astropy.time.core.Time) as values.
  • out_dir : str, optional, Save input and output files to this directory. Will create a sub directory called ephemeris inside this directory.

Returns

  • ephemeris : ~pandas.DataFrame, Ephemerides for each orbit and observer.
  • process_returns : list, List of subprocess CompletedProcess objects.

FINDORB()._orbitDetermination()

Determine orbits from a set of observations.

Parameters

  • observations : ~pandas.DataFrame, DataFrame containing the observational data.
  • full_output : bool, optional, If True, return the ephemeris and the process return codes and residuals.
  • out_dir : str, optional, Path to the output directory.

Returns

  • od_orbits : ~pandas.DataFrame, DataFrame containing the orbital data.
  • If full_output is True,
    • od_orbit_members : ~pandas.DataFrame, DataFrame containing the residuals.
    • process_returns : list, List of return statements from subprocess.run() calls.