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