Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,7 @@ The dependency graph is one-way: `data/` is the foundation; `criteria/` reads lo
- **v1.4.2 — `n_per_region` default raised to 10 (matches Wueller's per-region site density).** ✅ Default `n_per_region` changed from 3 to 10. The selene methodology converges at any per-region density: selene-to-Wueller match rate is essentially flat across n (78 % at n=3, 78 % at n=5, 80 % at n=10), but Wueller-to-selene match rate climbs from 41 % to 63 % as more selene sites become available to pair with Wueller's 73-site in-scope catalog. **Result at the new default: 56/70 selene sites (80 %) match within 5 km of an in-scope Wueller site; median match distance 1.88 km; 46/73 (63 %) of in-scope Wueller sites match a selene site within 5 km.** Two regions (Mons Mouton, Peak Near Cabeus B) reach 100 % match-within-region at n=10; Nobile Rim 1 and Nobile Rim 2 reach 80 %+. de Gerlache Rim 2 stays at 0/2 (the polygon's HLS-eligible area caps at 2 sites at 2km NMS — its terrain is genuinely far from Wueller's dGR2 cluster, independent of n). Per-region site counts (NMS-capped at 2km separation): HW 10, MM 10, MMP 10, NR1 10, NR2 10, PCB 9, SP 9, dGR2 2 — total 70.
- **v1.5 — 20 m Wueller-class resolution with GPU acceleration.** ✅ Per-region tiled driver runs the HLS filters at 20 m, the same native LOLA resolution Wueller et al. 2026 use. New CLI flags `--tiled-per-region --resolution 20` on `selene preprocess` and `selene rank-per-region`; new GPU path through `derive_horizon_profile` and `compute_earth_visibility_fraction` via CuPy + `cupyx.scipy.ndimage.map_coordinates`; new `pipeline/preprocess_tiled.py` and `pipeline/rank_per_region_tiled.py` covering each USGS polygon's bbox + 100 km horizon buffer with explicit cupy memory-pool drain between tiles. The 240 m global path is unchanged. **Result against Wueller 2026 at 20 m: 56/69 selene sites (81 %) match within 5 km, median matched-pair distance 1.76 km — tighter than v1.4.2's 1.88 km at 240 m by 6.5 %; selene-to-Wueller match rate flat (80 % → 81 %); Wueller-to-selene rate slips slightly (63 % → 60 %) because the finer slope/buffer re-ranks sites within MMP, SP, and CB to a different cell within the same polygon.** Six of eight regions tighten or hold their median matched-pair distance at 20 m; Malapert Massif still has zero HLS-compliant cells (genuine steep terrain, not a 240 m sampling effect); de Gerlache Rim 2 still produces only 2 sites with 0/2 within 5 km of Wueller's dGR2 cluster (genuine terrain divergence, persists at fine resolution). The methodology converges at peer-reviewed resolution; the residual disagreements at v1.4.2 are not 240 m sampling artefacts. v1.5 is opt-in and requires a CUDA GPU plus ~140 GB unified-memory headroom (developed on NVIDIA GB10 / DGX Spark; full 9-region run ~32 min preprocess + ~22 min rank). See "Resolution analysis (v1.5 — 20 m Wueller-class)" above for the per-region table and side-by-side plots.
- **v1.5.1 — Artemis IV mission designation update + NASA Figures-of-Merit framework citation.** ✅ Docs-only patch release. NASA restructured the Artemis program in February 2026: the first crewed lunar landing at the south pole was reassigned from Artemis III to Artemis IV (target early 2028), Artemis III became an Earth-orbit test mission, and Lunar Gateway was canceled in March 2026. v1.5.1 reframes the project's forward-looking copy from "Artemis III" to "Artemis IV (formerly Artemis III)" across the README, the v1.5 catalog report, and user-facing CLI / module docstrings, while leaving citation titles, the USGS dataset name, NASA's October 2024 announcement URL, the Wueller 2026 paper's own framing, and the historical roadmap entries unchanged. Adds [Lawrence 2025](https://ntrs.nasa.gov/citations/20250008952) (NASA NTRS 20250008952) as a reference and a new "Mapping to NASA's Figures of Merit framework" subsection in the Methodology section that maps selene's seven criteria to NASA's published FOM categories. **The methodology, data, validation, and 69-site catalog are identical to v1.5; the headline numbers (56/69 = 81.2 % within 5 km, median 1.76 km) are unchanged.**
- **v1.6 — 10 m exploratory analysis (deferred — public mosaic coverage insufficient).** ⏸ Originally scoped as a partial-coverage rerun of the per-region pipeline at 10 m on PGDA's `LDEM_83S_10MPP_ADJ` mosaic (~432.8 km × 432.8 km square, ±216.4 km from the south pole in polar-stereographic Moon coordinates). Buffer-fits-inside-mosaic check against the 9 USGS polygons + 100 km horizon-march buffer (the LOS-to-Earth criterion's physical horizon-search radius, not a tunable knob): only **3 of 9 polygons (HW, SP, G2) clean**. **CB**'s buffered bbox over-runs the mosaic's west edge by 74 km; **N2**'s over-runs the east edge by 50 km; **N1, MM, MA, MP** all over-run the north edge by 4–60 km. Truncating the buffer would bias the LOS visibility fraction asymmetrically on the truncated side, contaminating every cell within ~100 km of the mosaic edge in the affected region. A 3-region release (HW + SP + G2) was technically possible but thin — G2 contributes 0/2 matched-within-5 km in v1.5, collapsing the comparison effectively to HW + SP. Not enough material for a release, and not a buffer-truncation methodology that holds against v1.5's clean 9-region 100 km horizon-march. Deferred indefinitely pending wider public mosaic coverage or NAC stereo DEM integration; see "Where this goes next" below for the coverage analysis. The 10 m work is genuinely blocked, not a bandwidth or scheduling issue.
- **v1.7 — TOPSIS aggregator as opt-in alternative to weighted_sum.** ✅ Adds [`scoring/aggregate.topsis`](src/selene_base/scoring/aggregate.py) (Hwang & Yoon 1981) as a sibling of `weighted_sum`, with `selene score --method topsis` and `selene rank-per-region --method topsis` exposing it. Same input contract (per-criterion [0, 1] score grids + weights), same renormalise-on-missing-criteria semantics, same NaN propagation. Default stays `weighted_sum` — v1.5's 81.2 % / 1.76 km headline is unchanged. **TOPSIS result on the v1.5 20 m catalog: same 69 sites (HLS filters identical), same top-5 by score, 55 / 69 (79.7 %) matched within 5 km of an in-scope Wueller site (vs 56 at weighted_sum), median matched-pair distance 1.84 km vs 1.76 km globally** — but **three of seven active regions tighten significantly** (Haworth -0.51 km, Mons Mouton Plateau -0.40 km, Nobile Rim 1 -0.43 km) and **max pair distance improves -0.22 km**. Both aggregators agree on which cells are top-tier; they disagree at the 1.5–4 km margin. TOPSIS outputs land under `data/outputs/topsis/` so the two catalogs sit side-by-side. See "Aggregator: weighted_sum vs TOPSIS" in Methodology for the full table.

- **v1.8 — Activate seismic criterion (eight of eight criteria live).** ✅ Adds distance-to-nearest-scarp as the eighth criterion via a logistic of distance to the nearest mapped lunar lobate scarp (midpoint 25 km, steepness 8 km — tuned to Civilini et al. 2023's documented shallow-moonquake-to-scarp clustering distance). Bundles the **Mishra & Kumar (2022)** south-polar scarp catalog ([GRL doi:10.1029/2022GL098505](https://doi.org/10.1029/2022GL098505), Zenodo [doi:10.5281/zenodo.6624114](https://doi.org/10.5281/zenodo.6624114), CC-BY 4.0) — 704 line segments combining Watters et al. (2015) global mapping with 75 new south-polar scarps Mishra & Kumar mapped from independent LROC NAC analysis — at `src/selene_base/criteria/data/scarps_mishra_kumar_2022/`, with the original LROC SOC `POLAR_SCARP_LOCATIONS` shapefile (citing Watters 2015 verbatim) bundled alongside as an attribution anchor at `scarps_watters_2015_polar/`. Default seismic weight 0.10, with the other seven weights scaled by 0.928 so the simplex still sums to 1.00. Methodology fully realised — eight of eight planned criteria contribute to the aggregate score. **Result: 56 / 69 selene sites (81.2 %) match within 5 km of an in-scope Wueller site — identical to v1.5's headline; 46 / 73 (63.0 %) Wueller-side match (up from 44 / 73 in v1.5, +2.7 pp); median matched-pair distance 1.69 km vs 1.76 km in v1.5 (-0.07 km).** Same site count, same top-3 in every region; 13 sites in HW/MMP/N1/N2 reshuffle within ranks 4-10. The criterion is most active where the Mishra/Kumar catalog has dense south-polar coverage and least active for cells far from any mapped scarp (most of the polar grid). See "Seismic criterion (v1.8)" in Methodology for the logistic scoring details and per-region table.
Expand All @@ -670,6 +671,14 @@ The dependency graph is one-way: `data/` is the foundation; `criteria/` reads lo

**v1.8 sensitivity rerun.** The 200-sample Latin-hypercube weight sweep in [`Robustness`](#robustness) was last run under the v1.5 seven-criterion vector. Re-running it on the v1.8 eight-criterion simplex (with seismic at 0.10) is a straightforward follow-up that would also refresh the diagnostic-comparison per-criterion table.

**Finer-than-20 m public mosaic coverage at the polygon scope (the v1.6 blocker).** v1.5 runs at 20 m on PDS's `ldem_80s_20m` (the south-pole 20 m polar mosaic) which covers all 9 USGS polygons with the full 100 km horizon-march buffer comfortably inside its extent. Going finer than 20 m at the same 9-polygon scope is gated on a public mosaic that doesn't currently exist:

- **PGDA `LDEM_83S_10MPP_ADJ` (10 m).** ~432.8 km × 432.8 km square, ±216.4 km from the south pole. With the 100 km horizon-march buffer required by the LOS-to-Earth criterion, only **3 of 9 USGS polygons fit cleanly** (HW, SP, G2). CB and N2 sit at the west/east longitudinal extremes and lose 50–75 km of buffer room; N1, MM, MA, MP all over-run the mosaic's north edge.
- **PGDA `LDEM_87S_5MPP` (5 m).** Wider-resolution but narrower-coverage product covering only ~87°S to the pole. With the 100 km buffer, only **1 of 9 polygons fits** (G2). The other eight polygons all extend or buffer past 87°S and would lose substantial buffer or polygon coverage.
- **NAC stereo DEMs at 1–2 m.** PGDA product 78 (Bertone 2026) provides per-ROI NAC stereo DEMs but is not polygon-tiled — would need a parallel integration path distinct from selene's polygon-tiled flow, or NAC stereo mosaic generation through ASP (Ames Stereo Pipeline) to produce a wider-coverage mosaic from the underlying NAC pairs.

A v2.x release at finer-than-20 m at the full 9-polygon scope depends on one of these becoming available or being constructed. A partial-coverage release at 10 m on (HW, SP, G2) was considered for v1.6 and rejected: with G2 contributing 0/2 matched-within-5 km against Wueller in v1.5, the comparison effectively collapses to two regions, which is too thin to be a release.

### Smaller follow-ups

- Auto-tune `--min-score` in the rank pipeline based on the aggregate's percentile distribution.
Expand Down
Loading