Skip to content
Structural Selection
Part VAppendix2 min read·387 words

Appendix B: SPARC Data Processing Scripts

Reading widthWidth
Text sizeText

Appendix B: SPARC Data Processing Scripts

This appendix documents the data-processing pipeline used to analyze galactic rotation curves from the SPARC database. All steps are explicitly defined to ensure full reproducibility and transparency.

B.1 Data Input and Preprocessing

The SPARC database provides, for each galaxy, radial profiles of observed rotation velocity, baryonic contributions, and associated uncertainties.

function load_sparc_galaxy(file):
    r, v_obs, v_gas, v_disk, v_bulge = read_columns(file)
    return r, v_obs, v_gas, v_disk, v_bulge

All radii are converted to meters and velocities to SI units. Galaxies with incomplete or flagged data are excluded.

B.2 Computation of Accelerations

Observed and baryonic accelerations are computed as:

aobs(r)=vobs2(r)r,abar(r)=vbar2(r)r,a_{\rm obs}(r) = \frac{v_{\rm obs}^2(r)}{r}, \quad a_{\rm bar}(r) = \frac{v_{\rm bar}^2(r)}{r},

with

vbar2=vgas2+vdisk2+vbulge2.v_{\rm bar}^2 = v_{\rm gas}^2 + v_{\rm disk}^2 + v_{\rm bulge}^2.
function compute_accelerations(r, v_obs, v_gas, v_disk, v_bulge):
    v_bar2 = v_gas**2 + v_disk**2 + v_bulge**2
    a_obs = v_obs**2 / r
    a_bar = v_bar2 / r
    return a_obs, a_bar

No dark matter halo model is assumed at any stage.

B.3 Quality Cuts and Error Handling

Data points are filtered to avoid numerical artifacts:

  • inner radii below resolution limits are excluded,
  • points with large fractional velocity errors are discarded,
  • non-physical values are removed.
mask = (r > r_min) and (error_v / v_obs < threshold)
a_obs = a_obs[mask]
a_bar = a_bar[mask]

These cuts follow standard SPARC analysis practices.

B.4 Fitting the Radial Acceleration Relation

The functional form used is:

aobs=abar1exp ⁣(abar/a).a_{\rm obs} = \frac{a_{\rm bar}}{1 - \exp\!\left(-\sqrt{a_{\rm bar}/a_*}\right)}.
function fit_a_star(a_obs, a_bar):
    minimize scatter in log(a_obs) - log(f(a_bar, a_star))
    return best_fit_a_star

The fit is global across all galaxies. No galaxy-dependent parameters are introduced.

B.5 Bootstrap Analysis

Statistical robustness is assessed via bootstrap resampling:

for k in range(N_bootstrap):
    resampled_galaxies = sample_with_replacement(galaxy_list)
    a_star[k] = fit_a_star(resampled_data)

The resulting distribution of aa_* is used to compute confidence intervals.

B.6 Output Products

The analysis outputs:

  • scatter plots of aobsa_{\rm obs} vs. abara_{\rm bar},
  • best-fit curves with confidence bands,
  • bootstrap distributions of aa_*,
  • summary tables for each galaxy.

All plots shown in the main text are generated directly from these scripts.

Note: The same pipeline can be applied to future rotation-curve datasets without modification, providing a direct avenue for independent verification or falsification of the framework.

Source: latex/B01_SPARC_Data_Processing_Scripts.tex in the verified v2 revision. Found an issue with this section? Submit a criticism.
Cite this section

Plain text

Hassan, A. (2026). Appendix B: SPARC Data Processing Scripts. In Pre-Physical Selection & Emergent Reality, The Complete Structural Selection Corpus. Nuronova Genix Corp. https://structuralselection.org/book/appendix/appendix-b-sparc-data-processing-scripts

BibTeX

@incollection{hassan2026appendixbsparcdatapr,
  author    = {Hassan, Akram},
  title     = {Appendix B: SPARC Data Processing Scripts},
  booktitle = {The Complete Structural Selection Corpus},
  publisher = {Nuronova Genix Corp},
  year      = {2026},
  url       = {https://structuralselection.org/book/appendix/appendix-b-sparc-data-processing-scripts}
}

RIS

TY  - CHAP
AU  - Hassan, Akram
TI  - Appendix B: SPARC Data Processing Scripts
T2  - The Complete Structural Selection Corpus
PB  - Nuronova Genix Corp
PY  - 2026
UR  - https://structuralselection.org/book/appendix/appendix-b-sparc-data-processing-scripts
ER  -