PyRoOrb ⓘ
Orbital elements
Physical & classification
Force model
Constrained fit
How the orbit was fit
    Observatories
    Heliocentric orbit (3D — drag to rotate, scroll to zoom)
    ecliptic J2000 · ☉ at origin
    On-sky location
    Click an ephemeris row to plot its sky position.
    O−C residuals vs time ● RA·cosδ ● Dec
    PyRoOrb Python robust orbit determination

    Automatic fitting of small-body astrometry to get a high-quality orbit even with sparse or bad data. Suspect observations and mislinked tracklets are automatically excluded without losing valid tracklets. Automatically applies nongravs when needed while also detecting and applying asteroidal perturbers. Uncertainties, ephemerides, two-object proposed identification analysis, and a native search of the MPC Isolated Tracklet File for unattributed tracklets of the object right in a browser tab. ITF search is recursive for maximum discovery, tuned for speed, runs against live SBN ITF contents, and tries a variety of paths until it finds one that works, including LOV and nongravs when needed.

    The fitting engine and user interface are very much find_orb inspired, but pure-Python, cross-platform and pip-installable.

    Standing on the shoulders of giants:

    • find_orb (Bill Gray / Project Pluto) — the reference and intellectual foundation. Its initial-orbit cascade, progressive arc extension & automatic blunder rejection, per-obs weighting, MOID / orbit class / uncertainty parameter, nongravitational forces treatment, and constrained fits are emulated here. Logic openly ported in multiple places.
    • ASSIST (Holman et al.) — solar-system REBOUND setup with ephemeris-quality forces: JPL DE440, general relativity, separate Earth & Moon, and the optional 16 massive-asteroid perturbers.
    • REBOUND (Rein & Liu) — the python-based IAS15 integrator, allowing PyRoOrb to run anywhere python runs.
    • Observations are fetched as ADES live from the MPC Observations API.

    CLI and PyPI coming soon, when it will be released under an open-source license on GitHub. Significant use of Agentic AI accelerated development.

    Settings host & data inventory — read-only for now
    Loading host status…
    Nothing here is editable yet — this is an inspector for which ephemerides, tables and caches resolved on this host. A missing optional file silently changes the fit, so this is where to look when two hosts disagree.
    Paste observations OBS80 (MPC 80-col) or ADES (PSV / XML)
    ITF search hunt the MPC Isolated Tracklet File for unlinked observations of this object
    Runs live against the SBN database (typically 30–120 s; a very uncertain orbit can take longer). A found linkage replaces the view with the extended fit — nothing is ever submitted to the MPC from here.
    ITF search trace live — the search is narrating every decision as it makes it
    
        
    Ephemeris export
    Export