THEMIS Mars hot springs

Data and code

Everything needed to reproduce the analysis, short of the 372 GB image cache. All files are served from this site; no external hosts.

Reports

Code

scriptwhat it does
thmlib.py, btrlib.pyReaders for THEMIS SNU radiance cubes and BTR brightness-temperature products (PDS3 attached and PDS4 detached labels); Planck inversion for band 9; rejection of byte-fill products.
detection_limit.py, detection_depth.pySub-pixel detectability of a vent; invisible heat-flux ceiling and burial depth of warm water.
anomaly_search.py, vet_candidates_v2.pyNighttime warm-anomaly detector (background removal, MAD noise, morphology) and the regional vetting cascade (georeferencing corrected 2026-09-07).
build_btr_worklist.py, btr_stream.py, aggregate_global_map.pyGlobal worklist, streaming search of all 136,564 nighttime images, atlas and persistent-candidate catalogue.
global_maxbt_screen.py, deepdive_outliers.py, global_figure_v2.pyWarmest-pixel screen of the whole index and pixel analysis of the flagged images.
coverage_map.py, injection_recovery.py, bayes_bound.pyCoverage and redundancy, injection-recovery detection efficiency, Poisson-zero Bayesian occurrence limit.
depth_to_water.py, depth_atlas.pyDepth-to-liquid-water Monte Carlo and the GRS + MOLA 2-D atlas.
resample_candidates_v2.py, fit_residual_v2.py, thermal_model.pyDay/night sampling at the detected pixels and the 1-D diurnal thermal-model fit (2026-09-07 redo).
build_tref.py, grid_accumulate.py, combine_grids.pyDestriped global day+night mosaic and the every-cell endogenic screen.
build_pdf.pyRenders REPORT.md plus figures to the PDF.

Derived data

CSV unless noted. Coordinates are planetocentric latitude and east longitude in degrees; temperatures in kelvin.

filesizecontents
global_persistent_candidates.csv1.0 MB21,385 persistent focused warm-at-night cells (0.05°): overpass count, max excess, position, minimum cluster size.
daynight_candidates_v2.csv16 MBPer-cell night and day samples at the detected pixels (2026-09-07 redo): night peak BT and background, day window statistics with control calibration, image ids, local times, seasons.
endogenic_residual_v2.csv14 MBPer-cell thermal-model fit: required endogenic warming ΔT_geo (2026-09-07 redo).
maxbt_outliers.csv57 kB833 index rows flagged by the warmest-pixel screen (z > 5) with local ceiling and excess.
outlier_analysis.csv45 kBPixel analysis of the 828 flagged images (194 of them are byte-fill products with σ = 0; see error check B1).
candidates_v2.csv, focused_candidates_v2.csv, image_stats_v2.csv, recurring_cells_v2.csv4.6 MB totalRegional search over 230 map-projected cubes with corrected georeferencing: all 33,365 warm clusters, the 1,369 focused ones, per-image noise.
injection_eta.npz15 kBSingle-look detection efficiency η(T_vent, A_vent), global and per 15° latitude band (NumPy).
coverage_looks.npy, coverage_lats.npy1.0 MBNighttime looks per 0.5° cell (NumPy).
depth_atlas.npz1.6 MBGRS-derived heat flow, MOLA elevation and median depth to liquid water on a 1° grid (NumPy).
tref.npz210 kBReference-surface temperature lookup T_ref(lat, Ls, local time) used for destriping.
daynight_candidates.csv, night_abs.csv, endogenic_residual.csv, candidates_context.csv~1 MB eachThe original (superseded) day/night samples and fit, kept for the record: these were sampled at cell-mean positions, a median of 3 pixels from the detected anomaly (error check C1).
candidates.csv, focused_candidates.csv, image_stats.csv3.8 MBThe original regional catalogue with flipped positions, kept for the record (error check C2).

Not hosted here because of size: the 0.05° day+night mosaic grids (daynight_grids_v2.npz, 311 MB), the 6-million-sample depth draws (24 MB), the 7.88-million-row cluster shards (830 MB), and the 372 GB BTR cache. Ask if you need them.

Source data

Figures

Full-resolution PNGs of every figure are in downloads/figures/; the Figures page shows them with captions.