-
Notifications
You must be signed in to change notification settings - Fork 22
seismic structure
For Receiver Function module code documentation, see module-specific README file.
A workflow consists of a series of scripts applied sequentially to go from source data to a report or visualization. All the seismic structure workflows here start with a collection of extracted event seismograms, as show in the schematic overview of data sources and processing workflows here:
For more accurate results, run GPS clock analysis and ensure corrections are stored in source dataset stationxml prior to running these workflow.
Note that processes under the "Checking event waveforms" below may feed back into the root data sources, requiring re-extraction of event waveforms.
RF workflows start with a dataset of seismograms time windowed about the arrival time of teleseismic events for a defined set of receiving stations.
The extract_event_traces.py
script performs the extraction process illustrated here:
extract_event_traces.py
requires the following inputs:
- Inventory file in FDSN stationxml format that specifies the set of stations for which to extract event traces.
- ASDF dataset initialization file, which is a text file that lists a set of all the ASDF files to be included in the dataset.
- Path to event catalog file in QuakeML format. If this file is already present, it will be loaded and used as-is, in which case the time range, magnitude and distance range parameters are ignored. If the file is not present, it will be created by making an online query (requires internet access) in accordance with the time range, magnitude and distance range parameters passed to the script.
- Name out output file. This is a HDF5 format file that will be generated by the script. This base name of the output file will be automaticaly extended with time range parameters as an aid to traceability.
Other parameters are optional. See extract_event_traces.py --help
for details.
Note that accessing the ASDF dataset using the FederatedASDFDataSet
used by this script requires a prepared database file (extension .db
) that indexes the ASDF files' waveforms. This is expected to reside alongside the ASDF dataset initialization text file. The user does not need to provide this - if it is not present, it will be created automatically upon FederatedASDFDataSet
initialization. Generation of this .db
file takes a very long time (~ hours).
Suggested future feature:
- Update extraction script to apply GPS clock corrections.
Run script to check station orientations. A separate process is required to feed the result of
orientation corrections back into the source stationxml files. It is suggested that orientation
corrections be manually vetted prior to applying to station inventory.
The script for doing this is analyze_station_orientations.py
:
Command line arguments to analyze_station_orientations.py
:
- [OPTIONAL] Name of output file in which to save analysis results in JSON format. If not provided, results will only be logged to standard output.
- Name of event waveform file to analyze.
It is highly recommended to take the time to visually check your seismograms in detail. Such a visual approach
can readily reveal problems or unexpected features of waveforms that may need to be taken into account during
preprocessing and filtering. The recommended script for this task is plot_network_event_dataset.py
:
Command line arguments to plot_network_event_dataset.py
:
- Channel order. To see waveforms as they are in ASDF file, leave as default ZNE. To see components in relation to source back azimuth, use ZRT. ZRT is useful to assess the relative magnitude of components after rotation.
- Name of event waveform file to plot.
- Name of output file (PDF format).
Apply the workflows linked below to synthetic waveforms where the input earth model is known.
Based on event dataset, the following workflows can be applied.
- Wavefield decomposition (experimental)
Use picks to determine onset (arrival) time of signals from known teleseismic events, rather than using theoretical arrival time.