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
Quicklinks
Data Product pages:
- Noise Toolkit
- PDF-PSD
- polarization attributes
- Microseism Energy Quick Look Highlight page
- Noise-Toolkit Python 3 code (GitHub)
Citation & DOIs:
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:
- ntk_computePower.py – a Python script to calculate power of each PSD window (by default 1 hour) over selected bins (period bands)
- 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)
- 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.
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:
- IRIS DMC (2014), Data Services Products: The IRIS DMC Noise Toolkit, https://doi.org/10.17611/DP/NTK.1.
To cite the source or reference the use of the Noise Toolkit Microseism Energy (ME) bundle:
- IRIS DMC (2015), Data Services Products: Noise Toolkit Microseism Energy (ME) bundle, Anthony, Rob and Rick Aster, https://doi.org/10.17611/DP/NTK.3.
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