Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • wenxuan.jia/pygwinc
  • sean-leavey/pygwinc
  • sebastian.steinlechner/pygwinc
  • nicholas.demos/pygwinc
  • chris.whittle/pygwinc
  • raymond.robie/pygwinc
  • mateusz.bawaj/pygwinc
  • anchal.gupta/pygwinc
  • 40m/pygwinc
  • evan.hall/pygwinc
  • kevin.kuns/pygwinc
  • geoffrey-lovelace/pygwinc
  • brittany.kamai/pygwinc
  • daniel-brown/pygwinc
  • lee-mcculler/pygwinc
  • jameson.rollins/pygwinc
  • gwinc/pygwinc
17 results
Show changes
Commits on Source (10)
......@@ -10,3 +10,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
#!/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)
# 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