Kill empty traces

<< Click to Display Table of Contents >>

Navigation:  Geometry >

Kill empty traces

 

Killing zero amplitude/empty traces

 

GnavPic_clip0291clip0301

 

The Kill Empty Traces module scans all traces in a seismic dataset and identifies those that carry no useful signal. A trace is considered empty if every sample in it has an amplitude of exactly zero. The module can also optionally flag traces whose source or receiver elevation values are physically unrealistic. Identified problem traces are either marked as dead (TRACE_TYPE = 2) so that downstream modules skip them automatically, or physically removed from the dataset — depending on your chosen setting.

Cleaning empty and dead traces before processing improves the reliability of amplitude statistics, statics solutions, velocity analysis, and migration. It prevents zero-amplitude traces from biasing fold counts or contaminating stack panels. This module is typically placed early in a processing sequence, immediately after loading raw data and before any amplitude-sensitive step.

clip0306clip0301

Data type { Gather, Trace headers, Trace headers on disk } - Choose the appropriate data type from the drop down menu.

Select Gather when your data is already loaded into memory as a gather object — typically when connected to the output of a Read Seismic Traces or similar in-memory module. Select Trace headers when your data is stored on disk as a SEG-Y file with a separate trace-header index in memory. Select Trace headers on disk for very large datasets where keeping all trace headers in RAM is not practical; this mode reads and writes data in bulk and requires an output file to be specified. This selection controls which input connection slots are shown in the module panel.

Type - Gather

Input gather - Connect/reference to the Output gather of the preceding module. The gather must be loaded into RAM before this module runs. Use this connection when the Data type is set to Gather.

Type - Trace headers

Input SEG-Y data handle - Connect/reference to Output SEG-Y data handle
Input trace headers - Connect/reference to Output trace headers of Read SEG-Y traces or any other module.
Read data bulk size - The number of traces loaded into memory at one time when processing on-disk data. Default: 1,000,000. Larger values speed up processing by reducing the number of disk-read operations, but require more RAM. Reduce this value if the system runs out of memory on very large surveys.

Type - Trace headers on disk - This option is useful for large size datasets. For this option, the user should use "Open seismic traces" instead of "Read seismic traces". The module reads trace data in batches from disk (controlled by the Read data bulk size parameter), processes each batch, and writes the cleaned result to a new output file. Because only one batch resides in memory at any time, this mode can handle datasets that exceed available RAM.

Input traces data handle - Connect/reference to Output traces data handle.
Output seismic file name - The path and filename for the cleaned output dataset, saved in GSDL format. Specify a new filename; the module will create the file. This field is only active when the Data type is set to Trace headers on disk.
Read data bulk size - The number of traces loaded from disk per processing batch. Default: 1,000,000. Use a smaller value on machines with limited RAM. Use a larger value when disk throughput is the bottleneck. This parameter appears only for the Trace headers on disk data type.

clip0292clip0301

Check elevation - By default, TRUE (checked). It will check the source and receiver elevations. If the elevation value more than 6000m then it will remove the traces/channels from the dataset.

When enabled, the module checks the absolute elevation values of the source, receiver, datum, and bin for every trace. Any trace where any of these elevation fields exceeds 6,000 m in absolute value is considered invalid and treated the same as an empty trace — either marked dead or removed, depending on the Remove empty traces setting. This check catches traces with corrupt or missing geometry headers, which are common in raw field data before geometry assignment has been verified. Disable this check only if your survey involves genuine high-altitude elevations above 6,000 m (for example, high-mountain surveys) where valid traces might otherwise be incorrectly flagged.

Remove empty traces - By default, FALSE (Unchecked). If this option is checked, it will remove the traces with zero amplitudes otherwise it will mark the TRACE_TYPE as 2 which means DEAD trace.

When this option is left unchecked (default), empty and invalid traces are kept in the dataset but tagged with TRACE_TYPE = 2, which marks them as dead. All downstream g-Platform modules automatically skip dead traces. This is the safer choice because it preserves the original trace count and geometry, making it easier to verify results and to reprocess if needed. When this option is checked, empty traces are physically deleted from the dataset, reducing the total trace count. Use the remove option only when a downstream module explicitly requires contiguous, fully populated data — for example, certain 3D interpolation or migration algorithms that do not handle dead traces. If you are uncertain, leave this option unchecked.

kill-empty-traces-4

 

GnavPic_clip0352clip0301

Auto-connection - By default, TRUE (Checked). When enabled, the output of this module is automatically wired to the input of the next module in the workflow. Uncheck this option if you want to manually control the connection, for example when branching the output to multiple downstream modules.

Bad data values option { Fix, Notify, Continue } - Controls how the module responds when it encounters a NaN (Not a Number) or other invalid floating-point value in the trace data. By default, this module is set to Continue, meaning it will process all traces and silently pass through any NaN values without stopping. This is appropriate for this module because its purpose is precisely to clean up problematic data. Set to Notify during QC or testing to halt the workflow and report where bad values occur. Set to Fix to replace NaN values with zero and continue processing without interruption.

Number of threads - The number of parallel CPU threads used to scan traces for empty amplitude values. Setting this to a higher number can reduce processing time on large datasets when multiple CPU cores are available. Set to 1 for single-threaded execution (useful for debugging). The recommended value is one fewer than the total number of available CPU cores.

Skip - By default, FALSE (Unchecked). When checked, this module is bypassed entirely and the input data passes through to the output unchanged. Use this option to temporarily disable the dead-trace check without removing the module from the workflow, for example when comparing results with and without empty-trace removal.

GnavPic_clip0307clip0301

Output DataItem

Output trace headers - The processed trace header collection. Empty or invalid traces have their TRACE_TYPE field set to 2 (dead), or have been physically removed if the Remove empty traces option was enabled. Connect this output to the Input trace headers port of the next module in the workflow.

Output gather - The cleaned gather in memory mode. If Remove empty traces is off, the gather retains all traces but empty/invalid ones are tagged as dead (TRACE_TYPE = 2). If Remove empty traces is on, the gather contains only the live traces with non-zero amplitude. Connect this output to the Input gather port of the next in-memory processing module.

clip0700_aclip0301

There is no information available for this module so the user can ignore it.

GnavPic_clip0293clip0301

We are reading a seismic dataset by using "Read seismic traces" followed by "Expression calculator". Expression calculator is NOT REQUIRED. For the explanation purpose we've added this procedure. Next add "Kill empty traces" module.

kill-empty-traces-3

 

Expression calculator : In the input data, we don't have any Dead traces to demonstrate kill empty traces functionality. In order to show it, we've added expression calculator and connected the current shot gather to the Input Gather A.

kill-empty-traces-1

 

In the expression field, we've mentioned TRACE < 40 ? 0 : a. Which means, any TRACES less than 40 will become zero and rest of the traces will be as is.

kill-empty-traces-2

 

Now we take the output of Expression Calculator as an input for Kill empty traces and perform the kill empty traces functionality.

kill-empty-traces-5

 

geometry-application-39

 

geometry-application-40

GnavPic_clip0353GnavPic_clip0301

There are no action items available for this module so the user can ignore it.

GnavPic_clip0305clip0301

 

YouTube video lesson, click here to open [VIDEO IN PROCESS...]

 

clip0431clip0301

 

Yilmaz. O., 1987, Seismic data processing: Society of Exploration Geophysicist

 

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

clip0480