|
Pre Stack Depth Migration via Kirchhoff algorithm (PSDM stage)
 
Kirchhoff depth migration is a fundamental algorithm in seismic data processing used to reconstruct subsurface images by mapping recorded seismic data to their true spatial locations in depth. The method is based on the Kirchhoff integral solution to the wave equation and assumes that seismic waves can be treated as high-frequency approximations propagating through the subsurface. It requires an accurate velocity model and the calculation of travel times for each source-receiver pair.
The algorithm uses the Kirchhoff integral equation to represent the seismic wavefield:

where:
• u(Xs, Xr, t) is the recorded seismic data,
• G(X, Xs, t) and G(X, Xr, t) are Green's functions describing the travel time from the source (Xs) and receiver (Xr) to the subsurface point (X),
• m(X) is the reflectivity model being reconstructed.
Kirchhoff migration involves summing the contributions of seismic energy along isochron surfaces, defined by the travel time equation:

where T(X, Xs) and T(X, Xr) are the travel times from the subsurface point to the source and receiver, respectively. The reflectivity at a given point is determined by stacking the seismic amplitudes along these surfaces. This process is computationally intensive, requiring accurate travel-time tables and an efficient summation scheme.
Kirchhoff depth migration is particularly effective in areas with relatively simple subsurface structures or where a good initial velocity model is available. The algorithm's flexibility allows it to handle varying offsets and irregular acquisition geometries. However, its accuracy depends on the resolution of the velocity model and the correct computation of travel times, making iterative velocity model updates a crucial part of the workflow.
The module requires travel time file as input data, therefore please be sure that it was calculated before via Time table calculation for tomo update module.

Use trace vector on disk - use this option in case trace header data (vector) is large for unloading it to the RAM. Thererore all trace headers will be readed wrid disk without using necessity to use RAM.
Input SEG-Y data handle - connect to the input SEG-Y data handle, input seismic is pre-migration regularized gathers or COMF enhanced gathers. Without NMO-corrections.
Input data trace headers - connect to the input trace header iteim, input seismic is pre-migration regularized gathers or COMF enhanced gathers. Without NMO-corrections
Input trace data handle - it works in case of using option Use trace vector on disk (is located here in the Input data tab).
Depth velocity (to find optimal params) - optional, it is used only for get datum info from trace headers.
File name TT - input travel time (time table) file.
File name TT near - input Near travel time (time table) file. Near is special option in TT (see Time table calculation for tomo update).
Output geometry - desired geometry for an output migrated seismic data (CIGs). You can use input stack, gathers, velocity as a reference.
Output file name - file name for output CIGs.
Compress - compression format for output CIGs: 32 bits, 16 bits, 8 bits.
 
Output geometry container : output offsets definition, CIG design in terms of how many traces (and interval in meters) we would like to have in 1 CIG.
Output type - output type of offsets: Offset classes (simple offset definition), Offset tile classes (for COV/OVT - Common Offset Vector/Offset Vector Tile), Offset tile classes 2 (for COV/OVT - Common Offset Vector/Offset Vector Tile with an extra option for near offset definition).
Offset class:
Minimum offset CIG - provide the minimum offset in meters for generating the CIG output.
Maximum offset CIG - maximum offset in meters for generating the CIG output.
Offset increment of CIG - step size of offset increment.
Offset tile class:
Inline offset from - provide the minimum offset in meters for generating the OVT output in inline direction.
Inline offset to - maximum offset in meters for generating the OVT output in inline direction.
Inline offset step - step offset in meters for generating the OVT output in inline direction.
Xline offset from - provide the minimum offset in meters for generating the OVT output in xline direction.
Xline offset to - maximum offset in meters for generating the OVT output in xline direction.
Xline offset step - step offset in meters for generating the OVT output in xline direction.
Near offset tile class:
Near inline offset from - provide the minimum offset in meters for generating the OVT output in inline direction for NEAR offsets only.
Near inline offset to - maximum offset in meters for generating the OVT output in inline direction for NEAR offsets only.
Near inline offset step - step offset in meters for generating the OVT output in inline direction for NEAR offsets only.
Near xline offset from - provide the minimum offset in meters for generating the OVT output in xline direction for NEAR offsets only.
Near xline offset to - maximum offset in meters for generating the OVT output in xline direction for NEAR offsets only.
Near xline offset step - step offset in meters for generating the OVT output in xline direction for NEAR offsets only.
Migration type :
Full aperture - the entire migration aperture. Conventional migration option (use it by default).
CMP partial summed - migration aperture CMP partial summed (advanced option).
CMP partial non-summed - migration aperture CMP partial non-summed (advanced option).
Aperture - migration aperture (half of the distance!).
TT threshold - margin distance for TT extrapolation. For example, if calculated TT area is less than seismic data area, so we can do TT extrapolation:

Aperture type - select either Constant or Depth variant (If the user chooses Depth variant then they should provide different apertures at different depth intervals).
3D - In case of 3D, check this option.
TT interpolation properties - travel time net interpolation type. We have two options. Bilinear and Nearest. If there are two traces within a constant grid spacing and if any bin falling in between these two traces then the user can select Bilinear option to do the interpolation. The interpolation is simply a linear one. If the user chooses Nearest then the trace which is nearest to the bin will be considered in the interpolation.
Interpolation method :
Triangulation - triangulation interpolation is a mathematical method used to estimate values at unknown points. The method divides the spatial domain (e.g., depth slices or grid cells in the velocity model) into a network of non-overlapping triangles (in 2D) or tetrahedra (in 3D), where the vertices represent points with known travel times. Within each triangle or tetrahedron, the travel time at an unknown point is interpolated linearly using the known travel times at the vertices. The interpolation assumes that the travel time changes linearly across the triangle or tetrahedron.
Kriging - unlike triangulation, kriging assumes a spatial correlation structure between the points and uses this relationship to provide a statistically optimal estimate, incorporating both the spatial distribution of data points and their values.
Bilinear - bilinear interpolation is a simple and fast method used to estimate travel times at unknown points within a regular 2D grid based on the travel times at four surrounding grid points. It assumes that the travel time varies linearly along both the X and Y directions.
Nearest - nearest-neighbor interpolation is the simplest method for estimating travel times at unknown points. It assigns the travel time of the closest known data point to the unknown point without considering gradual changes or trends between data points.
Kriging covariance type - the covariance type refers to the mathematical model used to describe the spatial correlation between data points. This covariance model plays a crucial role in defining how the values at different locations are statistically related, which directly impacts the interpolation results.
Exponential - Suitable for data with rapidly decreasing spatial correlation. Correlation diminishes exponentially with distance but never truly reaches zero.
Spherical - A commonly used covariance type that assumes the spatial correlation increases up to a certain distance (called the range), beyond which points are uncorrelated. The correlation gradually decreases as the distance approaches the range.
Gaussian - Represents a smooth, gradual decrease in correlation, often used for very continuous data.
Kriging range -parameter of the variogram or covariance model that defines the maximum distance over which spatial correlation exists between data points. Beyond the range, the values at different locations are considered uncorrelated or independent.
Kriging number of points - refers to the number of nearby data points used to estimate the value at an unknown location during the interpolation process. This parameter controls how many known values in the vicinity of the target point are included in the kriging calculation.
Normalization by fold - depending on the option, normalization of the amplitudes takes place. For example if the user selects the "trace", then it will calculate the number of curves/wavefronts intersect that particular trace and accordingly it will normalize the amplitude of that particular trace. Similarly if the user chooses "sample" then for each sample how many wavefronts intersected that particular trace at that particular sample and normalizes the amplitude.
Depth samples count - specify the number of depth samples. i.e. up to what depth we want to migrate the data with respect to depth sample.
Depth sample rate - depth sample rate (for example if = 5 , means that depth migration will be performed with 5 meters vertical accuracy).
Use near offset TT - In case we would like to image the near offsets only then they can check this option. For this, we should provide the near offset Time travel tables in the input (File name TT near). In such cases, we should calculate the travel times for near offsets only.
Replacement velocity - provide the replacement velocity information.
Anti-aliasing coefficient - is a parameter used to prevent aliasing artifacts during the migration process, particularly when data is sampled at a resolution that is insufficient to accurately represent high-frequency wavefields. Aliasing occurs when higher-frequency components are incorrectly reconstructed as lower frequencies due to undersampling, which can distort the final seismic image. The anti-aliasing coefficient helps mitigate this issue by applying frequency-dependent filtering during the migration process. Choose between 0 and 1. Zero means no anti-aliasing.
Anti-aliasing step X - antialiasing bin step in X direction, increase bin size to increase antialiasing effect.
Anti-aliasing step Y - antialiasing bin step in Y direction, increase bin size to increase antialiasing effect.
Datum - provide the datum information. As we mentioned at the beginning of this manual, unlike the PreSTM where we migrate the data from the topography, here we need the datum information in order to do the depth imaging.
Max frequency - the maximum frequency to include the imaging process.
Max angle aperture - the maximum angle for migration operator.
Kill empty traces - is enabled: empty traces on output will be removed automatically.
Decimation factor - this will be helpful while doing the testing to optimize the parameters and for quick turn around time.
Advanced params
Use local storage - This option is useful when the work flow executed in a cluster environment where we can assign save the output in local disk for better I/O.
Seismic filename - Provide the file name in the local disk.
Advanced interpolate settings
X axis step - These interpolation settings are related to TT Net interpolation. Define the step size in X&Y directions for the grid to which the data will be transferred, the accuracy (the bin itself doesn't change, of course, only the accuracy can be set to be more detailed; if we sparse it, we reduce the start time).
Y axis step - Interpolation step size in Y direction.
 
SegyReadParams - parameters for setting advanced parameters of reading seismic traces from disk:
Thread count (for SSD) - amount of treads for reading seismic traces from disk.
Bulk size (traces) - size of a chunk (data portion) for reading seismic traces from disk.
Execute on { CPU, GPU } - select which type of processor will be used for calculations: CPU or GPU.
Distributed execution - if enabled: calculation is on coalition server (distribution mode/parallel calculations).
Bulk size - chunk size is RAM in megabytes that is required for each machine on the server (find this information in the Information, also need to click on action menu button for getting this statistics):
Limit number of threads on nodes - limit numbers of of threads on nodes for performing calculations.
Job suffix - add an job suffix.
Set custom affinity - an axillary option to set user defined affinity if necessary.
Affinity - add your affinity to recognize you workflow in the server QC interface.
Number of threads - limit number of threads on main machine.
Run scripts - it is possible to use user's scripts for execution any additional commands before and after workflow execution:
Script before run - path to ssh file and its name that will be executed before workflow calculation. For example, it can be a script that switch on adn switch off remote server nodes (on Cloud).
Script after run- path to ssh file and its name that will be executed before workflow calculation.
Skip - switch-off this module (do not use in the workflow).
 
Output geometry - output geometry item for QC.
Dynamic time table - output dynamic time table item for QC.
 
There is no information.
 
There are no action buttons and Visual Vista Items.
 
The entire workflow example with all necessary modules (travel time calculation, migration and QC).
As input data we need travel time tables, seismic gathers (no NMO-ed), output geometry we can get from the input seismic gathers:


On the output we have migrated CIGs dataset, for QC we need to read it via Read seismic traces. For Stack please use PSDM imaging, it can create stack in depth and in time domains:


For the impulse response test we need to select one CMP from the input gathers and set ALL DATA WITHOUT SELECTION to the Output geometry:


 
If you have any questions, please send an e-mail to: support@geomage.com
|