Skip to content
Snippets Groups Projects
Commit d653d81d authored by Lee McCuller's avatar Lee McCuller
Browse files

Merge branch 'master' of git.ligo.org:gwinc/pygwinc into docs

parents 7de4e5dc 1b39c15a
No related branches found
No related tags found
1 merge request!10Docs
Pipeline #
......@@ -13,3 +13,5 @@ __pycache__/
# Backups
*~
MANIFEST
include LICENSE
include README.md
include DISTRIBUTION-README.md
include MANIFEST.in
include setup.cfg
include setup.py
include tox.ini
include CONTRIBUTIONS.md
recursive-include *.py
recursive-include gwinc *.py
recursive-include matlab *.m
recursive-include docs *
......@@ -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)
......@@ -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
......
[bdist_wheel]
# This flag says that the code is written to work on both Python 2 and Python
# 3. If at all possible, it is good practice to do this. If you cannot, you
# will need to generate wheels for each Python version that you support.
universal=1
[aliases]
test=pytest
[metadata]
description-file = README.rst
setup.py 0 → 100755
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division, print_function, unicode_literals
from setuptools import find_packages, setup
version = '0.9.5'
setup_args = dict(
name = 'GWINC',
version = version,
url = 'https://git.ligo.org/gwinc/pygwinc',
author = 'LIGO Laboratory',
author_email = 'jrollins@ligo.caltech.edu ',
description = "Gravitation Wave Interferometer Noise Calculator",
license = 'Copyright 2017 LIGO Laboratory',
install_requires = [
'numpy',
'scipy',
'matplotlib',
],
packages = find_packages(
exclude = ['docs',],
),
include_package_data = True,
zip_safe = True,
keywords = 'Noise, LIGO, Gravitational Wave,',
classifiers=[
'Topic :: Scientific/Engineering',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
)
if __name__ == "__main__":
setup(**setup_args)
tox.ini 0 → 100644
# content of: tox.ini , put in same dir as setup.py
[tox]
envlist =
py35
py36
py27
py34
[testenv]
setenv =
PYTHONPATH = ''
deps =
pytest
pytest-xdist
pytest-benchmark
matplotlib
numpy
scipy
commands=python -m gwinc.test
pip_pre=True
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment