Engine - 2D ZO-MF

<< Click to Display Table of Contents >>

Navigation:  MultiFocusing >

Engine - 2D ZO-MF

 

Description

The Engine - 2D ZO-MF module performs the core Zero-Offset MultiFocusing (ZO-MF) search for 2D seismic lines. For each output imaging point (bin) along the stack line, the engine searches through the full multidimensional parameter space defined by the MF Tables Parametrization to find the optimal set of MultiFocusing parameters — specifically the wavefront curvatures (R_N and R_NIP) and emergence angle — that maximise coherence across the supergather of input pre-stack traces. The result is written to a binary database file (.kdb) and later used by the Data Enhance and Imaging modules to produce stacked or regularised output.

This module is the computationally intensive step of the ZO-MF workflow. It supports multi-threaded CPU execution, GPU acceleration, and distributed (cluster) remote execution. Calculation can be restricted to a subset of bins and a specific time window to allow incremental or test runs. If the output database already exists with matching parameters, the engine will offer the option to continue from where it stopped (resuming skips already-calculated bins) or to fully rewrite the database.

Before running this module, the following preparatory steps must be completed: (1) geometry must be sorted and indexed (Input sorted headers), (2) the output stack line geometry must be defined (Input Stack Line), and (3) the MF search tables must be created using the MF Tables Parametrization module.

Input data

Storage file

The path to the output database file (.kdb) that will store all calculated MultiFocusing parameters. This file is created or extended by the engine and is subsequently used by the Data Enhance - 2D ZO-MF and Imaging - 2D ZO-MF modules. If a file with the same name already exists, the engine will compare its parameters against the current settings and prompt the user to either continue the existing calculation, rewrite the database from scratch, or cancel. This field is required.

GMFPickingItem

An optional velocity corridor constraint supplied as an in-memory picking item (typically from the DB Connect - 2D ZO-MF module or a velocity analysis module). When connected, the MF parameter search is restricted to the velocity window defined by the picking, preventing the engine from searching in geophysically unreasonable velocity ranges. If both this item and the File with picking are provided, the in-memory picking item takes priority.

File with picking

An optional path to a velocity corridor file (.corr) stored on disk. This file defines the range of stacking velocities within which the MF parameter search is performed at each time sample. Restricting the search using a velocity corridor dramatically reduces computation time and suppresses spurious parameter estimates. If not specified, the engine searches across the full velocity range defined by the MF Tables Parametrization. This field is optional.

SEG-Y data handle

A connection to the input pre-stack seismic data in SEG-Y format. This handle is used by the engine to read supergathers of traces around each imaging point. The data should be the pre-stack common-shot or common-receiver data with accurate geometry already applied. This field is required.

Input sorted headers (of seismic data)

The sorted trace header index for the input seismic dataset. This index allows the engine to efficiently retrieve all traces that fall within the aperture of each imaging bin without reading the entire dataset. The index is typically created by a binning or sorting procedure upstream and must correspond to the same SEG-Y dataset connected via the SEG-Y data handle. This field is required.

Input Stack Line

The ordered list of output imaging points (bins) along the 2D stack line. Each point defines the location at which the ZO-MF search will be performed. The engine iterates through every bin in this list (subject to the First/Last bin limits), constructs a supergather of nearby input traces within the aperture, and computes the optimal MF parameters. This geometry object is typically produced by the Create Stack Line or Binning 2D module. This field is required.

MF Tables Parametrization

The MultiFocusing search tables that define the full parameter space to be explored: the discretised ranges and steps for wavefront curvature radii (R_N, R_NIP), emergence angle, maximum reflection angle, correlation and selection window lengths, minimum fold, dominant frequency, minimum Fresnel zone size, inline and crossline apertures, and maximum offset. These tables are created by the MF Tables Parametrization module and must match the time sampling of the input seismic data. If the table size does not match the number of samples in the seismic data, the engine will report an error. This field is required.

V0 Map

An optional 2D map of near-surface velocity V0 (m/s) that allows the MultiFocusing operator to account for lateral variations in the weathering or water layer velocity. When provided as a GMatrixItem, the engine samples the map at each imaging bin location and uses the local V0 value in the MF traveltime moveout formula. If not connected, a constant V0 from the MF tables is used. This field is optional.

Parameters

Compression

This parameter group controls how the calculated MF results are saved to the database, including the compression level applied to the stored data and how often intermediate results are flushed to disk.

Compression Factor

Controls the level of data compression applied when writing MultiFocusing results to the .kdb storage file. Default value: 1 (no compression — full-resolution results are stored). Higher values reduce the storage footprint but may affect the accuracy of the MF parameters when the database is read back by downstream modules. A value of 1 is recommended for production processing. The value must be greater than 0 or the module will report an error before starting.

Save to storage each

Specifies how frequently the engine flushes completed results to the database on disk. Default value: 1 (write results to disk after each bin is processed). Increasing this value reduces the number of disk write operations and may improve throughput on systems with slow storage, but results in larger potential data loss if the process is interrupted. For long production runs, a value between 10 and 100 is a common trade-off.

Calculation area

This group defines which subset of bins and which time range are processed during the current run. Restricting the calculation area is useful for test runs on a small portion of the line, for parallel distributed processing where different workers handle different bin ranges, and for resuming interrupted calculations. Bins are numbered sequentially starting from 1 as they appear in the Input Stack Line.

First bin to calc(0 no limit)

The sequential index of the first bin to process, where bins are numbered starting from 1. Default value: 0 (no lower limit — processing starts from the first bin in the stack line). Set this to a positive integer to skip bins at the beginning of the line. This value must be less than or equal to the Last bin to calc value; the engine validates this before starting.

Last bin to calc(0 no limit)

The sequential index of the last bin to process. Default value: 0 (no upper limit — processing continues to the last bin in the stack line). Set this to a positive integer to restrict processing to a sub-range of the line. The value cannot exceed the total number of bins in the Input Stack Line; the engine validates this before starting.

Step bin to calc

The step between consecutively processed bins within the calculation range. Default value: 1 (every bin is processed). Setting this to 2 would process every other bin, which is useful for a quick QC pass over the entire line at half resolution. A step of 1 must be used for production output that will be fed into the Data Enhance module.

Automatic determination

When enabled (default: true), the First Time and Last Time values are automatically derived from the time axis stored in the MF Tables Parametrization item. This ensures that the time window for the MF search exactly matches the parameterisation tables. Disable this option only when you want to restrict the MF search to a specific sub-window of the data, for example to test the engine on a shallow or deep target zone before committing to a full run.

First Time

The start of the time window (in seconds) within which the ZO-MF parameter search is performed. Default value: 0 s. This field is active only when Automatic determination is disabled. Setting a later start time skips the shallow portion of the data and can significantly reduce total computation time when only deeper reflectors are of interest.

Last Time

The end of the time window (in seconds) within which the ZO-MF parameter search is performed. Default value: 6 s. This field is active only when Automatic determination is disabled. Reducing the end time limits the search to the shallower portion of the record and can greatly shorten the run time for surveys where the target interval is well above the record length.