def test_amp_pick_not_varwin(self): picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), inventory=self.inventory, remove_old=True, var_wintype=False) self.assertEqual(len(picked_event.amplitudes), self.available_stations)
def test_amp_pick_event(self): """Test the main amplitude picker.""" picked_event = amp_pick_event( event=self.event.copy(), st=self.st.copy(), inventory=self.inventory) self.assertEqual(len(picked_event.picks), len(self.st) + self.available_stations)
def test_amp_pick_not_varwin(self): picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), respdir=self.respdir, remove_old=True, var_wintype=False) self.assertEqual(len(picked_event.amplitudes), 1)
def test_amp_pick_no_prefilt(self): picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), inventory=self.inventory, remove_old=True, var_wintype=False, pre_filt=False) self.assertEqual(len(picked_event.amplitudes), 5)
def test_amp_pick_high_min_snr(self): picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), inventory=self.inventory, remove_old=True, var_wintype=False, min_snr=15) self.assertEqual(len(picked_event.amplitudes), 0)
def test_amp_pick_varwin_no_P(self): event = self.event.copy() for pick in event.picks: if pick.phase_hint.upper() == 'P': event.picks.remove(pick) picked_event = amp_pick_event( event=event, st=self.st.copy(), inventory=self.inventory, remove_old=True, var_wintype=True) self.assertEqual(len(picked_event.amplitudes), self.available_stations)
def test_amp_pick_not_varwin_no_S(self): event = self.event.copy() for pick in event.picks: if pick.phase_hint.upper() == 'S': event.picks.remove(pick) picked_event = amp_pick_event( event=event, st=self.st.copy(), inventory=self.inventory, remove_old=True, var_wintype=False) self.assertEqual(len(picked_event.amplitudes), 1)
def test_amp_pick_varwin_no_P(self): event = self.event.copy() for pick in event.picks: if pick.phase_hint.upper() == 'P': event.picks.remove(pick) picked_event = amp_pick_event(event=event, st=self.st.copy(), respdir=self.respdir, remove_old=True, var_wintype=True) self.assertEqual(len(picked_event.amplitudes), 1)
def test_iaspei(self): max_amplitude, width = 1e-3, 0.2 tr, event, period_at_max, half_max = self.simulate_trace( max_amplitude=max_amplitude, width=width) event_out = amp_pick_event( event=event, st=Stream(tr), inventory=self.inv, pre_filt=False, iaspei_standard=True) self.assertLessEqual( abs((event_out.amplitudes[0].generic_amplitude * PAZ_WA["sensitivity"]) - half_max), 1e-5)
def test_no_filter(self): max_amplitude, width = 1e-3, 0.2 tr, event, period_at_max, half_max = self.simulate_trace( max_amplitude=max_amplitude, width=width) event_out = amp_pick_event( event=event, st=Stream(tr), inventory=self.inv, pre_filt=False) self.assertLessEqual( abs(event_out.amplitudes[0].period - period_at_max), 0.05) self.assertLessEqual( abs(event_out.amplitudes[0].generic_amplitude - half_max), 1e-5)
def test_amp_pick_missing_channel(self): picked_event = amp_pick_event( event=self.event.copy(), st=self.st.copy()[0:-3], inventory=self.inventory, remove_old=True) missed = False for warning in self.log_messages['warning']: if 'not found in the stream' in warning: missed = True self.assertTrue(missed) self.assertEqual(len(picked_event.amplitudes), self.available_stations - 1)
def test_amp_pick_missing_channel(self): warnings.simplefilter("always") with warnings.catch_warnings(record=True) as w: picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy()[0:-4], respdir=self.respdir, remove_old=True) missed = False for m in w: if 'no station and channel match' in str(m.message): missed = True self.assertTrue(missed) self.assertEqual(len(picked_event.amplitudes), 1)
def test_range_of_freqs(self): max_amplitude, width = 1e-3, 0.2 tr, event, period_at_max, half_max = self.simulate_trace( max_amplitude=max_amplitude, width=width) for lowcut in range(1, 5, 1): for highcut in range(5, 50, 2): if lowcut >= highcut: continue event_out = amp_pick_event( event=event.copy(), st=Stream(tr), inventory=self.inv, pre_filt=True, lowcut=lowcut, highcut=highcut) self.assertLessEqual( abs(event_out.amplitudes[0].period - period_at_max), 0.1) self.assertLessEqual( abs(event_out.amplitudes[0].generic_amplitude - half_max), 1e-3)
def test_amp_pick_remove_old_picks(self): picked_event = amp_pick_event( event=self.event.copy(), st=self.st.copy(), inventory=self.inventory, remove_old=True) self.assertEqual(len(picked_event.amplitudes), self.available_stations)
def test_amp_pick_remove_old_picks(self): picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), respdir=self.respdir, remove_old=True) self.assertEqual(len(picked_event.amplitudes), 1)
def test_amp_pick_event(self): """Test the main amplitude picker.""" picked_event = amp_pick_event(event=self.event.copy(), st=self.st.copy(), respdir=self.respdir) self.assertEqual(len(picked_event.picks), len(self.event.picks) + 1)