FWI QC: synthetic-vs-recorded matching

Part 6, Full-Waveform Inversion

Learning objectives

  • Describe the four checks for accepting an FWI model
  • Explain why any single metric can be fooled and multiple metrics are required
  • Understand the role of held-out data in preventing overfitting
  • Identify the common failure modes that each metric flags

How do you know your FWI model is right? You do not; no one ever does. What you have is a pile of metrics that, if all pass simultaneously across enough of the data, give you enough confidence to ship the model into production. This section catalogues the standard QC pack every FWI project uses and the failure modes each metric is designed to catch.

1. The central QC principle

FWI is an optimisation; it minimises a single scalar misfit. When the misfit reaches a plateau you have converged against the misfit you optimised, but not necessarily against the physics. QC checks the inversion from angles the optimiser did not directly see: different metrics, different data subsets, different frequency bands, different azimuths. Production acceptance requires passing every one.

2. The basic checks

The figure compares a recorded shot gather with the synthetic of an FWI model that you spoil one way at a time: a velocity error, the wrong amplitude, a missing high band, a rotated wavelet. Four checks read the pair, and the sentence above the plates names the cause from their numbers alone.

FWI quality controlMisfit vs iteration0N iterGradient (∂J/∂V)Track misfit AND gradient direction - flat misfit + chaotic gradient = stalled

It opens on a model 1 % slow at a 10 Hz peak frequency. The synthetic's match to reflector 2 at 1000 m lies only 11 ms late, and to reflector 4 on the same trace 22 ms late, both well inside half a period (50 ms), yet 3 of the 4 checks fail, because the deeper and farther arrivals are shifted more. A model a quarter of a percent slow passes all four. The four checks are:

  • Time-domain correlation (Pearson). r=sum(d_mathrmobs−bard_mathrmobs)(d_mathrmsyn−bard_mathrmsyn)/sqrtsum(d_mathrmobs−bard_mathrmobs)2sum(d_mathrmsyn−bard_mathrmsyn)2r = \\sum (d\_{\\mathrm{obs}} - \\bar d\_{\\mathrm{obs}})(d\_{\\mathrm{syn}} - \\bar d\_{\\mathrm{syn}}) / \\sqrt{\\sum (d\_{\\mathrm{obs}} - \\bar d\_{\\mathrm{obs}})^2 \\sum (d\_{\\mathrm{syn}} - \\bar d\_{\\mathrm{syn}})^2}, with the means removed. Measures phase and wavelet-shape agreement but is insensitive to amplitude scaling. Threshold: > 0.9 for production acceptance.
  • Normalised L2 residual. ∣d_mathrmobs−d_mathrmsyn∣_2/∣d_mathrmobs∣_2\\|d\_{\\mathrm{obs}} - d\_{\\mathrm{syn}}\\|\_2 / \\|d\_{\\mathrm{obs}}\\|\_2. Measures both amplitude and phase agreement. Threshold: < 0.3 typically; < 0.1 for high-fidelity work.
  • Spectral coherence. The normalised cross-spectrum of observed and synthetic in each frequency band, C_B=mathrmResum_finBD_mathrmobsD_mathrmsyn\*/sqrtsum_finB∣D_mathrmobs∣2sum_finB∣D_mathrmsyn∣2C\_B = \\mathrm{Re}\\sum\_{f\\in B} D\_{\\mathrm{obs}}D\_{\\mathrm{syn}}^{\*} / \\sqrt{\\sum\_{f\\in B}|D\_{\\mathrm{obs}}|^2\\sum\_{f\\in B}|D\_{\\mathrm{syn}}|^2}. It keeps the phase, so it catches band-specific problems that the broadband time-domain correlation averages away; a comparison of amplitude spectra alone checks the wavelet and the bandwidth, never the timing. Threshold: > 0.85 in every band of the inversion.
  • Time shift against half a period. The lag Deltat\\Delta t at the largest magnitude of the normalised complex cross-correlation between a window of the recorded trace and the synthetic, with the phase of that cross-correlation at the lag as the phase residual; the magnitude does not change when the wavelet is rotated. A model is cycle-skipped when ∣Deltat∣>T/2=1/(2f)|\\Delta t| > T/2 = 1/(2f): the synthetic event is matched to the wrong cycle, and a local optimiser drives it further away.

All four must pass. Each catches something the others miss:

  • A synthetic shifted by one full period of a ringing wavelet can score well on both correlation and L2, because peaks line up with the wrong peaks. This is cycle skipping, and it is caught only by measuring the traveltime shift Deltat\\Delta t against half a period, T/2=1/(2f)T/2 = 1/(2f), and by checking the lowest frequency band. In the figure, a model 4 % slow at 15 Hz leaves reflector 4 at 1500 m 92 ms late against a half period of 33 ms; at 6 Hz the half period is 83 ms and the model is still skipped, and at 5 Hz it is 100 ms and the same model is no longer skipped.
  • A synthetic with correct phase but half the amplitude has correlation r=1r = 1 but a normalised L2 of 0.50: only the L2 residual catches the amplitude error.
  • A synthetic missing a high-frequency band entirely (because the FWI was never run at that band) keeps a high time-domain correlation but fails spectral coherence in that band: coherence catches bandwidth deficits that time-domain metrics average over. With nothing above 18 Hz, the figure keeps r=0.98r = 0.98 and L2 = 0.20 while the coherence of the 17.5 to 25 Hz band, which holds about 3 % of the energy, falls to 0.46.
  • A synthetic whose wavelet is rotated by 90° has the same amplitude spectrum as the recording, so a spectrum comparison passes, while rr falls to about 0 and every band fails; the phase residual reads +90°.

3. Per-subset analysis

A single trace's QC is insufficient. Production QC slices the data along several axes and checks metrics on each subset:

  • Per-offset. Near vs mid vs far. Far offsets probe deeper model structure; if they match worse than near offsets, the deep model is wrong.
  • Per-azimuth. In wide-azimuth marine, matching one azimuth much better than another signals azimuthal anisotropy that was not modelled.
  • Per-shot. Shots in one part of the survey matching worse than another signals a localised velocity error in that part of the model.
  • Per-frequency band. If 3-5 Hz matches but 8-12 Hz does not, the inversion stopped short at the bottom of the spectrum and failed to refine at higher frequencies.
  • Per-event. Match pre-critical reflections well but post-critical refractions poorly? The deep velocity structure has errors the reflection data did not expose.

4. Held-out data

The single most important safeguard against overfitting: never use all your data for inversion. Withhold 10-20 % of shots from the FWI loop and use them only for QC. If the withheld shots match the final model as well as the training shots did, the inversion has generalised. If the withheld shots match significantly worse, you have overfit the training set, a common failure mode when regularisation is too weak or when the data has inconsistent noise.

Industrial best practice: reserve 3-5 representative shots per acquisition block, plus one or two well-tied traces where log data is available, as a permanent QC reference across all iterations.

5. Well-tie comparison

If the survey has wells, compare the FWI velocity column at the well with the upscaled (Backus-averaged) sonic log, and compare a 1D synthetic seismogram computed from that column with the recorded trace at the well. The well tie is the gold standard of FWI QC: it compares the inverted model directly against an independent, high-resolution measurement of the earth. A good FWI velocity column matches the upscaled sonic log within a few percent in interval velocity.

6. Common failure modes and their fingerprints

  • Cycle skipping (starting frequency too high for the model error). Amplitude spectra agree, because they cannot see timing, but the traveltime shift exceeds half a period, ∣Deltat∣>T/2|\\Delta t| > T/2, and the correlation collapses. Fix: restart from a lower frequency or a better starting model.
  • Overfitting with bad regularisation. Training shots match well, held-out shots do not. Fix: increase model-space regularisation (smoothness, total-variation, well-tie constraint).
  • Elastic mismatch with acoustic FWI. Near-offset match good, far-offset match fails. Residual has characteristic angle-dependent pattern. Fix: switch to elastic (Section 6.4).
  • Source wavelet estimation error. A wrong amplitude spectrum shows in the spectra; a wrong phase does not, but it lowers the correlation and the coherence in every band and leaves a phase residual at zero lag. Fix: jointly invert for the source wavelet or use source-independent misfits.
  • Missing near-surface or overburden complexity. Shot-to-shot misfit variance much higher than expected; per-shot time-shift is spatially systematic. Fix: improve the near-surface model (first-break tomography) before rerunning FWI.

7. Acceptance criteria for production

A reasonable sub-salt FWI project's acceptance criteria look like:

  • Training-shot time-domain correlation > 0.92
  • Training-shot normalised L2 residual < 0.20
  • Training-shot spectral coherence over inversion band > 0.88
  • Held-out shot time-domain correlation > 0.90 (within 2 % of training)
  • Well-tie synthetic seismogram vs recorded trace at the well, peak correlation > 0.85
  • Residual spatial distribution isotropic (no systematic azimuthal or spatial pattern)

Meeting all six is unusual; most projects release with one or two at threshold and the rest clearly above. Consistently failing one specific metric reliably points to the next piece of physics or pre-processing to add.

The one sentence to remember

FWI QC uses multiple independent checks (time-domain correlation, normalised L2, spectral coherence in every band, and the time shift against half a period) on multiple data subsets (training vs held-out, per-offset, per-azimuth, per-shot) plus well ties where possible, because any single metric on any single subset can be gamed by a convincingly wrong model.

Part 6 closes here

You have the full FWI toolkit: the L2 objective function and adjoint-state gradient (Section 6.1), multi-scale frequency continuation (Section 6.2), encoded and computational strategies (Section 6.3), elastic and anisotropic physics (Section 6.4), and the QC pack that tells you when to ship (Section 6.5). Part 7 moves into quantitative interpretation: amplitude preservation, AVO, seismic inversion, and the workflows that turn a migrated image + velocity model into reservoir property estimates.

References

  • Virieux, J., Operto, S. (2009). An overview of full-waveform inversion in exploration geophysics. Geophysics, 74, WCC1.
  • Pratt, R. G. (1999). Seismic waveform inversion in the frequency domain, Part 1. Geophysics, 64, 888.
  • Tarantola, A. (1984). Inversion of seismic reflection data in the acoustic approximation. Geophysics, 49, 1259.
  • Yilmaz, Ö. (2001). Seismic Data Analysis (2 vols.). SEG.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.