A Python package for simulating and fitting solar eclipse light curves.
This Python package simulates and fits solar eclipse light curves using ephemerides and a transit modeling approach. It supports multi-model comparisons via MCMC sampling and produces plots for scientific analysis.
- Simulate solar eclipses with
batman-based light curve models - Integrate Sun and Moon ephemerides from
astropy - Support for limb darkening and atmospheric extinction
- MCMC fitting using
emcee - YAML-configurable multi-model pipeline
pip install numpy pandas matplotlib astropy batman-package emcee pyyaml corner sphinx sphinx_rtd_theme| File | Purpose |
|---|---|
config/config.yaml |
YAML configuration for model parameters and execution |
custom_models/ |
Contains core model implementations (e.g., solareclipsemodel.py) |
data/ |
Directory for observational data files |
docs/ |
Sphinx documentation source files |
LICENSE |
GNU LICENSE file |
model_eclipse_mcmc.py |
Primary CLI script for running MCMC model fitting |
README.md |
Project overview and quick start guide |
requirements.txt |
Python package dependencies |
utils/ |
Provides helper functions for MCMC analysis and plotting |
python model_eclips_mcmc.py --config config.yaml --model allRun a single model:
python model_eclips_mcmc.py --config config.yaml --model linear- CSV summary of MCMC fit
- Corner plots of posterior distributions
- Comparison plots of data vs. model
Build local docs using:
cd docs
make htmlView in browser:
open _build/html/index.htmlThis project makes use of the following open-source libraries:
batman-package: BSD 3-Clause Licenseastropy: BSD 3-Clause Licenseemcee: MIT Licensecorner: MIT Licensematplotlib: PSF-based Licensenumpy: BSD 3-Clause Licensepandas: BSD 3-Clause LicensePyYAML: MIT License
These dependencies are not included in this repository and are used under their respective licenses.
This project is licensed under the GNU General Public License v3.0.
You are free to use, modify, and distribute this software under the terms of the GPL. If you distribute modified versions, you must also release your source code under the same license.
See the LICENSE file for full details.