{"id":"31d92a9d-cffe-4b56-b002-1ab3ec2c160b","arxiv_id":"2506.02140","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":4,"one_line_summary":"Sorcha's ephemeris generator uses sky pixelation, one-day time pickets, and per-object ASSIST/REBOUND interpolation to find which simulated asteroids fall in each survey exposure.","lead":"This paper describes Sorcha's ephemeris generator, a software component that quickly finds which millions of simulated asteroids would land in each LSST survey exposure. It combines sky pixelation, time-binned object catalogs, and per-orbit numerical integration to replace brute-force calculations that cannot scale to LSST.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"No-miss claim is unproven for fast-moving objects: picket tile coverage from three-night Lagrange interpolation can miss short-duration tile crossings (§3.4, §5).","rationale":"The reader's weakest_assumption identified the same picket/interpolation completeness issue. My stress test agrees; the most load-bearing risk is that a fast-moving object can be absent from the candidate set for an exposure it actually crosses, because the tile set is derived from 101 samples of a Lagrange interpolant through three nightly positions. The paper's own Section 5 caveat confirms this is unproven. This does not force rejection: the software is open source, externally validated for slower populations, and the caveat is disclosed. It does mean the unconditional version of the central claim (no missed objects at LSST scale) is not yet demonstrated, which is exactly the reader's CONDITIONAL verdict. A targeted fast-mover stress test with brute-force comparison would either close the gap or quantify the miss rate. I therefore leave the verdict UNCHANGED.","tokens_in":14517,"tokens_out":4163,"duration_ms":40678,"concrete_test":"Construct a synthetic population of ~10^3 close-approach NEOs with on-sky rates 1–100 deg/day and a few with strong curvature (perigee passages), run one month of realistic LSST visits, and compare optimized Sorcha detections with brute-force exact ephemeris computation for every object at every visit. Count missed exposures as a function of rate and of the number of interpolation points (101 vs 1001). If any miss occurs with default settings, the picket completeness assumption fails; if none occurs, the concern is empirically settled for representative fast movers.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The no-miss property rests on §3.4's construction: topocentric positions on three sequential nights are connected by a third-order Lagrange polynomial and evaluated at 101 points; the object is then associated with every HEALPix tile containing any of those 101 sampled positions. This can fail for fast-moving objects in two ways. (1) A fast NEO can cross a tile and leave it between two consecutive samples (≈28.8 min apart over a 2-day window at nside=128, tile width ≈0.45°); if no sample falls in that tile, the object is never added to it, and an exposure overlapping that tile will not list the object as a candidate. (2) The Lagrange polynomial through three nightly points need not track a strongly curved close-approach path, so the interpolated trajectory can miss a tile the true trajectory crosses. In both cases brute force would detect the object, so the abstract's 'accurately ... identifying which exposures these objects cross' and §4's 'all observations are properly identified' are not established for the fast-moving population. The paper itself concedes in §5 that 'it is difficult to prove correctness in all cases.' This is not an internal inconsistency, but it is an unverified completeness assumption at the core of the headline claim.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","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.","tokens_in":14814,"tokens_out":6604,"duration_ms":59379,"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":[{"comment":"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.","section":"Abstract; §4"},{"comment":"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.","section":"§3.4; §5"},{"comment":"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.'","section":"§4"}],"minor_comments":[{"comment":"The heading 'Coordinate Conversations' appears to be a typo for 'Coordinate Conversions'.","section":"§2.2"},{"comment":"In the sentence describing the Lagrange interpolation, 'across adjacent three adjacent nights' should read 'across three adjacent nights'.","section":"§3.4"},{"comment":"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.","section":"§3.1"},{"comment":"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.","section":"§5"}],"recommendation":"major_revision","confidential_remarks":"The paper is a strong software or methods contribution and fits the scope of the journal. My main concern is not the correctness of the core integration or the general pruning idea, but that the title and abstract claims are broader than what the validation supports. I would not require a formal proof of completeness, but the fast-mover stress test and a larger scaling run are reasonable demands for a major revision. I saw no citation-pattern issues; the ASSIST self-citation is appropriate."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"This paper delivers exactly what the field needs: a fast, accurate ephemeris generator for LSST-scale survey simulation. The core architecture is genuinely new — per-orbit ASSIST/IAS15 integration, polynomial interpolation inside time steps, HEALPix tiling, and reusable one-day pickets — and it is clearly explained. Validation against JPL at the tens-of-microarcsecond level for purely gravitational objects is strong, and the brute-force comparison over a month of LSST-like visits for three objects is the right kind of check. The timing numbers (15,000 objects, 216,000 visits in 278 seconds with interpolation) are encouraging, though they are a long way from the millions-of-orbits claim in the abstract.\n\nThe main soft spot is the no-miss guarantee for fast-moving objects. The picket construction uses third-order Lagrange interpolation through three nightly positions, sampled at 101 points, to assign tiles. A close NEO can cross a tile between samples or on a curved close-approach path that the polynomial misses. The paper itself concedes in Section 5 that \"it is difficult to prove correctness in all cases,\" which is honest but sits awkwardly beside the abstract's \"accurately ... identifying which exposures these objects cross.\" This is a real gap, but not a fatal one: the paper identifies it, and a short addendum describing a stress test on synthetic fast movers (or an explicit scope restriction) would close it. The scalability claim at the stated millions scale is likewise extrapolated rather than demonstrated; that is a common situation in software papers and is less concerning as long as the extrapolation is labeled.\n\nMinor points: the picket interval, HEALPix nside, and interpolation-sample count are hand-chosen defaults with a stated plan for future study, which is fine. The Table 2 caveat about perturbers is a genuine footgun but clearly documented. I see no circularity or fabrication — the validation targets are independent, and the free parameters are not tuned to the JPL values.\n\nThis paper deserves peer review and publication. Who is it for? Anyone who simulates solar system surveys, runs Rubin preprocessing, or builds moving-object association pipelines. The software is open source and the community will use it regardless; the paper should be the citable reference. My recommendation: accept after a revision that either proves or explicitly bounds the completeness claim for fast movers and states the demonstrated scale more carefully.","headline":"A well-engineered ephemeris generator that solves a real scaling problem, with an honest but unproven completeness claim for fast-moving objects.","tokens_in":15381,"tokens_out":1210,"would_cite":true,"duration_ms":13477,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"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.","keywords":["solar system survey simulation","ephemeris generation","HEALPix","picket data structure","ASSIST integrator","LSST","moving-object detection","candidate selection"],"falsifier":"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.","tokens_in":14352,"feed_emoji":"🔭","tokens_out":8681,"duration_ms":87770,"temperature":0.7,"pith_summary":"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.","feed_headline":"Sky-tile picket cuts LSST ephemeris work by ~100x","feed_subtitle":"A nightly HEALPix sky map plus precise orbit interpolation matches brute-force detections in a fraction of the time.","key_machinery":"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.","core_discovery":"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.","pith_inferences":["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."],"forward_implications":["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."],"supporting_citations":[{"why":"It supplies the ASSIST integrator and its interpolation routine, the force model that the entire pipeline is built on.","marker":"Holman et al. 2023"},{"why":"It provides IAS15, whose stored polynomial coefficients make interpolation within a time step possible and cheap.","marker":"Rein & Spiegel 2015"},{"why":"It provides the REBOUND framework hosting per-orbit ASSIST simulations, enabling one adaptive time step per object.","marker":"Rein & Liu 2012"},{"why":"It supplies the JPL DE440/441 planetary ephemeris and asteroid perturber file, the reference force model behind Sorcha's accuracy.","marker":"Park et al. 2021"},{"why":"It supplies the universal variables method, as implemented via Danby, for converting orbital elements to state vectors across all eccentricities.","marker":"Stumpff 1947"},{"why":"They provide HEALPix and healpy, which supply the equal-area tiles and the tile-overlap operations used in the picket.","marker":"Górski & Hivon 2011; Zonca et al. 2019"}],"fun_headline_variants":["HEALPix picket speeds LSST ephemeris by ~100x","Picket pre-filter makes solar-system sims LSST-ready","Tiny tiles cut ephemeris cost: 100x faster, exact matches","Sorcha's picket: 100x faster ephemeris without misses","Exact match with 100x speedup: Sorcha's ephemeris generator"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"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.","fun_headline_variants_meta":{"raw":{"variants":["HEALPix picket speeds LSST ephemeris by ~100x","Picket pre-filter makes solar-system sims LSST-ready","Tiny tiles cut ephemeris cost: 100x faster, exact matches","Sorcha's picket: 100x faster ephemeris without misses","Exact match with 100x speedup: Sorcha's ephemeris generator"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000222,"raw_usage":{"total_tokens":1454,"prompt_tokens":943,"completion_tokens":511,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":559,"completion_tokens_details":{"reasoning_tokens":413}},"tokens_in":559,"tokens_out":511,"duration_ms":5492,"temperature":1.0,"reasoning_tokens":413,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-07T11:29:51.393237+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"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.","supporting_citations":[{"cited_title":"1947, Astronomische Nachrichten, 275, 108, doi: 10.1002/asna.19472750703 The pandas development team","cited_arxiv_id":null,"evidence_quote":"It supplies the universal variables method, as implemented via Danby, for converting orbital elements to state vectors across all eccentricities."}],"review_version":1}