This repository contains the data, fitting pipeline, and full results table for the manuscript: "A Rational Taper Model for Galaxy Rotation Curves" (Schneider, 2026; Under Consideration).
The Rational Taper model (
This project explores a phenomenological extension to the empirical velocity correction model proposed by Flynn & Cannaliato (2025). By upgrading from point-mass approximations to full baryonic mass decompositions using the SPARC database, we test two kinematic models:
1. Linear Model (Flynn & Cannaliato 2025):
2. Rational Taper Model (Schneider 2026):
The Tapered model introduces a transition radius
The kinematic correction is applied additively (rather than in quadrature), consistent with the FC25 baseline and preserving the physical interpretation of a non-mass kinematic correction. A catalog-wide empirical comparison (results/tables/additive_vs_quadrature_catalog.csv) shows that quadrature yields marginally lower RMSE in 66.1% of cases (113 of 171 galaxies), but the median RMSE difference is only 0.32 km/s. The additive form is retained for physical and methodological reasons detailed in Section 4.4 of the manuscript. A mass-to-light ratio sensitivity analysis (Section 3.5; data in results/tables/upsilon_sensitivity.csv) confirms that while individual parameters
An LLM has been configured to engage with this research on Google Gemini. This chatbot is capable of answering many questions about the analysis performed in this work, though as is always the case, responses should be verified via the data directly, available in this repository.
Reviewers and readers can reproduce the exact figures and statistical analyses found in the manuscript using the provided Jupyter Notebooks:
| # | Notebook | Description |
|---|---|---|
| 01 | M33 Calibration | Pipeline validation against Corbelli 2014 data |
| 02 | Linear vs Quadrature | Mechanism test: kinematic boost vs. force addition |
| 03 | Tapered Models | Rational taper and tanh taper on M33 |
| 04 | SPARC Batch | 118-galaxy batch fit with |
| 05 | Phase II Analysis | Population split, density coupling, |
| 06 | Model Gallery | Head-to-head Linear vs. Tapered across galaxy types |
| 07 | Full Catalog Analysis | Phase III: BIC selection, |
| 08 | Full Gallery | Rotation-curve gallery for all 171 quality-controlled galaxies (29 pages, sorted by |
| 09 | Publication Figures | Generates the four manuscript-ready figures: M33 calibration, |
| 10 | Surface Brightness vs. $\omega$ | Pearson/Spearman correlation of |
The pipeline is written in Python and uses SQLite for data management. All raw data files and the compiled database are included in the repository — no separate download or ingestion step is required to reproduce the manuscript figures.
# Clone the repository
git clone https://github.com/JustinSchneider/baryonic-omega-analysis.git
cd baryonic-omega-analysis
# Install dependencies
pip install -r requirements.txt
# Open Jupyter and run the notebooks in order
jupyter labThe notebooks are self-contained: Notebook 01 initializes the database and ingests M33 data on first run, and Notebook 07 reads SPARC data directly from the included .mrt files. For developers who want to reinitialize or re-ingest from scratch:
# (Optional) Manually reinitialize and reingest
python src/database.py --init
python src/ingest.py --m33
python src/ingest.py --mrt data/raw/MassModels_Lelli2016c.mrt --metadata data/raw/SPARC_Lelli2016c.mrt
# (Optional) Run the comparative fit on a single galaxy
python src/fit.py --galaxy NGC3198 --plotsrc/— Core Python modules (database, physics, ingestion, fitting pipeline)notebooks/— Analysis and visualization notebooks mapped to manuscript figuresdata/— Raw SPARC data (LMS16) and the compiled SQLite databaseresults/figures/— Publication-quality plots generated by the notebooksresults/tables/— Full fit parameters and summary statistics (CSV)docs/— Internal documentation and mathematical methodology
- SPARC Database (Lelli, McGaugh, & Schombert 2016): 175 disk galaxies with Spitzer photometry and rotation curves. http://astroweb.cwru.edu/SPARC/
- M33 Calibration (Corbelli et al. 2014): Surface density profiles from Table 1, converted to velocity components via Casertano (1983) thin-disk method.
(Citation details will be updated upon publication. For preprint inquiries, please reference the GitHub URL).
This project is licensed under the MIT License - see the LICENSE file for details.
