This repository is the working code for the Rotation Curve Fitting Model (RCFM), a method for interpreting galactic rotation curves without the need for dark matter or modifying gravity. This includes several sets of measured galactic rotation curves used to develop and test the model, and in the primary publications laying out the model.
The main code for the model is in Neros.py
. The files DataAid.py
and DataImporter.py
contain utilities related to reading the rotation curve data files. Model.ipynb
is an example of using the model, this will eventually be simplified to require less "wrapper code" to read files and create plots.
The data
directory contains the rotation curve data for multiple Milky Way models (McGaugh
and XueSofue
) and several collections of galaxies, including Sparc and Little Things.
The dev
directory is a collection of files used in developing and testing the model. It is a storage space for no longer used files.
The documents
directory contains papers the authors referenced or found useful. The documents/notes
subdirectory has python notebooks containing explanations of some parts of the model or techniques that were used.
The fit-analysis
directory has the code (a notebook) used to determine some goodness of fit measures as part of the process. The output graphs appear in the paper.
The graphs
directory is a placeholder. The Model.ipynb
saves the graphs it generates here when run, but these aren't included in the repo. But you can reproduce them by running that notebook.
The imported-data
is also a placeholder, the Model.ipynb
saves a file of fit parameters there. We should rename this and make it an actual placeholder.
The utils
directory contains some utility files. These aren't currently used by the main notebook or py files.
This is the code powering the analysis in the papers:
- List papers here
Go to where you'd like to clone the respoditory (a good place is documents/github) and type:
git clone https://github.com/Cisneros-Galaxy/RCFM.git
git pull
Before running anything, you need to install all of the dependencies. There are two ways to do this (do only one or the other):
Install Python3
Install Jupyter Notebook
Install MatPlotLib
Anaconda is a platform that makes it easy to work with Python and Notebook. It comes with all the dependencies already installed! Just open it up, click "Launch" under "Jupyter Notebook" then navigate to the project's folder.
Install Anaconda Python 3.6 Version
- Open Anaconda
- Launch Jupyter Notebook
- Navigate to where the code is located
- Click any of the .ipynb files
- Request to be added as a collaborator to the RCFM project.
BLOCK 1: Line 12 choose version of Neros file (composes vNeros function) Block 3: Line 5 choose version of Neros file
Block 3: line 5 & 6
Options are in Block 2
input choice to Block 4, line 2.
write your own function and get somebody to check it, then add it to the list of existing functions
hack the existing code
- Open Anaconda
- Launch Jupyter Notebook
- Navigate to where the code is located
- Click on the model.ipynb file
- hit "run-all" or clear the cashe and run.
- record resulting table values
- plot alpha correlation function
- Got something really good? [criteria: functions which have good chisquare (<4), coefficients a & b (0.6-0.8), correlation fcn]