VTDA-Group / superphot-plus

Superphot+, upgraded version of Superphot that uses nested sampling
MIT License
10 stars 0 forks source link

superphot-plus

Template

PyPI GitHub Workflow Status codecov Read the Docs benchmarks

Superphot+ is an end-to-end package that imports supernova photometry, fits light curves to an empirical model, and performs subsequent classification and source parameter estimation. It dramatically expands on the functionalities of the package Superphot1, with multiple implemented sampling alternatives, including dynesty, stochastic variational inference, and NUTS. Superphot+ takes advantage of the JAX backend to speed up runtime.

Superphot+ includes functionalities to both generate simulated light curves, and import existing ZTF photometry from both ANTARES and ALeRCE. Classification functions by default label fitted light curves as one of SN Ia, SN II, SN IIn, SLSN-I, and SN Ibc, but alternative pre-trained models and classification labels can be substituted.

Superphot+ is the underlying package used in multiple real-time ANTARES classification filters2, as well as the ELASTICC challenge3.

1 https://github.com/griffin-h/superphot/tree/master/superphot

2 https://antares.noirlab.edu/filters

3 https://portal.nersc.gov/cfs/lsst/DESC_TD_PUBLIC/ELASTICC/

See ReadTheDocs for more information.

Getting started

To install this package for development use:

$ git clone http://github.com/vtda-group/superphot-plus
$ cd superphot-plus
$ python3 -m venv venv
$ source venv/bin/activate
$ python -m pip install -e ".[dev]"

To install all optional dependencies, including those for inference, plotting, loading data from alert brokers, model tuning and benchmarking use pip install .[dev,data-generation,sampling,plotting,tuning,benchmarking].

You can then run $ pytest to verify that all dependencies are correct, and your environment should be ready for superphot-plussing!

Contributing

GitHub issue custom search in repo

See the contribution guide on ReadTheDocs.