minke package

Submodules

minke.distribution module

minke.distribution.burst_dist(minimum, maximum, size=1)[source]

Generate an hrss drawn from the distribution [ r + 50/r ] as desired by the Burst group for observing MDCs

minke.distribution.calibration(mu=0, sigma=0.1)[source]

A distribution to model a calibration uncertainty in a given parameter when producing a GWF file.

This function just draws a number from a Normal distribution, but you could do something fancier if you wanted.

Parameters:
mu : float

The mean of the normal distribution to draw from

sigma : float

The standard deviation of the distribution to draw from.

Returns:
factor : float

The factor to multiply the “true” value by to get the uncalibrated version.

minke.distribution.even_time(start, stop, rate, jitter=0)[source]

Produce an evenly-distributed set of times which has some jitter.

Parameters:
start : int

The gps start time of the set.

stop : int

The gps end time of the set.

rate : int

The rate of events per year.

jitter : float

The number of seconds around which the time can “jitter”. This has the effect of adding a small random time on to each time returned in the distribution, up to a maximum of half the jitter value, or taking away up to half the jitter value.

Returns:
times : ndarray

A numpy array of gps times where injections should be made.

minke.distribution.favorable_sky(net, time)[source]

Wander through the skies, searching for a most favorable location — draw extrinsic parameters as if the network antenna pattern magnitude were the PDF.

minke.distribution.log_uniform(lower, upper, number)[source]

Draw uniformly in the log of a predefined range.

Parameters:
lower : float

The lower hrss value (n.b. not the lower log(hrss) value)

upper : float

The upper hrss value (n.b. not the upper log(hrss) value)

number : int

The number of samples to be drawn from the distribution.

Returns:
sample : float

An sample value drawn from the log uniform distribution.

minke.distribution.sky_params(net, time, ra, dec, psi, incl=3.141592653589793)[source]
minke.distribution.supernova_angle(num, divisions=10)[source]

Draw from a discrete distribution of angles.

minke.distribution.uniform_dec(num)[source]

Declination distribution: uniform in sin(dec). num controls the number of draws.

minke.distribution.uniform_interval(interval, num)[source]

Return a number, or a list of numbers which are sampled from a uniform distribution.

Parameters:
interval : tuple (lower, upper)

The interval which the uniform distribution covers.

num : int

The number of samples which should be drawn from the distribution.

Returns:
sample : float or list

A sample, or a list of samples.

Notes

http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random_sample.html#numpy.random.random_sample

minke.distribution.uniform_phi(num)[source]

Uniform in (0, 2pi) distribution. num controls the number of draws.

minke.distribution.uniform_sky(number=1)[source]

Get a set of (RA, declination, polarization) randomized appopriately to astrophysical sources isotropically distributed in the sky.

minke.distribution.uniform_theta(num)[source]

Uniform in cos distribution. num controls the number of draws.

minke.distribution.uniform_time(tstart, tstop, number)[source]

Get a set of randomized (integer) event times.

minke.mdctools module

minke.sources module

class minke.sources.ADI(time, sky_dist=<function uniform_sky>, filepath='stamp_adi_a_tapered.mat', decomposed_path=None)[source]

Bases: minke.sources.LongDuration

Accretion disk instability waveforms which are generated using the method described in LIGO-T1100093, at https://dcc.ligo.org/LIGO-T1100093. The waveforms are based off a model by MH van Putten,

M. H. van Putten, A. Levinson, H. K. Lee, T. Regimbau, M. Punturo, and G. M. Harry. Phys. Rev. D., 69(4), 044007, 2004. M. H. van Putten. Phys. Rev. Lett., 87(9), 091101, 2001.

The waveforms are stored in .mat binary files which can be read-in by SciPy.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of the ADI waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
decompose(numrel_file, sample_rate=16384.0, step_back=0.01)[source]

Produce the spherial harmonic decompositions of the ADI waveform. This is a special case since it is axisymmetric.

Parameters:
numrel_file : str

The location of the numerical relativity waveform file.

sample_rate : float

The sample rate of the output NR file. Defaults to 16384.0 Hz, and should be the same as the data rate of the detector.

step_back : float

The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.

Returns:
decomposition : ndarray

The re-interpolated file at the desired sample rate which is in the <time hp hc> format which can be accepted by LALSimulation.

waveform = 'ADI'
class minke.sources.BBHRingdown(time, phi0, mass, spin, massloss, distance, inclination, sky_dist=<function uniform_sky>)[source]

Bases: minke.sources.Ringdown

A class to represent BBH ringdowns.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'BBHRingdown'
class minke.sources.Dimmelmeier08(time, distance=0.01, sky_dist=<function uniform_sky>, filepath='signal_s15a2o05_ls.dat', decomposed_path=None)[source]

Bases: minke.sources.Supernova

The Dimmelmeier08 waveform.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
decompose(numrel_file, sample_rate=16384.0, step_back=0.01)[source]

Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. This is a special case since it is axisymmetric.

Parameters:
numrel_file : str

The location of the numerical relativity waveform file.

sample_rate : float

The sample rate of the NR file. Defaults to 16384.0 Hz.

step_back : float

The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.

Returns:
decomposition : ndarray

The l=2 mode spherical decompositions of the waveform.

waveform = 'Dimmelmeier+08'
class minke.sources.Gaussian(duration, hrss, time, sky_dist=<function uniform_sky>, seed=0)[source]

Bases: minke.sources.Waveform

A class to represent a Gaussian injection.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'Gaussian'
class minke.sources.LongDuration[source]

Bases: minke.sources.Supernova

A superclass to handle the spherial harmonic decompositions which long duration numerical relativity bursts may require.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of a numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
supernova = True
waveform = 'LongDuration'
class minke.sources.Mueller2012(theta, phi, time, distance=0.01, sky_dist=<function uniform_sky>, filepath=None, family='L15-3', decomposed_path=None)[source]

Bases: minke.sources.Supernova

The Mueller2012 waveform.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of a numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
decompose(numrel_file, sample_rate=16384.0, step_back=0.01)[source]

Produce the spherial harmonic decompositions of a numerical waveform.

Parameters:
numrel_file : str

The location of the numerical relativity waveform file.

sample_rate : float

The sample rate of the NR file. Defaults to 16384.0 Hz.

step_back : float

The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.

distance : float

The distance, in megaparsecs, from the observer at which the NR waveforms were simulated. Defaults to 10 kpc (i.e. 10e-3 Mpc).

Returns:
decomposition : ndarray

The l=2 mode spherical decompositions of the waveform.

has_memory = True
waveform = 'Mueller+12'
class minke.sources.Ott2013(theta, phi, time, sky_dist=<function uniform_sky>, distance=0.01, filepath=None, family='s27fheat1p05', decomposed_path=None)[source]

Bases: minke.sources.Supernova

The Ott+2013 supernova waveform

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of a numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
has_memory = True
waveform = 'Ott+13'
class minke.sources.Ringdown[source]

Bases: minke.sources.Waveform

A class to handle Rindown waveforms.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
table_type

alias of glue.ligolw.lsctables.SimRingdownTable

waveform = 'GenericRingdown'
class minke.sources.Scheidegger2010(theta, phi, time, distance=0.01, sky_dist=<function uniform_sky>, filepath=None, family='R1E1CA_L', decomposed_path=None)[source]

Bases: minke.sources.Supernova

The Scheidegger2010 waveform.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of a numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'Scheidegger+10'
class minke.sources.SineGaussian(q, frequency, hrss, polarisation, time, sky_dist=<function uniform_sky>, seed=0)[source]

Bases: minke.sources.Waveform

A class to represent a SineGaussian injection.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'SineGaussian'
class minke.sources.StringCusp(amplitude, f_max, time, sky_dist=<function uniform_sky>)[source]

Bases: minke.sources.Waveform

A class to represent a StringCusp injection.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'StringCusp'
class minke.sources.Supernova[source]

Bases: minke.sources.Waveform

A superclass to handle the spherial harmonic decompositions which all supernova waveforms require.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of a numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz, l=2, m=2)[source]

Construct the expansion parameters Hlm from T1000553. Returns the expansion parameters for l=2, m=m

decompose(numrel_file, sample_rate=16384.0, step_back=0.01)[source]

Produce the spherial harmonic decompositions of a numerical waveform.

Parameters:
numrel_file : str

The location of the numerical relativity waveform file.

sample_rate : float

The sample rate of the NR file. Defaults to 16384.0 Hz.

step_back : float

The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.

Returns:
decomposition : ndarray

The l=2 mode spherical decompositions of the waveform.

file_distance = 0.01
generate_tail(sampling=16384.0, length=1, h_max=1e-23, h_min=0)[source]

Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.

This code was adapted from an iPython notebook provided by Marek Szczepanczyk.

The tail needs to be added to the waveform after all of the other corrections have been applied (DW: I think)

Parameters:
sampling : float

The sample rate of the injection data. By default this is 16384 Hz, which is the standard advanced LIGO sampling rate.

length : float

The length of the tail to be added, in seconds; defaults to 1.

h_max : float

The strain at the beginning of the tail – the strain at the end of the NR data.

Notes

  • TODO Confirm that the tail is added-on after the waveform is

convolved with the antenna pattern.

has_memory = False
interpolate(x_old, y_old, x_new)[source]

Convenience funtion to avoid repeated code

supernova = True
waveform = 'Supernova'
class minke.sources.Waveform[source]

Bases: object

Generic container for different source types. Currently, it checks for the waveform type and initializes itself appropriately. In the future, different sources should subclass this and override the generation routines.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
expnum = 1
interpolate(x_old, y_old, x_new, method='linear')[source]

Convenience funtion to avoid repeated code

numrel_data = []
parse_polarisation(polarisation)[source]

Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.

Parameters:
polarisation : str, {‘linear’, ‘circular’, ‘elliptical’, ‘inclination’}

The description of the polarisation, in words.

plot(figsize=(10, 5))[source]

Produce a plot of the injection.

sim = []
table_type

alias of glue.ligolw.lsctables.SimBurstTable

waveform = 'Generic'
class minke.sources.WhiteNoiseBurst(duration, bandwidth, frequency, time, hrss=None, egw=None, sky_dist=<function uniform_sky>, seed=0)[source]

Bases: minke.sources.Waveform

A class to represent a WNB injection.

Methods

interpolate(x_old, y_old, x_new[, method]) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
waveform = 'BTLWNB'
class minke.sources.Yakunin10(time, distance=0.01, sky_dist=<function uniform_sky>, filepath='Yakunin2010/hplus-B12-WH07_tail.txt', decomposed_path=None)[source]

Bases: minke.sources.Supernova

The Yakunin10 waveform.

Methods

construct_Hlm(Ixx, Ixy, Ixz, Iyy, Iyz, Izz) Construct the expansion parameters Hlm from T1000553.
decompose(numrel_file[, sample_rate, step_back]) Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform.
generate_tail([sampling, length, h_max, h_min]) Generate a “low frequency tail” to append to the end of the waveform to overcome problems related to memory in the waveform.
interpolate(x_old, y_old, x_new) Convenience funtion to avoid repeated code
parse_polarisation(polarisation) Convert a string description of a polarisation to an ellipse eccentricity and an ellipse angle.
plot([figsize]) Produce a plot of the injection.
table_type  
decompose(numrel_file, sample_rate=16384.0, step_back=0.01)[source]

Produce the spherial harmonic decompositions of the Dimmelmeier numerical waveform. This is a special case since it is axisymmetric.

Parameters:
numrel_file : str

The location of the numerical relativity waveform file.

sample_rate : float

The sample rate of the NR file. Defaults to 16384.0 Hz.

step_back : float

The amount of time, in seconds, of the data which should be included before the peak amplitude. Defaults to 0.01 sec.

Returns:
decomposition : ndarray

The l=2 mode spherical decompositions of the waveform.

waveform = 'Yakunin+10'

Module contents