DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME:  UNIF2 - generate a 2-D UNIFormly sampled velocity profile from a layered
AUTHOR: Juan Lorenzo (Perl module only)
DATE:   
DESCRIPTION:
Version: 

USE

NOTES

Examples

SEISMIC UNIX NOTES

 UNIF2 - generate a 2-D UNIFormly sampled velocity profile from a layered
  	 model. In each layer, velocity is a linear function of position.

  unif2 < infile > outfile [parameters]				

 Required parameters:							
 none									

 Optional Parameters:							
 ninf=5	number of interfaces					
 nx=100	number of x samples (2nd dimension)			
 nz=100	number of z samples (1st dimension)			
 dx=10		x sampling interval					
 dz=10		z sampling interval					

 npmax=201	maximum number of points on interfaces			
 Is relatively independent of nx: 
 e.g.,
	nx =100 and npmax= 10 is OK

 fx=0.0	first x sample						
 fz=0.0	first z sample						

 x0=0.0,0.0,..., 	distance x at which v00 is specified		
 z0=0.0,0.0,..., 	depth z at which v00 is specified		
 v00=1500,2000,2500...,	velocity at each x0,z0 (m/sec)		
 dvdx=0.0,0.0,...,	derivative of velocity with distance x (dv/dx)	
 dvdz=0.0,0.0,...,	derivative of velocity with depth z (dv/dz)	

 method=linear		for linear interpolation of interface		
 			=mono for monotonic cubic interpolation of interface
			=akima for Akima's cubic interpolation of interface
			=spline for cubic spline interpolation of interface

 tfile=		=testfilename  if set, a sample input dataset is
 			 output to "testfilename".			

 Notes:								
 The input file is an ASCII file containing x z values representing a	
 piecewise continuous velocity model with a flat surface on top. The surface
 and each successive boundary between media are represented by a list of
 selected x z pairs written column form. The first and last x values must
 be the same for all boundaries. Use the entry   1.0  -99999  to separate
 entries for successive boundaries. No boundary may cross another. Note
 that the choice of the method of interpolation may cause boundaries 	
 to cross that do not appear to cross in the input data file.		
 The number of interfaces is specified by the parameter "ninf". This 
 number does not include the top surface of the model. The input data	
 format is the same as a CSHOT model file with all comments removed.	

 Example using test input file generating feature:			
 unif2 tfile=testfilename    produces a 5 interface demonstration model
 unif2 < testfilename | psimage n1=100 n2=100 d1=10 d2=10 | ...	



 Credits:
 	CWP: Zhenyue Liu, 1994 
      CWP: John Stockwell, 1994, added demonstration model stuff. 

CHANGES and their DATES

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 dvdx

sub dvdz

sub dx

sub dz

sub fx

sub fz

sub method

sub ninf

sub npmax

sub nx

sub nz

sub tfile

sub v00

sub x0

sub z0

sub get_max_index

max index = number of input variables -1