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

📄 rayinvr.doc

📁 实现地震射线追踪和反演的frotran程序
💻 DOC
📖 第 1 页 / 共 5 页
字号:
   gradient is to remain fixed in all  or part of a layer during     the inversion, then the x-coordinates  at which the upper and     lower layer velocities are defined must be the same. Note that    if the x-coordinates of  the velocity values  are not all  the    same as the location of the upper and lower layer boundary    nodes, then it is possible for the velocity gradient to vary at    these nodes since there are  no velocities specified at these     points  and  the   upper  and  lower   layer  velocities  are      interpolated from values on either side, or at xmax if only one    velocity point is used.Fixed layer thickness: if the  thickness of a layer  is to remain    fixed in all or part of a layer during the inversion, then the    x-coordinates at which the upper and lower layer boundaries are    defined must be the same.Multiple ray paths to a single observation: if more than one pair    of ray paths brackets the location of an observed travel time     pick, then the pair  of ray paths  corresponding to the  least    interpolated travel time is used to calculate the travel time     residual and the partial derivatives for the inversion.Inversion of  zero-velocity-discontinuity  boundary:  it  is  not     possible to invert  for a  layer boundary  with an associated     zero-velocity discontinuity if only  refracted rays cross  the    boundary, i.e.,  rays  must  be  reflected  off  the boundary     (although  the  physical   meaning  of   reflections  from   a     zero-velocity discontinuity must be considered).Boundaries crossing after inversion: check  that layer boundaries    do not cross after inversion; if they do, re-do the inversion     with increased  damping or  re-do  the ray  tracing  with the     appropriate boundary nodes held fixed or the thickness of the     layer held fixed.Inversion of layer pinchouts:  for a few special  cases there are     bugs in the  inversion code  when attempting  to invert model     parameters associated with a layer pinchout.S-waves and inversion: although rays corresponding to S-waves and    conversions can  be  traced, they  should  not  be traced  if     partial derivatives are being  calculated for the  purpose of    inversion since  the appropriate  code to  invert for  S-wave    velocity or Poisson's ratio has not yet been included.External plot routines: RAYINVR 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  RAYINVR are contained in the file rayinvr.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 - pprayreflecting 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 - pnsmthtrapezoids within which Poisson's ratio is modified - papoismodel parameters for which partial derivatives are calculated for    inversion - pnvartravel time picks in the file tx.in - prayifloating reflectors - pfreflpoints defining a single floating reflector - ppfrefiterations in two-point ray tracing search - pn2pttravel times with the same integer code for a single shot - pnobsf                                                          Warning and Error MessagesThe following  is a  list and  explanation of  warning and  error messages generated by RAYINVR:*** 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  flags  indicating  the            parameters to be  varied during  the inversion)  in the           file r.in or v.in  has been omitted  (i.e., the file is           incomplete)      (5) the x-coordinates of the upper layer velocities do not           equal the x-coordinates of the lower layer velocities in          a layer in which  the vertical velocity  gradient is to           remain fixed during the inversion      (6) the x-coordinates of  the upper layer  boundary do not           equal the x-coordinates of the lower layer boundary in a          layer in which the thickness  is to remain fixed during           the inversion*** array  size  error for  number  of  model points  ***  -  the    parameters specifying the maximum number of points defining a    layer boundary  (ppcntr)  and/or  the  upper or  lower  layer     velocity (ppvel) 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.*** reflect 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.  Note    that this  warning  is conservative  so  that no  significant     inaccuracies may have occurred.*** 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 -  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.*** block  undetermined ***  -  this is  the most  serious  error     since it implies that  RAYINVR 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  a deeper  boundary is specified      before a shallower  boundary in the file r.in or v.in.  Also    check  that a  source is not  located  exactly on a layer or    block boundary or the edge of the model.*** max  number  of rays  reaching  surface  exceeded ***  -  the     maximum allowable number  of rays reaching  the surface (not      including those traced in the search mode) has been reached.*** no  parameters  varied for  inversion  ***  - invr=1  but  no     model parameters have been selected for inversion in the file     r.in or v.in.*** too many parameters  varied for inversion  *** - the  maximum     allowable number of model  parameters selected for inversion      has been exceeded.*** attempt  to  interpolate over  ximax  ***  - invr=1  and  the     travel time and partial derivatives  were to be interpolated      to  an observed  receiver location  using two rays that have    end points  greater than ximax from the receiver location;  no     interpolation is performed.  This message is  included in the      file r1.out at  the end of  each ray group in which this occurs     at least once.                          Other ProgramsVMODEL: a program to check, edit  and plot the file v.in used  as         input by the program RAYINVR                        Program Description    The program VMODEL  performs three main  tasks associated with  the file v.in containing the velocity model used as input  by the program RAYINVR. First, it checks the format of v.in to ensure it is as  required  by RAYINVR.  If  it  detects format  errors,  it indicates the location  and type of  error. Similarly, it  checks for unusually small or  large velocity values, negative  vertical velocity gradients, large vertical or lateral velocity gradients, low-velocity zones, crossing layer boundaries, and boundaries with large slope changes. Second, VMODEL can edit the file v.in by (1) re-ordering the boundary and/or velocity nodes from left to right, (2) re-sampling the boundary and/or velocity nodes to increase or decrease the number  of model parameters,  and (3) smoothing  the boundaries and/or lateral velocity variations using a three-point averaging filter. Third, plot (1)  the 2-D model versus depth  or two-way travel time,  (2) 1-D velocity  profiles versus depth  or time, or (3) the RMS velocity variation across the model.                                FilesInput file:  vm.in  contains  program  input  parameters  in  the     PLTPAR, AXEPAR and MODPAR namelistsInput file: v.in  contains the  velocity model used  as input  by    RAYINVROutput file: v.out contains the velocity model after it  has been    edited or smoothed  or nodes  have been  sorted from left  to    rightOutput file: vm.out contains warning and error messages regarding    the format of the file v.in as well as summary information

⌨️ 快捷键说明

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