Exemple #1
0
 def test_empy_stream_returns_empty(self):
     """ An empy stream should also return an empty stream """
     st = obspy.read()
     t1, t2 = st[0].stats.starttime + 1, st[0].stats.endtime - 1
     nslc = st[0].id.split(".")
     bulk = [tuple(nslc + [t1, t2])]
     out = stream_bulk_split(obspy.Stream(), bulk)
     assert len(out) == 0
 def test_input_from_df(self, bing_pick_bulk, bingham_stream,
                        bingham_dataset):
     """ Ensure bulk can be formed from a dataframe. """
     st_client = bingham_dataset.waveform_client
     st_list = stream_bulk_split(bingham_stream, bing_pick_bulk)
     for st1, (_, ser) in zip(st_list, bing_pick_bulk.iterrows()):
         st2 = st_client.get_waveforms(*ser.to_list())
         assert_streams_almost_equal(st1, st2, allow_off_by_one=True)
Exemple #3
0
 def test_two_intervals_same_stream(self):
     """ Tests for returning two intervals in the same stream. """
     st = obspy.read()
     bulk = self.get_bulk_from_stream(st, [0, 0], [[0, -15], [15, 0]])
     out = stream_bulk_split(st, bulk)
     assert len(out) == 2
     for st_out in out:
         assert len(st_out) == 1
         stats = st_out[0].stats
         out_duration = stats.endtime - stats.starttime
         assert abs(out_duration - 15) <= stats.sampling_rate * 2
Exemple #4
0
 def test_no_bulk_matches(self):
     """ Test when multiple bulk parameters don't match any traces. """
     st = obspy.read()
     bulk = []
     for tr in st:
         utc = obspy.UTCDateTime("2017-09-18")
         t1, t2 = utc, utc
         bulk.append(tuple([*tr.id.split(".") + [t1, t2]]))
     out = stream_bulk_split(st, bulk)
     assert len(out) == len(bulk)
     for tr in out:
         assert isinstance(tr, obspy.Stream)
Exemple #5
0
 def test_two_inter(self):
     """ Tests for getting data completely contained in available range.  """
     # setup stream and bulk args
     st = obspy.read()
     duration = st[0].stats.endtime - st[0].stats.starttime
     bulk = self.get_bulk_from_stream(st, [0, 1], [[5, -5], [5, -5]])
     # request data, check durations
     out = stream_bulk_split(st, bulk)
     for st_out in out:
         assert len(st_out) == 1
         stats = st_out[0].stats
         out_duration = stats.endtime - stats.starttime
         assert np.isclose(duration - out_duration, 10)
Exemple #6
0
 def test_stream_bulk_split(self):
     """ Ensure the basic stream to trace works. """
     # get bulk params
     st = obspy.read()
     t1, t2 = st[0].stats.starttime + 1, st[0].stats.endtime - 1
     nslc = st[0].id.split(".")
     bulk = [tuple(nslc + [t1, t2])]
     # create traces, check len
     streams = stream_bulk_split(st, bulk)
     assert len(streams) == 1
     # assert trace after trimming is equal to before
     t_expected = obspy.Stream([st[0].trim(starttime=t1, endtime=t2)])
     assert t_expected == streams[0]
Exemple #7
0
 def test_two_overlap(self):
     """ Tests for when there is an overlap of available data and
     requested data but some data are not available."""
     # setup stream and bulk args
     st = obspy.read()
     duration = st[0].stats.endtime - st[0].stats.starttime
     bulk = self.get_bulk_from_stream(st, [0, 1], [[-5, -5], [-5, -5]])
     # request data, check durations
     out = stream_bulk_split(st, bulk)
     for st_out in out:
         assert len(st_out) == 1
         stats = st_out[0].stats
         out_duration = stats.endtime - stats.starttime
         assert np.isclose(duration - out_duration, 5)
Exemple #8
0
 def test_empty_query_returns_empty(self):
     """ An empty query should return an emtpy Stream """
     st = obspy.read()
     out = stream_bulk_split(st, [])
     assert len(out) == 0