Skip to main content

Type Ia Supernova Light-curve fitting code

Project description

PISCOLA

Supernova light-curve fitting code in python

Although the main purpose of PISCOLA is to fit type Ia supernovae, it can be used to fit other types of supernovae or even other transients.

repo documentation status license Build and Tests Coverage Python Version PyPI ADS -  2022MNRAS.512.3266M

Read the full documentation at: piscola.readthedocs.io. See below for a summary. Check https://github.com/temuller/piscola_templates for spectral templates of different types of supernovae.


Installation

PISCOLA can be installed in the usual way, via pip:

pip install piscola

or from source:

git clone https://github.com/temuller/piscola.git
cd piscola
pip install .

If you are using a Mac with M1 or M2 chip and you encounter RuntimeError: This version of jaxlib was built using AVX instructions, which your CPU and/or operating system do not support. You may be able work around this issue by building jaxlib from source., try installing jax from anaconda (as suggested here):

pip uninstall jax jaxlib
conda install -c conda-forge jaxlib
conda install -c conda-forge jax

Requirements

The requirements can be found in the requirements.txt file.

Tests

To run the tests, go to the parent directory and run the following command:

pytest -v

Using PISCOLA

PISCOLA can fit the supernova light curves and correct them in a few lines of code:

sn = piscola.call_sn(<sn_file>)
sn.fit()

The light-curve parameters are saved in a dictionary and can be accessed directly:

sn.lc_parameters  # dictionary

You can find an example of input file in the data directory.

Citing PISCOLA

If you make use of PISCOLA in your projects, please cite Müller-Bravo et al. (2022). See below for the bibtex format:

@ARTICLE{2022MNRAS.512.3266M,
       author = {{M{\"u}ller-Bravo}, Tom{\'a}s E. and {Sullivan}, Mark and {Smith}, Mathew and {Frohmaier}, Chris and {Guti{\'e}rrez}, Claudia P. and {Wiseman}, Philip and {Zontou}, Zoe},
        title = "{PISCOLA: a data-driven transient light-curve fitter}",
      journal = {\mnras},
     keywords = {supernovae: general, cosmology: observations, distance scale, Astrophysics - High Energy Astrophysical Phenomena, Astrophysics - Cosmology and Nongalactic Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Solar and Stellar Astrophysics},
         year = 2022,
        month = may,
       volume = {512},
       number = {3},
        pages = {3266-3283},
          doi = {10.1093/mnras/stab3065},
archivePrefix = {arXiv},
       eprint = {2110.11340},
 primaryClass = {astro-ph.HE},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2022MNRAS.512.3266M},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Contributing and raising an issue

The recommended way is to use the issues page or send a pull request. Otherwise, you can contact me directly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

piscola-2.0.0.tar.gz (22.2 MB view hashes)

Uploaded Source

Built Distribution

piscola-2.0.0-py3-none-any.whl (22.4 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page