Overview

See also

For a more detailed description of Sorcha and how it works, please see Merritt et al. (submitted) and Holman et al. (submitted).

How Sorcha Works

In order to conduct detailed population studies on the orbital properties and physical characteristics of the various Solar System small body reservoirs, one must account for all the survey biases (the complex and often intertwined detection biases – brightness limits, pointing, cadence, on-sky motion limits, software detection efficiencies) in one’s discovery survey (see Lawler et al. 2018 for a more detailed discussion). Sorcha is an open-source Python Solar System survey simulator designed for the Vera C. Rubin Observatory Legacy Survey of Space and Time (LSST). Sorcha works by the user inputting a synthetic Solar System small body population. The software forward models the input population to simulate what the survey should have detected using a series of calculations and filters. These can be switched on or off and customized as needed via a configuration file. In this way, a synthetic population can be compared to the real survey's discoveries.

The inputs that Sorcha requires are shown in the figure below. The software requires input files that describe the small bodies to simulate and the details of the survey such as the observation history and optionally the layout of the survey's camera. Sorcha outputs simulated detection data, including each time, position, and apparent magnitude at which a synthetic small body was detected based on various options set up in a configuration file. Sorcha can account for rotational light curve and cometary activity effects; we have set up Sorcha such that the user can provide their own custom formulations and import them into Sorcha to use.

An overview of the inputs and outputs for Sorcha

Sorcha is split into two stages: ephemeris generation and post-processing. Ephemeris generation calculates the on-sky position of the simulated objects and matches them to the survey observations in which they appear. Post-processing performs the apparent magnitude calculations and apply the rest of the survey's observational biases (such as detection effiency) in order to identify which objects in the input small body population would have been discovered by the discovery and the observations the objects would have been detected in.

Sorcha by default uses its own ephemeris generator to propagate the orbits and translate them to on-sky locations and rates. Sorcha's ephemeris generator is powered by ASSIST, a software package for ephemeris-quality integrations of test particles, and the REBOUND N-body integrator. If the user prefers to use a different generator, Sorcha can be initialized with an external ephemeris file with pre-calculated ephemerides of the input synthetic orbital population.

The default main steps, calculations, and filters within Sorcha that are used to estimate what the LSST would discover are shown below.

An overview of the LSST workflow

Design Philosophy

Sorcha has been designed in a modular way such that each calculation and filtering step is written as its own function. This makes it easy for modifications in the future if required by users. How Sorcha runs can be customized via its configuration file. Sorcha has been designed with LSST in mind, but many of the filters already developed will be applicable to other Solar System surveys.

Note

Contributions are very welcome. If there is a feature or functionality not yet available in Sorcha, we encourage you to propose the feature as an issue in the main github repository or share your code with the new enhancements. If you are interested in incorporating your survey into Sorcha do reach out. Further details can be found on our Reporting Issues, Proposing Changes, and Contributing page.

Using Sorcha in Your Science

We made Sorcha to be a tool for the small body planetary astronomer community. For a wide variety of use cases, the user should be able to use Sorcha straight out of the box.

Note

If Sorcha enabled your science, please make sure to give the proper credit in your talks and papers by citing the relevant Sorcha papers and the python packages that the software is built upon. Further details can be found here.

Warning

We have designed Sorcha such that it should be straightforward to add in additional filters or rotational light curve/activity classes. As with any open-source package, once the user has made modifications to the code, it is the responsibility of the user to confirm these changes provide an accurate result.