Inventory.select(network=None, station=None, location=None, channel=None, time=None, starttime=None, endtime=None, sampling_rate=None, keep_empty=False)[source]

Returns the Inventory object with only the Networks / Stations / Channels that match the given criteria (e.g. all channels with channel="EHZ").


The returned object is based on a shallow copy of the original object. That means that modifying any mutable child elements will also modify the original object (see https://docs.python.org/2/library/copy.html). Use copy() afterwards to make a new copy of the data in memory.


>>> from obspy import read_inventory, UTCDateTime
>>> inv = read_inventory()
>>> t = UTCDateTime(2007, 7, 1, 12)
>>> inv = inv.select(channel="*Z", station="[RW]*", time=t)
>>> print(inv)  
Inventory created at 2014-03-03T11:07:06.198000Z
    Created by: fdsn-stationxml-converter/1.0.0
    Sending institution: Erdbebendienst Bayern
        Networks (2):
            BW, GR
        Stations (2):
            BW.RJOB (Jochberg, Bavaria, BW-Net)
            GR.WET (Wettzell, Bavaria, GR-Net)
        Channels (4):

The network, station, location and channel selection criteria may also contain UNIX style wildcards (e.g. *, ?, ...; see fnmatch()).

  • network (str) Potentially wildcarded network code. If not given, all network codes will be accepted.
  • station (str) Potentially wildcarded station code. If not given, all station codes will be accepted.
  • location (str) Potentially wildcarded location code. If not given, all location codes will be accepted.
  • channel (str) Potentially wildcarded channel code. If not given, all channel codes will be accepted.
  • time (UTCDateTime) Only include networks/stations/channels active at given point in time.
  • starttime (UTCDateTime) Only include networks/stations/channels active at or after given point in time (i.e. channels ending before given time will not be shown).
  • endtime (UTCDateTime) Only include networks/stations/channels active before or at given point in time (i.e. channels starting after given time will not be shown).
  • keep_empty (bool) If set to True, networks/stations that match themselves but have no matching child elements (stations/channels) will be included in the result.