Skip to content

core-man/SOD.recipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

eventArm

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.

networkArm

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.

waveformArm

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.

Subsetter Notes

Data Servers

eventChannel Subsetters

  • 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.

availableData Subsetters

  • 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.

seismogramProcess Subsetters

  • 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 and merge 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 see collapseOverlaps and gapFill 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 a collapseOverlaps and a merge 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's transfer reference to check the reason (see POLEZERO 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 for transferResponse. 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

Tests

Some tests I used to examine SOD subsetters and bugs.

References

About

SOD recipes to download seismic data

Topics

Resources

Stars

Watchers

Forks

Languages