obspy.core.stream.Stream.select¶
- Stream.select(network=None, station=None, location=None, channel=None, sampling_rate=None, npts=None, component=None, id=None, inventory=None)[source]¶
Return new Stream object only with these traces that match the given stats criteria (e.g. all traces with channel="EHZ").
Alternatively, traces can be selected based on the content of an Inventory object: trace will be selected if the inventory contains a matching channel active at the trace start time.
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:
>>> from obspy import read_inventory >>> inv = read_inventory('/path/to/BW_RJOB__EHZ.xml') >>> print(inv) Inventory created at 2013-12-07T18:00:42.878000Z Created by: fdsn-stationxml-converter/1.0.0 http://www.iris.edu/fdsnstationconverter Sending institution: Erdbebendienst Bayern Contains: Networks (1): BW Stations (1): BW.RJOB (Jochberg, Bavaria, BW-Net) Channels (1): BW.RJOB..EHZ >>> st2 = st.select(inventory=inv) >>> print(st2) 1 Trace(s) in Stream: BW.RJOB..EHZ | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples
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 (*, ?, ...).