obspy.core.stream.Stream.select

Stream.select(network=None, station=None, location=None, channel=None, sampling_rate=None, npts=None, component=None, id=None)[source]

Return new Stream object only with these traces that match the given stats criteria (e.g. all traces with channel="EHZ").

Examples

>>> from obspy import read
>>> st = read()
>>> st2 = st.select(station="R*")
>>> print(st2)  
3 Trace(s) in Stream:
BW.RJOB..EHZ | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
BW.RJOB..EHN | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
BW.RJOB..EHE | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
>>> st2 = st.select(id="BW.RJOB..EHZ")
>>> print(st2)  
1 Trace(s) in Stream:
BW.RJOB..EHZ | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
>>> st2 = st.select(component="Z")
>>> print(st2)  
1 Trace(s) in Stream:
BW.RJOB..EHZ | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
>>> st2 = st.select(network="CZ")
>>> print(st2)  
0 Trace(s) in Stream:

Warning

A new Stream object is returned but the traces it contains are just aliases to the traces of the original stream. Does not copy the data but only passes a reference.

All keyword arguments except for component are tested directly against the respective entry in the Stats dictionary.

If a string for component is given (should be a single letter) it is tested against the last letter of the Trace.stats.channel entry.

Alternatively, channel may have the last one or two letters wildcarded (e.g. channel="EH*") to select all components with a common band/instrument code.

All other selection criteria that accept strings (network, station, location) may also contain Unix style wildcards (*, ?, ...).