Skip to the log
The Wire Testthe.net.im

Run 09 · Live Intelligence · field test

Asteroids: a countdown only as precise as JPL is sure

We read JPL's close-approach and fireball tables through the desk's relay, fed the relay bad numbers, and compared the desk with JPL's CNEOS table and ESA's NEOCC list.

Screenshot of the labs.llc Asteroids page at desktop width: the headline 'Every near miss. Counted down honestly.', an introduction to JPL's close-approach table and the fireball log, and a line stating that 1 lunar distance is 384,400 km, or 0.00257 au.
EXHIBIT AThe top of the page as the local copy of build 537 served it for this log, at 1280 × 800.

Brief

What it is, and who it is for

Asteroids lists every known object passing within 0.05 au of Earth — about 19.5 lunar distances — over the coming weeks, from JPL's close-approach table, with a live countdown to each closest approach in the reader's own time zone, the miss distance in lunar distances, speed and absolute magnitude. Below it, JPL's fireball log is drawn on a world map.

It is for anyone who hears that an asteroid will 'pass close' and wants to know how close, when in their own time, and how sure that time is.

Wiring

Where the work happens

JPL's APIs send no CORS header, so both tables pass through jpl-proxy.php. It has one hard-coded host and two routes, and validates every number before building JPL's query: distance in (0, 0.2] au, 1–365 days, 1–100 fireballs. Answers are cached ten minutes for approaches and thirty for fireballs, because JPL asks not to be polled. The page converts au to lunar distances at 384,400 km, formats times with Intl in your zone, ticks every second and re-reads every minute while visible. The map outlines are Natural Earth polygons shipped with the page.

Sources it reads

  • NASA JPL Solar System Dynamics close-approach API (cad.api) and fireball API — through the relay.
  • Natural Earth country outlines, shipped in world.js.

Run table

The run, row by row

Seconds for our own probes; rival pages were logged to the minute.

Every probe in run 09, in time order, with what came back
#TimeProbeReturned
01Loaded /asteroids/ from the local copyHTTP 200, 54,317 bytes.
02Relay: approaches inside 0.05 au, next 60 daysHTTP 200 in 0.002 s (cache hit). 33 objects. Next: 2026 RN15, 27 Sep 21:15 TDB, 8.32 LD, ±00:03, 6.47 km/s. Closest: 2025 UK9, 31 Oct, 0.82 LD, ±01:00. Two inside 1 LD; six inside 5 LD.
03Relay: fireballs, limit 30HTTP 200, 2,398 bytes; 30 events, the newest on 15 Sep 2026 at 11:26:13.
04Relay: dist=0.5, then feed=sbdbBoth HTTP 400 with the validation message; nothing sent to JPL.
05Read CNEOS Close Approachesrival page1900 to 2200; filters including diameter; a Rarity metric; a viewer; CSV and Excel.
06Read ESA NEOCC close approachesrival pageWindows from 7 days up; UTC dates; km, au and LD; diameter in metres; a Close Approach Index; TXT, XLS, CSV.

Findings

The lengths it goes to

  1. The countdown's precision follows JPL's 3-sigma time uncertainty for each object: seconds only when JPL is sure within the hour, minutes within a day, days and hours otherwise. The uncertainty is printed beside it.evidence · app.js 20–25, 93–100, 268–284
  2. Units are declared and consistent: one lunar distance is 384,400 km, the value CNEOS uses, so 0.05 au is 19.46 LD; the au figure stays a hover away.evidence · app.js 13–18, 31–32, 188–190
  3. The relay validates before it fetches and caches so JPL is not polled; our out-of-range requests never reached JPL.evidence · jpl-proxy.php 10–23, 49–70; run row 04
  4. Nothing is ranked or scored. Rows keep JPL's order, with quick filters for inside 1 and 5 lunar distances.evidence · app.js 42, 196–200, 233–246
  5. Times are shown in your own zone, and the zone is named on the page.evidence · app.js 56, 206

Against the field

Set beside 2 rivals

Rival 01read

CNEOS Close Approaches (NASA JPL)

JPL's own human-facing close-approach table — the same data the desk reads.

Where it is ahead

  • Three centuries of approaches, past and future, with diameter estimates and rarity.
  • CSV and Excel downloads and a trajectory viewer.

Where Asteroids goes further

  • A live countdown in your zone whose precision is set by JPL's uncertainty.
  • Lunar distances with 1 and 5 LD filters, and the fireball map on the same page.
Rival 02read

ESA NEOCC — Close approaches

The European Space Agency's list of forthcoming and recent close approaches.

Where it is ahead

  • Estimated diameter in metres and maximum brightness for observers.
  • Recent approaches too, and three download formats.
  • A Close Approach Index saying how unusual a pass is.

Where Asteroids goes further

  • Your own time with a ticking countdown, where ESA gives UTC.
  • JPL's uncertainty printed and governing how precise the countdown claims to be.

Faults

Where it falls short

  1. No size in metres. The desk shows absolute magnitude only and does not request the diameter the CAD API can return where known.
  2. A time-scale slip: JPL gives close-approach times in TDB, but the parser treats them as UTC (app.js 86–91). TDB runs about 69 seconds ahead, so each countdown ends about 69 seconds late — inside most stated uncertainties, beyond the precision shown when JPL's is a minute or less.
  3. No downloads, where CNEOS offers CSV and Excel and ESA three formats.
  4. Future only, and at most 365 days ahead; CNEOS covers 1900 to 2200.
  5. No rarity or significance context and no trajectory viewer.

Sign-off

Log closed at

Held up
Both tables answered, the relay refused out-of-range requests, and the precision rule is sound.
Fell short
The TDB-as-UTC slip undercuts the precision it is proud of; no sizes.
Reach for it when
You want to know when the next close pass happens in your own time, and how sure JPL is.
Look elsewhere when
You need sizes, history or downloads — CNEOS or ESA NEOCC.