Skip to content

Latest commit

 

History

History
154 lines (107 loc) · 4.83 KB

README.md

File metadata and controls

154 lines (107 loc) · 4.83 KB

SourceSpec

Earthquake source parameters from S-wave displacement spectra

DOI

Copyright (c) 2011-2024 Claudio Satriano [email protected]

SourceSpec is a collection of three command line programs (written in Python): source_spec, source_model and source_residuals.

The code is available at github.com/SeismicSource/sourcespec.

The official documentation can be found at sourcespec.readthedocs.io.

source_spec

The main code is source_spec, which computes earthquake source parameters (seismic moment and corner frequency), as well as path parameters (attenuation), by modelling the S-wave displacement spectrum of a given earthquake recorded at one ore more seismic stations.

Theoretical background

The source spectrum is defined as:

Where:

  • 𝒓 is the hypocentral distance;
  • 𝑹𝞗𝞥 is the radiation pattern coefficient for S-waves;
  • 𝞺𝒉 and 𝞺𝒓 are the medium densities at the hypocenter and at the receiver, respectively;
  • 𝜷𝒉 and 𝜷𝒓 are the S-wave velocities at the hypocenter and at the receiver, respectively;
  • 𝜧𝑶 is the seismic moment;
  • 𝒇 is the frequency;
  • 𝒇𝒄 is the corner frequency;
  • 𝒕 (t-star) is the ratio between the S-wave trave time and the quality factor, quantifying the inelastic attenuation.

source_spec computes seismic moment, corner frequency and t-star from the modelling of S-wave spectra. The other parameters are user defined (density, wave velocity, radiation pattern coefficient) or derived from station and source location (hypocentral distance).

Other parameters are computed from the previous ones, namely:

  • the moment magnitude Mw;
  • the source radius;
  • the Brune stress drop.

As a bonus, source_spec also computes local magnitude.

Input/output

source_spec reads as input a file, a tgz archive or a directory (which can, in turn, contain files and/or tgz archives) with traces in any format supported by ObsPy (e.g., miniSEED, SAC).

The easiest way of running source_spec is by having available:

  • a miniSEED file with waveform data (e.g., data.mseed);
  • a StationXML file with station metadata (station locations and instrument response) (e.g., station.xml);
  • a QuakeML file with event information and possibly arrival picks (e.g., event.xml).

In this case, running source_spec is as simple as:

source_spec -d data.mseed -q event.xml

Note that we assume here that the configuration file name is source_spec.conf. If you use a different name, you must specify it via the -c command-line option.

The path to the StationXML file must be specified in the configuration file source_spec.conf.

To get an example configuration file, run:

source_spec -S

To get help:

source_spec -h

Examples

This repository contains several examples:

  • test_CDSA:
    • data in miniSEED format
    • event information and phase picks in QuakeML format
    • instrumental response in stationXML format
  • test_CRL:
    • data in SAC format
    • phase picks in "hypo" format
    • event information in "hypo" format
    • station coordinates in SAC header
    • instrumental response in "dataless SEED" format
  • test_ISNet:
    • data in SAC format (tgz archive)
    • phase picks in SAC header
    • event information in SAC header
    • station coordinates in SAC header
    • station sensitivity in SAC header
  • test_IPOC:
    • data in SAC format
    • phase picks in SAC header
    • event information in SAC header
    • station coordinates in SAC header
    • traces pre-deconvolved from instrumental response

source_model

source_model plots theoretical spectra (and optionally observed ones), given one or more values for moment magnitude, corner frequency and t-star.

source_model takes similar parameters than source_spec. In addition, you have to specifiy values or ranges for moment magnitude (mag), corner frequency (fc) and t-star (tstar), ex:

--mag=3.0 --fc=6,10 --tstar=0.05,0.07

You will find an example run of source_model in test_CRL.

See the help for more information on the command line syntax:

source_model -h

source_residuals

source_residuals computes station residuals from the output of source_spec. It takes multiple HDF5 files in the form:

EVID-residual.hdf5

containing single-event station residual, computes average station residuals, and store them into an HDF5 file called:

residual_mean.hdf5

To get help:

source_residuals -h