Warning

if using only `mov_stack`

= 1, no DTT jobs is inserted in the
database and consequently, no MWCS calculation will be done! FIX!

Following Clarke et al (2011), we apply the Moving-Window Cross-Spectral method
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.

`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 MWCS`mwcs_step`

: Step (in seconds) of the windowing procedure in MWCS

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_overlap`

.

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.

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