|
<< Click to Display Table of Contents >> Navigation: General > Seismic flow |
Seismic flow is a container module that groups and executes a sequential chain of seismic processing steps. Each gather received from the upstream pipeline is passed through all child modules in order, with the output of each module becoming the input to the next. This allows complex multi-step workflows to be organized into a single, manageable unit within the processing flow.
A Seismic flow is useful when you want to group related processing steps together — for example, a noise attenuation sub-workflow or a velocity analysis preparation block — and treat them as a single logical unit. If a child module inside the flow is set to "skipped", that module is bypassed and the gather data passes through unchanged. If all child modules are skipped, the output gather is set to null (empty) and the flow terminates without error.
The module also exposes special internal data connections — "Input gather inside seismic flow" and "Output gather inside seismic flow" — that allow sub-modules within the flow to read and write the gather being processed at each step.
The primary input data bundle passed into the Seismic flow. This bundle carries the full seismic dataset context, including the SEG-Y data handle, trace headers, gather data, geometry information, and sorted header indices. Connect this from the output of the preceding module in your processing sequence.
A handle to the SEG-Y file associated with the input dataset. This enables child modules within the flow to access raw trace data from disk when needed. It is part of the Input DataItem bundle and is typically connected automatically.
The trace header collection for the input dataset. Trace headers carry metadata such as CDP number, offset, receiver coordinates, and shot point information. Child modules within the flow can read these headers for geometry-dependent processing. This is part of the Input DataItem bundle.
The seismic gather (a collection of traces sharing a common attribute such as CDP or shot point) that enters the Seismic flow for processing. This is the primary data connection and is required. The gather is passed sequentially through each enabled child module within the flow.
An optional input carrying the 2D stack line geometry (a set of bin points defining the processing line). This is passed through to child modules that require stack line information, such as geometry-based filters or 2D migration modules.
An optional input carrying the crooked line geometry definition. Used for processing along non-straight 2D seismic lines. Passed through to any child modules within the flow that require crooked line geometry for corrections or projections.
An optional input providing the 3D bin grid definition. The bin grid describes how survey bins are arranged in inline/crossline space. It is passed through to child modules that require spatial grid information for 3D processing operations.
An optional index structure that provides pre-sorted trace header information. This allows child modules to efficiently access gathers in a specific sorted order (for example, by offset or by CDP) without re-sorting the full header set at each step.
An internal data connection that exposes the gather currently being processed inside the Seismic flow at the input side. Sub-modules within the flow read from this item to receive the gather as it propagates through the chain. This connection is managed automatically and does not need to be configured manually.
An internal data connection that carries the gather output from each processing step inside the Seismic flow. After each child module executes, its result gather is written here and then forwarded as the input to the next child module in the sequence. This connection is managed automatically and does not need to be configured manually.
Controls what happens when a child module inside the flow encounters an error during processing. Default: enabled (true).
When enabled, if any child module fails, the entire Seismic flow stops immediately and no output gather is produced for that gather iteration. This is the recommended setting for production processing, as it prevents corrupted or incomplete data from propagating downstream.
When disabled, if a child module fails, the flow uses the last successfully processed gather (the input to the failing module) as the output and continues execution with the remaining modules. Use this setting during experimental workflows where certain processing steps may occasionally fail and you prefer to recover gracefully rather than halt the entire job.
When enabled, the Seismic flow automatically connects compatible data items between itself and child modules. This means the gather, headers, bin grid, and other standard data items are wired to child modules without requiring manual connections. Disable this option only if you need to set up custom, non-standard data routing within the flow.
Selects whether the modules inside this Seismic flow execute on the CPU or on a GPU. GPU execution can significantly accelerate computationally intensive operations such as migration or deconvolution when suitable hardware is available. Individual child modules must support GPU execution for this setting to take effect.
Configures whether the Seismic flow is executed on remote computation nodes in a distributed processing cluster. When enabled, gathers can be dispatched to worker nodes for parallel processing, which is essential for large 3D datasets. Requires a configured cluster environment.
Sets the minimum number of gathers to be grouped into a single work unit when distributing processing tasks across cluster nodes. Larger bulk sizes reduce communication overhead between the master and worker nodes but may decrease load balancing efficiency. Tune this value based on the average gather processing time and the number of available nodes.
When distributed execution is active, this option caps the number of CPU threads used per worker node. Use this to prevent the Seismic flow from monopolizing all cores on a shared cluster node, leaving resources available for other concurrent jobs.
An optional text label appended to the job name when this Seismic flow is submitted to a distributed cluster. The suffix helps distinguish multiple concurrent jobs in the cluster queue — for example, distinguishing "SeismicFlow_PreStack" from "SeismicFlow_PostStack" when both are running simultaneously.
Enables manual specification of CPU core affinity for the threads running this Seismic flow. When enabled, the Affinity parameter below becomes active. Use this on systems with non-uniform memory architecture (NUMA) to bind processing threads to specific CPU sockets, which can improve memory access performance for large gathers.
Specifies the CPU core affinity mask or list when "Set custom affinity" is enabled. This controls which physical CPU cores are used by the processing threads of this Seismic flow. Leave at the default unless you have specific hardware optimization requirements.
Sets the number of parallel CPU threads used to process gathers through this Seismic flow. Multiple gathers can be processed simultaneously — each thread handles a different gather. Increase this value on multi-core workstations to maximize throughput. As a starting point, set this equal to the number of physical CPU cores available.
When enabled, the entire Seismic flow is bypassed. All gathers pass through without any processing, as if the module were not in the pipeline. Use this to temporarily disable a block of processing steps without deleting the flow from your project. This is useful for A/B testing — comparing results with and without the flow active.
The output data bundle produced by the Seismic flow after all child modules have been applied. This carries the processed gather, updated trace headers, SEG-Y handle, and geometry information, and can be connected to the input of the next module in the processing sequence.
A handle to the SEG-Y file associated with the output dataset from the Seismic flow. Downstream modules can use this handle to write or access the processed trace data on disk. It is part of the Output DataItem bundle and is propagated automatically.
The trace header collection after processing through the Seismic flow. If any child module has modified trace headers (for example, updated static corrections or offset values), the changes are reflected here. This is part of the Output DataItem bundle.
The fully processed gather that exits the Seismic flow after passing through all enabled child modules in sequence. This is the primary output and should be connected to the next module in the pipeline. If all child modules are skipped, this output will be empty (null).
The stack line geometry propagated from the input through the flow and available for downstream modules. This is the same geometry as on input unless a child module has modified it.
The crooked line geometry propagated from the input through the Seismic flow. Connect this to downstream modules that require crooked line information for 2D non-straight line processing.
The 3D bin grid definition propagated from the input through the Seismic flow. Downstream modules requiring spatial grid information for 3D operations can connect to this output.
The sorted header index structure propagated from the input through the Seismic flow. Downstream modules can use this to efficiently access gathers in sorted order without re-indexing the full dataset.