SUINTERP - interpolate traces using automatic event picking suinterp < stdin > stdout ninterp=1 number of traces to output between each pair of input traces nxmax=500 maximum number of input traces freq1=4. starting corner frequency of unaliased range freq2=20. ending corner frequency of unaliased range deriv=0 =1 means take vertical derivative on pick section (useful if interpolating velocities instead of seismic) linear=0 =0 means use 8 point sinc temporal interpolation =1 means use linear temporal interpolation (useful if interpolating velocities instead of seismic) lent=5 number of time samples to smooth for dip estimate lenx=1 number of traces to smooth for dip estimate lagc=400 number of ms agc for dip estimate xopt=0 0 compute spatial derivative via FFT (assumes input traces regularly spaced and relatively noise-free) 1 compute spatial derivative via differences (will work on irregulary spaced data) iopt=0 0 = interpolate 1 = output low-pass model: useful for QC if interpolator failing 2 = output dip picks in units of samples/trace verbose=0 verbose = 1 echoes information tmpdir= if non-empty, use the value as a directory path prefix for storing temporary files; else if the the CWP_TMPDIR environment variable is set use its value for the path; else use tmpfile() Notes: This program outputs 'ninterp' interpolated traces between each pair of input traces. The values for lagc, freq1, and freq2 are only used for event tracking. The output data will be full bandwidth with no agc. The default parameters typically will do a satisfactory job of interpolation for dips up to about 12 ms/trace. Using a larger value for freq2 causes the algorithm to do a better job on the shallow dips, but to fail on the steep dips. Only one dip is assumed at each time sample between each pair of input traces. The key assumption used here is that the low frequency data are unaliased and can be used for event tracking. Those dip picks are used to interpolate the original full-bandwidth data, giving some measure of interpolation at higher frequencies which otherwise would be aliased. Using iopt equal to 1 allows you to visually check whether the low-pass picking model is aliased. Trace headers for interpolated traces are not updated correctly. The output header for an interpolated traces equals that for the preceding trace in the original input data. The original input traces are passed through this module without modification. The place this code is most likely to fail is on the first breaks. Example run: suplane | suinterp | suxwigb & Credit: John Anderson (visiting scholar from Mobil) July 1994 Trace header fields accessed: ns, dt