DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME:  SUPHASEVEL - Multi-mode PHASE VELocity dispersion map computed
AUTHOR: Juan Lorenzo, Derek Goff (Perl module only)
DATE:   OCT 24 2013
DESCRIPTION: A package that makes using and understanding suphasevel easier
Version: 

USE

NOTES This Program derives from suphasevel in Seismic Unix '_note' keeps track of actions for use in graphics '_Step' keeps track of actions for execution in the system

Examples

SEISMIC UNIX NOTES

 SUPHASEVEL - Multi-mode PHASE VELocity dispersion map computed
              from shot record(s)				

 suphasevel <infile >outfile [optional parameters]		

 Optional parameters:						
 fv=330	minimum phase velocity (m/s)			
 nv=100	number of phase velocities			
 dv=25		phase velocity step (m/s)			
 fmax=50	maximum frequency to process (Hz)		
		=0 process to nyquist				
 norm=0	do not normalize by amplitude spectrum		
		=1 normalize by amplitude spectrum		
 verbose=0	verbose = 1 echoes information			

 Notes:  Offsets read from headers.			 	
  1. output is complex frequency data				
  2. offset header word must be set (signed offset is ok)	
  3. norm=1 tends to blow up aliasing and other artifacts	
  4. For correct suifft later, use fmax=0			
  5. For later processing outtrace.dt=domega			
  6. works for 2D or 3D shots in any offset order		

 Using this program:						

 First: use 							
 	suspecfx < shotrecord.su | suximage			
 to see what the maximum bandwidth is in your data. This will	
 give you an idea about the possible value for fmax.		

 Second: Plot your data or some subset of your data via:	
     suxwigb < shotrecord.su key=offset			

 You can then estimate the range of phase velocities by looking
 at the maximum and minimum slopes of arrivals in your data.	
 This will allow you do set first velocity fv and the increment
 in velocity dv, that make sense for your data.		

 You can pick values of offset and time by placing the cursor  
 on the desired location on the plot and pressing the \'s\' key
 The picks will appear in your terminal window. 		

 When displaying, don't forget to use suamp to compute the	
 modulus of the complex values that this program puts out.	

   suphasevel < shotrecord.su [parameters] | suamp | suximage	



 Credits:

	UHouston: Chris Liner June2008 (cloned from suspecfk)

  This code implements the following integral transform
             _
            /
  u(w,v) = / k(w,x,v) u(w,x) dx
         _/
  where
	u(w,v) is the phase velocity dispersion image
	k(w,x,v) is the transform kernel.... exp(-i w x / v)
	u(w,x) = FT[u(t,x)] is the input shot record(s) 
         _/
 Reference: Park, Miller, and Xia (1998, SEG Abstracts)

 Trace header fields accessed: dt, offset, ns
 Trace header fields modified: nx,dt,trid,d1,f1,d2,f2,tracl
 
  Before this can be run, the trace offset must be set
 This is done by using the command 'sushw' to adjust
# the headers

User's notes

In the following case where shotpoint lies inthe middle of the data set Change from: sx=100 offset= -100 to 99

Change to gx=-100 to 99 sx=0 offset=-100 to 99

CHANGES and their DATES

sub Step

collects switches and assembles bash instructions by adding the program name Keeps track of actions for execution in the system

sub note

collects switches and assembles bash instructions by adding the program name Keeps track of actions for possible use in graphics

sub clear

Sets all variable strings to '' (nothing) 

sub dt

sub dv

Defines the step size between phase velocities while
performing the integral transformation

sub fmax

Defines maximum frequency to process
(or =0 for nyquist)

sub fv

Defines the minimum phase velocity to process
AKA first phase velocity

sub key

sub norm

Determine whether to use amplitude spectrum to normalize
=0 is off (do not normalize by amplitude spectrum)
=1 is on (normalize by amplitude spectrum)

sub nv

Defines the number of phase velocities to test
AKA total number of steps to take

sub verb

Decide whether to echo information

sub verbose

Decide whether to echo information

sub get_max_index

max index = number of input variables -1