We will shortly be shutting down Arclink at the GEOFON data centre. An Arclink server for archived seismic waveform data has been running at GEOFON for many years. However only a handful of users continue to use it today. The EIDA management board has decided to end synchonisation of inventory between EIDA nodes in December 2019. (See http://www.orfeus-eu.org/)
This guide will help you adapt to the newer FDSN web services.
fdsnws_fetch is a command-line FDSN Web Service client using EIDA routing and authentication. With it, you can request StationXML metadata, or waveform data as mini-SEED. You can access both open and restricted data. See Access to restricted data below for details.
It is a part of recent SeisComP distributions. You may need to install the python-dateutil package if you are using an older Python version (<2.7).
You can also use pip for a standalone version:
sudo pip install fdsnwsscripts
If your SeisComP distribution doesn't have it, or SeisComP can't be installed, (it functions independently of the rest of SeisComP) get it from the SeisComP repository at github.com and save as fdsnws_fetch
$ wget https://raw.githubusercontent.com/SeisComP3/seiscomp3/master/src/trunk/apps/fdsnws/fdsnws_fetch.py $ mv fdsnws_fetch.py fdsnws_fetch $ chmod +x fdsnws_fetch
You can get help with fdsnws_fetch using the '-h' option:
$ ./fdsnws_fetch -h A command-line FDSN Web Service client using EIDA routing and authentication. Usage: fdsnws_fetch [-h|--help] [OPTIONS] -o file Options: --version show program's version number and exit -h, --help show help message and exit -l, --longhelp show extended help message and exit [etc]
It supports old Arclink-style request lines, with the '-f' option. For instance the following requests inventory (-y station) for BH channels at two GE stations in 2010:
$ cat >req.arclink 2010,02,18,12,00,00 2010,02,18,12,10,00 GE WLF BH* 2010,02,18,12,00,00 2010,02,18,12,10,00 GE VSU BH* [Use Control+D to end the file] $ fdsnws_fetch -f req.arclink -y station -q level=channel -v -o station.xml
Here the Arclink style request lines are given in the req.arclink file; output is in the file station.xml.
The example above requests only open data.
The EIDA Authentication System (EAS) is a system designed to let users log in and request a "token", which can be used as credentials for many EIDA services. From its conception, the EAS was designed to make use of the discovery service provided by eduGAIN (GEANT initiative), so that a user could login at EIDA by authenticating at his/her home institution, not with EIDA.
You can request a token for the system from here: http://geofon.gfz-potsdam.de/eas/ There is some helpful documentation there too. [EIDA], [QH19]
After you have your token, fdsnws_fetch can use it. Specify the location of your token file with the -a option, or fdsnws_fetch will use the default ${HOME}/.eidatoken, if it exists:
$ cat >req.arclink 2010,05,05,00,00,00 2010,05,05,23,59,59 CX PB01 VH* $ fdsnws_fetch -f req.arclink -a {myeidatoken} -v -o data.mseed
for VH data from IPOC Station Huatacondo (CX.PBO1), Chile on 2010-05-05. Note that this request will fail unless the PI of the CX network has given you access to the data.
[QH19] | Javier Quinteros and Andres Heinloo, "EAS User Documentation" Release 0.9b1, May 16, 2019. At https://geofon.gfz-potsdam.de/eas/EIDAAuthenticationService.pdf |
[EIDA] | Further information from EIDA is at https://github.com/EIDA/userfeedback |
You can use any web browser or a tool such as wget or curl to make requests.
For example, suppose we would like to request one hour of BHZ data for GEOFON station APE on January 1 2010. This above example request could be made using wget as:
wget -v "http://geofon.gfz-potsdam.de/fdsnws/dataselect/1/query?net=GE&station=APE&channel=BHZ&start=2010-01-01T10:00:00&end=2010-01-01T11:00:00" \ -O my-dataselect.seed
The data will be saved in the file my-dataselect.seed in your local directory. Remember to use quotation marks around the URL to protect the shell from the ampersand ("&") characters between parts of the query string. By replacing "dataselect" by "station" in the above request, and adding "&level=response", you may obtain metadata for this station as Station XML.
More examples are provided on our web page, Using the GEOFON/FDSN web services. The webservice URL builder tool might help you get started.
ObsPy is a convenient seismological toolbox which is a good alternative for Python users. Where you may have used obspy.clients.arclink in the past, you would instead use obspy.clients.fdsn.
If you still require full SEED, you may try fdsnws2seed. This requires SeisComP be installed locally on your computer. It uses fdsnws-station to request Station XML, and converts the result to SEED for you. To install it:
$ curl -L https://github.com/andres-h/fdsnws_scripts/tarball/master \ | tar xzf - $ cd andres-h-fdsnws_scripts-* $ for f in fdsnwsscripts/fdsn*.py; do chmod a+x $f; mv $f `basename $f .py`; done
Example usage of fdsnws2seed with BREQ_FAST input, for dataless SEED output:
$ cat >req.breq .NAME Jana Seismologist .END APE GE 2000 01 01 12 00 00.0000 2020 01 01 12 10 00.0000 01 BH? $ ./fdsnws2seed -v -r 1 --dataless -b req.breq -o req.seed getting routes from http://geofon.gfz-potsdam.de/eidaws/routing/1/query getting data from http://geofon.gfz-potsdam.de/fdsnws/station/1/query got 82233 bytes (application/xml) from http://geofon.gfz-potsdam.de/fdsnws/station/1/query In case of problems with your request, plese use the contact form at http://www.orfeus-eu.org/organization/contact/form/?recipient=EIDA
The .NAME line is not required for unrestricted metadata.
This document was written by Peter Evans, Javier Quinteros, and others. Please contact us if you have comments, difficulties, or questions. Last update 2020-06-23.