The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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