FDSN Web Services#
Use FDSNWS to access station metadata in FDSN StationXML, StationXML and SC3XML formats and time series data in miniSEED format. For full details visit: http://www.fdsn.org/webservices/ and https://www.seiscomp3.org/doc/jakarta/current/apps/fdsnws.html.
IP to use for fdsnws queries: https://data.raspberryshake.org/fdsnws/
Note
The RASPISHAKE data center has been included in the IRIS Federator system. See also: IRIS FDSN Stats and the FDSN AM network page.
Note
All historical data all the way back to 2016 when Raspberry Shake was born is now online and available via FDSNWS
Warning
fdsnws-event is not currently supported
Note
FDSN is not a real-time streaming protocol. It will serve data T minus 30 minutes and older. For real-time streaming services, please contact sales@raspberryshake.org. For additional details, please consult our License.
Note
It is possible to visualize what Shakes were online in any specific time period with this IRIS tool.
Note
If an error 502 appears when trying to access our FDSNWS services, simply wait for 60-90 seconds and then try again.
FDSNWS Traffic Optimization#
To ensure the best service performance and user experience, each request allows to download up to 24h of data. For multi-day requests, consider splitting them accordingly.
Also, the following optimizations are in place to avoid overwhelming the service with too many and/or too large requests. They are as follows:
5 requests per second, or
30 requests per minute.
After 200MB have been delivered, the download rate for the same IP slows down to 500KB/s.
When these limits are exceeded, a 429 error will appear. If so, consider adding a small delay between your bulk request queries to avoid it.
Waveforms#
fdsnws-dataselect example via wget:
$ wget --no-check-certificate "https://data.raspberryshake.org/fdsnws/dataselect/1/query?net=AM&sta=R5661&loc=00&cha=SHZ&start=2017-06-20T20:00:00&end=2017-06-20T20:05:00" -O waveform.mseed
fdsnws-dataselect example via ObsPy (obspy version 1.2.0 and higher):
from obspy.clients.fdsn import Client
from obspy import UTCDateTime
start_1 = "2020-01-01 00:00:00"
starttime = UTCDateTime(start_1)
endtime = starttime + 600 # 600 seconds
client = Client('RASPISHAKE')
waveform = client.get_waveforms('AM', 'R24FA', '00', 'EHZ', starttime, endtime)
fdsnws-dataselect example via ObsPy (pre obspy version 1.2.0):
from obspy.clients.fdsn import Client
from obspy import UTCDateTime
start_1 = "2020-01-01 00:00:00"
starttime = UTCDateTime(start_1)
endtime = starttime + 600 # 600 seconds
client = Client(base_url='https://data.raspberryshake.org/')
waveform = client.get_waveforms('AM', 'R24FA', '00', 'EHZ', starttime, endtime)
Note
Data is recorded and stored as raw counts. To convert to metric units, see the example here: Converting counts to metric units using ObsPy.
Metadata#
fdsnws-station example via wget:
$ wget --no-check-certificate "https://data.raspberryshake.org/fdsnws/station/1/query?net=AM&level=resp" -O sta.xml
fdsnws-station example via ObsPy (obspy version 1.2.0 and higher):
from obspy.clients.fdsn import Client
client = Client('RASPISHAKE')
metadata = client.get_stations(network='AM', station='R24FA', location='00', channel='EHZ', level='RESP')
fdsnws-station example via ObsPy (pre obspy version 1.2.0):
from obspy.clients.fdsn import Client
client = Client(base_url='https://data.raspberryshake.org/')
metadata = client.get_stations(network='AM', station='R24FA', location='00', channel='EHZ', level='RESP')
Tools#
If you are just learning how to build fdsnws requests, here is a great tool for building FDSNWS web requests: