Skip to main content

GW detector inspiral range calculation tools

Project description

GW detector inspiral range calculation tools

The inspiral_range package provides tools for calculating various binary inspiral range measures useful as figures of merit for gravitational wave detectors characterized by a strain noise spectral density.

It includes a command-line tool for calculating various inspiral ranges from a supplied file of detector noise spectral density (either ASD or PSD).

See the following references for more information:

Authors:

Installation

inspiral_range is available via pip and conda.

$ pip install inspiral_range

inspiral_range depends on scipy for various optimization routines, and astropy for cosmology calculations. The LSC Algorithm Library (LAL) can also be used for faster versions of some calculations. The LAL dependencies (both lal and lalsimulation) can be found in the lalsuite package in pip or conda, or in native packaging available for various supported IGWN supported operating systems. Use the lal extra flag during pip installation to pull in the LAL dependencies:

$ pip install inspiral_range[lal]

Note the following caveats:

cosmology

inspiral_range needs to calculate luminosity distance and differential comoving volume as a function of redshift, which requires specifying a cosmology model. Two different packages are supported for these cosmological calculations:

  • astropy (default): pure python and widely available, but slow
  • lal: not pure python so not as accessible, but much faster

waveform generation

inspiral_range needs the amplitude of strain waveforms of binary inspiral signals in order to calculate the detection SNR for a given detector noise spectrum. Included in the package is a cached interpolant for equal mass, non-spinning BBH systems. For range calculations for other systems (non-equal masses, including spin) the lalsimulation package is required for waveform calculations.

Usage

library usage

The package includes multiple functions for calculating various range measures for a given PSD.

Analytical methods:

  • sensemon_range
  • sensemon_horizon
  • int73

Cosmologically-corrected measures (see arxiv:1709.08079):

  • horizon (Mpc)
  • horizon_redshift (z)
  • volume (Mpc^3)
  • range (Mpc)
  • response_frac (Mpc)
  • response_frac_redshift (z)
  • reach_frac (Mpc)
  • reach_frac_redshift (z)

By default, all functions calculate measures for 1.4/1.4 M_sol BNS inspirals:

>>> import inspiral_range
>>> freq, psd = np.loadtxt('PSD.txt')
>>> range_bns = inspiral_range.range(freq, psd)

But other masses can be used as well:

>>> range_bbh = inspiral_range.range(freq, psd, m1=30, m2=30)

When calculating multiple measures together it is more efficient to generate the fiducial waveform first and then pass it to the various functions:

>>> H = inspiral_range.CBCWaveform(freq, m1=30, m2=30)
>>> horizon = inspiral_range.horizon(freq, psd, H=H)
>>> range = inspiral_range.range(freq, psd, H=H)

The cosmology being used can be modified with the Cosmology class:

>>> cosmo = inspiral_range.Cosmology(h=70.0)
>>> H = inspiral_range.CBCWaveform(freq, cosmo=cosmo)

The 'cosmo' parameter can also be supplied directly to the range calculator:

>>> range = inspiral_range.range(freq, psd, cosmo=cosmo)

A convenience function all_ranges is included that calculates most of the range metrics together in an efficient way (all return values in Mpc):

  • range
  • horizon
  • response_50
  • response_10
  • reach_50
  • reach_90
  • sensemon_range
  • sensemon_horizon

e.g.:

>>> metrics, H = inspiral_range.all_ranges(freq, psd)

command line interface

The package also include a command line interface for easily calculating ranges for a given ASD or PSD specified in a two-column text file:

$ python3 -m inspiral_range -p PSD.txt m1=30 m2=30

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

inspiral_range-0.4.1.tar.gz (146.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inspiral_range-0.4.1-py3-none-any.whl (146.3 kB view details)

Uploaded Python 3

File details

Details for the file inspiral_range-0.4.1.tar.gz.

File metadata

  • Download URL: inspiral_range-0.4.1.tar.gz
  • Upload date:
  • Size: 146.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.48.1 CPython/3.8.5

File hashes

Hashes for inspiral_range-0.4.1.tar.gz
Algorithm Hash digest
SHA256 a1c9615b27e39c58af52773a459c8e734f6550cca79facf294285fb149eefcc4
MD5 0c870ba619731ef8bb676b28e4d9dd83
BLAKE2b-256 61613db7f727207d7ea66159a0e167c3e31ecddf7842c939cdcb675b3fa9ac1d

See more details on using hashes here.

File details

Details for the file inspiral_range-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: inspiral_range-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 146.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.48.1 CPython/3.8.5

File hashes

Hashes for inspiral_range-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc53753ecb4396c32a6d6184a00bcc2d8e83c90fb9a7fddb5976c2965debeb3a
MD5 2e147815bd3c5cadf943042f3bb0fc29
BLAKE2b-256 bdf633dcd4910c89ff7a1294ae981f5f9f87a007718b8a745ec0dc71091b3518

See more details on using hashes here.

Supported by

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