Metadata-Version: 2.1
Name: gwent
Version: 0.4.0
Summary: Gravitational Wave Detector Design Toolkit.
Home-page: https://github.com/ark0015/gwent
Author: Andrew Kaiser
Author-email: andrewkaiser70@gmail.com
License: MIT license
Keywords: gwent
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: astropy
Requires-Dist: hasasia
Requires-Dist: matplotlib
Requires-Dist: h5py
Requires-Dist: pyyaml
Requires-Dist: lalsuite

=====
gwent
=====


.. image:: https://img.shields.io/pypi/v/gwent.svg
        :target: https://pypi.python.org/pypi/gwent

.. image:: https://github.com/ark0015/gwent/workflows/CI-Tests/badge.svg
        :target: https://github.com/ark0015/gwent/actions

.. image:: https://readthedocs.org/projects/gwent/badge/?version=latest
        :target: https://gwent.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status


.. image:: https://codecov.io/gh/ark0015/gwent/branch/gwent-dev/graph/badge.svg?token=897QOE4EBQ
        :target: https://codecov.io/gh/ark0015/gwent


Gravitational Wave dEtector desigN Toolkit.

Generates strain sensitivity curves and Waterfall plots for various gravitational wave detector designs.

.. image:: https://raw.githubusercontent.com/ark0015/gwent/master/data/full_waterfall_plots_lb.png
        :align: center
        :alt: gwent Waterfall Plots

* Free software: MIT license
* Documentation: https://gwent.readthedocs.io.


Features
--------
Calculates the sensitivity curves for various designs of pulsar timing arrays, space-based detectors, and ground-based detectors.
This includes:

* NANOGrav
* SKA
* LISA
* aLIGO
* Voyager
* and more!

Calculates the strain from coalescing black hole binaries. It contains functionality for different source descriptions:

* Slowly-evolving sources, ie. BHBs early in their inspiral where they appear to not change in frequency.
* Rapidly-evolving sources, ie. BHBs in the final stages of coalescence. 

  * Uses a fully Pythonic implementation of the phenomenological model ``IMRPhenomD`` to accurately represent the inspiral, merger, and ringdown of the BHB.

Calculates the matched-filtered signal-to-noise ratio (SNR) to help assess the detectability of any BHB source configuration by any represented gravitational wave detector.

* Includes robust plotting methods to represent these SNRs.


Getting Started
---------------
``gwent`` is available on the Python Package Inventory, so the preferred method to install ``gwent`` is to install it with ``pip``, as it will always install the most recent stable release.

.. code-block:: console

    $ pip install gwent

README Figure and Data
----------------------
If you are looking for quick data, we conveniently place the figure above in the `data <https://github.com/ark0015/gwent/tree/master/data>`_ folder on the Github repo. There you can also find the raw data used for this figure in ``.npz`` format. To load this data, simply use ``np.load(filename)``, and the data can be accessed by the kwargs ``'mass'``, ``'redshift'``, and ``'snr'``. E.g., 

.. code-block:: python

    import numpy as np
    import gwent
    from gwent.snrplot import Plot_SNR
    loaded_file = np.load(filename)
    Plot_SNR('M',load_file['mass'],'z',load_file['redshift'],load_file['snr'])

Publication
-----------
This work and methodology is available on arXiv_. If you use ``gwent``, please cite this work using the following:

.. _arXiv: https://arxiv.org/abs/2010.02135

.. code-block:: tex

    @ARTICLE{2020arXiv201002135K,
           author = {{Kaiser}, Andrew R. and {McWilliams}, Sean T.},
            title = "{Sensitivity of present and future black-hole binary observations across the gravitational wave spectrum}",
          journal = {arXiv e-prints},
         keywords = {General Relativity and Quantum Cosmology, Astrophysics - High Energy Astrophysical Phenomena, Astrophysics - Instrumentation and Methods for Astrophysics},
             year = 2020,
            month = oct,
              eid = {arXiv:2010.02135},
            pages = {arXiv:2010.02135},
    archivePrefix = {arXiv},
           eprint = {2010.02135},
     primaryClass = {gr-qc},
           adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv201002135K},
          adsnote = {Provided by the SAO/NASA Astrophysics Data System}
    }

Credits
-------
We utilize and include within the package a specific commit of ``pygwinc`` found at https://git.ligo.org/gwinc/pygwinc to create many of the ground-based gravitational wave detector sensitivity curves. At the time of creation, there is no ``pygwinc`` availability on PyPI, so we explicitly include the necessary portions of the code within.

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
History
=======
0.4.0 (2021-1-8)
-------------------
* Adding functionality to use lalsuite waveforms
* Changing locations of multiple functions from BBHFrequencyDomain functions to general binary functions
* Moved several functions from binary to waveform
* Fixed several bugs with SNR calculations
* Clarified certain constants
* Added JOSS paper draft
* Expanded testing and switched from TravisCI to Github Actions

0.3.0 (2020-10-5)
-------------------
* Turning pygwinc install into vendor inside gwent

0.2.1 (2020-10-5)
-------------------
* Update to ground-based SNR calculation
* Minor changes to snrplot functionality
* Changed fitting for WD background
* Misc bug fixing

0.2.0 (2020-4-29)
-------------------
* Major Changes to PTA detector setup
* Major Changes to snrplot
* Overhaul of tutorials
* Minor Changes to binary and snr functions
* Other Minor Changes sprinkled throughout 

0.1.16 (2020-1-19)
-------------------
* Removing install of pygwinc in setup.py
* pygwinc must now be manually installed 

0.1.15 (2020-1-18)
-------------------
* Including easy install of pygwinc

0.1.14 (2020-1-7)
-------------------
* Major addition of pygwinc
* Minor fixes to snr sampling and plotting

0.1.13 (2019-10-28)
-------------------
* Removing SNR Files in LoadFiles
* Fixing Error in PTA Initialization that Ignored User Input

0.1.12 (2019-10-8)
-------------------
* Adding New Files for NANOGrav
* Updating Loading from files for Detectors

0.1.11 (2019-09-19)
-------------------
* Fixing bugs and removing empty functionality

0.1.10 (2019-09-14)
-------------------
* Removed Python 2.7 support

0.1.0 (2019-09-04)
------------------

* First release on PyPI.


