Loading minke/mdctools.py +8 −12 Original line number Diff line number Diff line Loading @@ -245,7 +245,7 @@ class MDCSet(): i = 0 #sim_burst_table = lalburst.SimBurstTableFromLIGOLw(filename, start, stop) xml = glue.ligolw.utils.load_filename("test_simbursttable.xml.gz", xml = glue.ligolw.utils.load_filename(filename, contenthandler = glue.ligolw.ligolw.LIGOLWContentHandler, verbose = True) sim_burst_table = glue.ligolw.table.get_table(xml, self.table_type.tableName) Loading @@ -261,6 +261,7 @@ class MDCSet(): self._measure_hrss(i) self._measure_egw_rsq(i) if self.table_type == "burst": self.times = np.append(self.times, float(simrow.time_geocent_gps)) #np.insert(self.times, len(self.times), sim_burst_table.time_geocent_gps) #if sim_burst_table.next is None: break Loading Loading @@ -302,16 +303,11 @@ class MDCSet(): setattr(swig_row, a, getattr( row, a )) except AttributeError: continue # we didn't define it except TypeError: print a, getattr(row,a) #print a, getattr(row,a) continue # the structure is different than the TableRow theta, phi = np.cos(swig_row.incl), swig_row.phi try: swig_row.numrel_data = row.numrel_data except AttributeError: # Don't fail badly if there's a problem with numerical relativity data unless this is a supernova injection swig_row.numrel_data = "" if row.waveform in exceptions: raise AttributeError swig_row.numrel_data = str(row.numrel_data) hp, hx = lalburst.GenerateSimBurst(swig_row, 1.0/rate) hp0, hx0 = lalburst.GenerateSimBurst(swig_row, 1.0/rate) return hp, hx, hp0, hx0 Loading Loading @@ -393,7 +389,7 @@ class MDCSet(): name = '' numberspart = '' if row.waveform in ("Dimmelmeier+08", "Scheidegger+10", "Mueller+12", "Ott+13"): print row #print row numberspart = os.path.basename(row.numrel_data).split('.')[0] if row.waveform == "Gaussian": Loading minke/sources.py +33 −8 Original line number Diff line number Diff line Loading @@ -964,7 +964,8 @@ class Ringdown(Waveform): """ table_type = lsctables.SimRingdownTable waveform = "Ringdown" pass class LongDuration(Supernova): """ Loading Loading @@ -1101,18 +1102,42 @@ class BBHRingdown(Ringdown): """ #lalsimfunction = SimBlackHoleRingdown def __init__(self, time, hrss, phi0, deltaT, mass, spin, massloss, distance, inclination, l, m, sky_dist=uniform_sky): def __init__(self, time, hrss, phi0, mass, spin, massloss, distance, inclination, l, m, sky_dist=uniform_sky, deltaT = 1/16384.0): self._clear_params() self.time = self.v_start_time_ns = time self.time = time self.sky_dist = sky_dist self.params['simulation_id'] = self.simulation_id = self.sim.get_next_id() self.params['phi0'] = phi0 self.params['deltaT'] = deltaT self.params['mass'] = mass self.params['mass'] = mass # in solar masses self.params['spin'] = spin self.params['massloss'] = massloss self.params['eff_dist_l'] = self.eff_dist_l = distance self.params['eff_dist_l'] = self.eff_dist_l = distance # megaparsec self.params['hrss'] = self.hrss = hrss self.params['inclination'] = inclination self.params['l'] = l self.params['m'] = m self.params['inclination'] = self.inclination = inclination self.params['l'] = self.l = l self.params['m'] = self.m = m def _generate(self, rate=16384.0): """ Generate this BBH Ringdown waveform. Parameters ---------- rate : float The signal sampling rate. Defaults to 16384.0 Hz """ dt = 1.0 / rate #&epoch, q, dt, M, a, e, r, i, l, m hp, hx = lalsimulation.SimBlackHoleRingdown(self.time, np.deg2rad(self.azimuth), dt, self.mass*lal.MSUN_SI, self.spin, self.massloss, self.eff_dist_l * 1e6 * lal.PC_SI, np.deg2rad(self.inclination), self.l, self.m) return hp, hx tests/test_minke.py +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class TestMinke(unittest.TestCase): """ Read-in the xml simburst table. """ mdcset = mdctools.MDCSet(["L1"]) mdcset = mdctools.MDCSet(["L1"], table_type = "ringdown",) mdcset.load_xml("test_simringdowntable.xml.gz", full = False) self.assertEqual(len(mdcset.waveforms), 1) Loading tests/test_sources.py +23 −3 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ class TestMinkeSources(unittest.TestCase): def test_OttFrame(self): mdcset = mdctools.MDCSet(['L1', 'H1']) mdcset.load_xml('testout/ott13.xml.gz') mdcset.load_xml('tests/data/ott_test.xml.gz') o1 = mdctools.FrameSet('tests/data/frame_list.dat') mdc_folder = "testout/frames" for o1frame in o1.frames: Loading @@ -95,11 +95,31 @@ class TestMinkeSources(unittest.TestCase): def test_OttGraven(self): mdcset = mdctools.MDCSet(['L1', 'H1']) mdcset.load_xml('testout/ott13.xml.gz') mdcset.load_xml('tests/data/ott_test.xml.gz') o1 = mdctools.FrameSet('tests/data/frame_list.dat') o1.full_logfile(mdcset, 'testout/frames/logfile.txt') def TestRingdown(self): testdata = np.array( [ -4.14099902e-20, 4.05706892e-21, 9.44712664e-22, -2.70287547e-22, 1.98245659e-24, 9.41028314e-24, -1.31703741e-24, -1.62366854e-25, 6.86331926e-26, -3.27763986e-27, -2.02216144e-27, 3.85067715e-28, 2.13773021e-29, -1.66111808e-29, 1.43458903e-30, 4.04499843e-31, -1.04902792e-31, -5.84838741e-34, 3.83160548e-33, -4.86443978e-34, -7.27079363e-35, 2.70362403e-35] ) mdcset = mdctools.MDCSet(["L1"], table_type = "ringdown") waveform = sources.BBHRingdown(1000, 1e-22, 0 ,0.1, 10, 0.1, 0.01, 10, 0, 2, 2,) mdcset + waveform hp, hx = waveform._generate() np.testing.assert_array_equal(hp, testdata) def TestSupernovaXML(self): Loading Loading
minke/mdctools.py +8 −12 Original line number Diff line number Diff line Loading @@ -245,7 +245,7 @@ class MDCSet(): i = 0 #sim_burst_table = lalburst.SimBurstTableFromLIGOLw(filename, start, stop) xml = glue.ligolw.utils.load_filename("test_simbursttable.xml.gz", xml = glue.ligolw.utils.load_filename(filename, contenthandler = glue.ligolw.ligolw.LIGOLWContentHandler, verbose = True) sim_burst_table = glue.ligolw.table.get_table(xml, self.table_type.tableName) Loading @@ -261,6 +261,7 @@ class MDCSet(): self._measure_hrss(i) self._measure_egw_rsq(i) if self.table_type == "burst": self.times = np.append(self.times, float(simrow.time_geocent_gps)) #np.insert(self.times, len(self.times), sim_burst_table.time_geocent_gps) #if sim_burst_table.next is None: break Loading Loading @@ -302,16 +303,11 @@ class MDCSet(): setattr(swig_row, a, getattr( row, a )) except AttributeError: continue # we didn't define it except TypeError: print a, getattr(row,a) #print a, getattr(row,a) continue # the structure is different than the TableRow theta, phi = np.cos(swig_row.incl), swig_row.phi try: swig_row.numrel_data = row.numrel_data except AttributeError: # Don't fail badly if there's a problem with numerical relativity data unless this is a supernova injection swig_row.numrel_data = "" if row.waveform in exceptions: raise AttributeError swig_row.numrel_data = str(row.numrel_data) hp, hx = lalburst.GenerateSimBurst(swig_row, 1.0/rate) hp0, hx0 = lalburst.GenerateSimBurst(swig_row, 1.0/rate) return hp, hx, hp0, hx0 Loading Loading @@ -393,7 +389,7 @@ class MDCSet(): name = '' numberspart = '' if row.waveform in ("Dimmelmeier+08", "Scheidegger+10", "Mueller+12", "Ott+13"): print row #print row numberspart = os.path.basename(row.numrel_data).split('.')[0] if row.waveform == "Gaussian": Loading
minke/sources.py +33 −8 Original line number Diff line number Diff line Loading @@ -964,7 +964,8 @@ class Ringdown(Waveform): """ table_type = lsctables.SimRingdownTable waveform = "Ringdown" pass class LongDuration(Supernova): """ Loading Loading @@ -1101,18 +1102,42 @@ class BBHRingdown(Ringdown): """ #lalsimfunction = SimBlackHoleRingdown def __init__(self, time, hrss, phi0, deltaT, mass, spin, massloss, distance, inclination, l, m, sky_dist=uniform_sky): def __init__(self, time, hrss, phi0, mass, spin, massloss, distance, inclination, l, m, sky_dist=uniform_sky, deltaT = 1/16384.0): self._clear_params() self.time = self.v_start_time_ns = time self.time = time self.sky_dist = sky_dist self.params['simulation_id'] = self.simulation_id = self.sim.get_next_id() self.params['phi0'] = phi0 self.params['deltaT'] = deltaT self.params['mass'] = mass self.params['mass'] = mass # in solar masses self.params['spin'] = spin self.params['massloss'] = massloss self.params['eff_dist_l'] = self.eff_dist_l = distance self.params['eff_dist_l'] = self.eff_dist_l = distance # megaparsec self.params['hrss'] = self.hrss = hrss self.params['inclination'] = inclination self.params['l'] = l self.params['m'] = m self.params['inclination'] = self.inclination = inclination self.params['l'] = self.l = l self.params['m'] = self.m = m def _generate(self, rate=16384.0): """ Generate this BBH Ringdown waveform. Parameters ---------- rate : float The signal sampling rate. Defaults to 16384.0 Hz """ dt = 1.0 / rate #&epoch, q, dt, M, a, e, r, i, l, m hp, hx = lalsimulation.SimBlackHoleRingdown(self.time, np.deg2rad(self.azimuth), dt, self.mass*lal.MSUN_SI, self.spin, self.massloss, self.eff_dist_l * 1e6 * lal.PC_SI, np.deg2rad(self.inclination), self.l, self.m) return hp, hx
tests/test_minke.py +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ class TestMinke(unittest.TestCase): """ Read-in the xml simburst table. """ mdcset = mdctools.MDCSet(["L1"]) mdcset = mdctools.MDCSet(["L1"], table_type = "ringdown",) mdcset.load_xml("test_simringdowntable.xml.gz", full = False) self.assertEqual(len(mdcset.waveforms), 1) Loading
tests/test_sources.py +23 −3 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ class TestMinkeSources(unittest.TestCase): def test_OttFrame(self): mdcset = mdctools.MDCSet(['L1', 'H1']) mdcset.load_xml('testout/ott13.xml.gz') mdcset.load_xml('tests/data/ott_test.xml.gz') o1 = mdctools.FrameSet('tests/data/frame_list.dat') mdc_folder = "testout/frames" for o1frame in o1.frames: Loading @@ -95,11 +95,31 @@ class TestMinkeSources(unittest.TestCase): def test_OttGraven(self): mdcset = mdctools.MDCSet(['L1', 'H1']) mdcset.load_xml('testout/ott13.xml.gz') mdcset.load_xml('tests/data/ott_test.xml.gz') o1 = mdctools.FrameSet('tests/data/frame_list.dat') o1.full_logfile(mdcset, 'testout/frames/logfile.txt') def TestRingdown(self): testdata = np.array( [ -4.14099902e-20, 4.05706892e-21, 9.44712664e-22, -2.70287547e-22, 1.98245659e-24, 9.41028314e-24, -1.31703741e-24, -1.62366854e-25, 6.86331926e-26, -3.27763986e-27, -2.02216144e-27, 3.85067715e-28, 2.13773021e-29, -1.66111808e-29, 1.43458903e-30, 4.04499843e-31, -1.04902792e-31, -5.84838741e-34, 3.83160548e-33, -4.86443978e-34, -7.27079363e-35, 2.70362403e-35] ) mdcset = mdctools.MDCSet(["L1"], table_type = "ringdown") waveform = sources.BBHRingdown(1000, 1e-22, 0 ,0.1, 10, 0.1, 0.01, 10, 0, 2, 2,) mdcset + waveform hp, hx = waveform._generate() np.testing.assert_array_equal(hp, testdata) def TestSupernovaXML(self): Loading