pygwb.network

The Network module is designed to handle two different tasks. Its primary purpose is to combine results from different pygwb.Baseline objects. Similarly to the Baseline object, the Network object imports Baseline objects as attributes which may be invoked through the Network. In addition to this functionality, it can also be used to simulate cross-correlated data across a network of detectors. Both signal-only and signal and noise data can be simulated using a Network object. The network module handles all data generation by querying the simulator module.

Examples

To show how a Network object can be instantiated, we start by importing the relevant packages:

>>> import numpy as np
>>> from pygwb.detector import Interferometer
>>> from pygwb.network import Network

For concreteness, we work with the LIGO Hanford and Livingston detectors, which we instantiate through:

>>> H1 = Interferometer.get_empty_interferometer("H1")
>>> L1 = Interferometer.get_empty_interferometer("L1")
>>> ifo_list = [H1,L1]

The above detectors are Interferometer objects, but are based on bilby detectors, which have default noise PSDs saved in them, in the power_spectral_density attribute of the bilby detector (more information can be found here). Below, we load in this noise PSD and make sure the duration and sampling frequency of the detector are set to the desired value of these parameters chosen at the start of the notebook.

>>> for ifo in ifo_list:
>>>     ifo.duration = duration
>>>     ifo.sampling_frequency = sampling_frequency
>>>     ifo.power_spectral_density = bilby.gw.detector.PowerSpectralDensity(ifo.frequency_array, np.nan_to_num(ifo.power_spectral_density_array, posinf=1.e-41))

A network can then be created by using:

>>> network_HL = Network('HL', ifo_list)

It is also possible to initialize the class by passing a list of Baselines:

>>> HL_network = Network.from_baselines(’HL’, [HL_baseline])

Classes

Network(name, interferometers[, duration, ...])