SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUREMEL2DAN - Elastic anisotropic 2D Fourier method modeling with high
accuracy Rapid Expansion Method (REM) time integration
suremel2dan [parameters]
Required parameters:
nx= number of grid points in horizontal direction
nz= number of grid points in vertical direction
nt= number of time samples
dx= spatial increment in horizontal direction
dz= spatial increment in vertical direction
dt= time sample interval in seconds
isx= grid point # of horizontal source positions
isz= grid point # of vertical source positions
styp= source types (pressure, shear, single forces)
samp= amplitudes of sources
amode= 0: isotropic, 1: anisotropic
vmax= global maximum velocity (only if amode=1)
vmin= global minimum velocity (only if amode=1)
Optional parameters:
fx=0.0 first horizontal coordinate
fz=0.0 first vertical coordinate
irx= horizontal grid point # of vertical receiver lines
irz= vertical grid point # of horizontal receiver lines
rxtyp= types of horizontal receiver lines
rztyp= types of vertical receivers lines
sntyp= types of snapshots
0: P, 1: S, 2: UX, 3: UZ
w=0.1 width of spatial source distribution (see notes)
sflag=2 source time function
0: user supplied source function
1: impulse (spike at t=0)
2: Ricker wavelet
fmax= maximum frequency of Ricker (default) wavelet
amps=1.0 amplitudes of sources
prec=0 1: precompute Bessel coefficients b_k (see notes)
2: use precomputed Bessel coefficients b_k
vmaxu= user-defined maximum velocity
dtsnap=0.0 time interval in seconds of wave field snapshots
iabso=1 apply absorbing boundary conditions (0: none)
abso=0.1 damping parameter for absorbing boundaries
nbwx=20 horizontal width of absorbing boundary
nbwz=20 vertical width of absorbing boundary
verbose=0 1: show parameters used
2: print maximum amplitude at every expansion term
c11file=c11 c11 filename
c13file=c13 c13 filename
c15file=c15 c15 filename
c33file=c33 c33 filename
c35file=c35 c35 filename
c55file=c55 c55 filename
vpfile=vp P-velocity filename
vsfile=vs S-velocity filename
densfile=dens density filename
sname=wavelet.su user supplied source time function filename
Basenames of seismogram and snapshot files:
xsect=xsect_ x-direction section files basename
zsect=zsect_ z-direction section files basename
snap=snap_ snapshot files basename
jpfile=stderr diagnostic output
Notes:
0. The combination of the Fourier method with REM time integration
allows the computation of synthetic seismograms which are free
of numerical grid dispersion. REM has no restriction on the
time step size dt. The Fourier method requires at least two
grid points per shortest wavelength.
1. nx and nz must be valid numbers for pfafft transform lengths.
nx and nz must be odd numbers. For valid numbers see e.g.
numbers in structure 'nctab' in source file
$CWPROOT/src/cwp/lib/pfafft.c.
2. Velocities and densities are stored as plain C style files
of floats where the fast dimension is along the z-direction.
3. Units must be consistent, e.g. m, s and m/s.
4. A 20 grid points wide border at the sides and the bottom of
the modeling grid is used for sponge boundary conditions
(default: iabso=1).
Source and receiver lines should be placed some (e.g. 10) grid
points away from the absorbing boundaries in order to reduce
reflections due to obliquely incident wavefronts.
5. Dominant frequency is about fmax/2 (sflag=2), absolute maximum
is delayed by 3/fmax from beginning of wavelet.
6. If source is not single force (i.e. pressure or shear source)
it should be not a spike in space; the parameter w determines
at which distance (in grid points) from the source's center
the Gaussian weight decays to 10 percent of its maximum.
w=2 may be a reasonable choice; however, the waveform will be
distorted.
7. Horizontal and vertical receiver line sections are written to
separate files. Each file can hold more than one line.
8. Parameter vmaxu may be enlarged if the modeling run becomes
unstable. This happens if the largest eigenvalue of the modeling
operator L is larger than estimated from the largest velocity.
9. Bessel coefficients can be precomputed (prec=1) and stored on
disk to save CPU time when several shots need to be run.
In this case computation of Bessel coefficients can be skipped
and read from disk file for reuse (prec=2).
For reuse of Bessel coefficients the user may need to define
the overall maximum velocity (vmaxu).
10. If snapshots are not required, a spike source (sflag=1) may be
applied and the resulting impulse response seismograms can be
convolved later with a desired wavelet.
11. Output is written to SU style files. ",
Basenames of seismogram and snapshot output files will be
extended by the type of the data (p, s, ux, or uz).
Additionally seismogram files will be consecutively numbered.
Caveat:
Time sections and snapshots are kept entirely in memory during
run time. Therefore, lots of time section and snapshots may
eat up a large amount of memory.
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 abso
sub amode
sub amps
sub c11file
sub c13file
sub c15file
sub c33file
sub c35file
sub c55file
sub densfile
sub dt
sub dtsnap
sub dx
sub dz
sub fmax
sub fx
sub fz
sub iabso
sub irx
sub irz
sub isx
sub isz
sub jpfile
sub nbwx
sub nbwz
sub nt
sub nx
sub nz
sub prec
sub rxtyp
sub rztyp
sub samp
sub sflag
sub sname
sub snap
sub sntyp
sub styp
sub t
sub verbose
sub vmax
sub vmaxu
sub vmin
sub vpfile
sub vsfile
sub w
sub xsect
sub zsect
sub get_max_index
max index = number of input variables -1