SUOCEXT - smaller offset extrapolation via Offset Continuation method for common-offset gathers

 suocext <stdin >stdout cdpmin= cdpmax= dxcdp= noffmix= offextr= [...] 

 Required Parameters:                                      
 cdpmin=    minimum cdp (integer number) for which to apply DMO  
 cdpmax=    maximum cdp (integer number) for which to apply DMO  
 dxcdp=     distance between adjacent cdp bins (m)               
 noffmix=   number of offsets to mix (see notes)                 
 offextr=   offset to extrapolate                          

 Optional Parameters:                                      
 tdmo=0.0   times corresponding to rms velocities in vdmo (s)    
 vdmo=1500.0      rms velocities corresponding to times in tdmo (m/s)  
 sdmo=1.0   DMO stretch factor; try 0.6 for typical v(z)         
 fmax=0.5/dt      maximum frequency in input traces (Hz)               
 verbose=0  =1 for diagnostic print                        
 tmpdir=    if non-empty, use the value as a directory path prefix     
            for storing temporary files; else if the CWP_TMPDIR  
            environment variable is set use     its value for the path;
            else use tmpfile()                             

 Notes:                                              
 Input traces should be sorted into common-offset gathers.  One common-
 offset gather ends and another begins when the offset field of the trace
 headers changes. One common-offset gather usually is enough.          

 The cdp field of the input trace headers must be the cdp bin NUMBER, NOT
 the cdp location expressed in units of meters or feet.          

 The number of offsets to mix (noffmix) should typically equal the ratio of
 the shotpoint spacing to the cdp spacing.  This choice ensures that every
 cdp will be represented in each offset mix.  Traces in each mix will  
 contribute through DMO to other traces in adjacent cdps within that mix.

 The tdmo and vdmo arrays specify a velocity function of time that is  
 used to implement a first-order correction for depth-variable velocity.
 The times in tdmo must be monotonically increasing.             

 For each offset, the minimum time at which a non-zero sample exists is
 used to determine a mute time.  Output samples for times earlier than this",
 mute time will be zeroed.  Computation time may be significantly reduced
 if the input traces are zeroed (muted) for early times at large offsets.

 A term for better amplitude reconstruction was added to Hale's formulation.

 Credits: Carlos E. Theodoro (modification of Hale's SUDMOFK program)

 Technical Reference:
      C. Theodoro & K. Larner, 1998
      Extrapolation of seismic data to small offsets (CWP-276).

      Dip-Moveout Processing - SEG Course Notes
      Dave Hale, 1988

      Bleistein, Cohen & Jaramillo, 1997
      True amplitude transformation to zero offset of data from
      curved reflectors (CWP-262).

 Trace header fields accessed:  ns, dt, delrt, offset, cdp.
 Trace header fields modified:  offset.