Separation of intrinsic and scattering Q by envelope inversion
Qopen is a script in seismology that estimates shear wave scattering and intrinsic attenuation parameters by inversion of seismogram envelopes.
The method is described in the following publication:
Tom Eulenfeld and Ulrich Wegler (2016), Measurement of intrinsic and scattering attenuation of shear waves in two sedimentary basins and comparison to crystalline sites in Germany, Geophysical Journal International, 205(2), 744-757, doi:10.1093/gji/ggw035 [pdf]
Alternatively, have a look at our poster presented at the 2015 Annual Meeting of the DGG.
Dependencies of Qopen are:
- ObsPy>=1.0
- NumPy, SciPy and matplotlib (itself dependencies of ObsPy)
- statsmodels
One of many possibilities for installation is using conda:
conda config --add channels conda-forge
conda create -n qenv matplotlib numpy scipy obspy statsmodels
conda activate qenv
pip install qopen
Qopen provides the scripts qopen and qopen-runtests. The installation can be tested with:
qopen-runtests
The code is run by the installed command line script qopen. A tutorial can be created with:
qopen create --tutorial
This command copies an example configuration file in JSON format and the corresponding data files into the current directory. The configuration file is heavily commented and should be rather self-explanatory. Now you can perform the inversion by simply running :
qopen go
which will calculate the results and create different plots.
A more extensive tutorial is available here. A practical and introductory slides are availabe here.
To use the script with your own data you need 1. an inventory (StationXML or other ObsPy readable format) of your stations, 2. the earthquake catalog (QuakeML or other ObsPy readable format) preferable with P and S picks and 3. the waveforms. Waveforms may exist in data files of various formats or can be fetched from a webservice. A custom solution for waveform retrieval is also possible (e.g. mixing of data files and web requests). An example configuration file can be created with:
qopen create
This file has to be adapted to your needs (time window selection, etc.). The inversion is started by simply running qopen again.
Available Qopen commands can be displayed with qopen -h
:
create Create example configuration in specified file
(default: conf.json)
go Estimate intrinsic attenuation and scattering
strength, site responses, event spectra (including
source parameters) by inversion of envelopes
fixed Estimate site responses and event spectra (including
source parameters) with fixed attenuation parameters
(g0, b) by inversion of envelopes
source Estimate event spectra and derive source parameters,
e.g. moment magnitude, with fixed attenuation
parameters (g0, b) and fixed site responses by
inversion of envelopes
recalc_source Derive source parameters from source spectra without
new inversion (possibly changed configuration, e.g.
seismic_moment_options)
plot Replot results. Can be used together with -e to plot
event results
rt Calculate or plot spectral energy densitiy Green's
functions, used in the above inversions, mainly based
on radiative transfer
To call Qopen from Python do e.g.:
from qopen import run
run('go', conf='conf.json')
All configuration options in conf.json can be overwritten by keyword arguments passed to run().
Qopen can be "abused" to determine a mean coda Q with the diffusion approximation with the following settings in conf.json:
"optimize": null,
"bulk_window": null,
"G_plugin": "qopen.rt : G_diffapprox3d",
"seismic_moment_method": null,
The scattering coefficient and event spectra are meaningless with these settings. Qi corresponds to Qc in this case. For the single scattering approximation use a user-defined Green's function.
For comparison, Qopen can be configured to use coda normalization -- which is by the way not recommended -- with the following settings in conf.json:
"coda_normalization": [180, 200],
"seismic_moment_method": null,
Of course, site amplifications and event spectra are useless in this case.
Please consult the API documentation.
The Obspy forum can be used to contact other users and developers. Please post the topic in the ObsPy Related Projects category.
Work through the Qopen practical and/or the extended Qopen tutorial. Check out the slides of an introductory talk.
A somewhat advanced example using the Qopen package: USAttenuation.
These studies make use of Qopen: Google Scholar Link.
Initial method: Sens-Schönfelder C and Wegler U (2006), Radiative transfer theory for estimation of the seismic moment, Geophysical Journal International, 167(3), 1363-1372, doi:10.1111/j.1365-246X.2006.03139.x
Enhanced Qopen method and implementation: Eulenfeld T and Wegler U (2016), Measurement of intrinsic and scattering attenuation of shear waves in two sedimentary basins and comparison to crystalline sites in Germany, Geophysical Journal International, 205(2), 744-757, doi:10.1093/gji/ggw035 [pdf]
Advanced example making use of alignment of site responses: Eulenfeld T and Wegler U (2017), Crustal intrinsic and scattering attenuation of high-frequency shear waves in the contiguous United States, Journal of Geophysical Research: Solid Earth, 122, doi:10.1002/2017JB014038 [pdf]
Robust source spectra using Qopen: Eulenfeld T, Dahm T, Heimann S, and Wegler U (2021), Fast and robust earthquake source spectra and moment magnitudes from envelope inversion, Bulletin of the Seismological Society of America, doi:10.1785/0120210200 [pdf]
High-level presentation of all aspects of Qopen and its application to induced earthquakes stress drops: Eulenfeld T, Hillers G, Vuorinen T A T & Wegler U (2023), Induced earthquake source parameters, attenuation, and site effects from waveform envelopes in the Fennoscandian Shield, Journal of Geophysical Research: Solid Earth, 128(4), e2022jb025162, doi: 10.1029/2022jb025162 [pdf]
Comparison between Qopen and MLTWA: van Laaten M, Eulenfeld T and Wegler U (2021), Comparison of Multiple Lapse Time Window Analysis and Qopen to determine intrinsic and scattering attenuation, Geophysical Journal International, 228(2), 913-926, doi: 10.1093/gji/ggab390 [pdf]
Comparison to inversion with the help of Mote-Carlo simulations based on elastic radiative transfer theory, relating g0 to g*: Gaebler PJ, Eulenfeld T and Wegler U (2015), Seismic scattering and absorption parameters in the W-Bohemia/Vogtland region from elastic and acoustic radiative transfer theory, Geophysical Journal International, 203(3), 1471-1481, doi:10.1093/gji/ggv393 [pdf]
Software citation: Eulenfeld T (2020), Qopen: Separation of intrinsic and scattering Q by envelope inversion, https://github.com/trichter/qopen, doi:10.5281/zenodo.3953654