SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUDMOFK - DMO via F-K domain (log-stretch) method for common-offset gathers

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



 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)			



 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.							



 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 no smaller than

 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. (Values of noffmix 2 or 3 times the ratio of shotpoint

 spacing to the cdp spacing often yield better results.)		



 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.



 Credits:

	CWP: Dave



 Technical Reference:

	Dip-Moveout Processing - SEG Course Notes

	Dave Hale, 1988



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

User's notes (Juan Lorenzo) untested

CHANGES and their DATES

Import packages

instantiation of packages

Encapsulated hash of private variables

sub Step

collects switches and assembles bash instructions by adding the program name

sub note

collects switches and assembles bash instructions by adding the program name

sub clear

sub cdpmax

sub cdpmin

sub dxcdp

sub fmax

sub noffmix

sub sdmo

sub tdmo

sub tmpdir

sub vdmo

sub verbose

sub get_max_index

max index = number of input variables -1