Dex-backfill backlog — paper-data standardization campaign
Living list. Every follow-up backfill/extension deferred while building the campaign's dexes
([[project_paper_dex_repoint_campaign]]). We build each dex to fit the paper's data, take what
exists now, and record here what still needs filling so a paper can fully repoint later. Nothing
here blocks the build track; these are done before (or alongside) the final repoint of the papers
that depend on them.
Status: open = not started · partial = some done · done = complete (leave a dated note).
Earthquake magnitude-band Eventdexes (eq_mag_*, built ee9ed95 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| EQ-1 |
Historical + global micro-catalog backfill of the sub-M3 tiers (fetch ComCat at lower magnitude floors and older dates; the live feed only reaches ~4 months back, US-dense). |
Any paper needing deep/global micro-seismicity; deepens eq_mag_lt1/1_2/2_3. |
open |
| EQ-2 |
Targeted ComCat backfill of the April-2026 Cascadia swarm box+window — 9 of the paper's 23 swarm events were never ingested by the live feed. |
cascadia-swarm-apr2026 (+ reno-earthquake-swarm) can't fully repoint until these 9 land in observations. |
open |
| EQ-3 |
Register + associate the other seismic networks (EMSC 33,847 · ISC 3,242 · GFZ 1,760, already ingested) to earthquake events. |
kermadec-doublet cross-network magnitude agreement (its T3). |
open |
| EQ-4 |
Pre-1973 earthquakes: the eq spine starts 1973; the earthquake-lights paper spans 104 years. |
earthquake-lights-104-years temporal gap. |
open |
Aircraft MovingPlatformDex (aircraft, built 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| AIR-1 |
Stand up a live standing ADS-B feed (vs the one-day captured window this dex organizes). |
Ongoing/future aircraft papers; a durable platform source. |
open |
| AIR-2 |
Add OpenSky as a second source (the paper has poll_opensky.py; skinwalker uses OpenSky over the ranch). |
skinwalker-ranch-seven-layers aircraft layer; cross-source confirmation. |
open |
| AIR-3 |
Wider space/time coverage beyond the experiment's US-Northeast, April-2026 window. |
Any aircraft paper outside that window. |
open |
Safecast radiation dexes (safecast_fixed_sensor + safecast_mobile_survey, built 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| SC-1 |
Include non-geolocated Safecast readings (dropped from both dexes: no lat/lon). |
Completeness of the radiation record. |
open |
| SC-2 |
Handle part-fixed / part-mobile devices (a relocated sensor) — currently each device is classified by its whole-history spread, so a moved sensor may land wrong. |
Any paper leaning on a boundary device. |
open |
| SC-3 |
Re-tune the 0.5 km fixed/mobile threshold if a paper depends on the ~12 fuzzy-band devices (0.2–0.5 km). |
Sensitivity for a specific paper. |
open |
Geophysical-index Yeardex (sunspot_number + geomagnetic_dst + solar_wind + solar_xray_flux, built 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| SW-1 |
Kp is not ingested DONE 2026-07-07: fetched GFZ Niemegk definitive Kp/ap (reload_gfz_kp_spine.py, source gfz_kp, metrics kp_index+ap_index, 1932+) and built the kp_index sibling kind of the geophysical-index Yeardex. |
sky-anomalies, skinwalker (Kp layers). |
done |
| SW-2 |
Deep backfill of the two minute channels: solar_wind (DSCOVR reaches ~2016; ingested window ~9 mo) and solar_xray_flux (GOES record runs decades; ingested ~3.6 mo). |
Any solar paper needing pre-2025 wind / pre-2026 X-ray. |
open |
| SW-3 |
Merge kyoto_dst_realtime as the live edge of geomagnetic_dst (used alongside dst_index in gst); v1 uses dst_index only. |
Current-year Dst freshness. |
open |
| SW-4 |
Pre-1963 Dst / pre-1818 sunspot historical reconstructions. |
A paper needing deeper time than the ingested series. |
open |
| SW-5 |
DSCOVR solar-wind feed lag — INVESTIGATE. dscovr_solar_wind observations end 2026-06-30 even though the fetcher's last_fetched_at is current (checked 2026-07-07). Source/fetcher issue, not a dex issue (the solar_wind dex faithfully mirrors observations), but it starves the live-edge refresh. Mike's call 2026-07-07: address AFTER the paper-dex campaign completes. |
solar_wind dex freshness; any solar paper using recent wind. |
open (deferred to post-campaign) |
WSPR spot census (wspr_spot_census month-grain Yeardex, built 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| WS-1 |
Re-fetch the 2013-02 raw partition. The month is a genuine backfill gap — a 561-byte empty parquet, while Jan-2013 and Mar-2013 hold millions of spots. Run python scripts/wspr_raw_backfill.py --month 2013-02, then rebuild the census. |
Any early-2013 slice of wspr-solar-cycle-bug; a one-month hole in the census. |
open |
| WS-2 |
Wire the census live-edge refresh to the scheduler. refresh_and_store() exists (rebuilds the provisional tail month), but is unwired. Gated on WS-3: the raw itself is ~3 mo stale (last partition 2026-04, through Apr 5). |
Census freshness. |
open |
| WS-3 |
Bring the raw + daily-aggregate stores current (last raw partition 2026-04 partial through Apr 5; daily/ stops 2026-03). The wspr_raw_backfill.py / daily backfill are manual, not cron-wired. |
Census + event-Eventdex freshness; the 2026-04 slot is the only raw-backed (no-aggregate) one until daily/ catches up. |
open |
WSPR event-window Eventdex (wspr_event_window spine-parquet, built 2026-07-07)
| # |
Backfill |
Why / which paper |
Status |
| WS-4 |
Re-carve the 4 pending 2026 slots once WS-3 brings the raw current. The aircraft capture (2026-04-12/13, 3 corridor slots) and the precursor tornado-season window (2026-04-09..19, 1 slot) fall AFTER the raw archive's current end (2026-04-05), so they are built as metadata + carve pointer with working_surface="pending_raw_backfill" and no aggregate. After WS-3, re-run build_wspr_event_windows.py to carve them. NOTE: the aircraft slots need a corridor-grain carve (per station-pair, 2-min bins, band 20m), not the tornado bbox carve; extend the build for the corridor geography at re-carve time. |
wspr-aircraft-detection, wspr-tornado-precursor can't fully repoint until these carve. |
open (gated on WS-3) |
| WS-5 |
Wire the event-window live-edge / no refresh needed. The tornado/aircraft windows are fixed historical event windows (static); the dex needs a rebuild only when a NEW event paper is shipped or WS-4 lands. No scheduler job by design (unlike the census). Documented so a future audit doesn't flag it as an unwired refresh. |
n/a (design note). |
done (by design) |
NUFORC (nuforc dex — source-quality regression, found 2026-07-08)
| # |
Backfill |
Why / which paper |
Status |
| NF-1 |
Re-ingest NUFORC at full geocoding precision. The current nuforc source (metric=ufo_sighting, 80,332 rows) carries COARSE coordinates: 3,311 distinct latitudes / 3,557 distinct longitudes, many sightings collapsed to city-centroid coords (e.g. 40.0, -89.0). The published nuforc-cross-correlation snapshot had 18,420 distinct lats / 19,454 lons (per-report geocoding), so NUFORC was re-ingested at lower precision at some point. Surfaced when flipping sky-anomalies' source #1 onto the nuforc dex; the flip is correct (verified metric↔source), but re-running adopts the degraded coords, so the fine snapshot was preserved instead. Fix = re-fetch/re-geocode NUFORC at full precision, then the flip can adopt live data. |
sky-anomalies (attribution cascade, spatial matching); earthquake-lights-104-years (also reads nuforc). |
open |
How to work this list
When a dex is built, append its deferred items here (the scope doc's "Deferred" section is the
source). When a backfill is done, mark it done with the date + commit. Before the final repoint of
any paper, check this list for the dexes it depends on and clear the blocking rows first.