Waveform Misfit
Warning
Please refer to the original paper [Tromp2005] for rigorous mathematical derivations of this misfit function.
This is the simplest of all misfits and is defined as the squared difference between observed and synthetic data.
The misfit \(\chi(\mathbf{m})\) for a given Earth model \(\mathbf{m}\) and a single receiver and component is given by
\(\mathbf{d}(t)\) is the observed data and \(\mathbf{s}(t, \mathbf{m})\) the synthetic data.
The adjoint source for the same receiver and component is given by
Note
For the sake of simplicity we omit the spatial Kronecker delta and define the adjoint source as acting solely at the receiver’s location. For more details, please see [Tromp2005] and [Bozdag2011].
Note
This particular implementation uses Simpson’s rule to evaluate the definite integral.
Usage
adjsrc_type = "waveform"
The following code snippet illustrates the basic usage of the waveform misfit function. See the corresponding Config object for additional configuration parameters.
import pyadjoint
obs, syn = pyadjoint.get_example_data()
obs = obs.select(component="Z")[0]
syn = syn.select(component="Z")[0]
config = pyadjoint.get_config(adjsrc_type="waveform", min_period=20.,
max_period=100.)
adj_src = pyadjoint.calculate_adjoint_source(config=config,
observed=obs, synthetic=syn,
windows=[(800., 900.)]
)