Skip to content
Snippets Groups Projects
Forked from gwinc / pygwinc
591 commits behind the upstream repository.
user avatar
Jameson Graef Rollins authored
3ac0ddb6
History

pipeline status

Python port of GW Interferometer Noise Calculator

gwinc

tests

To compare pygwinc vs. matlab gwinc, run the included test command (requires a local installation of matlab and its python interface):

  • checkout, or link an existing checkout of, matlab gwinc in the test directory:

    $ cd pygwinc/gwinc/test
    $ ln -s ~/ligo/src/iscmodeling/gwinc
  • Execute the test command (specifying path to matlab python interface if needed):

    $ PYTHONPATH=/opt/matlab/python/lib/python2.7/site-packages python -m gwinc.test

This will produce difference plots of noises calculated from matlab gwinc and pygwinc.

basic usage

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:

>>> import gwinc
>>> import numpy as np
>>> ifo = gwinc.load_ifo('aLIGO')
>>> freq = np.logspace(1, 3, 1000)
>>> score, data, ifo = gwinc.gwinc(freq, ifo)

A convenience function to plot the resulting noise budget is included:

>>> gwinc.plot_noise(data)

command line interface

You can make gwinc plots directly from the command line by executing the package directly:

~/ligo/src/gwinc $ python -m gwinc -h
usage: gwinc [-h] [--flo FLO] [--fhi FHI] [--npoints NPOINTS] [--title TITLE]
             [--matlab] [--fom FOM] [--dump | --save SAVE | --interactive]
             [IFO]

Plot GWINC noise budget for specified IFO

If the inspiral_range package is installed, various figures of merit
can be calculated for the resultant spectrum with the --fom argument,
e.g.:

  gwinc --fom range:m1=20,m2=20 ...

See documentation for inspiral_range package for details.

positional arguments:
  IFO                   IFO name or description file path (.yaml or .mat)

optional arguments:
  -h, --help            show this help message and exit
  --flo FLO, -fl FLO    lower frequency bound in Hz [5]
  --fhi FHI, --fh FHI   upper frequency bound in Hz [6000]
  --npoints NPOINTS, -n NPOINTS
                        number of frequency points [3000]
  --title TITLE, -t TITLE
                        plot title
  --matlab, -m          use MATLAB gwinc engine to calculate noises
  --fom FOM             calculate inspiral range for resultant spectrum
                        ('func:param=val,param=val')
  --dump, -d            print IFO parameters to stdout and exit
  --save SAVE, -s SAVE  save figure to file
  --interactive, -i     open interactive shell when plotting

detector description files

pygwinc can load detector descriptions in two different format: the original MATLAB gwinc .mat format, or the new YAML .yaml format. pygwinc includes two .yaml detector descriptions:

* gwinc/ifo/aLIGO.yaml
* gwinc/ifo/Voyager.yaml