The fold contains all the SOD recipes I used to download seismic data from the FDSN web services (FDSNWS) of some Data Centers, e.g., IRIS-DMC. You can directly run them in your computer, e.g.,
$ sod -f recipe-csvEvent-fixedNet.xml
Due to IRIS-DMC has updated its StationXML, you need to use the latest SOD, i.e., SOD 3.2.10.
You may check all the FDSNWS supporting Data Centers. Sometimes you can directly use their FDSNWS via wget or curl. Some of them may also have their own web services, which could be useful, e.g.,, IRIS-DMC web services.
Content:
Those recipes only contain the eventArm, which can be used to download the catalog called events.csv
. You may revise, comment, or add some subsetters in the recipes according to your purposes.
- recipe-origin-mag-dep-boxarea.xml : Query catalog from USGS FDSN Event web service, within a box area.
- recipe-origin-mag-dep-boxarea-more.xml : Query catalog with more conditions.
- recipe-origin-mag-dep-pointdist.xml : Query catalog within given distance range of the given lat & lon.
- recipe-origin-mag-dep-boxarea-NC.xml : Query catalog from Northern California Earthquake Data Center (NCEDC) FDSNWS.
Those recipes only contain the networkArm, which can be used to search stations, including locations (station.dat
) and instrument responses (poles and zeros
and/or responses
). You may revise, comment, or add some subsetters in the recipes according to your purposes.
- recipe-fixed-net-sta.xml : Query seismic stations from IRIS-DMC FDSNWS, with specic networks and stations.
- recipe-boxarea.xml : Query seismic stations within a box area.
- recipe-pointdist.xml : Query seismic stations within given distance range of the given lat & lon.
- recipe-boxarea-NC.xml : Query seismic stations from NCEDC FDSNWS.
Those recipes contain all the three Arms, which are used to download seismic waveforms, including instrument responses (poles and zeros
and/or responses
), raw data (seismograms-raw
), and seismic data with response remove (seismograms
). You may revise, comment, or add some subsetters in the recipes according to your purposes. The recipes in the above eventArm
and networkArm
may be a starting reference.
- recipe-csvEvent-fixedNet.xml : Query seismic waveforms from IRIS-DMC FDSNWS. The catalog (i.e.,
events.csv
) is already downloaded using other mehtod, and the networks and stations are set explicitly. You can comment thestationOR
subsetter so that all the stations in the networks will be downloaded instead. - recipe-csvEvent-fixedNet-phase.xml : same as recipe-csvEvent-fixedNet.xml except that a reference phase is used to limit the time window.
- recipe-continous.xml : Query continous seismic waveforms from IRIS-DMC FDSNWS. I set the output format to be miniseed. Please see the discussion in SOD email list.
- recipe-IRISPH5.xml : Query seismic waveforms from IRIS-DMC's PH5 FDSNWS. You need at least SOD 3.2.11 to use this recipe due to a bug in old version. A prerelease can be found here. It seems that it DOES NOT work now.
- recipe-SC.xml : Query seismic waveforms from Southern California Earthquake Data Center (SCEDC) FDSNWS
- recipe-NC.xml : Query seismic waveforms from NCEDC FDSNWS
- recipe-GEOFON.xml : Query seismic waveforms from GEOFON FDSNWS.
- recipe-ORFEUS.xml : Query seismic waveforms from ORFEUS FDSNWS
- The default of fdsnEvent is to query USGS FDSN Event web service, i.e., ANSS Comprehensive Earthquake Catalog (ComCat). You can also query other Data Center's Event web service (e.g., IRIS-DMC Event web service).
- The default of fdsnStation is to query IRIS-DMC FDSN Station web service. By default this does not get restricted channels unless there is a corresponding fdsnDataSelect that has a
user
andpassword
specified. - The default of fdsnDataSelect is to query IRIS-DMC FDSN Dataselect web service. To query restricted data, set
user
andpassword
in fdsnDataSelect. Please see the discussion in SOD email list - To query at non-default Data Center, please refer to FDSN web service to see the supporting Data Centers and their hosts. Below are the host names for some Data Centers. Please see the discussion in SOD email list.
- If we'd like to use IRIS-DMC's PH5 web services, we have to set the path of fdsnws (i.e.,
fdsnwsPath
) to beph5ws
in the fdsnEvent, fdsnStation, and fdsnDataSelect subsetters, although the name isfdsnPath
in thefdsnEvent
andfdsnDataSelect
in the online SOD manual. Please check the discussion about this issue in the SOD email list. However, I am not sure if the name is actuallyfdsnPath
orfdsnwsPath
in thefdsnEvent
subsetter. Maybe you can try both, and report it in the SOD email list if there exists a bug.
- I use the subsetter bestChannelAtStation in eventChannel, but it is unfortunately fragile because stations often have unusual characteristics that keep it from working. We may miss some channels that actually have data. We may not use the subsetter and choose to download all the channels, while we can also use other subsetters within the eventChannel. In the later case, you have to know the channels you want. Please see the discussion about this issue in the SOD email list.
- Before SOD asks the data center to send it data, we can use subsetter in availableData to ask Data Center if it has data for the time range generated by the request generator. These tactics allow decisions to be made based on the server's response. The default is fullCoverage. I usually use someCoverage to accept data if it spans some of the generated request.
- someDataCoverage checks the data returned from Data Center against the request generated by the request generator. If at least one piece of data exists during the time specified by the request generator, this processor passes the data onto the next step.
- merge, collapseOverlaps and gapFill need to be carefully used. I usually use them in the above order. Be aware that
gapFill
andmerge
might shift later waveforms by up to 1/2 a sample interval in order to get the time basis aligned. Please check the disscussion in SOD email list.merge
: If the seismogram server is returning multiple continuous seismograms for a request, this will join them into a single seismogram. Continuous means that the begin time of the second seismogram is approximately one sample period after the end time of the first seismogram. This processor DOES NOT merge overlapping seismograms or seismograms where there is a gap larger than one sample period. For those cases seecollapseOverlaps
andgapFill
respectively.collapseOverlaps
: it checks for overlapping seismograms. If one seismogram is completely contained in another seismogram, it is removed. If two seismograms overlap partially, then the longer of the two is kept in its entirety and the short is cut to no longer overlap This processor should ideally not be needed, as the server should refrain from returning overlapping data.gapFill
: If the seismogram server is returning multiple continuous seismograms for a request, this will join them into a single seismogram filling any gaps. This IMPLICITYLY DOES acollapseOverlaps
and amerge
before filling gaps.
- noDataGaps checks the data returned from Data Center for gaps larger than the sample period of the instrument. If from the begin time of the earliest piece to the end time of the latest piece there are no gaps in time larger than the sample period, this process passes the data onto the next item in the line.
- If you use SOD to do the transferResponse process, it is necessary to further multiply the waveform by
1.0e9
to convert from meters to nanometers. Please refer to SAC'stransfer
reference to check the reason (seePOLEZERO OPTION
). You may also refer to some Chinese tutorials about this issue: Chinese SAC manual and Difference when doing transfer using RESP and PZ. In addition, choose right arguments fortransferResponse
. For example, f4 should be smaller than Nyquist frequency (if sampling rate is 0.01 s, then Nyquist frequency is 50 Hz).
$ SAC
# see `POLEZERO OPTION`
$ help transfer
Some tests I used to examine SOD subsetters and bugs.
- If you'd like to know more about SOD, please refer to SOD documentation with some tutorials of the major SOD aspects. A Chinese introduction is also useful. You can also sign up SOD email list for annoucements, discussions and questions about using SOD.
- If you'd like to use different subsetters in eventArm, networkArm, waveformArm (I have indicated the locations of some unused subsetters in those recipes), please refer to the following websites: