SEIS to SEGY (serial)
As a ExSeisDat Developer I want to write a SEIS to SEGY utility with a serial implantation for reading seis based implementation to read SEIS and ExSeisDat to write the SEGY file because I want to better understand the I/O patterns of SEIS while also providing an initial version of the SEIS to SEGY converter.
Description of the compression algorithm:
Seis traces can be stored as 1 byte (int16), 2 byte (int32), or 4 byte (double) elements. When the traces are compressed from doubles, they are sectioned into groups (packets) that each get a scalar, equal to the largest number able to be stored in the compressed integer divided by the largest (magnitude) number in the packet. Every other element in the packet is multiple by that scalar.
The JSON file is parsed when the Seis reader is initialised and the header descriptors within the JSON file are also parsed at this time. Since the Seis header entries are self describing, they do not require the complex rule structure that SEGY did. Rather, a PIOL_META value can be mapped to the default seis header name and then simply read in. It reads each header parameter individually (i.e. it does not read in the entire file and then parse it). The traces are read in, using the parsed JSON header to determine the compression type and packet size.
Further improvements to reader:
- Currently the seis reader does not read in files with multiple .hdr/.tr subfiles.
- Currently the seis header reads in all entries for a particular metadata entry; it cannot get a header value from a single trace.
- Currently the seis header does not read in the entire .hdr and then parse the data, it only reads in the values used.
- Needs to write a checksum "test" to show that it works
- Needs to write utility SEIS to SEGY
System Test Changes:
C++ API Changes:
C API Changes:
- Reader should read in the type of SEIS files used by Tullow
- Checksums for original SEGY and SEIS to SEGY should be the same
- Read Json file
- Read tr file
- Read HDR file (in prog)
- SEIS to SEGY util (in prog)
CREATED ON - 01/05/2018