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

📄 rayinvr.doc

📁 实现地震射线追踪和反演的frotran程序
💻 DOC
📖 第 1 页 / 共 5 页
字号:
space - an array which  determines the spacing of  take-off angles    between the minimum and  maximum values for each  ray group in    the array  ray.  For  space=1,  the  take-off  angles will  be     equally spaced;  for  space>1,  the  take-off angles  will  be     concentrated  near  the  minimum  value;  for  0<space<1,  the     take-off angles will  be concentrated  near the  maximum value     (default: 1;  however, space=2  for a  reflected ray  group if     specified as L.2 in the array ray)amin, amax  -  arrays  containing  minimum  and  maximum  take-off     angles  (degrees);  measured  from  the  horizontal,  positive     downward and negative upward (for rays traveling left to right    or right to left); used for ray groups specified by ray=1.0nsmax -  an array  containing the  maximum number  of rays  traced    when searching for the take-off angles of the ray groups in the    array ray  (default: 10;  however,  the default  is  the first     element of  nsmax for  all  ray groups  if only  one  value is     specified)n2pt - maximum number of iterations during two-point ray tracing   (i2pt>0); this is the maximum number of rays traced for each   receiver to determine the take-off angle of the ray that   connects the source and receiver (default: 5)x2pt - distance tolerance (km) for two-point ray tracing; less than   n2pt rays will be traced for a particular receiver if a ray end    point is within x2pt of the receiver location    (default: (xmax-xmin)/2000)crit - head waves are generated if a down-going  ray in the search    mode has an angle of incidence at the  bottom of the Lth layer    within  crit  degrees  of  the  critical  angle  when  ray=L.3     (default: 1)hws - the spacing (km) of rays emerging upward  from the bottom of    the Lth layer when ray=L.3 (default: (xmax-xmin)/25)nhray - maximum number of rays traced for a head wave ray group   (default: pnrayf)aamin - minimum  take-off angle  (degrees) for  the refracted  ray    group in the first layer (default: 5)aamax - maximum take-off angle (degrees) for  reflected ray groups    specified as L.2 in the array ray (default: 85)stol - if a ray traced in  the search mode is of the  correct type    and its  end point  is within  stol (km)  of the  previous ray     traced in the search mode, then the search for that ray type is    terminated; a value of stol=0 will ensure  that nsmax rays are    always traced in the search mode (default: (xmax-xmin)/3500)xsmax - for  reflected ray  groups specified as  L.2 in  the array    ray, determine the minimum take-off angle using the search mode    so that the maximum range for this ray  group is xsmax (km) if    iturn=0 or  the  maximum offset  of  the  reflection point  is     xsmax/2 (km) if iturn=1; for head wave ray groups specified as    L.3 in  the array  ray,  the maximum  offset of  the  point of     emergence from the head wave  boundary is xsmax  (km); xsmax=0     will ensure that the take-off angle of the reflected ray which    grazes off the bottom of the Lth  layer is determined and head    waves are traced along the Lth boundary  until the edge of the    model is reached (default: 0.0)nrbnd - an  array containing the  number of  reflecting boundaries    for each ray group in the array ray (default: 0)rbnd - an array containing the reflecting  boundaries specified in    the array nrbnd; the following code is used:   (1) L -  ray traveling  downward is  reflected upward  off the     bottom of the Lth layer   (2) -L -  ray traveling upward  is reflected downward  off the     top of the Lth layerncbnd - an array containing the number of converting (P  to S or S    to P) boundaries for each ray group in the array ray (default:    0)cbnd - an array containing the converting  boundaries specified in    the array ncbnd; the following code is used:   (1) i   - ray will  convert from its  present wave type  (P or     S) at the ith layer boundary encountered   (2) 0 - ray will leave the source as an S-wavefrbnd - an  array containing the  floating reflecting boundaries    for each ray group in the array ray; the values of frbnd    correspond to the order in which the reflectors are listed in   the file f.in  (default: 0)pois - an array containing  the value of Poisson's ratio  for each    model layer; a  value of  0.5 signifies  a water layer  with a     corresponding  S-wave   velocity  of   zero   (default:  0.25;      however, the  default is  the first  element of  pois  for all     layers if only one value is specified)poisl, poisb -  arrays specifying  the layers  and block  numbers,    respectively, of model trapezoids within which Poisson's ratio    is modified over that given by pois using the array poisbl; for    poisb, the trapezoids with  a layer are numbered  from left to    rightpoisbl - an array containing the value of Poisson's  ratio for the    model trapezoids  specified  in  the  arrays poisl  and  poisb     overriding the values assigned using the array poisnpbnd  -  number  of  points  at  which  each  layer  boundary  is     uniformly sampled  for smoothing  if ibsmth=1  or  2 (default:     100)nbsmth - number of applications of a  three-point averaging filter    to each layer boundary if ibsmth=1 or 2 (default: 10)xminns, xmaxns - minimum and maximum model distance over which the   layer boundaries listed in the array insmth are not to be smoothed   using ibsmth=1 or 2 (defaults: smooth boundaries between xmin and    xmax) step - controls  the ray step  length in the  solution of  the ray    tracing equations according to the relationship             step length (km) = step*v/(|vx|+|vz|)   where   v   is  velocity   and   vx   and  vz   are   its   partial     derivatives with respect to x and z (default: 0.05)smin, smax -  minimum and maximum  allowable ray step  length (km)    (defaults: (xmax-xmin)/4500, (xmax-xmin)/15)4) Inversion parameters (INVPAR namelist):a) Switches  (usually 0 = off, 1 = on):invr -  calculate  partial  derivatives  of  the  selected  model     parameters and write these to the file i.out (default: 0)b) Other inversion parameters:ivray - an  array of  non-zero integers  corresponding to the  ray    groups listed in the  array ray used  to identify the  type of    arrival in the file tx.out if itxout=2 or 3 and to allow for the    appropriate comparison with the  observed travel times  in the    file tx.in if invr=1 or i2pt>0ximax - the maximum allowable distance (km) between the nearest ray   end point and an observed seismogram location for one of the rays   used to interpolate the partial derivatives and travel time at   that observed seismogram location (default: (xmax-xmin)/20)ttunc - uncertainty of the calculated travel times  (s) written to    the file tx.out if itxout>0 (default: 0.01)bndunc, velunc -  estimated uncertainty of  the depth  of boundary    nodes (km)  and velocities  (km/s) written  to the  file i.out     (defaults: 0.1, 0.1)                         Additional NotesArray defaults: if  a single  default value is  indicated for  an    array parameter, all elements of the array  have that default    value.Layer boundaries: must begin at xmin and end at xmax even  if the    layer above and/or below is pinched out  (unless the boundary    is defined by only one point, then it is specified at xmax).Bottom layer boundary: should consist of at most ten points.Near-vertical layer boundaries:  should be  avoided because  they    may result in large velocity gradients  nearby. If necessary,    the adjacent trapezoids should have zero velocity gradient.Shot point locations: may be anywhere in the model,  but locating    them directly on a model boundary may cause problems.Ray group: is defined as a set of rays specified by a ray code in    the  array  ray,   possibly  modified  to   include  multiple     reflections and/or  conversions,  whose take-off  angles  are     determined by an  iterative search mode  or specified  by the    user using ray=1.0 and the arrays amin and amax.Zero velocity gradient: if the four corner velocities of  a model    trapezoid are equal, then  there is a zero  velocity gradient    inside and no  ray bending  will occur.  It is preferable  to    have a zero gradient in all or part of a  layer rather than a    very small gradient  so that the  Runge Kutta routine  can be    avoided and straight ray paths are used.Large velocity gradients: ray  tracing becomes inaccurate if  the    velocity gradient is  large and  the ray  step length is  not    small enough. In this case a warning message is given and the    value of smin and/or step should be reduced.Ray code:  listed in  the  file r1.out  for  each ray  traced  is    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 travelled 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 particular 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 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.    This may  be  undesirable  if  the  prograde  and  retrograde     branches should be identified by a single number for inversion    or if more than one ray group should be identified by the same    number, in which case itxout=2 or 3 and the array  ivray should    be used when writing to the file tx.out.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    xmax. 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  xmax and    assign a lower layer velocity of zero at xmax.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 xmax.Zero velocity discontinuity across  layer boundary: to specify  a    layer boundary  with  no associated  velocity  discontinuity,     assign an upper layer velocity of zero at xmax  for the layer    directly beneath the boundary.Fixed  vertical  velocity  gradient:  if  the  vertical  velocity  

⌨️ 快捷键说明

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