def test_flex_cut_stream(): st = obspy.read(small_mseed) tstart = st[0].stats.starttime tend = st[0].stats.endtime dt = st[0].stats.delta t1 = tstart + 100 * dt t2 = tend - 100 * dt dynamic_npts = 5 proc.flex_cut_stream(st, t1, t2, dynamic_npts=dynamic_npts) for tr in st: assert tr.stats.starttime == t1 - dynamic_npts * dt assert tr.stats.endtime == t2 + dynamic_npts * dt
def test_flex_cut_stream(): st = obspy.read(small_mseed) tstart = st[0].stats.starttime tend = st[0].stats.endtime t1 = tstart + 10 t2 = tend - 10 dynamic_length = 5 st = proc.flex_cut_stream(st, t1, t2, dynamic_length=dynamic_length) for tr in st: assert tr.stats.starttime == t1 - dynamic_length assert tr.stats.endtime == t2 + dynamic_length
def select(acc: ASDFAccessor, duration: Optional[float] = None): """Select 3 components from Stream.""" stream = acc.stream # cut stream based on event time if duration: starttime = acc.origin.time endtime = starttime + duration * 60 stream = flex_cut_stream(stream, starttime, endtime, 10) # select 3 components from the stream for trace_z in stream.select(component='Z'): for cmps in [['N', 'E'], ['1', '2']]: traces = [trace_z] for cmp in cmps: if len(substream := stream.select( component=cmp, location=trace_z.stats.location)): traces.append(substream[0])