weqfl

Section: User Commands (1)
Updated: Mon Nov 15 2004
Index Return to Alphabetic Man Page Listings
 

NAME

weqfl - do forward and inverse Q filtering by wavefield extrapolation method  

SYNOPSIS

weqfl [ -Nntap ] [ -Ootap ] [ -Dcardin ] [ -qtqtap ] [ -qq0 ] [ -nullqnull ] [ -qminqmin ] [ -qmaxqmax ] [ -dqdq ] [ -f0f0 ] [ -prewprew ] [ -mdmode ] [ -ababsol ] [ -phzphz ] [ -samp ] [ -scitype ] [ -smsmh ] [ -lwlw ] [ -rsnrst ] [ -renred ] [ -doscl ] [ -rec ] [ -R ] [ -V ] [ -? ]  

DESCRIPTION

weqfl computes and applies a continuously time varying filter to remove (or model) the effects of anelastic attenuation and dispersion (Q). The algorithm is based on phase-shift migration theory where the kernel of the phase term is modified to take into account dispersion. Essentially the filter explicitly extrapolats the wavefield at the surface to every depth sample, hence the name of the program weqfl. A Wiener approach was implemented for the inverse filtering to prevent amplification of higher frequency noise. With appropriate parameterization, you can apply both amplitude and phase Q compensation without introducing high frequency noise. Weqfl has the option to apply phase-only Q compensation as well.

weqfl assumes a seismic trace of the form x(t) = r(t)*w(t)*q(t), where r(t) is the earth response or reflection coefficients, w(t) is the time invariant wavelet, and q(t) is a time varying function describing the absorption-dispersion effects.

weqfl accepts input functions in card file format (1,...,9QTIM cards described below), in seismic trace format (i.e. analogous to a velocity tape), or constant Q as input on the command line. For the prestack case each Q function will apply to an input gather. For the case of input seismic format Q functions the Q traces must be in the same order on disk (or in a pipe) as the input seismic gathers (stacked or unstacked) and if you run short of Q-traces before the end of the input data the last Q trace will be used for the remainder of the run. Also for q traces if each Q trace is shorter than the input seismic traces then the last Q sample will be used to pad out the Q trace.

If the Q-trace input format is chosen the program checks to see if the input Q traces are sampled the same as the input data. If the Q-traces have a coarser sample interval they are interpolated on the fly to the same sample interval as the input data. This allows estimating Q (using program qest) at a coarser sample interval, say 8ms instead of 4ms, speeding up the estimation step. It is not critical to have the Q estimated at every input sample.

In the case of post stack data you may flag the program to assume each input data trace will be processed using each successive Q trace. In the case of prestack data each input record will be processed by each input Q trace.

Due to the realities of this type of numerical filtering it is next to impossible to strictly control the output energy of the filtered traces. This can result in variations in the overall energy of the output traces resulting in a striped appearance. The fix is to look at the energy of the input trace and try to force the output trace to have the same. The default is to use the ratios of the input and output envelopes as a gain compensation function.

In addition one should look at the output amplitude spectra (ampspec .. -db | usp xgraph) for a sample record. If the spectra after weqfl are too skewed to the high frequencies then consider running a true amplitude spectral shaping filter, e.g. program dafd -R -fl2 -fh100 -sf2 -ep-.5 ..., or an exponential version like dafd ... -E -fl5 -fh65 -fm10 -exp-.5 ... , or program rhof. All of these will serve to push down the highs to varying degrees.

The rho filter with a negative exponent will skew the spectra back to be more balanced with more equal contributions from both highs and lows. This rho filter process is entirely AVO friendly since it does exactly the same thing to every trace.

qest may be run on the seismic data to estimate the Q (you will have to editt off the first trace of each record to get the Q-traces.

weqfl gets its parameters from command line arguments and its Q-function from card images in a flat file. The cmommand line arguments specify the input, output, the modes of operation, the start and end processing limits, and verbose printout, if desired.  

Command line arguments

-N ntap
Enter the input data set name or file immediately after typing -N unless the input is from a pipe in which case the -N entry must be omitted. This input file should include the complete path name if the file resides in a different directory. Example -N/b/vsp/dummy tells the program to look for file 'dummy' in directory '/b/vsp'.

-O otap
Enter the output data set name or file immediately after typing -O. This output file is not required when piping the output to another process. The output data set also requires the full path name (see above).

-q q0
For non-seismic Q function input: enter the optional constant Q-value (Q-function inout file above is ignored). This is useful in building constant Q panels. Default = 0.0 (i.e. look for Q-function file).

-qt qtap
Enter the input data seismic format Q data set name or file immediately after typing -qt. The Q traces must be in the same order on disk (or in a pipe) as the input seismic gathers (stacked or unstacked) and if you run short of Q-traces before the end of the input data the last Q trace will be used for the remainder of the run. Also for q traces if each Q trace is shorter than the input seismic traces then the last Q sample will be used to pad out the Q trace. It is recommended that the Q traces be smoothed (e.g. using vsm) before input to weqfl.

-D cardin
For non-seismic Q function input: enter the name of the flat file containing the 1QTIM - 9QTIM card images of the Q functions (in the manner of TDFN cards for velocity functions). These have the format:
           nQTIM (cc 1-5)
           TIME (ms) (cc 6-10, 16-20, ..., 77-70
           Q (cc 11-15, 21-25, ..., 71-75), sequential rec # (cc 76-80)

 
Each function consists of a series of 1QTIM, 2QTIM, ..., 9QTIM cards with the last (or first if there is only 1) being a 9QTIM. Up to 64 T-Q pairs can be used for each function. The last 5 columns is the sequential record number for this function. Up to 70 functions may be specified along a line with linear interpolation of the functions between record control points (the same function will be applied to each record).

-null qnull
For mute zones where input Q values is zero replace zero Qs with this value. Default = 500.

-qmin qmin
Minimum effective Q values. Default = 20.0.
-qmax qmax
Maximum effective Q values. Default = 500.0.
-dq dq
Fractional Q increment. Default = 0.05.
-f0 f0
Dorminant frequency. Default = 50.0.
-prew sigma
Prewhiterning level for Wiener filter. Default = 0.01.

-md mode
Enter the mode. Mode = 0: do inverse Q filtering; mode = 1: do forward Q modeling. Default = 0

-phz phase only
Enter the command line argument '-phz' to turn on the phase only Q filter mode. The default is amplitude and phase Q filtering.
-ab absol
Enter the type of Q function: 0 = interpolate in time between time-Q control points; 1 = do a running average over time. Default = 0.

-sc itype
Enter the type of output gain compensation: 0 = envelope ratios, 1 = agc ratios. Inverse Q filtering can subtely alter the overall energy of the output traces due to noise in the data and small numerical variations of the iqf filters. One way to fix this is to look at the energy behavior of the input trace over time and try to transfer this behavior to the output trace. Two methods are used: (1) the default, is to take the ratio of the envelopes of the input and output and apply this to the output, (2) compute the ratios of the agc curves and apply that.

-sm smh
Enter the order of the smoother to apply to the evelopes prior to computing the output gain compensation. Default is no smoothing since tests have shown it is genrally unhelpful.

-lw lw
If the agc ratio energy compensation method has been chosen enter the length of the agc window. Default = 1000ms

-s amp
If the agc ratio energy compensation method has been chosen enter the % of 2047 to scale samples. Default = 15%

-scl scl
Enter the scale factor to apply to the input Q traces (only good for seismic trace format Q input). Default = 1.0

-rs nrst
Enter start sequential process record number. Sequential record numbers below this value will not be filtered but will be passed. Default value is the first record.

-re nred
Enter end sequential process record number. Sequential record numbers above this value will not be filtered but will be passed. Default value is last record.

-doscl
Enter the command line argument '-doscl' to turn on restore scaling. The default is not to restore the post iqf trace scaling to whatever the input was. Either the envelope trace (default) of both input and output is computed and these are used to compute a scale factor for every sample or the ration of the input and output agc curves is used. Without internal scaling the output will have to be put through an externam scaling process like avgain. Internal scaling will almost always eliminate stripiness sometimes seen in iqf outputs.

-rec
Enter the command line argument '-rec' to read each input gather (record) and apply one Q trace from the -qt[] file. The default is to read and apply a Q trace for each input trace.

-R
Enter the command line argument '-R' to apply a restore on-mute time out of header word VPick1. As the Q traces are output the time to the first nonzero sample is placed in the restore mute trace header word VPick1 for subsequent optional application in the inverse Q filter program weqfl. This is because subsequent Q smoothing could introduce funny Q values at this transition zone (this could cause the inverse Q filting problems). This disturbed zone will exist above the mute line so it can be corrected by flagging weqfl with a -R which will zero out the Q traces down to the VPick1 time.

-V
Enter the command line argument '-V' to get additional printout.

-?
Enter the command line argument '-?' to get online help. The program terminates after the help screen is printed.
 

EXAMPLE

First estimate the Q for the input data:

qest -Nidata -w00 -Oqdata

where we have used a sliding window of 300ms and with the default fourier spectral method. We now take the Q traces and do the Q compensation step:

First smooth the Q-traces

vsm -Nqdata -Oqdata_sm -dxv25 -dzv25 -rsm500

where the trace and sample step sizes have been chosen more or less arbitrarily (and equal). The important ratio is the step size to the radial smoothing distance since that determines the smoothing length is samples and traces.

Next apply the Q inverse filter

weqfl -Nidata -qqdata_sm -Oodata -f040 -R

where we have used a peak frequency of 40Hz, we assume a Q-trace for each input data trace, and where we apply the restore on-mute time qest stored in the Q-trace header word VPick1.

Alternatively, apply the phase only Q inverse filter

weqfl -Nidata -qqdata_sm -Oodata -f040 -Q -R -phz

where we attempt to apply phase only Q inverse filter with a peak frequency of 40Hz, we assume a Q-trace for each input data trace, and where we apply the restore on-mute time qest stored in the Q-trace header word VPick1.  

BUGS

New module. None reported so far.  

AUTHOR


 Ganyuan Xia, USP, Upstream Technology  

COPYRIGHT

copyright 2004, Amoco Production Company
          All Rights Reserved
     an affiliate of BP America Inc.


 

Index

NAME
SYNOPSIS
DESCRIPTION
Command line arguments
EXAMPLE
BUGS
AUTHOR
COPYRIGHT

This document was created by man2html, using the manual pages.
Time: 20:10:01 GMT, November 23, 2004