Compute MWCS¶
Warning
if using only mov_stack
= 1, no MWCS jobs is inserted in the
database and consequently, no MWCS calculation will be done! FIX!
Following Clarke et al (2011), we apply the mwcs to study the relative dephasing between Moving-Window stacks (“Current”) and a Reference using Moving-Window Cross-Spectral analysis. The jobs “T”o do have been inserted in the datavase during the stack procedure.
Filter Configuration Parameters¶
mwcs_low
: The lower frequency bound of the linear regression done in MWCS (in Hz)mwcs_high
: The upper frequency bound of the linear regression done in MWCS (in Hz)mwcs_wlen
: Window length (in seconds) to perform MWCSmwcs_step
: Step (in seconds) of the windowing procedure in MWCShpc
: Is MSNoise going to run on an HPC? Y/[N] (default=N) | new in 1.6
In short, both time series are sliced in several overlapping windows and preprocessed. The similarity of the two time-series is assessed using the cross-coherence between energy densities in the frequency domain. The time delay between the two cross correlations is found in the unwrapped phase of the cross spectrum and is linearly proportional to frequency. This “Delay” for each window between two signals is the slope of a weighted linear regression (WLS) of the samples within the frequency band of interest.
For each filter, the frequency band can be configured using mwcs_low
and mwcs_high
, and the window and overlap lengths using mwcs_wlen
and
mwcs_step
.
The output of this process is a table of delays measured at each window in the functions. The following is an example for lag times between -115 and -90. In this case, the window length was 10 seconds with an overlap of 5 seconds.
LAG_TIME DELAY ERROR MEAN COHERENCE
-1.1500000000e+02 -1.4781146383e-01 5.3727119135e-02 2.7585243911e-01
-1.1000000000e+02 -6.8207526992e-02 2.0546644311e-02 3.1620999352e-01
-1.0500000000e+02 -1.0337029577e-01 8.6645155402e-03 4.2439269880e-01
-1.0000000000e+02 -2.8668775696e-02 6.2522215988e-03 5.7159849528e-01
-9.5000000000e+01 4.1803941008e-02 1.5102285789e-02 4.1238557789e-01
-9.0000000000e+01 4.8139400233e-02 3.2700657018e-02 3.0586187792e-01
This process is job-based, so it is possible to run several instances in parallel.
Once done, each job is marked “D”one in the database and, unless hpc
is
Y
, DTT jobs are inserted/updated in the database.
To run this step:
$ msnoise compute_mwcs
This step also supports parallel processing/threading:
$ msnoise -t 4 compute_mwcs
will start 4 instances of the code (after 1 second delay to avoid database conflicts). This works both with SQLite and MySQL but be aware problems could occur with SQLite.
New in version 1.4: Parallel Processing