Inspired by https://geophydog.cool/post/masw_phase_shift/.
Dims/Units of the output are forced to be ‘frequency’ (‘Hz’) and ‘velocity’ (‘m/s’).
The patch’s distance coordinates are assumed to be ordered by distance from the source, and not “fiber distance”. In other words, data are effectively mapped along a 2-D line.
Example
import dascore as dcimport numpy as nppatch = ( dc.get_example_patch('dispersion_event'))disp_patch = patch.dispersion_phase_shift(np.arange(100,1500,1), approx_resolution=0.1,approx_freq=[5,70])ax = disp_patch.viz.waterfall(show=False,cmap=None)ax.set_xlim(5, 70)ax.set_ylim(1500, 100)disp_patch.viz.waterfall(show=True, ax=ax)
Park, Choon Byong, Richard D Miller, and Jianghai Xia. 1998. “Imaging Dispersion Curves of Surface Waves on Multi-Channel Record.” In SEG Technical Program Expanded Abstracts 1998, 1377–80. Society of Exploration Geophysicists.