Commit 1b39c15a authored by Lee McCuller's avatar Lee McCuller

Merge branch 'setuppy' of into setuppy

parents bd2132bc 3cf91677
Pipeline #20729 passed with stages
in 2 minutes and 24 seconds
......@@ -9,18 +9,19 @@
`pygwinc` creates noise budgets based on detector descriptions
provided in either .yml or .mat files (see below). Once the detector
description is loaded, the noise budget can be calculated with the
`gwinc` command:
description is loaded, the noise budget can be calculated and plotted:
>>> import gwinc
>>> import numpy as np
>>> ifo = gwinc.load_ifo('aLIGO')
>>> freq = np.logspace(1, 3, 1000)
>>> score, data, ifo = gwinc.gwinc(freq, ifo)
>>> ifo = gwinc.load_ifo('aLIGO')
>>> ifo = gwinc.precompIFO(ifo)
>>> noises = gwinc.noise_calc(ifo, freq)
>>> gwinc.plot_noise(ifo, noises)
A convenience function to plot the resulting noise budget is included:
Or the `gwinc` convenience function can be used to handle it all:
>>> gwinc.plot_noise(data)
>>> score, data, ifo = gwinc.gwinc(freq, ifo, plot=True)
......@@ -71,9 +72,9 @@ YAML .yaml format, the original MATLAB gwinc .mat format, or even from
a MATLAB .m file. `pygwinc` includes .yaml detector descriptions for
various detectors:
* gwinc/ifo/aLIGO.yaml
* gwinc/ifo/A+.yaml
* gwinc/ifo/Voyager.yaml
* [aLIGO.yaml](
* [A+.yaml](
* [Voyager.yaml](
## comparison with MATLAB gwinc
......@@ -88,7 +89,14 @@ a local installation of MATLAB and it's python interface (at
e.g. /opt/matlab/python/lib/python3.6/site-packages) you can run the
comparison as so:
$ GWINCPATH=/path/to/gwinc PYTHONPATH=/opt/matlab/python/lib/python3.6/site-packages python3 -m gwinc.test -p aLIGO
$ export GWINCPATH=/path/to/gwinc
$ export PYTHONPATH=/opt/matlab/python/lib/python3.6/site-packages
$ python3 -m gwinc.test -p aLIGO
This will produce a summary page of the various noise spectra that
differ between matgwinc and pygwinc.
Latest comparison plots from continuous integration:
* [aLIGO comparison](
* [A+ comparison](
......@@ -106,7 +106,7 @@ def noise_calc(ifo, f):
return noises
def gwinc(freq, ifoin, source=None, fig=False, PRfixed=True):
def gwinc(freq, ifoin, source=None, plot=False, PRfixed=True):
"""Calculate strain noise budget for a specified interferometer model.
Argument `freq` is the frequency array for which the noises will
......@@ -117,7 +117,7 @@ def gwinc(freq, ifoin, source=None, fig=False, PRfixed=True):
the detector to several potential gravitational wave
If `fig` is specified a plot of the budget will be created.
If `plot` is True a plot of the budget will be created.
Returns tuple of (score, noises, ifo)
......@@ -146,7 +146,7 @@ def gwinc(freq, ifoin, source=None, fig=False, PRfixed=True):
# --------------------------------------------------------
# output graphics
if fig:
if plot:
# Report input parameters
if ifo.Optics.Type == 'DualCarrier_new': #include the case for Dual carrier
finesseA = 2*pi/ifo.Optics.ITM.TransmittanceD1
......@@ -13,7 +13,7 @@ setup_args = dict(
url = '',
author = 'LIGO Laboratory',
author_email = ' ',
description = "Gravitation Wave Interferometer Noice Calculator",
description = "Gravitation Wave Interferometer Noise Calculator",
license = 'Copyright 2017 LIGO Laboratory',
install_requires = [
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment