Skip to main content

Gravitational Wave Detector Design Toolkit.

Project description

gwent Documentation Status

Gravitational Wave dEtector desigN Toolkit.

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

gwent Waterfall Plots


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.

$ pip install gwent

README Figure and Data

If you are looking for quick data, we conveniently place the figure above in the 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.,

import numpy as np
import gwent
from gwent.snrplot import Plot_SNR
loaded_file = np.load(filename)


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

       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 = {},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}


We utilize and include within the package a specific commit of pygwinc found at 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.


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
  • 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.

Project details

Download files

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

Files for gwent, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size gwent-0.4.0-py2.py3-none-any.whl (3.5 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size gwent-0.4.0.tar.gz (11.9 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page