drbradhill/gift-paper1-sparc-reproducibility
Deterministic reproducibility capsule for GIFT Paper 1. Reproduces the deep-regime scaling and normalization of the RAR and BTFR from the SPARC dataset using fixed-slope ODR fits. Code, derived data, and verification figures included. Archived snapshot: Zenodo DOI 10.5281/zenodo.18513729.
Reproducibility Capsule for “Universal Acceleration from Boundary Addressability”
(SPARC RAR/BTFR Verification)
Scope of this capsule
This capsule verifies the deep-regime scaling and normalization of the RAR/BTFR using fixed-slope ODR fits; manuscript interpolating-function fits and permutation diagnostics were generated with the extended analysis pipeline and are not regenerated here.
Authentic & citable data provenance
All files in data/raw/ are included verbatim as provided alongside the SPARC compilation:
Lelli, F., McGaugh, S. S., & Schombert, J. M. (2016)
SPARC. I. Mass Models for 175 Disk Galaxies with Spitzer Photometry and Accurate Rotation Curves
Astronomical Journal, 152, 157.
The file SPARC_Lelli2016c.mrt.txt contains the table metadata (byte-by-byte description).
What this capsule contains
data/raw/: raw SPARC tables (verbatim copies; checksum-verified viachecksums.json)data/derived/: deterministic derived tables generated from raw inputs (this work)src/: scripts to regenerate derived tables from scratchenvironment.txt: software versions used to generate the derived outputs- No preprocessing, filtering, or reformatting is applied to files in data/raw/.
Deterministic derivations
Derived accelerations are computed as:
- Observed acceleration: g_obs(r) = V_obs(r)^2 / r
- Baryonic acceleration: g_bar(r) = (V_gas^2 + (sqrt(Υ_disk) V_disk)^2 + (sqrt(Υ_bulge) V_bul)^2) / r
with:
- Υ_disk = 0.5
- Υ_bulge = 0.5
- deep-regime cut for the auxiliary a0 summary table: g_bar < 1e-11 m/s^2
(This auxiliary cut is used only for summary tables; all slope fits use the frozen fractional threshold described below.)
All velocities are in m/s and radii in meters after unit conversion from SPARC tables.
Preregistration and falsification
All falsification thresholds (RAR normalization, deep-regime slope, BTFR slope)
were specified prior to examining results and are documented in Table S3 of the paper.
The analysis scripts do not adapt thresholds based on data.
Environment
Python: 3.11.2
Platform: Linux-4.4.0-x86_64-with-glibc2.36
Key packages: pandas 2.2.3, numpy 1.24.0
Reproduce everything
From the project root:
python src/run_all.pyOutputs regenerated:
data/derived/accelerations_gobs_gbar.csvdata/derived/RAR_fit_results.csvdata/derived/BTFR_galaxy_table.csvdata/derived/galaxy_selection_flags.csvchecksums.json(raw-file SHA256 checks)
Notes on citation and licensing
- Code and derived data products in this repository are licensed under CC-BY-4.0 (see LICENSE).
- Raw SPARC tables in data/raw/ are redistributed verbatim and remain the intellectual property of their original authors; they are not covered by the CC-BY-4.0 license and must be cited as Lelli et al. (2016).
Alignment to Paper #1 (methods parity)
- Deep-RAR selection: implemented as
g_bar < f_deep * a0_seedwithf_deep=0.1anda0_seed=1.20e-10 m/s^2(frozen; not iterated). - RAR is primary: the headline universal a0 is taken from the fixed-slope (m=1/2) ODR intercept in
RAR_ODR_fit_summary.json. - BTFR is a cross-check: BTFR a0 is derived from the fixed-slope (a=1/4) ODR intercept in
BTFR_ODR_fit_summary.jsonusing the same global Υ and priors; it is reported as an independent consistency check. - BTFR mass uncertainty floor:
sigma_log10(M_bary)floor set to 0.08 dex to match Paper #1’s stated conservative-but-SPARC-standard treatment.
Figure provenance and reproducibility scope
This Zenodo capsule is a minimal, deterministic verification capsule designed to
reproduce the core quantitative claims of the paper using orthogonal distance
regression (ODR) on the public SPARC dataset.
Figures generated directly by this capsule
Capsule Fig A1: figures/RAR_main.pdf
Generated by: src/run_all.py → plot_figures.plot_rar()
Content: Full SPARC RAR (log g_bar vs log g_obs) with fixed-slope (m = 1/2) ODR line.
Capsule Fig A2: figures/RAR_residuals.pdf
Generated by: src/run_all.py → plot_figures.plot_rar_residuals()
Content: Deep-regime residual distribution relative to the m = 1/2 prediction.
Capsule Fig A3: figures/BTFR.pdf
Generated by: src/run_all.py → plot_figures.plot_btfr()
Content: BTFR (log M_bary vs log V_flat) with fixed-slope (a = 1/4) ODR line.
These figures validate the existence, slope, and normalization of the RAR and BTFR
using preregistered methods and no per-galaxy tuning.
Manuscript and Supplemental figures (analysis provenance)
The following Supplemental Material Figures: S1 and S2 panels A and B were generated using the full SPARC analysis pipeline employed during the research campaign.
Supplemental Fig. S1: RAR visualization with slope convergence and regime shading
Supplemental Fig. S2: Permutation null-test distributions
These publication figures are not regenerated by this minimal capsule. These figures use the same SPARC data and fitting logic described in the paper and supplemental material, but require additional analysis scripts (e.g., permutation null simulations and regime-classification plotting) that are not included in this minimal verification capsule.
The purpose of the present capsule is to allow independent readers and referees
to verify the central quantitative claims (deep slope ≈ 0.5, tight RAR, BTFR
scaling) without rerunning the full exploratory analysis.
Citation
If you use this code or data, please cite:
Hill, B.B. (2026), Universal Acceleration from Boundary Addressability, PRD (submitted),
Zenodo DOI: 10.5281/zenodo.18513729