Repository navigation
pyCHMP v0.2.0
Observational EUV/UV unit correction, map-store indexing, warm-restart hardening, and viewer operator tools on top of the 0.1.0 unified-artifact stack.
Added
- EUV/UV observation loading: external FITS and embedded pyAMPP refmaps are converted from exposure-integrated
DNtoDN s^-1 pix^-1whenEXPTIMEis available (header or refmapsource_pathFITS), matching gxrender modeled-map units. - EUV/UV pixel-area normalization before rebinned rate maps (frebin-like area factor) so reprojected observation maps stay in
DN s^-1 pix^-1after spatial resampling. - Persisted
map_storeslice index (slice_indexv1) so channel-aware(a,b,q0)lookups survive artifact reopen without rescanning every map group. - Shared EUV response / calibration store with launcher load-or-save (resolve once, reuse from the artifact; avoids repeat provider/network calls on restart).
- Viewer operator tools: lock Active/Best Q₀ pointer selection; Stored-maps overlay for unvisited map-store
(a,b)dots on the heatmap. - CLI
pychmp-clean-map-store: report (default) or delete map-store entries whose(a,b)was never visited by any search grid. Orphan detection always unions all searches;--slice-key/--search-idonly filter the per-search report section. - Scan-artifact packaging hooks for area-corrected common observation refs and slice-index append on write.
Changed
- HDF5 artifact opens retry locking modes (False/True/
best-effort/bare) when process-local lock-flag mismatches occur, including nested opens against an already-open bare handle. - Ordinary restart / warm-start paths preserve finished search work: a matching completed search early-exits instead of silently rewriting or rescoring (bypass via recompute, expand, new identity, or
--retry-failed). - Viewer status badge: dead search PID beats a stale heartbeat for non-empty grids (INCOMPLETE rather than a false RUNNING/INTERRUPTED path when the process is gone).
- FINISHED banner requires authoritative successful completion; stale
completed_ator failed-phase markers no longer paint green FINISHED. - Residual display defaults to O−M (observation minus model) in the viewer; scoring residuals remain M−O internally.
--lonc-deghelp clarifies gxrender renderer-relative model longitude (not Carrington).- EUV/UV map-store entries without a channel identity are fail-closed (not indexed / not reused) to prevent cross-channel contamination (for example 94↔171).
Known limitations
- Map identity / render-product provenance hashes are written onto new map-store products, but warm-start and slice-index lookup still key primarily on domain/channel +
(a,b,q0). Full provenance-checked “compatible render product” reuse is not complete yet — do not claim modDir parity. bind_legacy_search_responsesis exported and unit-tested but not wired into the launcher (parked).- Migrating/repairing ambiguous legacy map-store entries (plan Phase 6) is not shipped.
Full notes: CHANGELOG.md