Time-variant amplitude equalization

<< Click to Display Table of Contents >>

Navigation:  Amplitudes >

Time-variant amplitude equalization

 

Description

Time-variant amplitude equalization computes time-varying scaling factors that bring the amplitude levels of multiple seismic datasets into agreement with a designated reference dataset. This is essential when merging or comparing surveys acquired with different recording instruments, charges, or environmental conditions, where the average energy may differ not only in absolute level but also over time.

The module processes each input dataset by computing a sliding-window average of the absolute amplitude over all traces at every time sample. The first dataset in the input list serves as the reference: its amplitude curve is divided by the corresponding curve of each subsequent dataset to produce a time-varying scaling function. These scaling factors are output as a gather — one trace per input dataset — ready to be applied to the seismic data in a downstream module.

Typical applications include cross-equalization of overlapping vintages before time-lapse (4D) analysis, amplitude balancing of adjacent swaths in wide-azimuth acquisitions, and normalization of datasets recorded with different near-surface conditions. The reference dataset scaling trace is always set to unity (1.0) at all time samples.

Input data

Trace headers

A collection of trace header sets, one per input seismic dataset. Each entry identifies which traces belong to that dataset. The first entry in the collection is treated as the reference dataset against which all subsequent datasets are equalized. The number of entries must match the number of entries in the Input handlers collection.

Input handlers

A collection of SEG-Y file handles providing access to the seismic amplitude data for each dataset. The order of handlers must correspond exactly to the order of the trace header entries: the first handler provides data for the reference dataset and the remaining handlers provide data for the datasets to be equalized.

Parameters

Time window

The length of the sliding time window (in seconds) used to compute the average absolute amplitude at each time sample. A symmetric window of this total length is centered on each sample: the sum of absolute amplitudes from all traces is accumulated over the window and divided by the number of contributing samples to produce a smooth amplitude envelope.

Default: 0.5 s (500 ms). Use a longer window to produce smoother, more stable scaling functions — particularly useful when datasets are noisy or when only a broad trend correction is needed. Use a shorter window to capture rapid time-variant changes in amplitude level, but be aware that very short windows may produce unstable scaling factors if the average amplitude varies erratically. The minimum allowed value is 0.001 s (1 ms).

Settings

Bulk read size

The number of traces read from disk in a single I/O operation when computing the amplitude statistics. Larger values reduce the number of disk read calls and can improve throughput on fast storage systems, at the cost of higher memory use. Smaller values reduce peak memory consumption and may be preferable when processing very large datasets on memory-constrained machines.

Default: 1000 traces. This setting affects processing performance only and has no impact on the computed scaling factors. The minimum value is 1.

Execute on { CPU, GPU }

Selects whether the computation is performed on the CPU or a compatible GPU. CPU execution is the standard mode and is available on all hardware. GPU execution, when selected and supported, can accelerate amplitude accumulation over large trace sets.

Distributed execution

Enables distribution of the computation across multiple processing nodes in a cluster environment. When enabled, individual input datasets can be processed on separate nodes, reducing wall-clock time for large multi-survey equalization jobs.

Bulk size

Controls the minimum chunk size used when distributing work across nodes or threads. Increasing this value reduces scheduling overhead at the expense of coarser load balancing.

Limit number of threads on nodes

When distributed execution is active, this setting caps the number of parallel threads used on each remote node. Use it to leave computational resources available for other tasks running concurrently on the same node.

Job suffix

An optional text label appended to the distributed job name. Useful for identifying and tracking individual equalization runs in a shared cluster queue.

Set custom affinity

When enabled, allows explicit specification of which CPU cores the module may use. This is an advanced setting intended for environments where strict resource partitioning is required.

Affinity

The specific CPU core mask or list applied when custom affinity is enabled. Restricts execution to the designated cores.

Number of threads

The number of CPU threads used for parallel amplitude accumulation across traces. The module uses multi-threaded processing (one thread pool per trace batch), so increasing this value can significantly reduce run time when processing large datasets. Set to match the number of available physical cores for best performance.

Skip

When enabled, this module is bypassed and its output is not computed. Use this option to temporarily disable the equalization step without removing it from the processing flow.

Output data

Scaling factors

A gather containing one trace per input dataset. Each trace holds the time-varying scaling factor computed as the ratio of the reference dataset's average absolute amplitude to that of the corresponding target dataset at every time sample. The trace for the reference dataset itself contains unity values (1.0) at all times. These scaling factors are typically passed to a downstream amplitude application module to apply the equalization to the actual seismic data.

The gather can be inspected visually in the built-in viewer to verify that the derived scaling functions are geophysically reasonable before applying them. A value greater than 1.0 at a given time indicates that the target dataset has lower amplitude than the reference at that time and will be boosted; a value less than 1.0 indicates the target will be attenuated.

Information

Graphics

Custom actions