DOCUMENTATION

SYNOPSIS

PERL PROGRAM NAME: unif2 
AUTHOR: Juan Lorenzo
DATE: June 2 2016 
DESCRIPTION surface consistent receiver-source static
Version 1
Notes: 
Package name is the same as the file name
Moose is a package that allows an object-oriented
syntax to organizing your programs

Notes from Seismic Unix

UNIF2 - generate a 2-D UNIFormly sampled velocity profile from a layered model. In each layer, velocity is a linear functio n 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		
 								
 fx=0.0	first x sample						
 fz=0.0	first z sample						
 								
 x0=0.0,0.0,..., 	distance x at which v00 is specifie
d		
 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 distanc
e x (dv/dx)	
 method=linear		for linear interpolation of interfa
ce		
 			=mono for monotonic cubic interpola
tion of interface
			=akima for Akima's cubic interpolat
ion of interface
			=spline for cubic spline interpolat
ion of interface
 								
 tfile=		=testfilename  if set, a sample input datas
et is
 			 output to "testfilename".		
 			 					
 Notes:								
 The input file is an ASCII file containing x z values repr
esenting 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  -9999
9  to separate
 entries for successive boundaries. No boundary may cross a
nother. Note
 that the choice of the method of interpolation may cause b
oundaries 	
 to cross that do not appear to cross in the input data fil
e.		
 The number of interfaces is specified by the parameter "ni
nf". 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 demonst
ration model
 unif2 < testfilename | psimage n1=100 n2=100 d1=10 d2=10 |
 ...	

USAGE 1

 Example

        $unif2->numberOfBuriedSurfaces;
	$unif2->numberXGridPoints;
	$unif2->numberZGridPoints;
	$unif2->horizontalGridSpacing_m;
	$unif2->verticalGridSpacing_m;
	$unif2->maxNumberGridPointsOnBuriedSurfaces;
	$unif2->firstXvalue_m;
	$unif2->firstZvalue_m;
	$unif2->horizontalVelocityGradient;
	$unif2->verticalVelocityGradient;
        $unif2->XVelocityList_m
        $unif2->ZVelocityList_m
        $unif2->velocityList_mps
	$unif2->interpolateBuriedSurfaceWith;
	$unif2->outboundTestFile;
        $unif2->Step();

Notes

Create mesh for finite difference modeling 

sub clear:

clean hash of its values

subroutine numberOfBuriedSurfaces

subroutine ninf

subroutine numberXGridPoints

subroutine nx

subroutine numberZGridPoints

subroutine nz

subroutine maxNumberGridPointsOnBuriedSurfaces

subroutine npmax

subroutine verticalGridSpacing_m

subroutine dz

subroutine horizontalGridSpacing_m

subroutine dx

subroutine firstXvalue_m

subroutine firstZvalue_m

subroutine fz

subroutine fx

subroutine verticalVelocityGradient

subroutine horizontalVelocityGradient

subroutine dvdx

subroutine dvdz

subroutine XVelocityList_m

subroutine x0

subroutine ZVelocityList_m

subroutine z0

subroutine velocityList_mps

subroutine v00

subroutine interpolateBuriedSurfaceWith

subroutine method

subroutine outboundTestFile

subroutine note

subroutine Step

place 1; at end of the package