Azimuthal Kirchhoff PreSTM - file in/out - migration

<< Click to Display Table of Contents >>

Navigation:  Migration >

Azimuthal Kirchhoff PreSTM - file in/out - migration

 

Description

This module performs azimuth-sectored Kirchhoff pre-stack time migration (PreSTM) on seismic data read directly from a SEG-Y file on disk. It images the subsurface separately for each user-defined azimuth sector, using an independent RMS velocity model per sector. The migrated result is written to an output file in g-Platform's internal format (.gsd), supporting both 2D and 3D survey geometries.

The output can be organized as Common Image Gathers (CIG) sorted by offset, or Common Angle Gathers (CAG) sorted by reflection angle. Azimuthal migration is particularly useful for detecting azimuthal anisotropy — variations in seismic velocity with azimuth that indicate natural fracture orientation and intensity. The module supports distributed (multi-node) and GPU-accelerated execution for large 3D datasets.

Before migration, the module applies a rho (derivative) filter to condition the data for the Kirchhoff summation operator. Input traces are selected per output bin based on the migration aperture and the azimuth sector they belong to. A pre-processing sub-sequence can optionally be inserted to apply trace conditioning (e.g., filtering or muting) before the migration summation.

Input data

Azimuth classes

A collection of azimuth sectors, each defining an angular range and its associated RMS velocity model. For each sector, specify the From value and To value (azimuth angles in degrees, range -180 to 180), and connect an VRMS_AZ_IN velocity model that was built for that azimuth direction. At least one azimuth class must be defined for migration to proceed. Traces are assigned to a sector based on the computed source-to-receiver azimuth angle. If all azimuth sectors should share a single migrated image, enable the Migrate all azimuths to one parameter.

SEG-Y data handle

A handle to the open input SEG-Y file containing the pre-stack seismic data to be migrated. Connect the SEG-Y file handle created in a preceding "Open SEG-Y" or equivalent module. The module reads trace data directly from disk in bulk chunks during distributed execution, so the file must remain accessible throughout the run.

Sorted headers of input data

The sorted trace header index built from the input SEG-Y file. This index maps each trace to its CMP bin location and is required for the aperture-based input data selection. For 2D surveys the headers must be sorted as a 2D CMP dataset; for 3D surveys they must be sorted as a 3D CMP dataset. Connect the output of a "Build index" or "Sort headers" module.

Vrms model

A global RMS (root-mean-square) velocity model used as the primary migration velocity field. This model is also used for the "Create expectable velocity model" custom action, which exports the velocity model as a SEG-Y file for QC. The model should cover the full time range and lateral extent of the survey. Connect a velocity model created or imported in a preceding step.

Output geometry

A list of output image points (bins) defining where the migrated result will be computed. Each point carries a bin coordinate that determines which input traces are summed into it. This is typically the CMP grid of the survey or a custom output grid. Connect the output of a geometry definition or bin grid module.

Input VTI model

An optional VTI (Vertically Transverse Isotropic) anisotropy model used to correct travel times for anelliptic moveout when the VTI parameter is enabled. The model provides the delta and epsilon Thomsen parameters as a function of position and time. This input is required only when VTI correction is activated; leave disconnected for isotropic migration.

Output file name

The path and file name for the migrated output dataset. The file is written in g-Platform's internal GSD format (.gsd), which supports efficient random access during distributed writing. If the file already exists, the module will ask whether to overwrite it. Partially computed results are preserved between runs: bins already calculated are skipped on restart, allowing interrupted jobs to continue from where they left off.

Dimension { 2D, 3D }

Selects the migration geometry mode. Set to 2D for 2D seismic lines (data must have 2D CMP sorting). Set to 3D for 3D surveys with inline/crossline bin geometry. The choice affects the rho filter applied to the data (different derivative order for 2D vs. 3D), as well as how the migration aperture is calculated in the inline and crossline directions. Default: 2D.

Parameters

Migrate all azimuths to one

When enabled, traces from all defined azimuth sectors are summed into a single migrated image instead of being stored as separate azimuthal volumes. This is useful when the azimuth classes are defined only to apply different velocity models per direction, but the final output should be a single stacked migrated volume. Default: off.

CIG/CAG { CIG, CAG }

Selects the type of output gather produced for each image point. CIG (Common Image Gather) produces traces sorted by source-receiver offset, defined by the Minimum/Maximum offset CIG and offset increment parameters. CAG (Common Angle Gather) produces traces sorted by reflection angle, defined by the Minimum/Maximum angle CAG and angle increment parameters. CIGs are standard for velocity analysis; CAGs are preferred for AVO (amplitude versus offset/angle) studies and reservoir characterization. Default: CIG.

Use variable offset model

When enabled, the CIG offset sampling is defined by the Offset classes table, which allows non-uniform offset intervals (e.g., finer sampling at near offsets, coarser at far offsets). When disabled, a uniform offset grid is used as specified by Minimum offset CIG, Maximum offset CIG, and Offset increment. Use variable offset classes when you need finer resolution in specific offset ranges. Default: off.

Offset classes

A table defining non-uniform offset sampling ranges for CIG output, active only when Use variable offset model is enabled. Each row specifies a From value (m), To value (m), and Step (m) for a contiguous offset range. Multiple rows may be defined to cover different offset zones with different sampling intervals. The From value must be less than the To value for each row. These classes are also used by the "Create offset classes fold maps" custom action to visualize fold coverage per offset band.

Minimum angle CAG

The minimum reflection angle (degrees) for CAG output, active only when the CIG/CAG switch is set to CAG. Reflection angles below this value are excluded from the output. Valid range: 0 to 90 degrees. Default: 0 degrees.

Maximum angle CAG

The maximum reflection angle (degrees) for CAG output, active only when the CIG/CAG switch is set to CAG. Reflection angles above this value are excluded from the output. Keep this below critical angle to avoid post-critical reflections. Valid range: 0 to 90 degrees. Default: 90 degrees.

Angle increment of CAG

The angular sampling interval (degrees) between successive output angle slices in a CAG, active only when the CIG/CAG switch is set to CAG. Smaller values produce finer angle resolution but increase output volume. Minimum value: 0.1 degrees. Default: 5 degrees.

Migrate by pickets

When enabled, the migration boundary (side aperture border) is defined using picket numbers from the trace headers rather than geographic coordinates. This is useful for 2D surveys where picket-based boundary definition is more natural. Enable this option when a non-zero Side aperture is set and the survey uses a picket coordinate system. Default: off.

Minimum offset CIG

The minimum source-receiver offset (m) included in the CIG output, active when Use variable offset model is disabled and CIG mode is selected. Traces with absolute offsets below this value are not migrated. Set this to exclude near-offset traces that may contain noise or direct wave contamination. Minimum value: 0 m. Default: 0 m.

Maximum offset CIG

The maximum source-receiver offset (m) included in the CIG output, active when Use variable offset model is disabled and CIG mode is selected. Traces with absolute offsets above this value are not migrated. Set this to match the maximum usable offset of your dataset. Must be greater than or equal to Minimum offset CIG. Default: 3000 m.

Offset increment of CIG

The offset sampling interval (m) between successive output offset slices in the CIG, active when Use variable offset model is disabled and CIG mode is selected. Smaller values produce more densely sampled CIGs but increase output file size and computation time. Must be greater than 0. Default: 50 m.

Aperture

The half-aperture radius (m) within which input traces are selected for migration of each output bin. Active when Aperture type is set to Constant. Larger apertures include more traces and improve imaging of steeply dipping reflectors, but increase computation time. The aperture should be large enough to capture the maximum expected dip in the data. As a guide, the aperture in metres is roughly equal to the maximum target depth multiplied by the maximum expected dip (tangent of dip angle). Default: 3000 m.

Aperture type { Constant, Time variant }

Determines how the migration aperture varies with two-way time. Constant uses the same aperture at all times (specified by the Aperture parameter). Time variant uses the Time-aperture factors table to define depth-dependent aperture values. Use time-variant aperture to apply a smaller aperture at shallow times (limiting noise) and a larger aperture at deeper times (improving imaging). Default: Constant.

Time-aperture factors

A table of (Time, Aperture) pairs that defines the time-variant aperture function, active only when Aperture type is set to Time variant. Each row specifies a two-way Time (ms) and the corresponding Aperture (m) at that time. The aperture is interpolated linearly between defined control points. Add enough control points to define the desired aperture profile across the full time range of the data.

Side aperture

An additional lateral boundary distance (m) applied at the edges of the survey. Traces are excluded from migrating into bins that are more than this distance beyond the edge of the data coverage polygon, reducing edge-effect artefacts in the migrated image. Set to zero to disable this boundary constraint. Typical values match the migration aperture. Default: 0 m.

Use stretching factor

Enables anti-stretching muting based on the Kirchhoff migration stretch factor. When enabled, output samples are muted where the migration operator causes excessive pulse stretching (i.e., where the ratio of the migrated wavelet length to the original wavelet length exceeds the threshold set by the Stretching factor parameter). This helps suppress far-offset noise at shallow times. Default: off.

Stretching factor

The maximum allowable migration stretch expressed as a percentage, active when Use stretching factor is enabled. Samples where the stretch ratio exceeds this threshold are muted. A value of 0% means no muting; higher values allow more stretching before muting is applied. Typical values range from 30% to 70%. Default: 0 %.

Replacement velocity

The near-surface velocity (m/s) used to correct for elevation differences between sources and receivers when the data have been recorded at varying surface elevations. Set this to the velocity of the uppermost layer (weathering layer or water velocity for marine data). This value is used in the elevation correction term of the travel-time equation. Default: 1500 m/s.

Anti-aliasing coefficient

A coefficient controlling the anti-aliasing filter applied to each input trace during the Kirchhoff summation. The anti-aliasing filter limits the contribution of steeply dipping energy that would otherwise produce spatial aliasing artefacts. A value of 1.0 applies the standard anti-alias filter; values less than 1.0 relax the filter (allowing more dips through), and values greater than 1.0 strengthen it. Set to 0 to disable anti-aliasing. Default value is determined by the data sampling parameters.

Max frequency

The maximum signal frequency (Hz) passed by the rho filter applied to the data before migration. This parameter limits the bandwidth of the derivative filter to the useful signal bandwidth, preventing high-frequency noise amplification. Set this to the highest meaningful frequency in the input data. Default: 120 Hz.

Max angle aperture

The maximum reflection angle (degrees) beyond which input traces are excluded from the Kirchhoff summation. This provides an angle-based aperture limit that is applied independently of the distance-based aperture. Traces whose Kirchhoff ray angle exceeds this value contribute unreliable energy and are muted. Typical values range from 45 to 80 degrees. Default: 90 degrees.

Velocity factor

A scalar multiplier applied to all migration velocities before computing travel times. A value of 1.0 uses the velocity model as-is. Values greater than 1.0 increase the effective migration velocity (over-migrating), while values less than 1.0 decrease it (under-migrating). Use this as a quick sensitivity test to assess velocity model accuracy without rebuilding the velocity model. Default: 1.0.

Cmp interval along inline

The CMP bin spacing (m) in the inline direction. This value is used to convert the migration aperture from metres into a number of bins, determining how many neighboring bins are searched for contributing input traces. Set this to match the actual inline bin interval of your dataset. Default: 12.5 m.

Cmp interval along crossline

The CMP bin spacing (m) in the crossline direction. This value is used to convert the migration aperture into a crossline bin count for 3D surveys. Set this to match the actual crossline bin interval of your dataset. Default: 25.0 m.

Decimation factor

An integer factor for reducing the number of input traces used in the migration summation. A value of 1 uses all traces. A value of 2 uses every second trace, a value of 3 uses every third trace, and so on. Increasing this factor speeds up computation at the cost of reduced fold and potentially lower S/N ratio in the migrated output. Use values greater than 1 for rapid QC tests of aperture and velocity settings. Minimum value: 1. Default: 1.

VTI

Enables VTI (Vertically Transverse Isotropic) anisotropy correction in the travel-time computation. When enabled, the Input VTI model must be connected and contains Thomsen parameters (delta and epsilon) that correct for non-hyperbolic moveout caused by intrinsic anisotropy. Enable this when working in areas with strong shale anisotropy or in deep targets where anelliptic effects are significant. Default: off.

Boost-factor

An integer quality multiplier that increases the precision of the migration summation on GPU by subdividing the aperture into finer sub-cells. Higher values improve image quality by reducing sampling artefacts, at the cost of proportionally longer GPU computation time. Valid range: 1 to 50. A value of 1 provides standard quality; values of 2 to 4 are typically sufficient for production use. Default: 1.

Normalization by fold { none, trace, sample }

Controls whether and how the migrated output is normalized by the number of contributing traces (fold). none: no fold normalization; the raw Kirchhoff sum is output. trace: each output trace is divided by the number of input traces summed into it (per-trace fold). sample: each output sample is divided by the number of input traces contributing to that individual sample (per-sample fold). Use sample normalization in areas of highly variable fold to balance amplitudes across the survey. Default: none.

Normalization by VRMS

When enabled, a spherical divergence correction based on the RMS velocity model is applied to the output amplitudes, compensating for geometric spreading losses. This normalization improves amplitude consistency with depth and is recommended when performing AVO analysis on the migrated gathers. Disable only if the input data have already been corrected for spherical divergence. Default: on.

Advanced

A group of advanced settings for 3D grid-based data lookup and trace selection. Expand this group to access the parameters below.

3D grid define

When enabled, the module uses the explicit 3D bin grid provided in the Input data bin grid item for fast bin-to-coordinate lookup instead of a nearest-neighbour search. This accelerates the initial bin correlation step for large 3D surveys with a regular orthogonal grid. Enable this when the input data are on a regular 3D bin grid and the grid definition is available. Default: off.

Input data bin grid

The 3D bin grid definition for the input dataset, active only when 3D grid define is enabled. Provides the inline/crossline numbering, origin, and bin dimensions needed to map geographic coordinates to bin indices without a spatial search. Connect the bin grid from the project geometry.

Migrate all trace_types traces

When enabled, all traces in the input dataset are included in the migration regardless of their trace identification code (TRID header). Normally, only live seismic traces (TRID = 1) are migrated. Enable this option if the input data contain auxiliary traces that should also be imaged, or if the TRID headers are not reliably set. Default: off.

RnD

A group containing research and development parameters for advanced users. Expand this group to access the Clear file name parameter.

Clear file name

An optional path to a text file (.txt) that lists specific inline/crossline bin positions to be recalculated and overwritten in the output file, even if those bins have already been computed. This is used to force selective recomputation of specific output bins without rerunning the entire migration. Leave blank for standard operation. Each line in the file should specify one inline and one crossline number.

Settings

SegyReadParams

Advanced settings controlling how the input SEG-Y file is read during distributed execution. These parameters include buffer sizes and caching options that affect I/O performance. Use the default settings unless instructed otherwise by g-Platform support.

Execute on { CPU, GPU }

Selects whether migration computation runs on the CPU or GPU. Select GPU to use CUDA-capable graphics cards for significantly faster computation on large 3D datasets. Select CPU for multi-threaded CPU computation. GPU execution is recommended when available, particularly for 3D surveys. Default: CPU.

Distributed execution

Settings for running the migration across multiple compute nodes in a cluster environment. Configure the node addresses, connection parameters, and data transfer options here. Distributed execution divides the output geometry into chunks, each computed independently on a different node, enabling efficient processing of very large 3D surveys.

Bulk size

The minimum number of output bins processed together in a single distributed work chunk. Larger values reduce communication overhead between the master and compute nodes but increase the memory required per node. Smaller values improve load balancing for irregular geometry but increase coordination overhead. Adjust based on cluster network performance and available node memory.

Limit number of threads on nodes

Sets the maximum number of CPU threads used per compute node during distributed execution. Use this to reserve processor cores for other tasks running on the same machine or to stay within memory constraints when processing large apertures.

Job suffix

An optional text suffix appended to the distributed job name, used to distinguish between multiple simultaneous migration jobs running on the same cluster. Leave blank for single-job runs.

Set custom affinity

Enables manual assignment of CPU threads to specific processor cores (CPU affinity). When enabled, use the Affinity parameter to specify the core assignment. This is an advanced performance tuning option; leave disabled unless you have a specific reason to pin threads to particular cores. Default: off.

Affinity

The CPU core affinity mask, active only when Set custom affinity is enabled. Specifies which processor cores are used for computation on each node.

Number of threads

The number of parallel CPU threads used for computation on the local machine. Increasing this value speeds up processing proportionally up to the number of available physical cores. Set to match the number of logical cores available on the processing machine for maximum throughput.

Run scripts

A container for optional shell scripts to run before and after migration execution. Use these to automate pre- or post-processing tasks such as file staging, notifications, or data transfers.

Script before run

Path to a script file that is executed automatically before the migration starts. Leave blank if no pre-run script is needed.

Script after run

Path to a script file that is executed automatically after the migration completes. Leave blank if no post-run script is needed.

Skip

When enabled, this module is bypassed during workflow execution. Enable this to temporarily exclude the migration from a processing sequence without deleting it from the workflow. Default: off.

Output data

The migrated seismic data are written directly to the file specified in the Output file name parameter in g-Platform's GSD format. Each output bin contains one or more traces forming a CIG (sorted by offset) or CAG (sorted by reflection angle), with one set of traces per defined azimuth class. The output file can be opened in subsequent workflow steps for velocity analysis, AVO analysis, or azimuthal anisotropy studies.

Information

Graphics

Custom actions

Create expectable velocity model

Exports the connected Vrms velocity model as a SEG-Y file for quality control. When triggered, a file browser opens to choose the output SEG-Y file location. The module writes one velocity trace per output geometry bin, sampled at the same time interval as the seismic data. Use this action to verify that the velocity model is properly connected and covers the output geometry before running the full migration.

Create offset classes fold maps

Computes and displays fold maps for each defined offset class, showing the number of input traces that fall within each offset range at every CMP bin location. The fold maps are shown in the Graphics panel as separate displays, one per offset class. Use this action to assess data coverage and identify areas of low fold before running migration, particularly when using variable offset classes.