Pith. sign in

REVIEW 3 major objections 4 minor 32 references

Sorcha: Optimized Solar System Ephemeris Generation

T0 review · 3 major / 4 minor · reviewed 2026-08-07 · deepseek-v4-flash

Pith's one-line read Sorcha's picket-and-HEALPix scheme generates accurate ephemerides for millions of orbits across millions of survey visits, matching brute force while cutting runtime dramatically.

desk verdict A well-engineered ephemeris generator that solves a real scaling problem, with an honest but unproven completeness claim for fast-moving objects. read the letter →

arxiv 2506.02140 v1 pith:PPKLKEH6 submitted 2025-06-02 astro-ph.EP astro-ph.IMphysics.comp-ph

classification astro-ph.EPastro-ph.IMphysics.comp-ph
keywords solarsystemsurveysimulationephemerisgenerationHEALPixpicketdatastructureASSISTintegratorLSSTmoving-objectdetectioncandidateselection
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

Sorcha sets out to remove the computational bottleneck that made survey simulators impractical at LSST scale: deciding which input orbits fall in which exposure. Its ephemeris generator maintains a per-night 'picket' of HEALPix sky tiles, tagging each tile with the objects whose interpolated paths cross it, so each exposure only needs precise ephemeris calculations for the objects in the tiles it overlaps. The paper validates this optimization against brute-force ephemeris calculation and reports identical object–exposure identifications at a fraction of the runtime (for example, 12 seconds versus 817 seconds for 10 main-belt asteroids over about 216,000 visits). If the method holds at scale, it makes full ten-year LSST survey simulations, and similar large-archive searches, tractable with modest computing resources.

What carries the argument

The load-bearing object is the picket: a per-night data structure pairing HEALPix tile indices with the IDs of objects that crossed those tiles. HEALPix is an equal-area pixelization of the sky; at the default nside = 128 its tiles are about 0.45 degrees across. The picket is filled from per-orbit ASSIST integrations, an ephemeris-grade integrator built on REBOUND's IAS15 scheme whose stored 15th-order polynomial coefficients allow positions inside a completed time step to be evaluated roughly 30,000 times faster than a full step. The structure works because most solar-system objects move slowly enough that 101 Lagrange-interpolated samples across three nights capture every tile the object will traverse, so exposures processed within that two-day window can safely reuse the picket.

What would settle it

Compare Sorcha's optimized output with brute-force ephemeris calculation on a synthetic population of close-approaching NEOs with apparent motions of several degrees per day over an LSST-like cadence; any object–exposure pair found by brute force but absent from the optimized run refutes the no-miss claim. A cheaper targeted test is to construct an orbit whose path between two picket nights curves through a tile that none of the 101 samples touches and check whether Sorcha assigns the object to that tile.

Watch

Extended reading notes

Core claim

The central claim is that candidate selection by HEALPix tiles, called a picket, is an exact-enough pre-filter for solar-system ephemeris generation at LSST scale. For each object, Sorcha computes topocentric positions on three successive nights, interpolates them with third-order Lagrange polynomials, samples the path at 101 points, and records the object's ID in every tile the sampled path touches. Each exposure then collects candidate objects only from the tiles its circular field overlaps, computes their exact positions at the exposure midpoint with per-orbit ASSIST integration, and keeps those inside the field radius. In validation runs the optimized pipeline found the same observations as a brute-force calculation: a month of LSST-like visits for 433 Eros, 2011 OB60, and 2010 TU149 matched independent JPL-derived ephemerides, and timing tests showed large speedups, such as 15 seconds versus 1,600 seconds for 100 main-belt asteroids over about 216,000 visits.

Load-bearing premise

The no-miss guarantee rests on the assumption that the sky tiles recorded for each object cover every tile it genuinely crosses, which in turn assumes the object's motion between the 101 sampled points and between nightly pickets is smooth enough for Lagrange interpolation to catch it.

Editorial extensions

If this is right

  • Full LSST-scale simulations become practical: millions of synthetic orbits can be checked against the complete survey cadence, something earlier simulators could not do.
  • The ephemeris generator is separable from the rest of Sorcha, so it can be embedded in other pipelines, such as the Rubin known-object association software.
  • Because every orbit gets its own adaptive integration, one code path can handle NEOs, main-belt asteroids, TNOs, comets, and interstellar objects without re-tuning.
  • The candidate list produced per exposure carries exact positions and rates of motion, so later magnitude and detectability stages do not recompute ephemerides.
  • The algorithm is integrator-agnostic, meaning improvements in n-body integration speed can be dropped in without redesigning the picket scheme.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The strongest untested edge is the fast-mover gap: a close NEO can curve sharply between the 101 interpolation samples, so the no-miss guarantee may fail exactly for the objects most worth simulating; the paper's proposed future 'always brute-force' shortlist indicates the authors know this.
  • A natural extension is a per-object apparent-speed bound computed at picket time, expanding the tile set by the maximum angular travel to make the candidate selection conservative rather than heuristic.
  • The same tile-picket structure inverted, storing coarse-time-slice pickets and querying by tile, would let archives like MAST or Astro Data Lab find which known objects were imaged in a given exposure, a use the paper only gestures at.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 4 minor

Summary. The paper describes the ephemeris-generation algorithm used by Sorcha, a survey simulator for the Rubin Observatory LSST. The single-object pipeline integrates test particles with ASSIST (using the JPL DE440/441 ephemerides) and computes topocentric positions with light-time iteration. For large surveys, Sorcha builds a 'picket' from three successive nightly positions, interpolates with third-order Lagrange polynomials, maps the object to the HEALPix tiles it traverses, and integrates only the candidates that fall in the tiles overlapping an exposure. The authors validate the positions against JPL Horizons (tens of microarcseconds for gravitationally pure cases) and against spacerocks, and they compare the optimized detection lists with dense JPL ephemerides for three objects over one month of LSST-like visits. Timing tests on 10-15,000 objects and ~216,000 visits indicate speedups of order 10-100x versus calculating every object at every visit. The paper claims the method can handle millions of orbits and visits.

Significance. This is a timely and useful software contribution. The core optimization, using approximate sky-tile membership to prune the expensive integration to a small candidate set, is a sensible and broadly applicable design, and the open-source implementation with detailed cross-validation is a strength. The position accuracy achieved by ASSIST within Sorcha is convincingly demonstrated. However, two load-bearing parts of the paper need attention before the headline claims can be accepted: the completeness ('no missed objects') guarantee for fast-moving objects is not established, and the scalability claim for millions of objects and visits is not backed by a benchmark at that scale. With a focused revision adding a fast-mover stress test and a larger scaling measurement, or appropriately hedging the abstract, the paper would be a solid methods reference.

major comments (3)
  1. [Abstract; §4] The abstract states that Sorcha can handle 'millions of input orbits and surveys with millions of visits' and identify which exposures objects cross, but the largest timing runs in §4 use 15,000 objects and ~216,000 visits, and the detection-completeness validation uses only three objects over one month. The load-bearing scale claim is therefore not demonstrated. Please add a benchmark at 10^5-10^6 orbits (or a scaling analysis that extrapolates the observed behavior) and/or revise the abstract to claim only the demonstrated scale.
  2. [§3.4; §5] The completeness of the optimized algorithm relies on the assumption that the set of HEALPix tiles computed from 101 interpolated samples of a third-order Lagrange polynomial between three nightly positions contains every tile the object actually crosses. For a fast-moving close-approach object, the trajectory can cross a tile and leave it between two samples (with ~0.45-degree tiles at nside=128 and ~28.8-minute sample spacing over a two-day picket), or the polynomial can deviate from the curved true path near closest approach. The caveat in §5 that 'it is difficult to prove correctness in all cases' is an admission that the no-miss claim is unproven. I recommend adding a targeted stress test with synthetic high-rate NEO or impactor orbits (apparent motion of several degrees per day) comparing optimized and brute-force detection sets, or explicitly restricting the completeness claim to the tested population.
  3. [§4] The 'same detections as brute force' validation compares Sorcha's output with dense JPL ephemerides that are linearly interpolated to the visit times, and it covers only one NEO (433 Eros), one MBA, and one TNO. This is a good positional validation, but it does not exercise the fast-moving, strongly non-linear regime that motivated the picket design, and it cannot support the general no-miss conclusion in the abstract. The brute-force runs used for timing compare execution times only, not detection lists. Please either broaden the validation population or soften the conclusion to 'no missed observations for the tested cases.'
minor comments (4)
  1. [§2.2] The heading 'Coordinate Conversations' appears to be a typo for 'Coordinate Conversions'.
  2. [§3.4] In the sentence describing the Lagrange interpolation, 'across adjacent three adjacent nights' should read 'across three adjacent nights'.
  3. [§3.1] The buffer radius added to the camera field of view is described qualitatively; please state the default value or how it is set, since it affects the completeness-efficiency trade-off.
  4. [§5] The second bullet notes that including a perturber as a test particle gives wildly inaccurate results; a sentence pointing users to how to disable or replace the perturber list in ASSIST would be helpful.

Circularity Check

0 steps flagged · score 0.0 of 10

No circularity: the validation targets are independent of the algorithm's tunable parameters, and the only notable self-citation (ASSIST) is a supporting component with external validation.

full rationale

The paper's derivation chain is self-contained with respect to its validation. The optimized ephemeris generator is tested by comparing its output against a brute-force application of the same per-object integration and against JPL Horizons ephemerides, not by fitting any model parameter to those outputs. The key tunable choices (HEALPix nside=128, one-day picket interval, 101 interpolation points) are described as adjustable defaults and are not tuned to reproduce the validation results. The only prominent self-citation is ASSIST (Holman et al. 2023), whose first author overlaps with this paper; however, ASSIST is a reusable, code-released integrator that is independently validated here against JPL state vectors and astrometry across multiple orbit types, so the citation is not load-bearing in a circular sense. The no-miss claim for fast-moving objects is explicitly qualified in Section 5 ('it is difficult to prove correctness in all cases'), which is an honest limitation rather than a circular reduction. No equation or fitted parameter is defined in terms of the quantity it is used to predict, so no circularity is present.

Assumptions & free parameters 4 free parameters · 5 assumptions · 0 invented entities

Sorcha relies on ASSIST's dynamical model, a set of hand-tuned tiling and interpolation defaults, and the completeness of the picket candidate-selection scheme. None of these are fitted to the validation targets, so the scientific claim is not circular, but the no-miss guarantee is only as strong as the interpolated-tile coverage assumption.

free parameters (4)
  • HEALPix nside = 128 (0.45 degree pixel scale)
    Default scale for assigning objects to sky tiles; configurable. It is a hand-tuned performance and accuracy knob; the paper says it worked well for all known solar system populations.
  • Picket interval = 1 day
    Interval between rebuilt pickets; configurable, set to match ground-based cadence. Affects memory and how far a fast object can move between updates.
  • Interpolation samples per picket = 101
    Number of positions evaluated from Lagrange-interpolated nightly positions to record HEALPix crossings; configurable.
  • Light time iteration count = 3
    Fixed iteration count used to solve the implicit light-time equation; verified that a fourth iteration does not change results.
assumptions (5)
  • domain assumption ASSIST with DE440/441 and 16 asteroid perturbers produces ephemeris-quality positions for test particles
    Section 2.3: all ephemeris accuracy ultimately inherits ASSIST's dynamical model, including planets, Moon, 16 asteroids, and relativistic corrections. ASSIST is cited and externally tested, not re-derived here.
  • domain assumption A circular sky region with buffer around the camera FOV contains the true footprint, and any object crossing that region will cross at least one overlapped HEALPix tile
    Section 3.1 and 3.3: FOV selection relies on this containment; the buffer size is not quantified in the paper.
  • ad hoc to paper Topocentric motion between three successive nightly positions is smooth enough for third-order Lagrange interpolation with 101 samples to capture all HEALPix tiles crossed in the picket interval
    Section 3.4: this underpins the no-miss guarantee; Section 5 acknowledges that correctness for very fast-moving objects is difficult to prove.
  • domain assumption Observatory positions from SPICE ITRF93 rotation and MPC observatory codes are accurate to about 10 meters
    Section 2.1: comparison to Horizons gives about 10 m agreement, sufficient for the astrometric precision requirements discussed.
  • standard math The universal-variables formulation of Stumpff, as described in Danby, correctly transforms Keplerian elements to state vectors for all physically allowed eccentricities
    Section 2.2: used to handle circular, parabolic, and hyperbolic orbits; validated against Horizons state vectors for representative objects.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Sorcha: Optimized Solar System Ephemeris Generation." pith.science (2026). https://pith.science/paper/PPKLKEH6

@misc{pith2026250602140,
  author       = {Pith},
  title        = {Pith review of: Sorcha: Optimized Solar System Ephemeris Generation},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/PPKLKEH6}},
  note         = {Machine review of arXiv:2506.02140}
}
read the original abstract

Sorcha is a solar system survey simulator built for the Vera C. Rubin Observatory's Legacy Survey of Space and Time (LSST) and future large-scale wide-field surveys. Over the ten-year survey, the LSST is expected to collect roughly a billion observations of minor planets. The task of a solar system survey simulator is to take a set of input objects (described by orbits and physical properties) and determine what a real or hypothetical survey would have discovered. Existing survey simulators have a computational bottleneck in determining which input objects lie in each survey field, making them infeasible for LSST data scales. Sorcha can swiftly, efficiently, and accurately calculate the on-sky positions for sets of millions of input orbits and surveys with millions of visits, identifying which exposures these objects cross, in order for later stages of the software to make detailed estimates of the apparent magnitude and detectability of those input small bodies. In this paper, we provide the full details of the algorithm and software behind Sorcha's ephemeris generator. Like many of Sorcha's components, its ephemeris generator can be easily used for other surveys.

Figures

Figures reproduced from arXiv: 2506.02140 by the authors.

Figure 1
Figure 1. Cartoon schematic of ephemeris generation within Sorcha. Each color represents a different moving object on a different orbit. Slower moving objects will cover fewer HEALPix tiles. The green circle represents an area slightly bigger than LSSTCam’s footprint. For the given observation time, any orbits with a HEALPix tile within the circle are integrated to calculate their exact positions at the time of the observatio… view at source ↗

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

32 extracted references · 5 canonical work pages

  1. [1]

    2018, Planet

    Acton, C., Bachman, N., Semenov, B., & Wright, E. 2018, Planet. Space Sci., 150, 9, doi: 10.1016/j.pss.2017.02.013

  2. [2]

    Acton, C. H. 1996, Planet. Space Sci., 44, 65, doi: 10.1016/0032-0633(95)00107-7

  3. [3]

    2020, The Journal of Open Source Software, 5, 2050, doi: 10.21105/joss.02050 12 http://www.astropy.org Astropy Collaboration, Robitaille, T

    Annex, A., Pearson, B., Seignovert, B., et al. 2020, The Journal of Open Source Software, 5, 2050, doi: 10.21105/joss.02050 12 http://www.astropy.org Astropy Collaboration, Robitaille, T. P., Tollerud, E. J., et al. 2013, A&A, 558, A33, doi: 10.1051/0004-6361/201322068 Astropy Collaboration, Price-Whelan, A. M., Sip˝ ocz, B. M., et al. 2018, AJ, 156, 123,...

  4. [4]

    H., Bernstein, G

    Bernardinelli, P. H., Bernstein, G. M., Sako, M., et al. 2022, ApJS, 258, 41, doi: 10.3847/1538-4365/ac3914

  5. [5]

    H., Smotherman, H., Langford, Z., et al

    Bernardinelli, P. H., Smotherman, H., Langford, Z., et al. 2024, AJ, 167, 134, doi: 10.3847/1538-3881/ad1527 13

  6. [6]

    B., Ivezi´ c,ˇZ., Jones, R

    Bianco, F. B., Ivezi´ c,ˇZ., Jones, R. L., et al. 2022, ApJS, 258, 1, doi: 10.3847/1538-4365/ac3e72

  7. [7]

    Danby, J. M. A. 1992, Fundamentals of celestial mechanics

  8. [8]

    2020, Icarus, 338, 113517, doi: 10.1016/j.icarus.2019.113517 G´ orski, K

    Jedicke, R. 2020, Icarus, 338, 113517, doi: 10.1016/j.icarus.2019.113517 G´ orski, K. M., & Hivon, E. 2011, HEALPix: Hierarchical Equal Area isoLatitude Pixelization of a sphere, Astrophysics Source Code Library, record ascl:1107.018

Show all 32 references
  1. [9]

    K., & Spahr, T

    Grav, T., Mainzer, A. K., & Spahr, T. 2016, AJ, 151, 172, doi: 10.3847/0004-6256/151/6/172

  2. [10]

    R., Millman, K

    Harris, C. R., Millman, K. J., van der Walt, S. J., et al. 2020, Nature, 585, 357, doi: 10.1038/s41586-020-2649-2

  3. [11]

    J., Akmal, A., Farnocchia, D., et al

    Holman, M. J., Akmal, A., Farnocchia, D., et al. 2023, PSJ, 4, 69, doi: 10.3847/PSJ/acc9a9

  4. [12]

    J., Seligman, D

    Hoover, D. J., Seligman, D. Z., & Payne, M. J. 2022, PSJ, 3, 71, doi: 10.3847/PSJ/ac58fe Ivezi´ c,ˇZ., Kahn, S. M., Tyson, J. A., et al. 2019, ApJ, 873, 111, doi: 10.3847/1538-4357/ab042c

  5. [13]

    L., Chesley, S

    Jones, R. L., Chesley, S. R., Connolly, A. J., et al. 2009, Earth Moon and Planets, 105, 101, doi: 10.1007/s11038-009-9305-z

  6. [14]

    L., Slater, C

    Jones, R. L., Slater, C. T., Moeyens, J., et al. 2018, Icarus, 303, 181, doi: 10.1016/j.icarus.2017.11.033

  7. [15]

    2016, in Positioning and Power in Academic Publishing: Players, Agents and Agendas (IOS Press), 87–90

    Kluyver, T., Ragan-Kelley, B., P´ erez, F., et al. 2016, in Positioning and Power in Academic Publishing: Players, Agents and Agendas (IOS Press), 87–90. https://eprints.soton.ac.uk/403913/

  8. [16]

    K., Pitrou, A., & Seibert, S

    Lam, S. K., Pitrou, A., & Seibert, S. 2015, in Proc. Second Workshop on the LL VM Compiler Infrastructure in HPC, 1–6, doi: 10.1145/2833157.2833162 LSST Science Collaboration, Abell, P. A., Allison, J., et al. 2009, ArXiv e-prints. https://arxiv.org/abs/0912.0201

  9. [17]

    2010, in Proceedings of the 9th Python in Science Conference, ed

    McKinney, W. 2010, in Proceedings of the 9th Python in Science Conference, ed. St´ efan van der Walt & Jarrod Millman, 56 – 61, doi: 10.25080/Majora-92bf1922-00a

  10. [18]

    P., Chesley, S

    Naidu, S. P., Chesley, S. R., & Farnocchia, D. 2017, in AAS/Division for Planetary Sciences Meeting Abstracts, Vol. 49, AAS/Division for Planetary Sciences Meeting Abstracts #49, 112.04

  11. [19]

    J., Gerdes, D

    Napier, K. J., Gerdes, D. W., Lin, H. W., et al. 2021, PSJ, 2, 59, doi: 10.3847/PSJ/abe53e

  12. [20]

    S., Folkner, W

    Park, R. S., Folkner, W. M., Williams, J. G., & Boggs, D. H. 2021, AJ, 161, 105, doi: 10.3847/1538-3881/abd414

  13. [21]

    M., Kavelaars, J

    Petit, J. M., Kavelaars, J. J., Gladman, B. J., et al. 2011, AJ, 142, 131, doi: 10.1088/0004-6256/142/4/131

  14. [22]

    2023, matthewholman/assist: v1.1.1, v1.1.1, Zenodo, doi: 10.5281/zenodo.7778017

    Rein, H., Holman, M., & Akmal, A. 2023, matthewholman/assist: v1.1.1, v1.1.1, Zenodo, doi: 10.5281/zenodo.7778017

  15. [23]

    Rein, H., & Liu, S. F. 2012, A&A, 537, A128, doi: 10.1051/0004-6361/201118085

  16. [24]

    Rein, H., & Spiegel, D. S. 2015, MNRAS, 446, 1424, doi: 10.1093/mnras/stu2164

  17. [25]

    E., Jones, R

    Schwamb, M. E., Jones, R. L., Chesley, S. R., et al. 2018, arXiv e-prints, arXiv:1802.01783. https://arxiv.org/abs/1802.01783

  18. [26]

    P., Veras, D., & Wyatt, M

    Shannon, A., Jackson, A. P., Veras, D., & Wyatt, M. 2015, MNRAS, 446, 2059, doi: 10.1093/mnras/stu2267

  19. [27]

    2016, AJ, 152, 103, doi: 10.3847/0004-6256/152/4/103

    Silsbee, K., & Tremaine, S. 2016, AJ, 152, 103, doi: 10.3847/0004-6256/152/4/103

  20. [28]

    A., et al

    Solontoi, M., Ivezi´ c,ˇZ., West, A. A., et al. 2010, Icarus, 205, 605, doi: 10.1016/j.icarus.2009.07.042

  21. [29]

    1947, Astronomische Nachrichten, 275, 108, doi: 10.1002/asna.19472750703 The pandas development team

    Stumpff, K. 1947, Astronomische Nachrichten, 275, 108, doi: 10.1002/asna.19472750703 The pandas development team. 2020, pandas-dev/pandas: Pandas, latest, Zenodo, doi: 10.5281/zenodo.3509134

  22. [30]

    E., & Seidelmann, P

    Urban, S. E., & Seidelmann, P. K. 2014, in American Astronomical Society Meeting Abstracts, Vol. 223, American Astronomical Society Meeting Abstracts #223, 247.20 Vereˇ s, P., & Chesley, S. R. 2017, AJ, 154, 13, doi: 10.3847/1538-3881/aa73d0

  23. [31]

    E., et al

    Virtanen, P., Gommers, R., Oliphant, T. E., et al. 2020, Nature Methods, 17, 261, doi: 10.1038/s41592-019-0686-2

  24. [32]

    2019, Journal of Open Source Software, 4, 1298, doi: 10.21105/joss.01298

    Zonca, A., Singer, L., Lenz, D., et al. 2019, Journal of Open Source Software, 4, 1298, doi: 10.21105/joss.01298

Pith tools

Reviewed August 7, 2026 · model on record in the stance chip above.