subroutine to balance uneven distribution of sources and receivers
Closed this issue · 2 comments
Based on this paper by Ruan et al. (2019)
From their abstract:
The uneven distribution of earthquakes and stations in seismic tomography leads to slower convergence of nonlinear inversions and spatial bias in inversion results... To save computational cost and reduce model bias, we propose a new strategy based on a geographical weighting of sources and receivers... [T]he new weighting scheme leads to a nearly twofold reduction in model error and much faster convergence relative to a conventionally pre-conditioned inversion.
Pyatoa (and potentially also SeisFlows) should include a routine to calculate such source-receiver weights. The linked paper contains the necessary algorithm, Pyatoa would only need to know information about all sources and receivers in an inversion. This could be a subroutine called by SeisFlows, and weights could be written out to a text file to then be consulted during adjoint source generation.
Note that Wenjie Lei has already coded this up here, although I'm not sure we need all the functionality of that package: https://github.com/wjlei1990/spaceweight
This is addressed in PySEP's Declust class