Splitter

Description

Splits a seismic dataset into several new SEG-Y files based on ranges of one or two trace headers. You define a table of output files, each associated with a value range on Header #1 (and optionally Header #2); every trace whose header values fall inside a row's range is written to that row's output file. This is useful for breaking a large survey into swaths, sail lines, receiver patches, shot patches, or any other subset defined by header ranges, without having to build a separate flow for each subset.

Input data

Input SEG-Y data handle

The source seismic data on disk that traces are read from when writing each output file.

Input data trace headers

The trace header set used to evaluate the header ranges, when Work mode is set to "Trace headers" (headers already loaded in the flow).

Input traces data handle

A handle to a trace header set stored on disk, used instead of the loaded trace headers when Work mode is set to "Trace headers on disk". This lets the module split very large surveys without loading all headers into memory at once.

Work mode

Chooses where trace headers are read from while splitting: "Trace headers" uses the header set already loaded earlier in the flow; "Trace headers on disk" reads headers directly from a dataset stored on disk in bulk chunks, which is recommended for very large surveys since it avoids holding the full header set in memory. Switching this value changes which of the two input items above (and the Header bulk size parameter) are shown.

Default: "Trace headers".

Parameters

Header #1

The primary trace header whose value range determines how traces are distributed among the output files (for example FFID, receiver line, or CDP). Every output row must define a "from"/"to" range on this header.

Header #2

An optional second trace header that can be combined with Header #1 to narrow the split criteria further (for example splitting by both receiver line and shot line at once). Leave a row's Header #2 range at zero/zero to split on Header #1 alone.

Header values

A table with one row per output file. Each row selects a range of Header #1 (and optionally Header #2) values and the name of the file that traces matching that range are written to. You can fill the table by hand, generate the File name column automatically from a mask, or import rows from an external file using the module's action buttons.

File name

The output file name (without extension) for this row. Written next to the input dataset as a new .gsd file. Can be typed manually or generated automatically from the Output file name mask using the "Fill file names by mask" action.

Header 1 from / Header 1 to

The inclusive-from / exclusive-to value range on Header #1 that a trace's header value must fall within to be written to this row's file. Default 0/0 for a new row, which must be filled in before the row is usable.

Header 2 from / Header 2 to

The optional value range on Header #2 for this row, applied together with the Header #1 range. Leave both at 0 to ignore Header #2 for this row.

Parameters

Output file name mask

A template used to auto-generate the File name column of the Header values table. It supports placeholders $H1$/$H2$ (the selected header names) and $S1$/$E1$/$S2$/$E2$ (the from/to values of each row for Header #1 and Header #2). Names are generated by running the "Fill file names by mask" action, or automatically on Execute if Auto generate output file names by mask is enabled.

Default: output_$H1$_$S1$_$E1$_$H2$_$S2$_$E2$. Adjust the pattern to match your file naming conventions.

Auto generate output file names by mask on Execute

When enabled, the File name column is regenerated from the Output file name mask automatically every time the module runs, so you never need to trigger the fill action manually. Disable it if you want to keep manually edited file names.

Default: Off.

Write method

Controls how each output file is written to disk. "Append" writes traces incrementally as they are collected, which is generally safer for very large outputs; "Direct" writes using direct I/O, which can be faster on some storage systems. If unsure, leave the default.

Default: Append.

Compress

Sets the sample data format/precision used when writing the output files: 32 bits (full precision, largest files), 16 bits or 8 bits (reduced precision, smaller files). Only reduce precision if you understand the impact on amplitude resolution — 8-bit output can noticeably degrade dynamic range.

Default: 32 bits.

Header bulk size

The number of traces read per batch when Work mode is "Trace headers on disk". This value is fixed and not editable in the interface; it is shown for information only.

Default: 10000 traces.

Output data

This module does not produce an output item within the processing flow. Instead, running it writes one new SEG-Y (.gsd) file per row of the Header values table, next to the input dataset, containing only the traces matching that row's header range.