FWI 3D

Description

FWI 3D performs acoustic Full Waveform Inversion on 3D pre-stack shot gathers to build a high-resolution depth velocity model. Starting from an initial depth velocity volume, the module repeatedly runs 3D finite-difference reverse-time migration of every source gather through the current model, compares the resulting synthetic shot records with the recorded seismograms, and turns the residual into a velocity update. Because the update is driven directly by full waveform matching rather than travel-time picks, FWI can resolve velocity detail well beyond the reach of conventional tomography or velocity analysis, provided the starting model and source wavelet are reasonably accurate. Besides the full multi-iteration inversion, the module can also run in a single-shot modelling mode that lets you QC the current velocity model and wavelet against one selected source gather before committing to a full run.

At every global iteration, the module forward-propagates the source wavelet and back-propagates the residual for every (decimated) source in the survey, cross-correlates the two wavefields to build an RTM-style image and an illumination volume, and divides the image by the illumination (stabilised by a small epsilon) to obtain a raw gradient. A depth-dependent aperture table restricts each shot's contribution to a limited radius around the source and fades it out smoothly at the edge, and an optional Laplacian filter sharpens the image and removes long-wavelength migration artefacts. The gradient is then combined with the gradient from the previous iteration using a conjugate-gradient (Fletcher-Reeves style) rule to obtain a search direction, converted to a step in slowness space, and applied to the velocity model, which is clamped to the allowed velocity range. The step size is either fixed or found automatically by running several trial models through a reduced, further-decimated set of sources and fitting a quadratic misfit curve to locate the minimum. Intermediate velocity models, RTM images and gradients along a chosen inline and crossline are saved after every iteration so convergence can be monitored, and the full updated velocity volume can optionally be written to SEG-Y at each step.

The module exposes nine editable internal processing points (sub-sequences) that let you insert your own processing modules at specific stages of the inversion engine: preprocessing of the input, modelled and subtracted (residual) seismograms, both while computing the gradient and while re-modelling for the line search; postprocessing of the RTM image before it is turned into a gradient; conditioning of the source wavelet; and conditioning of the velocity model after every update. Use these slots, for example, to insert a bandpass filter ahead of the residual computation or to smooth the velocity model between iterations, without needing a separate module in the main flow.

Input data

Depth velocity

The starting 3D depth-domain velocity model that the inversion will update, in m/s. This gather defines both the inversion grid (inline/crossline spacing, depth sample rate and extent) and the initial velocity values, and it must sit on a single constant datum. A smooth, geologically reasonable initial model is essential: large mismatches between the initial model and the true earth will cause the inversion to stall in a local minimum. This model is typically prepared by a prior tomographic inversion or by depth-converting a well-constrained RMS velocity field.

Input SEG-Y data handle

The handle to the SEG-Y file (or files) that hold the observed pre-stack 3D shot gathers used as the inversion target. Connect the output of an Open SEG-Y (or equivalent) module. Individual shot records are streamed from this file on demand during processing, so the full survey does not need to fit in memory at once.

Input data trace headers

The trace header (geometry) collection matching the Input SEG-Y data handle. Source, receiver and bin coordinates from these headers are used to group traces into common-shot gathers, to build the survey bin grid, and to position every shot and receiver relative to the velocity model. Geometry must already be loaded and consistent with the velocity model coordinates before running this module.

Wavelet gather

The source wavelet used to drive the finite-difference forward modelling. Connect a single-trace time-domain gather representing the estimated source signature. This input is only used when the Wavelet parameter (in RTM params) is set to External; when it is set to Extract, the wavelet is instead estimated automatically from each shot record. An accurate, compact wavelet is important because errors in the wavelet are mapped directly into spurious velocity updates.

Velocity output file name

This is a file-path connection point rather than an incoming data volume: it lets you attach the mask (folder and file name) of a SEG-Y file to which the updated velocity model is written after every FWI iteration. Leave it empty to skip saving intermediate velocity volumes to disk (the final result is still available on the Output depth velocity output). Populating it lets you review how the velocity model evolved iteration by iteration outside of g-Platform.

RTM output file name

Like the Velocity output file name above, this is a file-path connection rather than incoming data: it sets the SEG-Y file mask used to write the illumination-normalised RTM image (before the Laplacian gradient step) at every iteration. Leave it empty if you do not need the raw RTM image saved to disk. This output is useful for diagnosing whether the reflectivity image driving the gradient is geologically sensible.

Input data detected parameters

A read-only diagnostic panel, automatically filled in from the Depth velocity input once it is connected: the velocity grid dimensions (Velocity count X/Y/Z), the grid spacing (Velocity DX/DY/DZ, in metres), the minimum and maximum velocity found in the model (m/s), and the sample interval and sample count of the input seismic data (Data DT/NT). Use these values to sanity-check that the connected geometry and velocity model were recognised correctly before launching a run. Two fields in this panel remain editable: Current IL show and Current XL show, which select which inline and which crossline of the 3D volume are displayed by the iteration QC plots (Iteration V models inline/xline, Iteration RTM inline/xline, Iteration gradient inline/xline). They default to the centre of the survey but can be changed to inspect any other line.

Parameters

Run mode { FWI, 1 shot modeling }

Selects whether the module runs the full inversion or a single diagnostic pass. Default: FWI. In FWI mode the module executes the full iterative inversion loop described above and produces an updated velocity model. In 1 shot modeling mode it only performs reverse-time migration and forward modelling for the source currently selected on the Location map (via the Selected source point), skipping the velocity update entirely; use this mode to check that the current velocity model, wavelet and modelling parameters produce a synthetic that reasonably matches one real shot record before committing to a full multi-iteration run.

Poynting

Selects a Poynting-vector-based imaging condition used to weight the RTM cross-correlation during gradient and single-shot modelling. Default: none (no Poynting weighting, plain cross-correlation). The other options (source-down-only, reflection, refraction, and their soft-taper variants) separate the up-going and down-going wave energy at each image point using the local propagation direction, which suppresses low-wavenumber artefacts and backscatter noise typical of RTM images built from complex velocity models. Try the reflection or refraction variants when the plain gradient shows strong artefacts along steeply dipping interfaces or near the source; use the soft variants for a gentler, less aggressive separation.

Direct wave kill { E_NO_KILL_DW, E_SUBTRACTION_KILL }

Controls whether the direct (source-to-receiver) wave is suppressed inside the finite-difference modelling engine. Default: E_NO_KILL_DW (direct wave left untouched). Setting this to E_SUBTRACTION_KILL removes the direct-arrival energy by subtraction inside the modelling engine, which prevents the very high amplitude direct wave from dominating the residual and the resulting gradient. Enable subtraction killing when the near-offset gradient is being overwhelmed by direct-arrival energy rather than reflection information; the Corr START_TIME parameter (in RTM params) provides an alternative, simpler way to ignore the earliest part of the record.

Datum

Read-only reference elevation (in metres), automatically detected from the source and receiver datum values recorded in the Depth velocity input. All traces in the survey must share exactly this single datum; if the module detects inconsistent or missing datum values, or a datum below the surface topography at any bin, it stops with an error. Use this field only to confirm which datum the run is using; correct any mismatch upstream in the geometry rather than in this module.

Number of iterations

Total number of outer FWI iterations to run. Default: 3. Minimum: 1. Each iteration performs one gradient computation over every (decimated) source and, if dynamic step sizing is used, several additional trial modelling passes for the line search, so run time scales roughly linearly with this value. Start with a small number (3 to 5) to confirm the inversion is moving in a sensible direction and that intermediate outputs look reasonable, then increase to 15-30 or more for a production run once the settings have been validated.

Min velocity

Lower clamp applied to the velocity model after every update, in m/s. Default: 1400 m/s. This prevents the inversion from driving velocities below a physically implausible value (for example below water or shallow unconsolidated-sediment velocity), which would otherwise destabilise the finite-difference modelling. Set this close to the lowest velocity you expect to be geologically reasonable in the survey area; setting it too low allows noisy updates to create unrealistic low-velocity zones, while setting it too high can artificially suppress genuine low-velocity anomalies.

Max velocity

Upper clamp applied to the velocity model after every update, in m/s. Default: 6000 m/s. Together with Min velocity, this bounds the range the inversion is allowed to explore, keeping the model numerically stable for the finite-difference engine and preventing runaway updates in poorly illuminated areas. Set it above the fastest velocity expected in the target interval (for example above known high-velocity carbonates or basement), with some margin.

Start depth

Depth, in metres from the datum, above which the gradient is forced to zero and the velocity model is left unchanged. Default: 0 m (the full depth range is updated). Increase this value to protect a shallow interval (for example the near-surface weathering layer, or a zone where the starting model is already well constrained by well data) from being modified by the inversion, which is useful when shallow gradient noise would otherwise contaminate the model with spurious updates.

Modeling SRC params

Controls how many of the available sources are actually used for each part of the inversion, and how much of each shot record is kept. Reducing the number of sources and the record length used per iteration is the main way to keep a 3D FWI run computationally tractable.

Source decimation factor

Keeps every Nth source from the full list of shots for use in the gradient computation. Default: 8 (use one source in eight). Minimum: 1 (use every source). A larger value drastically reduces run time per gradient computation at the cost of coarser, sparser illumination of the model; a value of 1 uses every source and gives the most complete, but slowest, gradient. Start with a coarse decimation (8-16) for early test iterations and reduce it toward 1-2 once you are confident in the other settings and are ready for a higher-quality production run.

Source decimation factor for modeling

Applies a second decimation on top of Source decimation factor, keeping every Nth source from the already-decimated list for use in the line-search misfit evaluation (the trial re-modelling passes that find the optimal step size). Default: 1 (use every source already selected by Source decimation factor). Minimum: 1. Since the line search re-runs modelling several times per iteration, increasing this value can substantially speed up dynamic step-size searches at the cost of a noisier, less representative misfit estimate. Increase it when line-search modelling is the dominant cost of each iteration.

Use cropped srcs

When enabled, each shot record is trimmed in time to the window set by Time for cropped srcs before being used, instead of the full recorded length. Default: on. Cropping shortens the finite-difference modelling time and the amount of data moved and correlated per shot, which speeds up both the gradient and line-search passes considerably. Keep this on for most runs; turn it off only if the deepest targets require the full recorded length to be illuminated.

Time for cropped srcs

Length, in seconds, of the time window kept at the start of every shot record when Use cropped srcs is enabled. Default: 1 s. Minimum: 0.01 s. The value is automatically limited to the actual recorded trace length. Set it long enough to include the deepest reflector or refractor you need FWI to constrain, plus a margin for the wavelet duration; shortening it further speeds up processing but risks losing illumination of deeper targets.

RTM params

Configures the finite-difference reverse-time migration and modelling engine that computes synthetic seismograms and the RTM image used to derive the gradient at every iteration.

Use snaps

Enables checkpointing of the forward wavefield to disk (snapshots) so it can be reused during the backward cross-correlation pass of RTM. Default: on. Leave this on for normal operation; the Temporary snaps path below sets the folder used for these checkpoint files. Sufficient fast local disk space (typically an SSD) at that path is important for performance.

Use snaps gpu

Keeps the wavefield checkpoint buffer resident in GPU memory instead of continually transferring it to and from system memory. Default: on. This improves GPU throughput but consumes additional GPU memory. Turn it off on GPUs with limited memory if you encounter out-of-memory errors during RTM.

Temporary snaps path

Folder used to store wavefield checkpoint (snapshot) files while Use snaps is enabled. Default: empty. The folder is created automatically if it does not exist. Point this at fast local storage with enough free space to hold the wavefield snapshots for the largest shot being processed; on distributed runs each worker node needs its own accessible path.

Additional aperture

Extra lateral margin, in metres, added around each shot's source-receiver spread when selecting which part of the velocity model is sent to the modelling engine for that shot. Default: 500 m. This margin allows energy to propagate slightly beyond the acquisition footprint before the model is truncated. Increase it when steeply dipping structures require energy from outside the direct source-receiver corridor; reduce it to shrink the modelled volume and speed up processing when the target is shallow and flat-lying.

Depth-aperture factors

A table of Depth / Aperture pairs (both in metres) that defines the radius, around each source, within which a shot is allowed to contribute to the RTM image at that depth; the radius is interpolated between the table entries as a function of depth. Default table: 0 m to 100 m, 500 m to 300 m, 1000 m to 1000 m, 2000 m to 3000 m. This reflects the physical fact that shallow reflectors are only illuminated close to the source while deep reflectors are illuminated over a much wider radius. Widen the deeper entries if the deep part of the model looks under-illuminated (patchy or striped between adjacent shots); narrow the shallow entries to suppress near-source artefacts. The Fade aperture percent parameter softens the cut-off at the table's edges.

Fade aperture percent

Fraction of each depth-dependent aperture radius (from the Depth-aperture factors table) over which the shot's contribution is smoothly tapered to zero instead of cut off sharply. Default: 0.2 (20%). Valid range: 0 to 1. A larger value gives a gentler, wider taper that reduces visible seams between adjacent shots' contributions at the cost of blending in slightly more distant energy; a value of 0 reverts to a hard aperture cut-off.

Padding size

Width, in grid cells, of the absorbing boundary layer added around the modelled velocity block on all sides to suppress artificial reflections from the edges of the finite-difference grid. Default: 20. Minimum: 1. A larger pad absorbs boundary reflections more completely but increases the size (and cost) of every finite-difference computation. Increase this value if faint boundary-reflection artefacts are visible in the modelled synthetics or the RTM image; the default is adequate for most surveys.

Wavelet { External, Extract }

Selects the source of the wavelet used to drive forward modelling. Default: External. External uses the wavelet connected to the Wavelet gather input for every shot. Extract instead estimates a wavelet automatically from each shot record (on the first iteration only) using the Wavelet detection parameters below. Use Extract when a reliable estimated source signature is not available and you are confident the recorded data are dominated by a consistent, extractable source wavelet; otherwise prefer External with a wavelet from a dedicated wavelet-extraction workflow.

Max gamma

Maximum viscoacoustic attenuation (gamma/Q-related) parameter allowed inside the finite-difference modelling engine. Default: 150. Minimum: 0. This caps the amount of amplitude/frequency loss the engine applies with depth and offset. Leave at the default unless you have specific evidence (for example from well or VSP data) of the attenuation characteristics of the survey area and need to adjust this ceiling.

Frequency

Dominant modelling frequency, in Hz, used by the finite-difference engine to size the computational grid and to control numerical dispersion. Default: 25 Hz. Minimum: 1 Hz. Set this close to the dominant (peak) frequency of the source wavelet and the useful bandwidth of the input data; a value that is too low relative to the true data bandwidth risks numerical dispersion artefacts, while an unnecessarily high value increases computation cost without improving accuracy.

FD DX

Spatial grid interval, in metres, used by the finite-difference modelling engine in all three directions. Default: 20 m. Minimum: 0.1 m. A finer grid gives a more accurate simulation and supports higher frequencies without dispersion, but increases memory and run time roughly with the cube of the reduction factor in 3D. This value interacts with the Time step (DT): a finer grid generally requires a smaller time step to remain numerically stable. Typical values for regional 3D FWI are 15-40 m; use finer values only for shallow, high-resolution targets where the extra cost is affordable.

Time step

Time step, in seconds, used by the finite-difference wave-equation solver. Default: 0.0001 s (0.1 ms). Minimum: 1e-9 s. The time step must be small enough, relative to FD DX and the fastest velocity in the model (Max velocity), to satisfy the Courant-Friedrichs-Lewy stability condition; a value that is too large causes the modelled wavefield to blow up (diverge). If synthetic traces or RTM images show unstable, exploding amplitudes, reduce this value.

Time step for correlation

Sampling interval, in seconds, at which the forward wavefield is checkpointed (snapshotted) for use in the RTM cross-correlation. Default: 0.001 s (1 ms), coarser than the Time step used for stepping the wave equation itself. Minimum: 1e-9 s. A coarser (larger) value reduces the amount of snapshot data written and read during migration, speeding up the gradient computation, at the cost of a small loss of temporal resolution in the correlation. The default is adequate for typical FWI frequency ranges; reduce it only if you are working at unusually high frequencies.

Corr START_TIME

Time, in seconds from the start of the record, before which the RTM cross-correlation is skipped. Default: 0.01 s (10 ms). Minimum: 0 s. Excluding the very earliest part of the record keeps the strong direct-arrival energy near the source out of the correlation, complementing the Direct wave kill option. Increase this value if near-surface, near-source artefacts remain visible in the gradient after enabling Direct wave kill.

Laplace on image

When enabled, a 3D Laplacian filter is applied to the illumination-normalised RTM image before it becomes the gradient. Default: on. The Laplacian sharpens the image and suppresses the long-wavelength (low-wavenumber) migration artefacts that a plain cross-correlation imaging condition otherwise leaves in the gradient, so the velocity update focuses on genuine reflectivity contrasts rather than background trends. Leave this on for standard runs; turning it off is mainly useful for diagnosing whether the Laplacian step itself is introducing artefacts.

Negative image on laplacian

Flips the polarity of the Laplacian-filtered image before it is used as the gradient. Default: on. Only relevant when Laplace on image is enabled. If the velocity update is consistently moving in the wrong direction (velocity errors get worse rather than better through iterations), try toggling this option, since it controls the sign convention of the Laplacian gradient relative to the sign of the velocity perturbation.

Epsilon type { Constant, Calculate }

Controls how the small stabilising value (epsilon) added to the illumination volume before dividing the RTM image by it is determined. Default: Calculate. With Calculate, epsilon is set automatically to 5% of the maximum illumination value found in the current iteration, adapting to the actual amplitude scale of the data. With Constant, the fixed value entered in Image condition epsilon is used instead. Use Calculate for most surveys; switch to Constant if you need the illumination normalisation to behave identically across iterations or datasets with very different illumination scales.

Image condition epsilon

Fixed stabilising value added to the illumination volume before it is used to normalise the RTM image, only used when Epsilon type is set to Constant. Default: 0.01. Valid range: 1e-20 to 1. A larger epsilon suppresses noise amplification in poorly illuminated parts of the model (for example near the edges of the survey or below complex overburden) at the cost of dimming the true gradient there; a smaller epsilon preserves more amplitude but risks numerical blow-up where illumination is near zero.

Velocity update

Controls how the conjugate-gradient search direction is turned into an actual change to the velocity model at each iteration, including whether the step size is fixed or found automatically.

P param

Step-size normalisation factor that scales the base update magnitude relative to the RMS slowness of the current velocity model and the RMS of the search direction. Default: 0.05. Valid range: -1 to 1. This automatically scales the update to the magnitude of the model, so a larger value produces bigger velocity changes per iteration (faster but riskier convergence) and a smaller value gives more conservative, stable updates. Start with the default and adjust based on how the intermediate models and misfit curve evolve; reduce it if updates look erratic or the misfit increases between iterations.

Udate type { Dynamic, Static }

Selects how the final step-size multiplier (gamma) applied to the search direction is obtained. Default: Dynamic. Dynamic runs a line search: it re-models a reduced set of sources at several trial step sizes and fits a curve to the resulting misfit values to find the step that minimises the misfit (controlled by the Use approximation and Apprx settings below). Static instead always applies the fixed value given in Static update step, skipping the extra trial modelling passes entirely. Use Dynamic for reliable, self-adjusting convergence; use Static (with a small, carefully chosen step) mainly to save the computational cost of the line search once you already know a good step size for your dataset.

Static update step

Fixed step-size multiplier applied to the search direction every iteration, used only when Udate type is set to Static. Default: 0.347. Valid range: -100 to 100. Because no line search validates this value against the actual misfit, choose it conservatively (a value derived from a previous Dynamic run on similar data is a good starting point) to avoid overshooting and destabilising the model.

Use approximation

When enabled (and Udate type is Dynamic), the module samples the misfit at a regular grid of trial step values (Apprx start to Apprx end, spaced by Apprx step), fits a polynomial curve through them, and scans the fitted curve (in Function step increments) to locate its minimum. Default: on. When disabled, a simpler bisection-style search around a single trial point is used instead, which needs fewer trial models but is more sensitive to noise in the misfit curve. Keep the polynomial approximation on for a smoother, more reliable estimate of the optimal step whenever the extra trial modelling passes are affordable.

Approximation polynomial coefficient

Degree of the polynomial fitted through the sampled misfit-vs-step-size points when Use approximation is enabled. Default: 4. Valid range: 2 to 10. A low degree (2, a simple parabola) gives a smoother, more robust fit that is less sensitive to noisy individual misfit samples; a higher degree can track a more complex misfit curve shape but requires enough sample points (set by Apprx start/end/step) to avoid over-fitting spurious wiggles.

Apprx start

Smallest trial step-size multiplier sampled when fitting the polynomial misfit curve (Use approximation enabled). Default: 0. Valid range: -10 to 10. This, together with Apprx end, sets the span of step sizes explored by the line search; widen the span if the optimal step found in previous iterations tends to sit near one of the current bounds.

Apprx end

Largest trial step-size multiplier sampled when fitting the polynomial misfit curve (Use approximation enabled). Default: 1. Valid range: -10 to 10. See Apprx start; the default 0-1 span is a reasonable starting range for most datasets after the P param scaling has been applied.

Apprx step

Spacing between the trial step-size samples used to build the polynomial misfit fit, between Apprx start and Apprx end. Default: 0.25. Valid range: 0.0001 to 10. A smaller step samples the curve more densely (more trial models, more accurate fit, higher cost); a larger step is cheaper but risks missing narrow misfit features. With the default range and step, four trial models are computed per iteration.

Function step

Increment used to scan the fitted polynomial misfit curve (not the actual data) to locate its minimum, once Use approximation has produced the polynomial fit. Default: 0.25. Valid range: 0.0001 to 10. This scan is evaluated purely on the already-fitted curve, so it is essentially free computationally; a smaller value gives a more precise minimum without extra modelling cost.

Wavelet detection

Controls the automatic wavelet extraction performed on every shot record during the first iteration when Wavelet (in RTM params) is set to Extract. These parameters have no effect when Wavelet is set to External.

Freq smooth

Amplitude spectrum smoothing bandwidth, in Hz, applied while estimating the wavelet from each shot record. Default: 1 Hz. Minimum: 0.000001 Hz. A larger smoothing bandwidth produces a smoother, more stable extracted wavelet spectrum at the cost of some spectral detail; reduce it only if the extracted wavelet needs to preserve fine spectral notches present in the source signature.

Convert to minPhase

When enabled, the extracted wavelet is converted to minimum phase before being used to drive the modelling engine. Default: off. Enable this if your source is known to behave as a minimum-phase signal (typical of some impulsive land sources) and you want the modelling wavelet phase to match; leave it off to keep the phase implied directly by the extraction.

Wavelet time begin

Time, in seconds, marking the start of the extracted wavelet window within the shot record. Default: 0 s. Adjust this if the useful part of the source signature does not begin at time zero in the recorded traces, for example when there is a known recording delay to account for.

Matching parameters

Controls two independent ways the module can adapt the wavelet or the observed data to better match the modelled synthetics before the residual is computed, which helps compensate for source-amplitude and minor timing errors that would otherwise leak into the velocity update.

Use matching for detect wavelet amplitude

When enabled, a matching-filter comparison between the observed shot record and a first-pass synthetic is used to rescale the wavelet amplitude for that shot before the final synthetic used in the residual is computed. Default: on. This corrects for per-shot source-strength variations (for example irregular airgun or vibroseis output) so that amplitude mismatches do not get mapped into the velocity gradient. Turn this off if source amplitudes are already known to be well calibrated and consistent across the survey.

Detect wavelet amplitude each iter

When enabled (and Use matching for detect wavelet amplitude is on), the per-shot amplitude rescaling is recomputed at every global iteration rather than only once. Default: on. Recomputing every iteration lets the amplitude correction track changes in the synthetic as the velocity model evolves; disabling it fixes the correction after the first iteration, which is slightly cheaper but less adaptive.

Use matching filter

When enabled, a matching filter is solved and applied to the observed data so that it aligns as closely as possible with the modelled synthetic, within the vertical shift range given by Min/Max vertical shift, before the residual is formed. Default: off. Enable this when small, consistent timing or waveform-shape mismatches between the observed and modelled data (rather than genuine velocity errors) would otherwise dominate the residual; be cautious, since an overly permissive matching filter can also absorb genuine signal that FWI should be using to update the model.

Min vertical shift

Lower bound, in seconds, of the time-lag range searched by the matching filter (Use matching filter). Default: 0 s. Set together with Max vertical shift to bracket the small timing mismatch you expect between observed and modelled data; keep the range narrow (a few tens of milliseconds at most) so the filter corrects only minor misalignment rather than absorbing genuine reflection moveout.

Max vertical shift

Upper bound, in seconds, of the time-lag range searched by the matching filter (Use matching filter). Default: 0 s. Valid range: 0 to 1000 s, though in practice a value of a few tens of milliseconds is normally sufficient; see Min vertical shift.

Subtraction type { SVD, Cholesky, Lsqr }

Selects the numerical solver used to compute the matching filter coefficients when Use matching filter is enabled. Default: Cholesky. Cholesky is fast and works well for well-conditioned problems; SVD is more robust to poorly conditioned or noisy systems at higher computational cost; Lsqr is an iterative least-squares solver useful for larger filter lengths. Use the default unless the matching filter solution appears unstable, in which case try SVD.

Lambda

Regularisation (prewhitening) level applied to the matching-filter solver, expressed as a percentage. Default: 1%. Minimum: 0. A higher value stabilises the solution against noise at the cost of a less exact match; a lower value gives a tighter match but is more sensitive to noise. Increase it if the matching filter appears to be fitting noise rather than genuine timing differences.

Settings

Max GPU count

Maximum number of GPU devices used in parallel for the RTM gradient computation. Default: 1. Valid range: 1 to 24. Increase this to the number of available, compatible GPUs on the processing node (or nodes) to spread the many independent per-shot RTM computations across more hardware and shorten each iteration; it has no effect if fewer GPUs are physically available.

Max GPU count modeling

Same as Max GPU count, but applied separately to the trial re-modelling passes performed during the dynamic step-size (line-search) evaluation. Default: 1. Valid range: 1 to 24. Keeping the gradient and line-search GPU counts separate allows you to balance GPU resources between the two very different workloads, for example dedicating more GPUs to the gradient pass, which typically uses more sources, than to the smaller modelling subset used for the line search.

SEG-Y read parameters

Standard SEG-Y reading options (trace-header byte locations, scaling and caching behaviour) used when streaming shot records from the Input SEG-Y data handle. These are the same settings shared by other SEG-Y reading modules in g-Platform; the defaults are appropriate for standard SEG-Y files and normally only need adjusting for non-standard header layouts.

Create debug

When enabled, writes a large set of additional intermediate SEG-Y volumes (raw and preprocessed observed seismograms, modelled seismograms, subtracted residuals, per-trial-step misfit models, illumination and image volumes, and adapted wavelets) to a fixed local debug folder at every stage of every iteration. Default: off. This produces a very large amount of disk I/O and file output, so only enable it temporarily while diagnosing a specific problem with the inversion, then turn it off again for normal production runs.

Output data

Output depth velocity

The final updated 3D depth velocity model, in m/s, after all requested FWI iterations have completed. Connect this to downstream depth imaging or further velocity-model-building modules. If Velocity output file name was set, incremental versions of this same volume were also written to SEG-Y at every iteration, letting you pick an earlier iteration instead of the final one if that gave a better misfit reduction.

Inline V depth in

QC gather showing an inline slice of the original (starting) velocity model, through the bin currently selected on the Location map by clicking a point on the Selected bin velocity graphic. Compare this against Inline V depth out to see how the inversion changed the model along that line.

Inline V depth out

QC gather showing the same inline slice as Inline V depth in, but taken from the final updated velocity model after inversion. Use it alongside Inline V depth in to visually assess the velocity changes produced by FWI along that line.

Crossline V depth in

QC gather showing a crossline slice of the original (starting) velocity model, through the bin currently selected on the Location map. Compare this against Crossline V depth out to see how the inversion changed the model along that line.

Crossline V depth out

QC gather showing the same crossline slice as Crossline V depth in, but taken from the final updated velocity model after inversion. Use it alongside Crossline V depth in to visually assess the velocity changes produced by FWI along that line.

Selected src in

The observed, pre-stack shot gather corresponding to the source currently selected on the Location map (via the Selected source point). Use this together with Selected src modelled, and the 1 shot modeling Run mode, to visually compare the observed and synthetic data for one shot as a direct QC of the velocity model and wavelet.

Selected src modelled

The synthetic shot gather computed by finite-difference modelling through the current velocity model for the source currently selected on the Location map. Compare it directly with Selected src in: a good match in both traveltime and waveform shape indicates the velocity model and wavelet are well matched to the real data at that shot location.

References

Tarantola, A., 1984, Inversion of seismic reflection data in the acoustic approximation: Geophysics, 49, 1259-1266.

Virieux, J. and Operto, S., 2009, An overview of full-waveform inversion in exploration geophysics: Geophysics, 74, WCC1-WCC26.