Skip to content
forked from SNEWS2/snewpy

collection of models from the community in common format for use by the SNEWS teams

License

Notifications You must be signed in to change notification settings

fengyvoid/snewpy

 
 

Repository files navigation

SNEWPY: Supernova Neutrino Early Warning Models for Python

DOI PyPI tests Documentation Status

SNEWPY is a Python package for working with supernova neutrinos. It offers …

  • … a simple and unified interface to hundreds of supernova simulations.
  • … a large library of flavor transformations that relate neutrino fluxes produced in the supernova to those reaching a detector on Earth.
  • … and a Python interface to SNOwGLoBES which lets you estimate and plot event rates in many different neutrino detectors.

Installation

For Users

Run pip install snewpy to install SNEWPY.

SNEWPY includes a large number of supernova models from different simulation groups. Since these models have a size of several 100 MB, they are not included in the initial install. Instead, after installing, run the following command to download models you want to use:

python -c 'import snewpy; snewpy.get_models()'

By default, they will be downloaded to a subdirectory named SNEWPY-models/<model_name>/ in the current directory.

For Developers

Your contributions to SNEWPY are welcome! For minor changes, simply submit a pull request. If you plan larger changes, it’s probably a good idea to open an issue first to coordinate our work.

To contribute, first clone the repository (git clone https://github.com/SNEWS2/snewpy.git), then make changes and install your modified version locally using pip install . from the base directory of the repository. Once you’re happy with your changes, please submit a pull request. Unit tests will run automatically for every pull request or you can run them locally using python -m unittest python/snewpy/test/test_*.py.

Dependencies

Some functionality of SNEWPY requires that SNOwGLoBES and its dependency, GLoBES are installed.

Expand this to view sample instructions for installing SNOwGLoBES and GLoBES

This is a walkthrough to install GLoBES and SNOwGLoBES locally in the users home directory (i.e. ~/opt/). It uses bash syntax.

	cd ~
	mkdir opt
	cd opt
	wget https://www.mpi-hd.mpg.de/personalhomes/globes/download/globes-3.2.17.tar.gz
	tar -zxf globes-3.2.17.tar.gz
	cd globes-3.2.17/
	./configure --prefix=~/opt/globes-3.2.17-install --disable-binary
	make
	make install
	cd ~/opt/globes-3.2.17-install
	export GLB_DIR=${PWD}
	cd ..

	git clone https://github.com/SNOwGLoBES/snowglobes.git
	cd snowglobes
	export SNOWGLOBES=${PWD}
	cd src
	make
	make install

Usage and Documentation

Example scripts which show how SNEWPY can be used are available in the python/snewpy/scripts/ subfolder as well as notebooks in doc/nb/. Most downloadable models also include a Jupyter notebook with simple usage examples.

A paper describing SNEWPY and the underlying physics is available at arXiv:2109.08188.

For more, see the full documentation on Read the Docs.

About

collection of models from the community in common format for use by the SNEWS teams

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 52.9%
  • Roff 43.4%
  • Python 3.7%