Kirchhoff PreSTM - file in/out - migration

<< Click to Display Table of Contents >>

Navigation:  Migration >

Kirchhoff PreSTM - file in/out - migration

 

Description

This module performs 2D and 3D Kirchhoff pre-stack time migration (PreSTM) of CMP gathers. The Kirchhoff integral algorithm sums seismic amplitudes along computed diffraction travel-time curves and places them at the true subsurface reflection point, collapsing diffractions and repositioning dipping reflectors into their correct spatial positions. The migration velocity field is described by RMS (root-mean-square) velocities.

Unlike the gather-based migration module, this module reads input seismic data directly from disk (SEG-Y file) rather than loading it into memory. This makes it suitable for very large 3D datasets that cannot fit in RAM. Output consists of Common Image Gathers (CIG) or Offset Vector Tiles (OVT), written directly to an output SEG-Y file or internal storage.

The migration process organizes output traces into offset classes. The input seismic data must be regularized and free of gaps in the offset distribution — use the Regularization module to prepare data before running this module. Input velocities should be spatially smoothed. The module supports GPU acceleration and parallel (cluster/remote) execution for large-scale 3D projects.

Three migration modes are available: Simple (standard PreSTM producing CIG output to SEG-Y), Velocity selector 2D (multi-velocity migration for 2D velocity analysis panels), and Velocity selector 3D (multi-velocity migration over a 3D bin grid for 3D velocity analysis).

Input data

SEG-Y data handle

Link to the SEG-Y file handle for the input seismic dataset. This module reads pre-stack CMP gathers directly from disk through this handle, without loading all data into memory. The SEG-Y file must be prepared and regularized before migration — gaps in offset coverage will cause migration artifacts.

Sorted headers of input data

Link to the sorted trace header index of the input seismic data. This index provides the spatial geometry (source/receiver/bin coordinates and offsets) for all input traces and is used by the migration kernel to look up which traces fall within the migration aperture of each output bin.

Vrms model

Link to the RMS velocity model used to compute travel-time curves for the migration operator. This velocity field controls how diffraction energy is summed: accurate, spatially smooth velocities produce well-focused images, while rough or inaccurate velocities result in smearing or undermigration. The velocity model should be smoothed before use.

Output geometry

Link to the trace header collection defining the spatial locations (bin positions) of the output migrated traces. By default the module derives output geometry from the sorted headers of the input data. Provide a custom output geometry when migrating to a grid that differs from the input CMP grid — for example, when outputting to a refined or resampled bin grid.

Input VTI model

Link to a VTI (Vertical Transversely Isotropic) anisotropy model. This input is only required when the VTI parameter is enabled in the Velocity params group. When provided, the migration operator accounts for anisotropic moveout, producing more accurate imaging in anisotropic geological settings.

Output file name

Full path and filename of the output SEG-Y (.gsd) file where migrated CIG traces will be written. Used in Simple migration mode. Ensure the target directory exists and has sufficient disk space — the output file size depends on the number of output bins, traces per CIG, and samples per trace.

Dimension

Select whether the migration is 2D or 3D. In 2D mode the migration operator sums amplitudes along a 2D diffraction curve (in-line direction only). In 3D mode it sums over the full 3D diffraction ellipsoid using all traces within the aperture in both inline and crossline directions. Set this to match the dimensionality of your survey and input data.

V0 Map

Link to a 2D map (matrix) of near-surface velocity values (V0), used when Use Vrms map is enabled. The V0 map allows spatially variable near-surface corrections to be incorporated into the migration travel-time computation, improving imaging accuracy in areas with complex near-surface velocity variation.

Parameters

CIG/CAG

Selects the type of output gather. CIG (Common Image Gather) sorts migrated traces by offset, producing offset-domain gathers used for velocity analysis, AVO, and residual moveout evaluation. CAG (Common Angle Gather) sorts migrated traces by reflection angle, which is more directly related to AVA (amplitude versus angle) analysis. CIG is the most common choice for standard PSTM workflows.

Use variable offset model

When enabled, switches the output offset model from uniform offset classes (defined by Min/Max/Step) to variable offset classes defined in the Offset classes table. Use this option when the input data has irregular offset sampling or when you want to define non-uniform output CIG offset bins — for example, denser sampling at near offsets and sparser sampling at far offsets.

Offset classes

A table of variable offset class definitions, active when Use variable offset model is enabled. Each row specifies an offset range (From value, To value) and the offset step within that range (Step), all in meters. Multiple rows allow you to define zones with different offset sampling densities across the full offset range.

Migrate by pickets

When enabled, the migration uses picket coordinates (sequential station numbers along a straight line) rather than Cartesian XY coordinates for the aperture search and travel-time computation. This option is intended for straight-line 2D surveys where sources and receivers fall on the same line. For curved or crooked-line 2D surveys and all 3D surveys, leave this option disabled and use Cartesian coordinates.

Minimum offset CIG

The minimum source-receiver offset (m) included in the output Common Image Gathers. Traces with offsets below this value are excluded from the migration summation. The default is 0 m. Set this value above zero to exclude near-offset noise or guided waves from the migrated output.

Maximum offset CIG

The maximum source-receiver offset (m) for the output CIG. Traces with offsets beyond this limit are excluded from the migration sum. The default is 3000 m. Setting this value equal to or slightly larger than your maximum usable offset prevents long-offset noise from contaminating the image while avoiding unnecessary computation.

Offset increment of CIG

The offset spacing (m) between successive CIG traces in the output. The default is 50 m. The number of output traces per CIG bin is determined by (Max offset CIG minus Min offset CIG) divided by Offset increment. Smaller increments produce more detailed offset gathers but increase output file size and computation time. The actual maximum offset used during migration is Max offset CIG plus one Offset increment.

 

Examples:

Min offset CIG

Max offset CIG

Offset step of CIG

Result

0

1000

2000

Produces a migrated stack section for data up to 2000m

0

2000

1000

Produces a CIG with 2 offset classes: 0 and 2000, the max offset used in migration will be 3000m

 

Aperture

The maximum lateral search radius (m) of the migration operator — the half-aperture within which input traces are summed to produce each output image point. The default is 3000 m. Larger apertures improve imaging of steeply dipping reflectors and produce better lateral resolution at depth, but significantly increase computation time. As a practical guideline, set the aperture to at least the depth of the deepest target horizon multiplied by the maximum expected dip tangent. Excessively large apertures introduce migration noise from shallow arrivals.

Aperture type

Controls whether the migration aperture is fixed or varies with two-way travel time. Select Constant to apply the same aperture at all times. Select Time variant to define an aperture that changes with depth — useful when shallow targets require a smaller aperture (to avoid smearing) while deeper targets need a larger one (to capture wide-angle reflections).

Time-aperture factors

A table of (Time, Aperture) pairs that define how the migration aperture varies with two-way travel time (ms). This table is active only when Aperture type is set to Time variant. Enter at least two rows: the aperture is linearly interpolated between the defined time-aperture pairs. Values between defined times are interpolated; values outside the range use the nearest end-point.

Side aperture

The width (m) of the taper zone along the survey boundary where the migration aperture is gradually ramped from zero to its full value. Within this distance from the survey edge, energy contributions are tapered to prevent abrupt amplitude changes and reduce migration operator artifacts (edge effects) along the survey boundary. Set this to a value comparable to the dominant migration aperture to achieve a smooth boundary. The default is 0 m (no taper).

Use stretching factor

When enabled, applies a mute based on the wavelet stretch factor to suppress far-offset and near-surface contributions where the migration operator causes excessive waveform distortion (pulse stretching). This is equivalent to a dip/stretch mute in NMO correction. Enable this option to reduce low-frequency migration noise at far offsets. The amount of muting is controlled by the Stretching factor parameter.

Stretching factor

A percentage (%) value that controls how aggressively the stretch mute is applied. The default is 0% (equivalent to no mute when stretching is enabled at its minimum). Higher values allow more stretching before muting, including more far-offset data at the cost of some waveform distortion. Lower values apply a more conservative mute, excluding heavily stretched contributions. Typical values range from 10% to 50% depending on the offset range and target depth.

Replacement velocity

The near-surface replacement velocity (m/s) used in the migration travel-time calculation to account for surface topography and elevation differences. The default is 1500 m/s (approximate water velocity). This value should match the replacement velocity used during datum static corrections applied to the data prior to migration. Using an incorrect replacement velocity will cause mis-ties between migrated traces at different elevations.

Anti-aliasing coefficient

Controls the strength of the anti-aliasing filter applied during migration. The default is 0 (no anti-aliasing filter). Increasing this value applies a progressively stronger low-pass filter on far-offset contributions, preventing spatial aliasing artifacts that arise when the migration operator samples frequencies above the Nyquist limit for the given bin spacing. For coarsely sampled data or steep dips, increase this value. Use in conjunction with Max frequency to set the frequency content of the output.

Max frequency

The maximum signal frequency (Hz) passed through the migration operator. The default is 120 Hz. Frequencies above this limit are suppressed during migration. Set this value to match the useful signal bandwidth of your data — typically the highest frequency with coherent signal energy. Unnecessarily high values may pass high-frequency noise; values that are too low will reduce resolution.

Max angle aperture

The maximum dip angle (degrees) of reflectors that the migration operator will image. The default is 60 degrees. Traces whose apparent dip angle (computed from the migration geometry) exceeds this limit are excluded from the summation. This effectively cuts off the migration operator at steep dips to prevent over-migration and reduce migration noise. Values between 45 and 70 degrees are typical for standard time migration. Reduce this value if migration noise from steep dips is prominent in the output.

Use Regularization Weights

Controls whether amplitude weighting is applied to compensate for irregular trace distribution in the input data. Select No (default) for uniformly sampled input data. Select By Trace Distribution to weight traces inversely proportional to the local trace fold, compensating for areas of variable coverage. Select By Source Receiver Distribution to weight traces based on source and receiver point density, useful when source or receiver sampling is irregular.

Velocity factor

A dimensionless multiplier applied uniformly to the entire RMS velocity model before migration. The default is 1.0 (100% of the input velocity field). Values greater than 1.0 migrate with higher velocities (over-migration), and values less than 1.0 migrate with lower velocities (under-migration). This parameter is useful for quick sensitivity testing — for example, set to 0.95 or 1.05 to evaluate the effect of a 5% velocity error on image quality.

Use Vrms map

When set to TRUE, the near-surface V0 map (connected via the V0 Map input data item) is incorporated into the migration travel-time computation. This allows spatially variable near-surface velocity corrections to improve imaging in areas of complex topography. Default is FALSE.

Cmp interval along inline

The CMP bin spacing (m) along the inline direction, used in the anti-aliasing filter computation. The default is 12.5 m. Set this to match the actual CMP bin size of your survey in the inline direction. An incorrect value will cause the anti-aliasing filter to be applied at the wrong frequency cutoff, either leaving aliased noise or unnecessarily reducing resolution.

Cmp interval along crossline

The CMP bin spacing (m) along the crossline direction, used in the anti-aliasing filter computation. The default is 25.0 m. Set this to match the actual CMP bin size of your survey in the crossline direction. For 2D surveys, this value is not relevant.

Decimation factor

Controls how many input traces are used in the migration summation. The default is 1 (all traces used). A value of N means only every N-th trace within the aperture is included. Use values greater than 1 to speed up test runs or to reduce computation on densely sampled datasets where the full fold is not needed for a quality test. For production migration, always use the default value of 1.

VTI

Enables anisotropic (VTI — Vertical Transversely Isotropic) migration. Default is FALSE. When set to TRUE, the migration travel-time operator is modified to account for anisotropic wave propagation using the model provided in the Input VTI model input data item. Enable this in geological settings where seismic anisotropy is significant (e.g., shale-dominated sequences), as isotropic migration in such settings can produce residual moveout in CIGs even with correct isotropic velocities.

Boost-factor

A CPU performance tuning factor (integer, range 1 to 50) that controls the granularity of internal data chunking in the CPU migration kernel. The default is 1 (standard quality). Increasing this value reduces computation time at the cost of slightly reduced image quality by coarsening the internal sampling of the migration operator. Use values above 1 for quick quality-check runs. For final production migration, use the default value of 1 to ensure maximum image quality.

Normalization by fold

Controls how migrated amplitudes are normalized to account for variable fold (number of contributing traces). Options are: none (no normalization — raw stacked amplitudes), trace (divide by the number of contributing traces), sample (normalize on a per-sample basis), and offset-plane (the default — normalize within each offset class independently). The default offset-plane normalization produces amplitude-balanced CIGs suitable for further AVO analysis.

Normalization by VRMS

When enabled (default is TRUE), applies a post-migration amplitude correction that normalizes output amplitudes by the RMS velocity model. This compensates for the velocity-dependent geometric spreading term inherent in the Kirchhoff operator, making output amplitudes more consistent across the dataset and improving the reliability of amplitude analysis on the migrated CIGs.

Advanced

 3D grid define

When enabled, provides an explicit 3D bin grid definition to accelerate the aperture search for input traces. By default the module builds an internal spatial index automatically from the input trace headers. Supplying an explicit grid can speed up initialization for very large 3D surveys with complex geometries.

 Input data bin grid

Link to the bin grid item that describes the 3D spatial layout of the input seismic traces. Used when the 3D grid define option is active to provide the module with a pre-computed bin grid for efficient nearest-neighbour searches within the migration aperture.

Migrate all trace_types traces

When enabled, migrates all traces regardless of their trace identification (TRID) header value, including dead traces and auxiliary channels. By default (FALSE), only live seismic traces (TRID = 1) are included in the migration sum. Enable this option only if your dataset contains valid signal on non-standard trace types that should contribute to the migrated image.

 

Settings

SegyReadParams

SEG-Y reading parameters that control how the input file is decoded — for example, byte location mappings for trace headers (offset, coordinates, line numbers) and data sample format. Configure these to match the header byte positions of your specific SEG-Y file if they differ from the project defaults.

Execute on

Selects whether the migration kernel runs on CPU or GPU. GPU execution can be dramatically faster for large 3D datasets, particularly when running on NVIDIA CUDA-capable graphics cards. Ensure the appropriate GPU driver and CUDA libraries are installed before enabling GPU mode. CPU mode uses multi-threaded parallel processing and is always available.

Distribution options

 Distributed execution

When enabled, the migration job is distributed across multiple computers in a cluster. Each cluster node (slave) independently processes a subset of the output bins and writes results to the shared output file. This parallel execution mode is the primary way to handle large 3D datasets within acceptable turnaround times. Configure the cluster connection settings in the g-Platform remote execution settings before enabling this option.

Bulk size

 

How to calculate "Bulk Size" parameter within migration module

 GRT- is parameter of GPU RAM TOTAL

 For example, if RAM value is 11.2 GB, we will use only 10GB as 1GB of RAM is used by others processes

 GRA– is parameter for GPU RAM AVAILABLE

 For example, if RAM is 10 GB, the parameter value will be calculated as following:

 10 * 1024 * 1024 * 1024 = 10737418240 (size in bytes)

Data parameters:

 NS– indicates number of samples (for example, 2000 samples)

 MinOFF– indicates the minimum offset of CIG (for example, 0m)

 MaxOFF– indicates the maximum offset of CIG (for example, 10000m)

 StepOFF– indicates the CIG offset step (for example, 200m)

 TCIG– indicates the number of traces in one CIG, this parameter is calculated as following:

      TCIG = (MaxOFF – MinOFF) / StepOFF, for example (10000-0)/200=50

 CIG_B– indicates the size (in bytes) of a single CIG, this parameter is calculated as following:

 TCIG * NS * 4, for example 50*2000*4=400000bytes

 MAXIMUM BULK SIZE– is an optimal parameter for PSTM calculation, this parameter is calculated as        following:

       MAXIMUM BULK SIZE = GRA / CIG_B,for example 10737418240/400000=26843.5456 – this number        indicates the maximum bulk size.

 Please note, from common practice, it's better to round this number down, use 26000

Comments

Input seismic data must be regularized and without gaps in the offset classes. You can use the "Regularization" module to do this. The input velocities should be smoothed.