ExSeisDat issueshttps://git.ichec.ie/oilgas/ExSeisDat/-/issues2018-11-06T14:07:10Zhttps://git.ichec.ie/oilgas/ExSeisDat/-/issues/103SEIS to SEGY (serial)2018-11-06T14:07:10ZChristopher WernerSEIS to SEGY (serial)S-01719
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 patte...S-01719
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.
**PreDev Notes:**
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.
**Implementation Notes:**
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:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* Reader should read in the type of SEIS files used by Tullow
* Checksums for original SEGY and SEIS to SEGY should be the same
**Tasks:**
* [ ] Review
* [x] Read Json file
* [x] Read tr file
* [ ] Read HDR file (in prog)
* [ ] SEIS to SEGY util (in prog)
CREATED ON - 01/05/2018March 2019 Roadmap2019-03-01https://git.ichec.ie/oilgas/ExSeisDat/-/issues/102SEGY to SEIS (serial)2018-11-06T14:07:02ZChristopher WernerSEGY to SEIS (serial)S-01713
As a ExSeisDat Developer I want to write a SEIS to SEGY utility using MPI IO to read because I want to better understand the I/O patterns of SEIS while also providing an initial version of the SEGY to SEIS converter.
**PreDev ...S-01713
As a ExSeisDat Developer I want to write a SEIS to SEGY utility using MPI IO to read because I want to better understand the I/O patterns of SEIS while also providing an initial version of the SEGY to SEIS converter.
**PreDev Notes:**
{- ADDME -}
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* SEIS file written should be format that is usable by Tullow
* SEIS files that are tested should be able to be read by Reveal and converted into SEG-Y; the SEG-Y file should be the equivalent to the original.
**Done:**
Currently, we can write traces into the tr files serially and headers into hdr files serially. Writing data into the seis file is partially complete, and data needs to be stored into classes.
**Tasks:**
* [ ] Review
* [x] Write Traces into .tr files
* [x] Write Headers into .hd file
* [x] Write Metadata into .seis metadata file
* [x] Write particular headers into .db files
* [ ] Write complete SEGY to SEIS utility
CREATED ON - 03/04/2018March 2019 Roadmap2019-03-01https://git.ichec.ie/oilgas/ExSeisDat/-/issues/100SEIS Rule Structure (P2)2018-11-06T13:56:30ZChristopher WernerSEIS Rule Structure (P2)S-01739
As a ExSeisDat Developer I want to add the SEIS format to the rule structure because we want ExSeisPIOL to be able to parse SEIS header and trace files.
**PreDev Notes:**
The inherent SEG-Y behaviour in the rule structure was ...S-01739
As a ExSeisDat Developer I want to add the SEIS format to the rule structure because we want ExSeisPIOL to be able to parse SEIS header and trace files.
**PreDev Notes:**
The inherent SEG-Y behaviour in the rule structure was removed so that the rule structure calls to a separate file to get the SEG-Y offsets (similar to SEIS). Therefore, the implementation for SEIS should be straight forward.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON 03/08/2018https://git.ichec.ie/oilgas/ExSeisDat/-/issues/97SEIS Rule Structure (P1)2018-11-06T14:06:54ZChristopher WernerSEIS Rule Structure (P1)As a ExSeisDat Developer I want a SEIS specific Rule structure for reading / writing SEIS file headers.
**Pre-Dev Notes:**
The current Rule structure can be renamed to SEGY_Rule. An interface Rule class can replace SEGY_Rule, with SEGY...As a ExSeisDat Developer I want a SEIS specific Rule structure for reading / writing SEIS file headers.
**Pre-Dev Notes:**
The current Rule structure can be renamed to SEGY_Rule. An interface Rule class can replace SEGY_Rule, with SEGY_Rule inheriting from it. And a SEGY_Rule instance should be attached to the SEGY reader / writer, and a SEIS_Rule instance attached to the SEIS reader / writer.
We will only worry about standard headers for the moment.
**Implementation Notes:**
The hard-coded SEGY header byte locations have been removed from the existing rule structure. Now the SEG-Y rules get the byte offsets from a separate file in a similar fashion to the SEIS rules.
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
Coordinate Headers for SEGY (source X, Source Y, Receiver X, Receiver Y) was being read in as a float, while it was being stored in the SEGY file as a double. They are now read in as doubles to prevent precision loss.
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON 06/06/2018 March 2019 Roadmaphttps://git.ichec.ie/oilgas/ExSeisDat/-/issues/89Literature review on 5d Interpolation2018-11-06T13:53:24ZChristopher WernerLiterature review on 5d InterpolationS-01649
As an ICHEC computational scientist I want to see a short literature review of 5d interpolation to see what options are available and how practical to implement each method is.
There is a paper in the shared documents to perfor...S-01649
As an ICHEC computational scientist I want to see a short literature review of 5d interpolation to see what options are available and how practical to implement each method is.
There is a paper in the shared documents to perform the literature review.
Time box for 2 weeks.
CREATED ON - 06/06/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/85Spatial Bandpass filter2018-11-06T13:51:50ZChristopher WernerSpatial Bandpass filterS-01415
As a Tullow Geophysicist, I wish to be able to apply a spatial band-pass filter to my traces for basic noise removal.
**PreDev Notes:**
Will assume data is regularised
Spatial means on surface, so il/xl grid
Should follow te...S-01415
As a Tullow Geophysicist, I wish to be able to apply a spatial band-pass filter to my traces for basic noise removal.
**PreDev Notes:**
Will assume data is regularised
Spatial means on surface, so il/xl grid
Should follow temporal bandpass template, which applies a butterworth style filter and users can define:
* The cutoff frequency
* Type of filter (highness, lowpass, bandpass, bandstop)
* Whether to apply filter in frequency or temporal domain (while frequency domain is easier ie FFT, time domain helps prevent leakage)
Difficulty will be in communication.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* Able to apply 3D spatial filter to gather/file
* Works on a regularised grid
**Tasks:**
* [x] Get and compile NFFT
* [ ] Create Test Set Data/System test
* [x] Spatial filter
* [ ] Multi-dimensional filtering (in prog)
* [ ] Unit tests (in prog)
CREATED ON - 19/04/2016https://git.ichec.ie/oilgas/ExSeisDat/-/issues/84ExSeisFlow integration test: workflows2018-11-06T13:49:13ZChristopher WernerExSeisFlow integration test: workflowsS-01654
As a Tullow Geophysicist I would like the workflow to be tested with multiple operations so that I have confidence in it's correctness
**PreDev Notes:**
Should add tests of multiple operations being used on a set
integration t...S-01654
As a Tullow Geophysicist I would like the workflow to be tested with multiple operations so that I have confidence in it's correctness
**PreDev Notes:**
Should add tests of multiple operations being used on a set
integration tests
*Old:*
As a Tullow Geophysicist I want to perform multiple operations in a workflow, the operations are:
<INSERT>
I want to do this to utilise the I/O features of the workflow tool.
Focus on unit and system tests.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 26/06/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/83Spatial interpolation between traces onto a regular grid2018-11-06T13:48:26ZChristopher WernerSpatial interpolation between traces onto a regular gridS-01417
As a Tullow Geophysicist, I wish to be able to be able to create via interpolation, a new set of regularly spaced traces from a given set. I want this as it allows me to regularise the spread of traces so that exact geometry can...S-01417
As a Tullow Geophysicist, I wish to be able to be able to create via interpolation, a new set of regularly spaced traces from a given set. I want this as it allows me to regularise the spread of traces so that exact geometry can be guaranteed.
**PreDev Notes:**
In terms of the set layer, interpolation should require further jobs in the pipeline to be unwound unless they are a global operation in which case output to a temporary file would be required.
Suggest using Regularisation - Anti-Leak Fourier
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* [ ] User can specify the grid they would like to have traces on.
CREATED ON - 19/04/2016https://git.ichec.ie/oilgas/ExSeisDat/-/issues/81Operation - Modify Trace Metadata (Header Math)2018-11-06T12:40:13ZChristopher WernerOperation - Modify Trace Metadata (Header Math)S-01588
As a Tullow Geophysicist I want to be able to operate on headers within the set API so that I can modify trace metadata as desired
**PreDev Notes:**
For example a sort and bin. The user wants to sort based on offset bins, and ...S-01588
As a Tullow Geophysicist I want to be able to operate on headers within the set API so that I can modify trace metadata as desired
**PreDev Notes:**
For example a sort and bin. The user wants to sort based on offset bins, and update the file so that traces have the offset bin metadata instead.
Another example -> remapping survery and line coordinates with new transformation
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* [ ] The user can write custom functions that are applied to all trace metadata
* [ ] Some pre defined header math operation examples are included.
CREATED ON - 22/02/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/78Find duplicate files2018-11-06T12:39:09ZChristopher WernerFind duplicate filesS-01640
As a Tullow Administrator I want to find and remove duplicate files. I want to remove duplicate files for
storage capacity reasons. Proprietary software to achieve a similar result costs about 20,000 euro.
**Pre-Dev Notes:**
H...S-01640
As a Tullow Administrator I want to find and remove duplicate files. I want to remove duplicate files for
storage capacity reasons. Proprietary software to achieve a similar result costs about 20,000 euro.
**Pre-Dev Notes:**
Have a two stage process.
1. Check the file size, text headers, the binary headers and about a thousand random traces.
2. Print out a list of possible matches
Provide a utility that takes in this list and verifies if they are a match or not.
Two files might contain the same data in a different sorting order. These files should be matched too.
An example approach would be to take a hash of each trace, then sort the hashes, and use that as a matching criteria. Maybe take a hash of the sorted hashes...?
Once two files match in all heuristic tests, they should be sorted and compared.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
Given a list of files, the program should list all files that contain the same data, regardless of sorting.
CREATED ON - 05/05/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/76Operation - Mute2018-11-06T12:38:56ZChristopher WernerOperation - MuteS-01609
As a Tullow Geophysicist I want to mute unwanted noise preceding and/or within (window) the reflection data in my traces. I want to store
this data and also possibly reduce the number of samples per trace if possible across all ...S-01609
As a Tullow Geophysicist I want to mute unwanted noise preceding and/or within (window) the reflection data in my traces. I want to store
this data and also possibly reduce the number of samples per trace if possible across all traces. I want this operation as
I frequently use it. It is often preformed in tandem with tapering.
**PreDev Notes**
Mute time start and stop are field positions in trace header (byte positions 113 and 115) and used in taper function
**Implementation Notes:**
Created a mute function which can be used instead of a single taper function. It applies a mute at the beginning and end of the trace and then a
taper further along the trace after the mute trace and before the mute at the end. The user can specify the lengths of mutes and tapers.
taper.cc and taper.h have been modified to accommodate for mute. New files are mute.cc and mute.h, these have similar functionality to the taper files, by asking the user for input lengths of both mutes and tapers at the beginning and end of the trace. The mute comes before the taper at the beginning of the trace and after it at the end of the trace.
**System Test Changes:**
Spectests set.cc, settest.hh have been modified to create tests for mute L273 and L342 respectively. The git branch is operation_mute_S-01609.
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}https://git.ichec.ie/oilgas/ExSeisDat/-/issues/75Operation - Partition (If Else Splitting)2018-11-06T12:38:04ZChristopher WernerOperation - Partition (If Else Splitting)S-01610
As a Tullow Geophysicist I want to split my set of traces into two subsets based on a condition being or not being satisfied
on a per trace level. I want this as I frequently perform partitions of datasets. I generally perform t...S-01610
As a Tullow Geophysicist I want to split my set of traces into two subsets based on a condition being or not being satisfied
on a per trace level. I want this as I frequently perform partitions of datasets. I generally perform the partition based on
trace parameters not trace data.
**PreDev Notes**
{- ADDME -}
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* [ ] Two sets are created from one, with different thresholds on each.
CREATED ON 31/03/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/74Trace Selection while preserving ordering2018-11-06T12:37:31ZChristopher WernerTrace Selection while preserving orderingS-01403
As a Tullow Geophysicist, I wish to perform a Trace selection while preserving the ordering so that I can index the traces more easily.
**Pre-Dev Notes:**
Does a trace selection change the ordering?
This can be tested by perf...S-01403
As a Tullow Geophysicist, I wish to perform a Trace selection while preserving the ordering so that I can index the traces more easily.
**Pre-Dev Notes:**
Does a trace selection change the ordering?
This can be tested by performing one form of ordering operation and a different sort of selection. It makes sense to do this after the IfElse partition
*Note* std::stable_partition exists.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
A trace selection can be performed where the out trace ordering is the same as before (up to missing traces)https://git.ichec.ie/oilgas/ExSeisDat/-/issues/72Read Time Slice2018-11-06T12:36:27ZChristopher WernerRead Time SliceS-01408
As a Tullow Geophysicist, I want to be able to take a time slice of a collection of traces so that I have a 2d array which I can then use for visualisation. This is so that I can perform quality control checks on the results.
...S-01408
As a Tullow Geophysicist, I want to be able to take a time slice of a collection of traces so that I have a 2d array which I can then use for visualisation. This is so that I can perform quality control checks on the results.
**PreDev notes:
Add functions to read the nth to mth samples from the oth to pth traces.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 19/04/2016https://git.ichec.ie/oilgas/ExSeisDat/-/issues/711d interpolate2018-11-06T12:36:09ZChristopher Werner1d interpolateS-01735
As a Tullow Geophysicist, I wish to be able to be able to interpolate a set of traces. I want this as it is used by the RTM code. i.e I want to be able to specify a new number of elements for a trace set in an api call, which th...S-01735
As a Tullow Geophysicist, I wish to be able to be able to interpolate a set of traces. I want this as it is used by the RTM code. i.e I want to be able to specify a new number of elements for a trace set in an api call, which then resizes my traces.
**PreDev Notes:**
* What method do we want to use to interpolate between points?
* Deterministic Methods:
* Nearest-Neighbor Interpolation
* Polynomial Interpolation
* Weighted Distance
* Regression Interpolations
* Autoregessive Interpolations
* Kriging
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 20/04/2016https://git.ichec.ie/oilgas/ExSeisDat/-/issues/64Number of traces in CMP aperture (memory)2018-11-06T12:33:38ZChristopher WernerNumber of traces in CMP aperture (memory)S-01404
As a Tullow programmer, I wish to be able to do find out the number of traces within a defined aperture. I want this feature in the PIOL to provide information in the Kirchhoff code for load balancing reasons.
**Pre Dev notes:*...S-01404
As a Tullow programmer, I wish to be able to do find out the number of traces within a defined aperture. I want this feature in the PIOL to provide information in the Kirchhoff code for load balancing reasons.
**Pre Dev notes:**
An aperture is a region defined by it's central point and it's edges. Apertures can be complicated and vary in depth but for this story only 2d surface are is important.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success criteria:**
* [ ] Programmer can call a function that returns the number of traces in an aperture
CREATED ON - 19/04/2016https://git.ichec.ie/oilgas/ExSeisDat/-/issues/53Operation - Duplicate2018-11-06T12:06:58ZChristopher WernerOperation - DuplicateS-01613
As a Tullow Geophysicist I want to be able to duplicate a set as this is an operation I frequently perform
**Pre-Dev Notes:**
This should already be possible in the PIOL by simply copying a Set. Put the necessary tests in plac...S-01613
As a Tullow Geophysicist I want to be able to duplicate a set as this is an operation I frequently perform
**Pre-Dev Notes:**
This should already be possible in the PIOL by simply copying a Set. Put the necessary tests in place to ensure this works.
Should include system + unit tests.
Set set1(....);
Set set2 = set1.duplicate("new_output_prefix");
Now two sets exist with different 'views' of the input files which can be manipulated separately.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 31/03/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/52Operation - Difference2018-11-06T12:06:45ZChristopher WernerOperation - DifferenceS-01615
As a Tullow Geophysicist I want to calculate the difference between two traces. These is generally performed as a QC step for visualisation.
10th most common Non-IO/Probe tool at Tullow.
This could probably be implemented by ti...S-01615
As a Tullow Geophysicist I want to calculate the difference between two traces. These is generally performed as a QC step for visualisation.
10th most common Non-IO/Probe tool at Tullow.
This could probably be implemented by tightly coupling with visualisation rather than returning a diff depending on the specific requirements at the time of story development.
**Pre-Dev Notes:**
*Open Questions:*
* Is this operation only purely visualisation (i.e. difference two traces, or two sets of traces, for the sole purpose of visualisation) or is differencing traces used at any other point?
1. If only for visualisation than would this operation be better be described as a visualisation? The differencing two (sets) of traces would only produce an output file that could then be visualised.
2. Talk to Gareth or Sean about the use of diff
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 31/03/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/51Operation - Normal Moveout Correction2018-11-06T12:06:31ZChristopher WernerOperation - Normal Moveout CorrectionAs a Tullow Geophysicist I want Normal move-out correction. I want this because it is an operation I frequently perform.
**Pre-Dev Notes:**
Normal Moveout correction approximately converts a pre-stack trace with non-zero offset into a z...As a Tullow Geophysicist I want Normal move-out correction. I want this because it is an operation I frequently perform.
**Pre-Dev Notes:**
Normal Moveout correction approximately converts a pre-stack trace with non-zero offset into a zero-offset trace,
flatten reflectors in CDP gathers (see figure below):
![6727](/uploads/765bc10e51ac54950da137712f93f528/6727.png)
To perform a normal moveout correction, a table of RMS velocities is requires, although the internal velocity model is usually unknown.
RMS velocities for normal moveout can be estimated by fitting hy- perbolas to the non-moved out CDP gathers. This can be done by picking semblance peaks or by picking on constant velocity stacks.
*Second Order Normal Moveout:*
* classic correction for simulating a zero-offset trace from a non-zero offset trace
* assumes that seismic rays travel in a straight line from the source to a flat reflector in the subsurface and in another straight line to the receiver
* Equation: ![6729](/uploads/703f1349f124557587d3ca2a32e16214/6729.png)
where
t(o)= time at the original offset, i.e. the to from which samples are moved
o = offset in m or ft
t_0 = time at zero-offset, i.e. time to which samples are moved
v_nmo = RMS velocity in m/s or ft/s
Reveal has 2 higher-order moveout corrections to account for non-hyperbolic moveout. Non-hyperbolic moveout can be caused by factors such as vertical velocity variations and anisotropy. Each type of higher-order move- out may be applied with or without applying normal moveout (NMO). The higher-order moveout corrections are:
1. Fourth Order Moveout:
* without NMO ![6708](/uploads/c6553cdb8bbf4e1881b011cd119dec6b/6708.png)
* with NMO ![6714-1](/uploads/c94717f6de403b761c098457f798f0be/6714-1.png)
2. Eta Moveout:
* Uses the anisotropy parameter η to estimate non-hyperbolic moveout --> the user must define a η table as well as a RMS velocity table
* without NMO ![6716](/uploads/3128b169f6f1bf2be55011601c09b740/6716.png)
* where ![6723](/uploads/0ed33487671574e2533b724a8b6613cc/6723.png)
η = the unitless anisotropy parameter
c = a constant between 1 and 1.2 (fixed to 1 in Reveal implementation ---> investigate)
* without NVO ![6726-1](/uploads/5bc2d4fad30b36cb9238d06769c4273a/6726-1.png)
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 31/03/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/50Extend the beginning or end of traces2018-11-06T12:06:09ZChristopher WernerExtend the beginning or end of tracesS-01616
As a Tullow Geophysicist I want to add additional samples to the start or end of my trace. I want this because I frequently perform these extensions (11th most popular).
**PreDev Notes:**
Dev Questions:
* Are the values for sa...S-01616
As a Tullow Geophysicist I want to add additional samples to the start or end of my trace. I want this because I frequently perform these extensions (11th most popular).
**PreDev Notes:**
Dev Questions:
* Are the values for samples added to the traces within trace (i.e. Trc_i.resize(ns+n); Trc_i[0:n] = constant ) or are they functional (i.e Trc_i[0:n] = f(j)) or random?
* Are the values for samples added to the traces the same from trace to trace (i.e. Trc_0[0:n] = c ; Trc_1[0:n] = c; ... Trc_N[0:n] = c) or do they vary from trace to trace (i.e. Trc_0[0:n] = c0 ; Trc_1[0:n] = c1; ... Trc_N[0:n] = cN)?
* Or is it all of the above?
* Is this an operation where the number of samples in a SEG-Y file is increased so files can be concatenated?
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria**
* [ ] The binary header value ns is updated when extending the trace length.
* [ ] A file whose trace length has been extended should be able to be concatenated with files that have traces of the new length not the old length
CREATED ON - 31/03/2017