Skip to content

docs: add frequency-selection FWI notebook (streamer, multiscale) - #107

Merged
GeophyAI merged 1 commit into
devfrom
docs/nb-freqsel
Oct 3, 2026
Merged

GeophyAI merged 1 commit into
devfrom
docs/nb-freqsel

Conversation

@GeophyAI

@GeophyAI GeophyAI commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator

Adds notebook 31: frequency-selection source encoding (Tromp & Bachmann, 2019) written out in ~60 lines of torch on a plain PropTorch solver. No dependency on sweep-tasks.

Setup

  • Marmousi, towed streamer: 129 shots every 100 m, 4 km cable, all shots in one encoded forward.

  • Multiscale, with each band on its own grid and time step (Courant 0.38):

    band grid dt
    1.5–3 Hz 100 m 8 ms
    2.5–5 Hz 50 m 4 ms
    4–10 Hz 25 m 2 ms
  • The observed data are transient Ricker gathers, DTFT'd onto each band's comb. The inversion uses no wavelet.

Checks in the notebook

  • Two-window steady-state check: ≤3.3e-3 at a 7 s ring-up.
  • GCN misfit on the true model ≈1e-5 per shot.
  • The unfired spare bin sits orders of magnitude below the fired bins (zero crosstalk).
  • RMSE goes 385 → 378 → 345 → 299 m/s across the three bands.

Section 7: speedup per iteration
Compared against conventional FWI that also uses all 129 shots, on the same grid:

band theory measured (RTX 6000 Ada, conventional at its fastest batch size)
1.5–3 Hz 13.7× 0.5×
2.5–5 Hz 21.7× 2.9×
4–10 Hz 44.2× 18.1×

The notebook explains the gap: one encoded wavefield cannot fill the GPU on small grids, while the conventional run fills it by batching shots.

Also changed

  • mkdocs nav entry and examples-page card.
  • Gallery thumbnail.

Executed end-to-end on the rebased tree (dacf1f61), about 3 min on one Ada.

🤖 Generated with Claude Code

@GeophyAI
GeophyAI merged commit 7f7001a into dev Oct 3, 2026
1 check passed
@GeophyAI
GeophyAI deleted the docs/nb-freqsel branch October 4, 2026 06:47
@GeophyAI GeophyAI mentioned this pull request Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant