Data Services Products: Noise Toolkit ME Noise Toolkit Microseism Energy (ME) bundle

Summary

An open-source script bundle that contains 3 Python scripts to:

  • calculate power from PSDs over selected period bands (bins)
  • calculate median power for a given time window from the computed PSD powers
  • plot temporal variation of median power

Description

Microseism energy (ME) variations at different period bands are calculated from integration of power spectral density (PSD) functions and could record variations in station noise caused by major storms. PSDs of seismic station waveform data, needed to compute ME, are available from the IRIS DMC via:

  • Noise Toolkit PDF-PSD bundle — an open-source Python script bundle to compute PSDs
  • PSDs computed by IRIS’s automated Modular Utility for STAtistical kNowledge Gathering MUSTANG system

The Python scripts contained in the ME Toolkit bundle generate and display ME time history of PSDs based on user-defined parameters. These time histories could be used to:

  • maps of seismic noise induced by weather
  • a near real-time microseism index database
  • archived summaries for data mining

As an example, the Noise Toolkit bundle is used to determine temporal variation of ME at 4 Global Seismic Network (GSN) stations: IU.GUMO (Guam, Mariana Islands), IU.TATO (Taipei, Taiwan), IU.MAJO (Matsushiro, Japan) and II.ERM (Erimo, Hokkaido Island, Japan). ME is calculated from October 1, 2014 to October 20, 2014, which highlights the Vongfong Typhoon that formed on October 2, 2014 and dissipated on October 18, 2014 (for more examples visit Microseism Energy Quick Look Highlight page).

The following images show median ME values computed for 4 GSN stations (GUMO, TATO, MAJO and ERM) using BHZ channel waveforms at periods of 5 to 10 seconds that corresponds to the secondary microseism (SM) band. These curves have been smoothed using a moving 6 hour window, as described in the ME Computation section below (to see how Noise Toolkit scripts are called to produce these plots, click here) .

Bundle Content

The Noise Toolkit ME bundle is a collection of 3 Python scripts that are configurable and allow users to conveniently calculate and plot ME temporal variations in period bands of interest. By default, the bundle is configured to calculate ME over period band of 1-5 s for small local storms recorded by coastal stations, 5-10 s for the SMs, 11-30 s for the primary microseisms and 50-200 s for the Earth hum using PSDs of three-component broadband seismic data (BH channels). The stored ME values could be smoothed using a median sliding time window (e.g. 6 hours, 12 hours, 1 day, 4 days, and 16 days). The included scripts are:

  1. ntk_computePower.py – a Python script to calculate power of each PSD window (by default 1 hour) over selected bins (period bands)
  2. ntk_medianPower.py – a Python script to calculate median power from the PSD powers (by default hourly PSD power) using a sliding window of a given length (e.g., 12 hours)
  3. ntk_plotPower.py – a Python script to plot median powers computed from a series of PSD powers

Power Computation

PSDs are converted to power by running the ntk_computePower.py script. The script reads its run-time parameters from a file provided by user in addition to its command line arguments. A typical command for running this script is as follows:

python bin/ntk_computePower.py param=computePower net=IU sta=GUMO loc=00 chan=BHZ type=period mode=0  
file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.period.txt

where:

  • param=computePower specifies name of a Python (.py) file under the param directory that contains the run-time parameters
  • type=period specifies domain of the PSDs
  • mode=0 instructs the script NOT to display additional information during its run
  • file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.period.txt specifies the combined PSD file that contains the PSDs for the interval of interest.

Integration scheme to compute power

NOTE: For an efficient PSD extraction and power computation, the PSD file should have the same format as the output of the ntk_extractPsdHour.py script of the Noise Toolkit PDF-PSD bundle or PQLX’s exPSDhour script

Power is computed from PSDs using a simple integration technique (see figure to the right). Each PSD is converted to power by first breaking it into bins that represent period bands of interest. Then, power for each bin is obtained by converting each PSD value from dB to power and then multiplying by the offset distance (in Hz) to the next sample. Power for the entire bin is obtained by adding powers of all contributing PSD samples. This results in one power sample per PSD curve for each bin. Below is a sample output file from the above command for PSDs that are computed using 1 hour windows with 50% overlap (one power sample every 30 minutes):

Periods
                Date                 Time         local (1-5)           SM (5-10)          PM (11-30)        HUM (50-200)
          2014-10-01             00:00:00         1.18890e-11         5.03817e-13         1.49771e-17         3.20741e-20
          2014-10-01             00:30:00         1.22370e-11         6.31169e-13         1.33142e-17         3.63793e-20
          2014-10-01             01:00:00         1.27324e-11         7.85485e-13         4.74540e-17         8.48310e-20
          2014-10-01             01:30:00         1.37405e-11         7.80567e-13         9.15223e-17         9.58233e-20
          2014-10-01             02:00:00         1.38827e-11         7.22432e-13         2.41254e-17         2.37568e-20
          2014-10-01             02:30:00         1.25710e-11         7.94107e-13         3.18788e-17         3.25338e-20
          2014-10-01             03:00:00         1.52942e-11         1.24658e-12         7.14022e-14         3.16893e-17
          2014-10-01             03:30:00         1.57826e-11         1.12342e-12         7.49102e-14         3.28168e-17

Median ME

Once PSDs are converted to power, user can run a series of sliding windows of fixed width (e.g. 6 hours, 12 hours, 1 day, 4 days, and 16 days) over the computed power values to obtain short-term to long-term ME variation patterns for the station.

Median powers are computed using the ntk_medianPower.py script. The script reads its run-time parameters from a file provided by user in addition to its command line arguments. A typical command for running this script is as follows:

python bin/ntk_medianPower.py param=medianPower  net=IU sta=GUMO loc=00 chan=BHZ start=2014-10-01T00:00:00 end=2014-10-20T00:00:00  win=12 mode=0 
file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.txt

where:

  • param=computePower specifies name of a Python (.py) file under the param directory that contains the run-time parameters
  • win=12 specifies that computation should be done by calculating median of power over a 12 hour sliding window.
  • file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.txt specifies the file produced by running the ntk_computePower.py script (the file name is printed at the end of the ntk_computePower.py execution).

Below is a sample output file from the above command:

Period
           Date-Time         local (1-5)           SM (5-10)          PM (11-30)        HUM (50-200)
2014-10-01T00:00:00.0         1.38611e-11         7.94107e-13         4.74540e-17         9.88739e-20
2014-10-01T00:10:00.0         1.38611e-11         7.94107e-13         4.74540e-17         9.88739e-20
2014-10-01T00:20:00.0         1.38611e-11         7.94107e-13         4.74540e-17         9.88739e-20
2014-10-01T00:30:00.0         1.38008e-11         7.89796e-13         3.97011e-17         9.73486e-20
2014-10-01T00:40:00.0         1.38008e-11         7.89796e-13         3.97011e-17         9.73486e-20
2014-10-01T00:50:00.0         1.38008e-11         7.89796e-13         3.97011e-17         9.73486e-20
2014-10-01T01:00:00.0         1.37405e-11         7.85485e-13         3.19483e-17         9.58233e-20
2014-10-01T01:10:00.0         1.37405e-11         7.85485e-13         3.19483e-17         9.58233e-20

Plotting Median ME

Plot of the median ME values, like the above images, are obtained by running the ntk_plotPower.py script. A typical command for running this script is as follows:

python bin/ntk_plotPower.py param=plotPower net=IU sta=GUMO loc=00 chan=BHZ start=2014-10-01T00:00:00 end=2014-10-20T00:00:00 win=12 
file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.12h.txt bin=SM mode=0 ymax=20

where:

  • param=plotPower specifies name of a Python (.py) file under the param directory that contains the run-time parameters and
  • mode=0 instructs the script NOT to display additional information during its run
  • file=IU.GUMO.00.BHZ.2014-10-01T00:00:00.2014-10-20T00:00:00.12h.txt specifies the file that contains the median power for the interval of interest
  • bin=SM indicates that SM bin values should be plotted (SM band is defined in the parameter file)
  • ymax=7 sets the maximum for the y-axis.

Citations and DOIs

To cite the IRIS DMC Data Products effort:

  • Hutko, A. R., M. Bahavar, C. Trabant, R. T. Weekly, M. Van Fossen, T. Ahern (2017), Data Products at the IRIS‐DMC: Growth and Usage, Seismological Research Letters, 88, no. 3, https://doi.org/10.1785/0220160190.

To cite the IRIS DMC The IRIS DMC Noise Toolkit or reference use of its bundles:

To cite the source or reference the use of the Noise Toolkit Microseism Energy (ME) bundle:

Credits

  • IRIS DMC Products Team
  • Rob Anthony and Rick Aster (New Mexico Tech and Colorado State University)

Timeline

2014-12-01
Noise Toolkit ME online : Noise Toolkit ME online
2015-08-26
Noise Toolkit ME released
2020-11-16
Release V.2.0

Contact

Categories

06:53:59 v.9bc884e1