diff --git a/README.md b/README.md index 521bade2954165ab2f79d2e8ad92da7445e7a2b2..dbd865860ab5f1b036fcb99c9d9015c92fc7ab38 100644 --- a/README.md +++ b/README.md @@ -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: ```python >>> 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](https://git.ligo.org/gwinc/pygwinc/blob/master/gwinc/ifo/aLIGO.yaml) +* [A+.yaml](https://git.ligo.org/gwinc/pygwinc/blob/master/gwinc/ifo/A+.yaml) +* [Voyager.yaml](https://git.ligo.org/gwinc/pygwinc/blob/master/gwinc/ifo/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](https://gwinc.docs.ligo.org/pygwinc/aLIGO_test.png) +* [A+ comparison](https://gwinc.docs.ligo.org/pygwinc/A+_test.png) diff --git a/gwinc/gwinc.py b/gwinc/gwinc.py index e4af794af0db9e041669d7cc89156dbc181f7f98..9227f05321180f034310e3f4e0deb607e5180dc6 100644 --- a/gwinc/gwinc.py +++ b/gwinc/gwinc.py @@ -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 sources. - 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 diff --git a/setup.py b/setup.py index 37df7c1804b87b7b4f7d3a95e4e1b513fe40f18f..b210b4b2b1c25b1ce4ce5bbfecb8471771e5b504 100755 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ setup_args = dict( url = 'https://git.ligo.org/gwinc/pygwinc', author = 'LIGO Laboratory', author_email = 'jrollins@ligo.caltech.edu ', - description = "Gravitation Wave Interferometer Noice Calculator", + description = "Gravitation Wave Interferometer Noise Calculator", license = 'Copyright 2017 LIGO Laboratory', install_requires = [ 'numpy',