⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tramp.doc

📁 实现地震射线追踪和反演的frotran程序
💻 DOC
📖 第 1 页 / 共 5 页
字号:
   supplied as an internal check to ensure that the correct rays    specified in the array ray  or the arrays amin and  amax have    been traced. This  ray code is  determined by the  program as    follows: the number to the left of the decimal  refers to the    deepest layer encountered by the ray; the number to the right    of the decimal will be one, unless (1) the  ray was reflected    upward from a layer boundary, in which case it will be two, or    (2) the ray traveled as a head wave, in which case it will be    three (assuming the ray was not reflected upward from a layer    boundary after traveling as a head wave).Shot point located at depth: in  this case, the array ray  should    not contain ray codes corresponding to layers  above the shot    point.Ray step length:  a very small  value of step  may not result  in    increased ray tracing accuracy due to round-off errorRay changes direction: a ray traveling left to right  can reflect    or refract and change direction and travel right  to left, or    vice versa.Terminating a ray:  if istop=0,  a ray  will be  traced until  it    encounters the top, bottom, left or right of the model, unless    it is reflected off the top of the model using nrbnd and rbnd.Ray stopped warning: the warnings  which begin ray stopped -  are    included in  the  file  r1.out  directly before  the  summary     information for that ray is listed.Failure of ray  search mode:  it is possible  that the  iterative    shooting/bisection algorithm used in the ray  search mode may    fail, or find  a limited range  of take-off angles  that only    sample a part of a  layer, if either (1) the  model has large    lateral variations, (2) the range of take-off angles defining    the desired ray group is very small, (3) the value of nsmax is    too small or stol is too large, or (4) it  is not possible to    trace the desired type of  rays through a particular  part of    the model (i.e., violates Snell's law). In any case, increase    the value of nsmax first and then decrease the  value of stol    if necessary and this should work (unless the problem is case    4). If this fails,  take-off angles can be  supplied manually    using ray=1.0 and  the arrays amin  and amax. Use  irays=1 to    see why the search mode is failing.Travel  time-  and  amplitude-distance  curves:  join  successive     points of the same ray  code in the same ray  group. Prograde    and retrograde branches will be separated if ibreak=1.Ray  search  mode  and  multiple  reflections:  for   ray  groups     specified by  L.2  in  the  array ray,  the  take-off  angles     determined in the search  mode will correspond to  rays which    reflect off the Lth  layer boundary only  and may or  may not    give rise to the multiple reflections specified  by nrbnd and    rbnd .Integer code in the file tx.out: is used to identify  each travel    time to allow  for the appropriate  comparison with  the rays    traced  during  inversion.  It  will  begin  at   one  and  be     incremented one for each ray group if  itxout=1. In addition,    the integer will be  incremented by one  for a change  from a    prograde to retrograde branch or vice versa if ibreak=1. Laterally homogeneous  layer:  if  a  layer  boundary  is  to  be     horizontal or the upper or lower velocity of a layer is to be    constant, then only a single point is required in the velocity    model and it should be specified at an  x-coordinate equal to    xmin. If two or more points are required, then  the first and    last point must be specified at xmin and xmax, respectively.Constant  velocity  layer:  to  specify  a  layer  with  constant     velocity, assign a  single upper layer  velocity at  xmin and    assign a lower layer velocity of zero at xmin.Zero vertical velocity  gradient layer: to  specify a layer  with    zero vertical  velocity gradient,  assign one  or more  upper    layer velocities as usual and assign a lower layer velocity of    zero at xmin.Zero velocity discontinuity across  layer boundary: to specify  a    layer boundary  with  no associated  velocity  discontinuity,     assign an upper layer velocity of zero at xmin  for the layer    directly beneath the boundary.Head waves:  if  the  velocity  contrast  across  the  head  wave     boundary away from the critical point is zero or negative, the    angle of emergence from the boundary is 90 degree (grazing). Head    wave amplitudes will be incorrect if any part of the ray path    contains a reflection or conversion.In-plane spreading/cubic spline: a  non-head wave ray group  must    consist of  at  least  two  rays to  calculate  the  in-plane     spreading. The slope  of the cubic  spline used  to calculate    the in-plane spreading may be sensitive to the number of rays    traced for  a particular  ray group  if the  model has  large    lateral variations; therefore, the number of rays traced will    determine the amount of lateral heterogeneity that is sampled.Q attenuation: is calculated at a single frequency, omega, and is    applied    equally    at    all    frequencies,     i.    e.,       frequency-independent attenuation;  therefore,  there  is  no     waveform distortion due to dispersion.  This approximation is    valid for narrow-band data or if the  total attenuation along    any given ray path is not too large. External plot routines: TRAMP is self-contained except  for the   graphics calls inside the following CALCOMP or CALCOMP-like plot    routines: PLOTS, PLOT, NUMBER, SYMBOL, LINE, EMPTY, ERASE, PLOTND.    The file pltlib.f contains ALL these routines (and a few other    less important ones used by the graphics system where the    code was developed) and it will be necessary to replace the "call"    statements within each of these with their equivalents in the    local graphics package.                           Array SizesThe parameters specifying the size of all arrays within TRAMP are contained in the  file tramp.par  and may  be altered  to suit  a particular problem and memory requirements.model layers - playerpoints defining a single layer boundary (must be a multiple of 10)    - ppcntrpoints at which the upper or lower layer velocity is defined (must    be a multiple of 10) - ppveltrapezoids within a layer - ptrapshot points - pshotray codes for a single shot - prayfray groups for all shots combined - ptrayfrays in a single group - pnrayfrays reaching the surface (not including the search mode) - praypoints defining a single ray - pprayintersections with model boundaries for a single ray - pirayreflecting boundaries for a single ray - preflreflecting boundaries for all ray groups - prefltconverting boundaries for a single ray - pconvconverting boundaries for all ray groups - pconvtpoints defining smooth layer boundary or isovelocity contour -    pnsmthtrapezoids within which Poisson's ratio is modified - papoisvelocity-depth profiles - pnvzarrivals in a single seismogram - parrivseismograms - pseis                    Warning and Error MessagesThe following is a list  and explanation of all possible  warning and error messages generated by TRAMP:*** error  in velocity  model ***  - an  error in  the format  of    the velocity model in the file r.in or v.in has been detected.    One of the following problems exists:      (1) the  x-coordinates  of a  boundary  or upper  or  lower          velocity have not been listed from left to right      (2) the  x-coordinate  of the  first  or last  point  of  a          boundary or upper or lower velocity (comprised of two or          more points) does not equal xmin or xmax, respectively      (3) a model block has a P-wave velocity less than or equal          to zero      (4) a line  specifying the  model (x-  or z-coordinates or           upper or lower  velocity) or a  blank line  in the file           r.in or  v.in  has  been  omitted  (i.e.,  the file  is           incomplete)*** array size error  for number of model  points *** - the  size    of the arrays specifying the maximum number of points defining    a layer boundary and/or the upper or lower  layer velocity is    not a multiple of 10*** maximum number of  blocks in layer _  exceeded *** - a  layer    in the velocity model will  consist of more than  the maximum    number of trapezoids  allowed for  a single  layer given  the    current form  of  the  model.  Reduce the  number  of  points     defining the upper and/or lower boundary or  velocity for the    particular layer.*** location of shot  point outside model ***  - a shot point  is     located outside the model.*** error  in specification  of  amin or  amax  *** -  values  of    amin or amax have not been specified or are  greater than 180    in absolute value.*** max  reflecting  boundaries  exceeded  *** -  the  number  of     reflecting boundaries in nrbnd  is greater than  that allowed    for one or more ray groups.*** max  converting  boundaries  exceeded  *** -  the  number  of     converting boundaries in ncbnd  is greater than  that allowed    for one or more ray groups.*** reflecting  boundary  greater  than  #  of  layers  ***  -  a     boundary in rbnd is  greater than or  equal to the  number of    model layers.*** no  ray  codes  specified  ***  -  no  ray  codes  have  been     specified in the array ray.*** shot# _  ray code  _ no  rays traced  *** -  the search  mode    was unable  to find  rays for  the  shot point  and ray  code    specified.*** shot# _ ray  code _ 1  ray traced *** -  the search mode  was    unable to find the maximum take-off angle of  a refracted ray    group for the shot point and ray code specified; only a single    ray with  a take-off  angle  equal to  the  minimum value  is     traced.*** less  than  nray rays  traced  for _  ray  groups ***  -  the    search mode was unable to find rays (or traced less than nray    rays) for the number of ray groups specified.*** possible  inaccuracies  in  rngkta  ***  -  the  Runge  Kutta     routine has detected possible inaccuracies in  its attempt to    solve the ray tracing equations. The exact  point(s) at which    the problem  occurred can  be  found in  the  file r2.out  if     idump=1 is  used. The  problem  can be  eliminated by  either     reducing the velocity gradient in the appropriate location of    the model or reducing the value of step and/or smin.*** ray stopped  - consists  of too many  points ***  - a ray  is    composed of  more than  the  maximum number  of points  (step     lengths) allowed. Tracing of this ray is terminated.*** ray stopped  - intersected too  many boundaries ***  - a  ray    intersected more than the maximum number  of model boundaries    allowed. Tracing of this ray is terminated.*** ray stopped -  illegal reflection ***  - a ray has  reflected    off a  boundary not  specified in  ray or  rbnd and  istop=1.    Tracing of this ray is terminated.*** ray stopped - converted ray  cannot reflect/refract  *** -  a    ray is at a point of conversion from S to P and is beyond the    critical angle. Tracing of this ray is terminated.***  ray  stopped  -  s-wave   cannot  propagate  ***  -  a   ray     propagating as an S-wave has  entered a model block  in which    the  S-wave  velocity  is  zero.  Tracing  of   this  ray  is     terminated.*** ray  stopped -  reflected  from pinchout    *** -  the  layer    from which  a ray  is  to be  reflected  has zero  thickness.     Tracing of this ray is terminated.*** ray  refl.  from  zero  vel.  contrast  boundary  ***  -  the     amplitude of a  ray reflected from  a zero  velocity contrast    boundary has been set to zero. If ampsmt>0,  the amplitude of    this ray may become greater than zero after smoothing.*** ray attenuated  to zero amplitude  *** - the  amplitude of  a    ray is zero because of large Q attenuation.  If ampsmt>0, the    amplitude of  this ray  may  become greater  than zero  after     smoothing.*** block  undetermined ***  -  this is  the most  serious  error     since it implies  that TRAMP  has lost  track of  what model      block a ray is supposed to be in and therefore implies there     is probably a bug in the code. The problem may be avoided if     the ray  step  length  is  reduced.  Also  check that  layer      boundaries do  not  cross  or  that  a  deeper  boundary  is      specified before a  shallower boundary  in the  file r.in or      v.in.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -