SEG Y input XY headers inconsistency
Brought to you by:
billmenger,
seismick
TRIN can read SEG Y files. If the XY scalar in trace header is -10 this means divide the shot and receiver XY coordinates by 10. TRIN does this, and also creates the CPSeis CMP XY trace headers, from the average of the shot and receiver
coordinates. That is if you select STAN option meaning standard SEG Y.
But if you select GEODEPTH format, the shot and receiver coordinates are not divided by ten, but the CMP coordinates are!
If you select LANDMARK or JASON format, then shot and receiver coordinates are
divided by 10, but the CMP coordinates are not!
This is not sensible.
I know LANDMARK format is very similar to standard SEG Y, except they put line
number in FFID header.
The reason for this is that "standard" headers are converted then the custom header mapping is done later, ignoring the coordinate scalar. The subroutine segy_map_segy_to_cps
could extract the scalar from SEG Y bytes 71-72 and then decide if one of the XY headers are being mapped and apply the scalar. To be really correct, it would have to also extract the elevation scalar in bytes 69-70 and apply those if a relevant header appears in custom mapping. It could become quite a complicated patch to implement. Possibly the correction could be optional in case the creator of the SEG Y files got it wrong.
At least the problem does not arise for writing SEG Y in TROT, because the scalar is forced to 1 there.