Compute dv/v from dt/t(MWCS)
DVV Aggregate Step
Aggregates per-pair dv/v time series (from mwcs_dtt, stretching, or
wavelet_dtt) into network-level statistics across all station pairs.
For each (mov_stack, component, pair_type) combination, the step reads
all per-pair output files and, at each time step, computes across-pair:
mean and std (always)
weighted_mean and weighted_std (if
|mwcs_dtt_dvv.dvv_weighted_mean|isY; weights = 1/σ²)trimmed_mean and trimmed_std (if
|mwcs_dtt_dvv.dvv_trimmed_mean|isY; sigma-clip at|mwcs_dtt_dvv.dvv_trim_limit|)percentiles (if
|mwcs_dtt_dvv.dvv_percentiles|is set)
Pairs are split by type (CC/SC/AC) when |mwcs_dtt_dvv.dvv_split_pair_type|
is Y, and by component when |mwcs_dtt_dvv.dvv_split_components| is Y.
Setting either to N aggregates all pairs/components into a single ALL file.
Only pairs with data quality above |mwcs_dtt_dvv.dvv_quality_min| contribute.
If |mwcs_dtt_dvv.dvv_output_percent| is Y, output is in percent (×100).
To run this step:
$ msnoise cc dtt compute_mwcs_dtt_dvv # for MWCS
$ msnoise cc dtt compute_stretching_dvv # for Stretching
$ msnoise cc dtt compute_wavelet_dtt_dvv # for WCT
Aggregates per-pair dv/v results (from mwcs_dtt, stretching, or
wavelet_dtt) into network-level statistics across station pairs.
One worker handles all three DVV step categories; the category is passed as
an argument to main(). Each category maps to a parent DTT step:
DVV step category |
Parent category |
|---|---|
|
|
|
|
|
|
Output files live at:
<root>/<lineage>/<dvv_step>/_output/<mov_stack>/dvv_<pair_type>_<comp>.nc
where pair_type is one of CC, SC, AC, ALL and comp
is the component pair string (e.g. ZZ) or ALL.
Configuration Parameters
mwcs_dtt_dvv.dvv_split_pair_type: Split dv/v by pair type (CC/SC/AC) separately. CC=inter-station; SC=same station different location; AC=autocorrelation. (default=Y)mwcs_dtt_dvv.dvv_split_components: Split dv/v by component pair (ZZ/RR/TT/etc) separately. (default=Y)stretching_dvv.dvv_split_pair_type: Split dv/v by pair type (CC/SC/AC) separately. CC=inter-station; SC=same station different location; AC=autocorrelation. (default=Y)stretching_dvv.dvv_split_components: Split dv/v by component pair (ZZ/RR/TT/etc) separately. (default=Y)wavelet_dtt_dvv.dvv_split_pair_type: Split dv/v by pair type (CC/SC/AC) separately. CC=inter-station; SC=same station different location; AC=autocorrelation. (default=Y)wavelet_dtt_dvv.dvv_split_components: Split dv/v by component pair (ZZ/RR/TT/etc) separately. (default=Y)stack.mov_stack: A list of two parameters: the time to “roll” over (default 1 day) and the granularity (step) of the resulting stacked CCFs (default 1 day) to stack for the Moving-window stacks. This can be a list of tuples, e.g. ((‘1d’,’1d’),(‘2d’,’1d’)) corresponds to the MSNoise 1.6 “1,2” before. Time deltas can be anything pandas can interpret (“d”, “min”, “sec”, etc). (default=((‘1D’,’1D’)))cc.components_to_compute: List (comma separated) of components to compute between two different stations (default=ZZ)cc.components_to_compute_single_station: List (comma separated) of components within a single station. ZZ would be the autocorrelation of Z component, while ZE or ZN are the cross-components. Defaults to [], no single-station computations are done. (default=)
See also
Reading these results in Python — use MSNoiseResult:
from msnoise.results import MSNoiseResult
from msnoise.core.db import connect
db = connect()
r = MSNoiseResult.from_ids(db, ...) # include the steps you need
# then call r.get_dvv(...)
See Reading outputs with MSNoiseResult for the full guide and all available methods.