Skip to content

PH5 Web Services

Nick Falco edited this page Jan 7, 2020 · 18 revisions

The IRIS DMC in collaboration with the IRIS PASSCAL Instrument Center maintain three FDSN compliant PH5 web service interfaces. These services are designed to provide an interface for access to time series PH5 datasets, related station metadata, and active (controlled) source event information stored at the IRIS DMC in Seattle WA.

Service Web Service Location Description
ph5ws-dataselect http://service.iris.edu/ph5ws/dataselect/1 Return time series data in miniSEED and SAC format
ph5ws-station http://service.iris.edu/ph5ws/station/1 Return station metadata in FDSN StationXML version 1.0 and IRIS Text format
ph5ws-event http://service.iris.edu/ph5ws/event/1 Return controlled source event metadata in QuakeML version 1.2 and IRIS ShotText format

DMC data access tools

The PH5 Web Services are designed to work with the majority of existing FDSN web service clients, such as FetchData, FetchMetadata and ObsPy.

Requesting data with ObsPy

ObsPy is an open-source project dedicated to provide a Python framework for processing seismological data.

Below are some examples of how ObsPy can be used to make requests to the PH5 Dataselect, Station, and Event Web Services. For information on how to request active source data as a common shot gather, see the Common Shot Gather Example.

PH5 Dataselect Web Service Request with ObsPy

from obspy.clients import fdsn
from obspy import UTCDateTime

DATASELECT = 'http://service.iris.edu/ph5ws/dataselect/1'
c = fdsn.client.Client('http://service.iris.edu',
                       service_mappings={
                           'dataselect': DATASELECT
                       },
                       debug=True
                      )
stream = c.get_waveforms('YW', '100?,50?', '--,01', 'DPZ,HHZ',
                         UTCDateTime('2016-06-24T00:00:00'),
                         UTCDateTime('2016-06-24T01:00:00'))

PH5 Station Web Service Request with ObsPy

from obspy.clients import fdsn
from obspy import UTCDateTime

STATION = 'http://service.iris.edu/ph5ws/station/1'
c = fdsn.client.Client('http://service.iris.edu',
                       service_mappings={
                           'station': STATION
                       },
                       debug=True
                      )
inventory = c.get_stations(network='YW', station='100?,50?', 
                        location='--,01', channel='DPZ,HHZ', level=channel',
                        starttime=UTCDateTime('2016-06-24T00:00:00'),
                        endtime=UTCDateTime('2016-06-24T01:00:00'))

PH5 Event Web Service Request with ObsPy

from obspy.clients import fdsn
from obspy import UTCDateTime

EVENT = 'http://service.iris.edu/ph5ws/event/1'
c = fdsn.client.Client('http://service.iris.edu',
                       service_mappings={
                           'event': EVENT
                       },
                       debug=True
                      )
inventory = c.get_stations(catalog='ZI',
                        starttime=UTCDateTime('2015-06-29T02:00:00'),
                        endtime=UTCDateTime('2015-07-01T03:00:00'))

Running against a local experiment

The PH5 Dataselect, Station, and Event Web Services use the ph5.clients.ph5tomsAPI, ph5.clients.ph5tostationxml.py, and ph5.clients.ph5toevent modules for data extraction. These python modules can be imported or run as command line scripts to implement the core web services extraction code on a local PH5 experiment.