The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUSYNLV - SYNthetic seismograms for Linear Velocity function

 susynlv >outfile [optional parameters]                         



 Optional Parameters:                                                   

 nt=101                 number of time samples                          

 dt=0.04                time sampling interval (sec)                    

 ft=0.0                 first time (sec)                                

 kilounits=1            input length units are km or kilo-feet          

                         =0 for m or ft                                 

                        Note: Output (sx,gx,offset) are always m or ft 

 nxo=1                  number of source-receiver offsets               

 dxo=0.05               offset sampling interval (kilounits)            

 fxo=0.0                first offset (kilounits, see notes below)       

 xo=fxo,fxo+dxo,...     array of offsets (use only for non-uniform offsets)

 nxm=101                number of midpoints (see notes below)           

 dxm=0.05               midpoint sampling interval (kilounits)          

 fxm=0.0                first midpoint (kilounits)                      

 nxs=101                number of shotpoints (see notes below)          

 dxs=0.05               shotpoint sampling interval (kilounits) 

 fxs=0.0                first shotpoint (kilounits)                     

 x0=0.0                 distance x at which v00 is specified            

 z0=0.0                 depth z at which v00 is specified               

 v00=2.0                velocity at x0,z0 (kilounits/sec)               

 dvdx=0.0               derivative of velocity with distance x (dv/dx)  

 dvdz=0.0               derivative of velocity with depth z (dv/dz)     

 fpeak=0.2/dt           peak frequency of symmetric Ricker wavelet (Hz)

 ref="1:1,2;4,2"        reflector(s):  "amplitude:x1,z1;x2,z2;x3,z3;...

 smooth=0               =1 for smooth (piecewise cubic spline) reflectors

 er=0                   =1 for exploding reflector amplitudes           

 ls=0                   =1 for line source; default is point source     

 ob=1                   =1 to include obliquity factors         

 tmin=10.0*dt           minimum time of interest (sec)                  

 ndpfz=5                number of diffractors per Fresnel zone          

 verbose=0              =1 to print some useful information             

Notes:

Offsets are signed - may be positive or negative. Receiver locations

are computed by adding the signed offset to the source location.

Specify either midpoint sampling or shotpoint sampling, but not both.

If neither is specified, the default is the midpoint sampling above.

More than one ref (reflector) may be specified. Do this by putting

additional ref= entries on the commandline. When obliquity factors

are included, then only the left side of each reflector (as the x,z

reflector coordinates are traversed) is reflecting. For example, if x

coordinates increase, then the top side of a reflector is reflecting.

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.

 Credits: CWP Dave Hale, 09/17/91,  Colorado School of Mines

            UTulsa Chris Liner 5/22/03 added kilounits flag



 Trace header fields set: trid, counit, ns, dt, delrt,

                                tracl. tracr, fldr, tracf,

                                cdp, cdpt, d2, f2, offset, 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 dt

sub dvdx

sub dvdz

sub dxm

sub dxo

sub dxs

sub er

sub fpeak

sub ft

sub fxm

sub fxo

sub fxs

sub kilounits

sub ls

sub ndpfz

sub nt

sub nxm

sub nxo

sub nxs

sub ob

sub ref

sub smooth

sub tmin

sub v00

sub verbose

sub x0

sub xo

sub z0

sub get_max_index

max index = number of input variables -1