SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUSYNVXZCS - SYNthetic seismograms of common shot in V(X,Z) media via
Kirchhoff-style modeling
susynvxzcs<vfile >outfile nx= nz= [optional parameters]
Required Parameters:
<vfile file containing velocities v[nx][nz]
>outfile file containing seismograms of common ofset
nx= number of x samples (2nd dimension) in velocity
nz= number of z samples (1st dimension) in velocity
Optional Parameters:
nt=501 number of time samples
dt=0.004 time sampling interval (sec)
ft=0.0 first time (sec)
fpeak=0.2/dt peak frequency of symmetric Ricker wavelet (Hz)
nxg= number of receivers of input traces
dxg=15 receiver sampling interval (m)
fxg=0.0 first receiver (m)
nxd=5 skipped number of receivers
nxs=1 number of offsets
dxs=50 shot sampling interval (m)
fxs=0.0 first shot (m)
dx=50 x sampling interval (m)
fx=0. first x sample (m)
dz=50 z sampling interval (m)
nxb=nx/2 band width centered at midpoint (see note)
nxc=0 hozizontal range in which velocity is changed
nzc=0 vertical range in which velocity is changed
pert=0 =1 calculate time correction from v_p[nx][nz]
vpfile file containing slowness perturbation array v_p[nx][nz]
ref="1:1,2;4,2" reflector(s): "amplitude:x1,z1;x2,z2;x3,z3;...
smooth=0 =1 for smooth (piecewise cubic spline) reflectors
ls=0 =1 for line source; =0 for point source
tmin=10.0*dt minimum time of interest (sec)
ndpfz=5 number of diffractors per Fresnel zone
cable=1 roll reciever spread with shot
=0 static reciever spread
verbose=0 =1 to print some useful information
Notes:
This algorithm is based on formula (58) in Geo. Pros. 34, 686-703,
by N. Bleistein.
Traveltime and amplitude are calculated by finite difference which
is done only in one of every NXD receivers; in skipped receivers,
interpolation is used to calculate traveltime and amplitude. ",
For each receiver, traveltime and amplitude are calculated in the
horizontal range of (xg-nxb*dx, xg+nxb*dx). Velocity is changed by
constant extropolation in two upper trianglar corners whose width is
nxc*dx and height is nzc*dz.
Eikonal equation will fail to solve if there is a polar turned ray.
In this case, the program shows the related geometric information.
There are three ways to remove the turned rays: smoothing velocity,
reducing nxb, and increaing nxc and nzc (if the turned ray occurs
in shallow areas). To prevent traveltime distortion from an over-
smoothed velocity, traveltime is corrected based on the slowness
perturbation.
More than one ref (reflector) may be specified.
Note that reflectors are encoded as quoted strings, with an optional
reflector amplitude: preceding the x,z coordinates of each reflector.
Default amplitude is 1.0 if amplitude: part of the string is omitted.
Author: Zhenyue Liu, 07/20/92, Center for Wave Phenomena
Many subroutines borrowed from Dave Hale's program: SUSYNLV
Trino Salinas, 07/30/96, fixed a bug in the geometry
setting to allow the spread move with the shots.
Chris Liner 12/10/08 added cable option, set fldr header word
Trace header fields set: trid, counit, ns, dt, delrt,
tracl. tracr, fldr, tracf,
sx, gx
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 cable
sub dt
sub dx
sub dxg
sub dxs
sub dz
sub fpeak
sub ft
sub fx
sub fxg
sub fxs
sub ls
sub ndpfz
sub nt
sub nx
sub nxb
sub nxc
sub nxd
sub nxg
sub nxs
sub nz
sub nzc
sub pert
sub ref
sub smooth
sub tmin
sub verbose
sub get_max_index
max index = number of input variables -1