Вы находитесь на странице: 1из 20

CGGVeritas

ADAPT
Adaptive model subtraction Level: 4116 Last update: July 2008

FUNCTION
General
The module subtracts adaptively a model dataset m or several models (up to 4) from an input dataset d, by estimating an adaptation filter f to increase the resemblance between m and d, under the minimum energy criterion. The module works on 2D spatio-temporal independent sliding windows (see Figure 1). Typical application is the subtraction of a multiple model from the recorded data. However, the module is more versatile. It can be applied to any case where you want to separate signal and (coherent) noise in the data and when a model of the noise is available (which differ from the exact noise by the amplitude spectrum, a time-shift, phase rotations, and so on). In the context of multiple attenuation, the "signal" stands for the primaries, and the "noise" stands for the multiples.

Definition of the various options


First option: GA or LS GA option: In this option, a global adaptation is selected: the model is globally and coarsely adapted but not subtracted from the input data. If several models are input, they are individually adapted to the data. LS option: In this option, a local subtraction is selected. The model is locally and accurately adapted and subtracted from the input data. If several models are input, they are simultaneously adapted to the data. Second option: blank or SR Blank option: Standard least-squares adaptation. SR option: Fast adaptation (time Shift, phase Rotation, and optionally amplitude). Second option SR can be selected only with first option GA.

Geocluster

Users Manual

ADAPT

CGGVeritas

Input data
The module processes t-x trace gathers on input. The Y flag must be set at the end of each gather. The module outputs as many traces as input.

ADAPT

Users Manual

Geocluster

CGGVeritas

FUNCTION CALL
Description
Column 1 3-7 9-10 Contents * ADAPT First option: GA: Global Adaptation LS: Local Subtraction 12-13 Second option: Blank: standard least-squares adaptation, AS: A fast amplitude spectrum adaptation (zero-phase adaptation) is applied. Second option AS can be selected only with first option GA. SR: A fast adaptation is applied. Second option SR can only be coded with first option GA. 15-16 23-24 31-80 Input buffer: contains the t-x data. Output buffer: contains the data after subtraction (first option LS) or the input data (first option GA). Parameters.

Parameters common to all options Mandatory parameters


Parameters relative to input geometry YMXa WORDb a = Maximum number of (t,x) traces per input gather. Limits: a > 0 (integer) b = Number of the trace header word defining the input gather, on which the Y flag is positioned. The module checks whether the Y bit is set when the value of WORD changes. Limits: b >0 (integer) Computation parameter Bi i = Number of the secondary loop for the output traces. Limits: 0 < b 99 (integer)

Geocluster

Users Manual

ADAPT

CGGVeritas

Parameter relative to the model IS1=xx xx = Name of the auxiliary input buffer containing the model m(t,x) to subtract. It must be synchronous with the main input buffer.

Optional parameters
Computation parameters WORDXc c = Additional header word used to check the synchronicity between the main input buffer and the auxiliary input buffers. If LOPX is greater than 1, the regularity of the WORDX variations is also tested. Limits: c > 0 (integer) Parameters defining the sliding windows NCXd d = Number of traces in an elementary sliding window. If parameter FSPLIT is coded, NCX applies to the lower frequency band only (see Options and Parameters). Limits: 0 < d < YMX (integer) GS option: Default value: d= 50 LS option: Default value: d= 5 NCTe e = Length, in milliseconds, of an elementary sliding window. If FSPLIT is coded, NCT applies to the lower frequency band only. Limits: 0 < e < Trace Length (integer) GA option: Default value: e = 250 SI LS option: Default value: e = 25 SI PERADVi i = Percentage of advance on the sliding windows, relative to the window size. It applies to both the time and spatial axis. This defines the overlap between two adjacent windows. Tapers are applied to merge the processed windows. For more information on sliding window management see Remarks and Figure 1. If FSPLIT is coded, PERADV applies to both the lower and higher frequency sliding windows. Limits: 1 i 100 (integer) Default value: i = 50 Parameters defining the models to subtract IS2=aa, IS3=bb, IS4=cc (aa,bb,cc) = Names of the auxiliary input buffers containing the additional models m2, m3, and m4 to subtract at the same time as the model m input in IS1 = (multiple model subtraction).
4 ADAPT Users Manual Geocluster

CGGVeritas

Note: IS3= can be coded only if IS2= is coded. IS4= can be coded only if IS2= and IS3= are coded. Parameters defining the output models OS1=dd, OS2=ee, OS3=ff, OS4=gg (dd,ee,ff,gg) = Names of the auxiliary output buffers containing the adapted models, respectively fm, f2m2, f3m3, f4m4. A given auxiliary output buffer OSx can be coded only if the corresponding ISx input buffer is coded. They are all synchronous with the main output buffer. Warning: The adapted models differ fundamentally according to whether first option GA or LS is selected (see Remarks). NOADAPx x = Input model number not to adapt. This parameter is used to deactivate adaptation of the model x (integer). In this case, the model traces in buffer OSx are then directly copied from that of buffer ISx (see Remarks). Note: Several NOADAP parameter definitions can be coded in the same call of module ADAPT.

Parameters specific to second blank option Optional parameters


FSPLITr r = Value of the separation frequency, expressed in Hz. If FSPLIT is coded, the input data and models are separated into two frequency bands: [0-FSPLIT] and [FSPLIT-Nyquist]. A frequency taper (of size FSPLIT/4) centered on FSPLIT is internally applied between the two bands and two independent adaptations are performed. The bands are re-merged just before output (see Remarks). Limits: 0 < r < Nyquist (real) No default value. Parameters defining sliding windows NCXHf f = Number of traces in an elementary sliding window for the higher frequency band, if parameter FSPLIT is coded. Limits: 0 < f < YMX (integer) Default value: f = NCX/2 NCTHg g = Length, in milliseconds, of an elementary sliding window for the higher frequency band, if parameter FSPLIT is coded. Limits: 0 < g < Trace Length (integer) Default value: g = NCT/2

Geocluster

Users Manual

ADAPT

CGGVeritas

Parameters relative to adaptive filters LOPXi i = Length, in number of traces, of the adaptive filters (1D time-filters only). The value of LOPX must be an odd number. Note: LOPX > 1 assumes a regular spatial sampling (see Remarks). Limits: 0 < i < NCX Option GA: Default value: i = 5 Option LS: i = 1 Default value: i = 1 LOPTh h = Length, in milliseconds, of the adaptive filters. Limits: 0 < h < NCT (integer) LOPT/SI must be odd (see Remarks) Option GA: Default value: h = 51 SI Option LS: Default value: h = 5 SI. LOPXHj j = Length, in number of traces, of the adaptive filters for the higher frequency band, if parameter FSPLIT is coded. The value of parameter LOPXH must be an odd number. Limits: 0 < j < NCXH (integer) Default value: j = LOPX LOPTHk k = Length, in milliseconds, of the adaptive filters if parameter FSPLIT is coded. The value of LOPTH/SI must be an odd number. Limits: 0 < k < NCTH (integer) Default value: k = LOPT Computation parameters XFm m = Prewhitening factor for the adaptive filter estimation, expressed as a fraction (Real) (see Options and Parameters). Default value: m = 0.002 NORML1 Flag controlling the minimization function. If this parameter is coded, the L1 norm is used for the minimization function instead of the L2 norm (see Remarks). n = Number of iterations for the filter estimation on the first timewindow. If n = 0, the module uses a direct solver instead of an iterative solver. This is not possible if L1NORM or ZEF are coded or if several models are input with the LS option. Limits: n > 0 (integer) Default value: n = 20

NITERIn

ADAPT

Users Manual

Geocluster

CGGVeritas

Warning: If n is greater than the value LOPT/SILOPX, parameter NITERI is set to the value LOPT/SILOPX. NITERAp p = Number of iterations for the filter estimation on other windows. The initial estimation of the filter is the filter computed from the previous time-window, unless NITERA equals NITERI, in which case there is no initial estimation (see Options and Parameters). If p = 0, the module uses a direct solver instead of an iterative solver. This is not possible if L1NORM or ZEF are coded or if several models are input with the LS option. If p is greater than 0 there will be no initial estimation and ITERA will be equal to NITERI. Limits: 0 < p NITERI (integer) Default value: p = 3

Parameters specific to first option GA and to second option SR Optional parameters


Parameters specific to adaptation filters MAXSHFTi i = Maximum authorized time-shift of the model, in milliseconds. Limits: 0 < i NCT/2 (integer) Default value: i = 25 SI AMPADAP Flag for amplitude adaptation of models. If coded, this parameter triggers the amplitude adaptation of the time-shifted and phase-rotated model(s). By default, this amplitude adaptation is not performed.

Parameters specific to first option GA and to second option AS


LOPTh h = Length, in milliseconds, of the filters. Limits: 0 < h < NCT (integer) LOPT/SI must be odd Default value: i = 51 SI XFr r = Prewhitening factor for the filter estimation, expressed as a fraction. Real. Limits: r 0 Default value: r = 0.001

Geocluster

Users Manual

ADAPT

CGGVeritas

Parameters specific to first option LS and second option blank Optional parameters
Parameter defining the subtraction window
Start time of the subtraction window

TIa

a = Start time, in milliseconds, of the window in which the subtraction is applied. Limits: a > 0 (integer) Default value: a = 0 b = Header word number containing the initial time, expressed in milliseconds, of the window in which the trace-by-trace subtraction is applied. Limits: b > 0 (integer)

or TIWORDb

Note: TI and TIWORD are mutually exclusive.


End time of the subtraction window

TFc

c = Final time, in milliseconds, of the window in which the subtraction is applied. Limits: c > 0 (integer) Default value: c = trace length

or TFWORDd d = Header word containing the final time, in milliseconds, of the window in which the trace-by-trace subtraction is applied. Limits: d > 0 (integer) Note: TF and TFWORD are mutually exclusive.
Taper length

TAPIFe

e = Length, in milliseconds, of the internal taper applied at times defined by TI and TF. Limits: e 0 (integer) Default value: e = 10 SI (if parameters TI and/or TF are coded).

Parameter relative to filters XEFr r = Additional constraint factor, expressed as a fraction, designed to keep the energy of adapted models close to the energy of the input. This factor limits the magnification of the model to prevent the model from being adapted to strong primaries.

ADAPT

Users Manual

Geocluster

CGGVeritas

For example: r = 0: constraint factor has no effect. r = 1: constraint factor has a strong effect. Limits: r 0 Default value: r = 0.0 Important: The use of parameter XEF makes sense only if the amplitudes of the input model are close to the amplitudes of the input data. If this is not the case, the results will be unpredictable. Note: XEF can be coded if there is only one model input. Other parameter MEDFF Flag for median filtering of adaptation filters (see Example 2). If this parameter is coded, the program applies a median filtering of the adaptation filter samples, using the filters from the adjacent windows. This can help eliminating an isolated anomalous filter.

Geocluster

Users Manual

ADAPT

CGGVeritas

TRACE HEADER
Status of the output trace header
1 WORDS 1 to 10 WORDS 11 to 20 WORDS 21 to 30 WORDS 31 to 40 WORDS 41 to 50 WORDS 51 to 60 WORDS 61 to 64 X = updated word 0 = zeroed word blank = directly transcribed 2 3 4 5 6 7 8 9 0

All headers are directly transcribed from the input traces.

10

ADAPT

Users Manual

Geocluster

CGGVeritas

RECOMMENDATIONS
Remarks Sliding windows management (see Figure 1)
A given window is always composed of NC points (either NCX traces or NCT ms). After the computations with the NC points, the output curve (weighting coefficients between 0 and 1) contains the following zones: The central points that are output "as is", with a coefficient equal to 1. Tapered areas of length TAP (not a parameter), where the coefficient varies from 1 to 0. "Shoulders" of length SH (not a user parameter), with a coefficient equal to 0 (the traces are not output). The geophysical justification of the shoulders is that the edges of the windows might miss the input information beyond the window. The module first computes the advancing number of traces (ADV) from one window to the next: ADV = NCPERADV/100 (with a minimum of 1 and a maximum of NC 2 (LOP/2)). Two different cases can be described: if ADV > NC/2 - LOP/2, then: SH = LOP/2 TAP = NC ADV 2*SH Note: If the computed taper is smaller than a hard-coded minimum taper value, the module automatically reduces the advance value. The hard-coded values are: TAPTmin = 10 SI, TAPXmin = 5 If ADV NC/2 - LOP/2, then: SH = NC/2 +1 ADV TAP = ADV-1 Note: The computed taper can be as small as 1 (which means no taper at all), due to the strong overlap between the adjacent windows. With such a mechanism, the tapers are decoupled from the overlaps. The quality of the results will depend mainly on the advancement percentage (parameter PERADV). Example 1 NCX51, LOPX5. If ADVX=23, then SH=2, TAPX=24
Geocluster Users Manual ADAPT 11

CGGVeritas

If ADVX=42, then SH=2, TAPX=5 If ADVX=45, t then ADVX is reduced to 42 If ADVX=10, then SH=16, TAPX=9 If ADVX=1, then SH=25, TAPX=0 Example 2 NCX7, LOPX1 If ADVX=5, then ADVX is reduced to 3 If ADVX=3, then SH=1, TAPX=2 If ADVX=1, then SH=3, TAPX=0 Important: All these useful but hidden parameters are printed in the job listing. Therefore, if you simply want to check the relevance of these parameters before the execution phase, submit your job in analysis phase only.

First option GA or LS and adaptation intent


The first option specifies the type of adaptation: global and coarse or local and accurate. The module then sets appropriate default values for some parameters: large windows and long filter with option GA and small windows and short filters with option LS.

First option GA or LS and kind of adaptation


When more than one model is input, the choice of the first option has a fundamental influence on the performed adaptation: With option GA, each input model is adapted individually to the input data, as if separate runs of the module were performed. In particular, the sum of the adapted models is not equal to the actual noise to be attenuated. With option LS, all the input models are adapted simultaneously to the input data. Their sum is (hopefully) equal to the actual noise. Note: With a single model, there is no difference between options GA and LS concerning the adapted model.

Standard or fast adaptation (first option GA, second option blank or SR)
The fast adaptations are attractive because they are fast. The adaptation with long (and costly) filters in the GA+blank options can be broken into simpler and faster tasks. Their combination is sub-optimal but the local subtraction (LS option) should achieve the job. These simple tasks are (in order): Amplitude spectrum adaptation (ASA, second option AS) Constant phase rotation + global time-shift (second option SR)
12 ADAPT Users Manual Geocluster

CGGVeritas

Scalar adaptation (parameter AMPADAP in SR). This step is optional provided that the ASA has been applied. Note: The ASA works better if multiple energy is dominant.

Omitting models for global adaptation


When several models are available, they all need a local adaptation. However, only some of these models may need a global adaptation. It is convenient to put all the models in the same flow and use the NOADAP parameter to specify the ones not to be globally adapted.

Mutes, initial and final times


This section describes how the program handles the mute times: The module reads the header words 6 and 1 of the input data and of the input model(s). Adaptation takes place only in the intersection of the word6-word1 intervals. Subtraction takes place only on the TI-TF interval (with tapers). Marine data multiple attenuation In the context of multiple attenuation on marine data, you do not want the subtraction to occur above the first water bottom multiple. However, to avoid altering the adaptation on the first water bottom multiple, it is recommended to keep a reasonable margin above it. For example, if the water bottom is at 500 ms, the recommended values may be: word 6 of the input data = 400 ms (or any value smaller than 500). word 6 of the input model around 850 ms (reasonable margin for the adaptation relative to the first multiple at 1000 ms). TI950 (tighter margin for the subtraction).

Direct or iterative solvers


The module has core iterative solvers. This gives you full control of the balance between quality and cost (more iterations = better results = higher cost). However, you can select direct solvers to ensure the best possible result if required. The direct solvers are not available in the simultaneous multi-model adaptation.

Methodology Cascaded two-pass ADAPT


Past experience shows that a cascaded two-pass application of the module is often an efficient approach (see EXAMPLES). The first pass aims at a coarse adaptation of the model on large windows with long filters, while the second pass performs a residual and local adaptation on a small window with short filters.

Geocluster

Users Manual

ADAPT

13

CGGVeritas

The adapted model output by the first pass serves as the input model for the second pass. The first pass corresponds to first option GA, the second pass corresponds to second option LS: ADAPT first pass: option GA ADAPT second pass: option LS

Spatial sampling
The spatial sampling can be arbitrary (random) except when multichannel filters are used (LOPX is greater than 1, which implies 2D convolutions). In this case, the spatial sampling should be regular, or at least locally regular. Consequently, it is recommended to avoid gathering input data in 3D bin gathers as they are likely irregular. It is recommended to code in parameter WORDX the header word that contains the true position within the collection (for instance, the offset in the shot gathers) so that the module can test the regularity.

Choice of the trace gathers


Generally, you should choose gathers that exhibit the higher dip discrimination between the signal and the noise. This is of course data-dependant. In the context of multiple attenuation, a recognized sequence consists in applying the global adaptation in shot point gathers, then the local adaptation in offset gathers (e.g. constant channel). The following situations should be considered with particular attention: Local adaptation (small windows) in shotpoint, receiver or CMP gathers: on the shortest offsets, both the primaries and the multiples are flat. Local adaptation (small windows) on offset gathers (or post-stack) in a horizontally layered medium, since both the primaries and the multiples are flat everywhere. In both cases, consider using larger windows than usual to reduce the chances of attenuating the primaries.

Options and Parameters Efficiency of the subtraction and signal preservation


To increase the efficiency of the subtraction you can: decrease NCX and NCT increase LOPT and LOPX code FSPLIT decrease XF

14

ADAPT

Users Manual

Geocluster

CGGVeritas

A subtraction that is too aggressive can result in undesired attenuation of some signals in the data. This is particularly true with a local adaptation (small windows, for example with first option LS). To better preserve the signal without limiting the efficiency, you can: increase XEF Warning: the use of XEF makes sense only if the amplitudes of the input model are close to the actual amplitudes of the input data, otherwise you will obtain unpredictable results. Select NORML1 (data dependant) Select MEDFF Note also that reducing NITERA has the side effect of damping the variations of the estimated filters from one window to another, which can be favorable to a better preservation of the signal.

CPU resources
The parameters that have the most influence on the CPU resources are: PERADV LOPX and LOPT NITERA FSPLIT

Geocluster

Users Manual

ADAPT

15

CGGVeritas

EXAMPLES
Example 1: Two-pass subtraction of multiple models
************************************************************************* ** 2 pass subtraction of two multiple model, one from 2D ** convolutive SRME, the other one from 3D WE SRME, in shot points ** First pass in W17 domain, 2ND pass in CMP domain ** 2 PASSES ADAPT : FIRST PASS IN W17 DOMAIN, 2ND PASS IN CMP DOMAIN ************************************************************************* ** LVI 01 *READ /nfs/DIRECTORY/LIBRIS/LVI/LVI.lvi ************************************************************************* ** LMU 79 *READ /nfs/DIRECTORY/LIBRIS/LMU/LMU79.lvi ******************************************************************* * BOUCL 1 ** RAW DATA * RUNET IN FILE=local:/nfs/DIRECTORY/DATA/+ FILE=RAW_CMP.cst * RUNET I2 FILE=local:/nfs/Rproj/135snbd/DATA/+ FILE=RAW_CMP.cst **************** ** TIME OF MUTE PUT IN W39 : APPLIED IN 2ND PASS OF ADAPT (TIWORD39) * HFNMO I2 J2 LVI01,FMAX100,STRETCH-1,NOGAP, * MUTES J2 K2 LMU79 * HFNMO K2 IA LVI01,FMAX100,STRETCH-1,NOGAP,DENMO, * MODET IA IB *MOT39=MOT6 * EVERY TR IN AA IS1=IB,WORD39 **************** END TIME OF MUTE * RESTR AA AB ** MOD MULT 01 (RAMUR APPLIED ON MODEL FROM SMMOD) * RUNET M1 FILE=local:/nfs/Rproj/135snbd/DATA/+ FILE=SMMOD_RAMUR_CMP.cst * RESTR M1 Q1 ** MOD MULT 02 (RAMUR APPLIED ON MODEL FROM MOMUL) * RUNET M2 FILE=local:/nfs/Rproj/135snbd/DATA/+ FILE=MOMUL_RAMUR_CMP.cst * RESTR M2 Q2 * MERGE CT AB UU IS1=Q1,IS2=Q2,WORDX17,WORDY2, * BSORT UU B2 SORT=ONE17,TWO4,NT500000,PROCS=YB2, ************************************************************************* ****** * BOUCL 2 * HISTA B2 P1 DP6000,RL6000 * HISTA B2 P2 DP12000,RL6000 * HISTA B2 VV RL6000 * ADAPT GA VV B3 B3,IS1=P1,IS2=P2,OS1=R1,OS2=R2, WORDX2,WORD17,YMX2000, NCX200,NCT1200,PERADV50, FSPLIT20, LOPX5,LOPT204, XF0.002, NITERI10,NITERA3, * ENDLP ****************************************************************** * DLOOP 3

16

ADAPT

Users Manual

Geocluster

CGGVeritas

* MERGE CT B3 JJ IS1=R1,IS2=R2,WORDX17,WORDY2, * BSORT JJ B5 SORT=ONE9,TWO4,TROIS21,NT500000,PROCS=YB5, ************************************************************************* ****** * BOUCL 5 * HISTA B5 S1 DP6000,RL6000 * HISTA B5 S2 DP12000,RL6000 * HISTA B5 SV RL6000 * ADAPT LS SV B4 B4,IS1=S1,IS2=S2,WORDX17,WORD9,YMX2000, NCX30,NCT200,PERADV50, NCXH70,NCTH80, FSPLIT20, LOPX1,LOPT20, XF0.002, NITERI10,NITERA3, XEF0.0, TIWORD39,TAPIF20, * ENDLP ****************************************************************** * DLOOP 4 * WUNET B4 FILE=local:/nfs/DIRECTORY/DATA/+ FILE=CMP_AFTER_ADAPT.cst * FINBO * ENDLP ******************************************************************* * PROCS X(YB1)

Geocluster

Users Manual

ADAPT

17

CGGVeritas

Example 2: Two-pass subtraction of an SRME multiple model


************************************************************************* ** Example 2 2 pass subtraction of a SRME multiple model, in shotpoints. ** The first pass uses the fast adaptation ** traces RL=8000 ms ************************************************************************* * DLOOP 1 * RUNET M1 FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/srme_model_SP.cst,WORD2 * RUNET ++ FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/data_SP.cst,WORD2 * ADAPT GA SR == 02 B2,YMX240,WORD2,IS1=M1,WORDX2, OS1=MA ************************************************************************* * DLOOP 2 * ADAPT LS == 03 B3,YMX240,WORD2,IS1=MA XEF0.2,MEDFF ************************************************************************* ******* * DLOOP 3 * WUNET == FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/primaries_SP.cst, ************************************************************************* * PROCS X(B1)

18

ADAPT

Users Manual

Geocluster

CGGVeritas

Example 3: Two-pass subtraction of an SRME multiple model and a RAMUR model in shotpoint
************************************************************************* ** 2 pass subtraction of a SRME multiple model and a RAMUR model in shot ** points. The RAMUR model is not adapted in the first pass. ** traces RL=8000 ************************************************************************* * DLOOP 1 * RUNET M1 FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/srme_model_SP.cst,WORD2 * RUNET M2 FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/ramur_model_SP.cst,WORD2 * RUNET ++ FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/data_SP.cst,WORD2 * ADAPT GA == 02 B2,YMX240,WORD2,IS1=M1,IS2=M2,NOADAP2,WORDX20 OS1=N1,OS2=N2, ************************************************************************* * DLOOP 2 * ADAPT LS == 03 B3,YMX240,WORD2,IS1=N1,IS2=N2 ************************************************************************* * DLOOP 3 * WUNET == FILE=local:+ FILE=/extfs1/DATA_GVT/GVTEST/DATA/primaries_SP.cst, ************************************************************************* * PROCS X(B1)

Geocluster

Users Manual

ADAPT

19

CGGVeritas

FIGURES
Figure 1: Sliding window management

Figure 1 shows the management of the sliding window process when the advance (ADV) is less than or equal to NC/2LOP/2 (top) or greater than NC/2LOP/2 (bottom). See Remarks.

20

ADAPT

Users Manual

Geocluster

Вам также может понравиться