The SEG Yfile format is one of several standards developed by the Society of Exploration Geophysicists for storing geophysical data.
The official standard SEG-Y consists of the following components:
- a 3200-byte EBCDIC descriptive reel header record
- a 400-byte binary reel header record
- trace records consisting of
- a 240-byte binary trace header
- trace data
We can describe a SEG-Y structure file like picture below :
In this post, I try to describe how to merge/join some of SEG-Y file using Linux. Before we do join/merge SEG-Y file, we must check dt (sampling time) and ns (number of sample) of our SEGY file. We can check this variable in binary header at byte location 17-18 (dt header) and 21-22 (ns header). Header dt and ns from our SEG-Y file must equal. We can merge/join SEG-Y file with dd and cat command in Linux.
Example, we have 3 SEG-Y file with name : file1.sgy, file2.sgy and file3.sgy. This is steps how to merge this 3 SEG-Y file :
- remove header text (3200 byte) and binary header (400 byte) from second SEG-Y file (file2.sgy).
Use this command : dd if=file2.sgy of=tmp_file2.sgy skip=1 bs=3600
- remove header text (3200 byte) and binary header (400 byte) from third SEG-Y file (file3.sgy).
Use this command : dd if=file3.sgy of=tmp_file3.sgy skip=1 bs=3600
- merge SEG-Y file with cat command : cat file1.sgy tmp_file2.sgy tmp_file3.sgy > merge_file.sgy
This is a simple method how merge SEG-Y file in Linux. If you have other method, please share..