Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Intro
Raw seismic exploration datasets are called shots, and they're typically stored in SEG-Y files.
The below concept represents the geometry of a 3D shot with a lot fewer streamers (aka. cables) and receivers (aka. channels) than an actual survey:
The
☆
represent an airgun array (aka. source or shot), and the-
represents a channel on a streamer. In this example, we have a shot with 7 streamers, each with 20 receivers.Problem
SEG-Y Revision 2.0 came out in 2017 with standards describing 3D offshore seismic surveys. However, any SEG-Y file made before that has no standard, and vendors may not provide all the necessary information in the headers.
We typically see 3D offshore shot datasets with the following pathologies:
Type A
This is the case that is showcased at the beginning. The SEG-Y file has the following
Type B trace headers show:
The SEG-Y file trace headers are like below:
The translation here is simple:
chan = (chan - 1) % N + 1
whereN
is the "channels per cable" which must be known.Type C trace headers show:
Cable translation:
cable = floor((chan - 1) / N) + 1
whereN
is the "channels per cable" which must be known.and we do the channels after this with the same formula as Type B.
Solution
To be able to ingest these legacy files to the correct geometry, we need to do some grid
manipulations. This PR addresses that.
We can specify options to:
Example (proposed) usages
Type A
Simplest, natural geometry of the file with cable numbers and wrapped channels.
Type B
Cable numbers exist, but channels numbers are unwrapped.
Note the addition of
grid_overrides
and the keywordsChannelWrap
andChannelsPerCable
.Type C
No cable numbers were provided, and unwrapped channels.
Note the modification of
grid_overrides
with an additional keyword:CalculateCable
.Also note that the "channel" header index bytes and lengths are set to
None
.