NAME

     sr3d2 - 3D binning, bin sort using inline, crossline or ser-
     pentine  trajectory  over  survey  area  or subset of survey
     area.


SYNOPSIS

     sr3d2 [ -Nntap ] [ -Ootap ] [ -Ddtap ] [ -Pptap ] [  -slisli
     ]  [ -elieli ] [ -sdisdi ] [ -ediedi ] [ -lisris ] [ -liilii
     ] [ -disdis ] [ -diidii ] [ -risris ] [ -riirii ]  [  -type-
     type  ]  [ -modemode ] [ -L ] [ -X ] [ -flexbin ] [ -off ] [
     -foldifold ] [ -dmindmin ] [ -dmaxdmax ]  [  -ddelddel  ]  [
     -radiusrrad  ] [ -nsampnsamp ] [ -stop ] [ -moredata ] [ -go
     ] [ -logilog ] [ -nodead ] [ -V ] [ -VV ] [ -? -h -help ]


DESCRIPTION

     sr3d2 is the second in a pair of routines required in  order
     to bin sort seismic data.  The first routine sr3d1 will have
     already been executed on your input dataset creating a prel-
     iminary  sr3d1  table  that is required [along with the same
     seismic data used to generate that table] by  sr3d2.   sr3d2
     application  has  two  modes of operation [-stop] and [-go].
     During the initial [-stop] pass the sr3d1 table is  examined
     to  extract  the  global  binning  parameters  and the total
     number of live traces that were passed through sr3d1.   This
     information  combined  with  any  sr3d2 command line options
     determines the size requirements of the  sr3d2  volume.   If
     enough  disk  space can be found the sr3d2 volume is formed,
     the sr3d1 table is updated for any changes  present  on  the
     sr3d2  command line and the program terminates. It is a good
     idea to backup a copy of your sr3d1 table prior  to  running
     sr3d2  -stop.   If  the program crashes for any reason while
     the sr3d1 file is open it could be corrupted.  As it costs a
     lot  to  recreate  that file it is best not to take chances.
     On sr3d2 -stop has run to completion it is possible to  exe-
     cute  sr3d2  in  the  [-go] mode.  The sr3d2 volume, besides
     being internally organized for very fast  sorting,  contains
     no  dead  traces [as defined by StaCor = 30000] and is hence
     as compact a volume as you will have on disk short of  util-
     izing data compression.

     In [-go] mode the only data required by sr3d2 is  the  input
     sr3d2  volume and sr3d1 table. It is therefore possible [and
     usually desireable] at this point  to  remove  all  previous
     data  from  disk.   The  output  binned  data may be sent to
     either a disk file or an output pipe.  The  terms  LI  [line
     index]  and  DI  [depth  index] form a two dimensional index
     system used to locate one inside the global bin system.  The
     initial bin [LI,DI] = [1,1] is located in the [x1,y1] corner
     [as defined by the corner  coordinates  used  in  the  sr3d1
     run].   Traversing  from  corner  1 to corner 2 [x2,y2] will
     take one in the direction of increasing DI index.   Continu-
     ing  from  corner  2 to corner 3 [x3,y3] is to travel in the
     direction of increasing LI index.  You can see then that the
     [LI,DI]  indexing  is  strictly user controlled and can form
     any relationship you desire with the field acquisition.   In
     practice, DI's usually increment inline and LI's crossline.

     There are many options affecting the set  of  traces  to  be
     included  in a given output bin.  The default is simply out-
     put the collection of all traces whose source-receiver  mid-
     points  lie  within  a bin. The default sort order, assuming
     inline sorting, outputs cells in DI order starting at Corner
     1  and  moving  along side 1-2; subsequent lines step to the
     next LI along  side  1-4.  If  crossline  sorted  output  is
     requested  (from  step  sr3d1 -X)  the data are output in LI
     order for each DI starting starting at Corner 1  and  moving
     toward  corner  4;  subsequent  LIs step down to the next DI
     (along side 1-2).

     Offset binning may be requested in which  case  the  command
     line  entries [-dmin, -dmax, -ddel] are required to define a
     model spread. The output format will be organized  as  giant
     records,  each record will be associated with whatever input
     trace offsets fall  within  the  granularity  of  the  model
     spread  offset  slots.  Each  record  will  have a number of
     traces equal to the total number of cells requested from the
     survey with one trace per cell (live or dead).  When examin-
     ing cell contents for a trace that fits  the  output  offset
     criteria  the first trace to pass the test is used, the rest
     are ignored.   Future  enhancements  of  this  routine  will
     result  in  the closest appropriate trace to the current bin
     center being output.  Also at the  moment  be  certain  that
     your  model  spread  spans the entire offset distribution of
     your dataset.  This is especially critical for the first and
     last  bin  as  any trace offsets outside the range will fall
     into those bins and may  be  used  inappropriately.   Future
     enhancements  will  allow  an  individual offset or range of
     offsets to be output.  At the moment  ALL  offsets  will  be
     supplied.

     In any of the above options you  may  limit  the  output  in
     terms  of LI and/or DI range using [-sli, -eli, -sdi, -edi].
     You may cause the output bin nomenclature to start at  some-
     thing  other  than  [LI,DI] = [1,1] using [-lis, -lii, -dis,
     -dii] on the command line.

     In practice the output from sr3d2 is  often  passed  through
     the  routine  binstk  to  regularize the offset distribution
     within the bins prior to stacking. Failure to  perform  this
     partial stack may result in amplitude inconsistencies on the
     stacked data often  referred  to  as  glitches.   These  are
     caused by variations in the offset distribution within adja-
     cent bins due to feathering, line  orientation  etc.  during
     acquisition.
      The latest release of sr3d2 has been  extensively  modified
     from the old reliable code. If you experience any difficulty
     with this version you may run the old version by placing   -
     version  old  on the command line.  In this case please give
     us a call and let us know what happened so  we  can  quickly
     kill any cockroaches that may be lurking in this release.


     Input to sr3d2 (ntap) can be stdin ; output (otap) can be to
     stdout ;  the sr3d2 volume (dtap) however must be on disk.

     sr3d2 gets both its data and  its  parameters  from  command
     line  arguments.   These arguments specify the input seismic
     data, output binned data, the sr3d1 sort  table,  and  sr3d2
     volume file name.

  Command line arguments
     -N ntap
          Enter the input data set name or file immediately after
          typing -N unless the input is from a pipe in which case
          the -N entry must be omitted.  If  the  -go  option  is
          chosen  below then this input must be omitted since the
          intermediate sort file has already been built  complete
          with proper headers with the -stop run. This input file
          should include the  complete  path  name  if  the  file
          resides    in    a    different   directory.    Example
          -N/b/vsp/dummy tells  the  program  to  look  for  file
          'dummy' in directory '/b/vsp'.

     -O otap
          Enter the sorted output data set  name.   This  can  be
          piped to stdout

     -D dtap
          Enter the sr3d2 volume name(s).  This cannot  be  piped
          and  must  be  on  disk.  If for some reason the entire
          sr3d2 volume cannot fit into one disk partion (e.g. the
          disk  is  too  small or your workstation has a 2Gb file
          size limit) the multiple file names  may  be  specified
          (e.g.  -Dtmp1 -Dtmp2 -D/export/data1/tmp3). This essen-
          tially splits up the sr3d2 volume into smaller  pieces.
          Note: it is much more efficient in storeage to save the
          -D files and the table created by sr3d1 and to use  the
          -go option in sr3d2 to serve up the sorted data than to
          save the actual sorted data.

     -P ptap
          Enter the input sr3d1 sort table name immediately after
          typing -P.

     -sli sli
          Enter the starting LI to output. Valid only  with  -go.
          Default = 1.

     -eli eli
          Enter the ending LI to output.  Valid  only  with  -go.
          Default = last LI

     -sdi sdi
          Enter the starting DI to output. Valid only  with  -go.
          Default = 1.

     -edi edi
          Enter the ending DI to output.  Valid  only  with  -go.
          Default = last DI.

     -lis lis
          Enter the starting LI record number, [LinInd].  Default
          = 1. Note: this is only a renumber option.

     -lii lii
          Enter the LI record number  increment.   Default  =  1.
          Note: this is only a renumber option.

     -dis dis
          Enter the starting DI record number, [DphInd].  Default
          = 1. Note: this is only a renumber option.

     -dii dii
          Enter the DI record number  increment.   Default  =  1.
          Note: this is only a renumber option.

     -ris ris
          Enter the starting RI record  number,  [RecNum].   This
          indexing  is  usedDefault  =  1.  Note:  this is only a
          renumber option.

     -rii rii
          Enter the RI record number  increment.   Default  =  1.
          Note: this is only a renumber option.

     -type type
          Enter 0 for data ordered from smallest LI to largest LI
          as  DI  increases; enter 1 for data ordered alternately
          from smallest LI to largest LI, then largest  to  smal-
          lest (called serpentine order) as DI increases.

     -mode mode
          Enter the sort mode:  1=  common  midpoint;  2=  common
          receiver; 3= common source; 4= common centroid; 5= com-
          mon midpoint with CDP centers (default).

     -L   Enter the command line argument -L if the output is  to
          be  organized  into  one  record  per  line  (per  LI);
          otherwise the output will be one record  per  cell  the
          the  number  of records equal to the number of cells in
          the survey.

     -X   Enter the command line argument -X if the output is  to
          be sorted in Crossline order.  That is all LI's for the
          initial DI then incrementing along subsequent DI's.

     -flexbin
          Enter the command  line  argument  -flexbin  to  output
          flexbin  sorted  data.   This  option requires that the
          model spread information [-dmin, -dmax, -ddel] has been
          included  on  the command line.  An offset histogram is
          formed for each output cell.  Emply histogram bins will
          be populated by the closest trace available.  The algo-
          rithm looks only at adjacent cells.  If no  appropriate
          trace  can be found in these cells a dead trace will be
          output for that offset. The main affect of this  option
          is  to  regularize the output character of the dataset.
          Variations due to an erratic offset distribution  often
          result  in  rapid  bin  to  bin  character variation as
          stacked traces with a radically  different  offset  mix
          are  situated in near proximity.   Flexbinning combined
          with a binstk prior to stacking go a long way to reduc-
          ing such effects.

     -off Enter the command line argument -off to  output  sorted
          data in constant offset volumes based on an input model
          spread.  The output format will be organized  as  giant
          records,  each  record will be associated with whatever
          input trace offsets fall within the granularity of  the
          model  spread  offset  slots.  Each  record will have a
          number of traces equal to the total number of cells  in
          the  survey with one trace per cell (live or dead). The
          proper LI & DI indexes will be in  the  trace  headers.
          NOTE:  for  most  land  data  because  of the irregular
          recording there will likely be a large number of  unpo-
          pulated  cells  for some offsets so it is possible that
          this option will most likely be for  the  marine  case.
          You  may  choose to enter -off in concert with -flexbin
          to help aliviate this problem.  'Another way land  data
          might  be  processed  this way would be to first output
          CDP gathers,  bin  them  into  the  model  spread  (see
          binstk),  output  the  results  to disk, and then use a
          second pass of sr3d1/sr3d2. The binstk would synthesize
          a more regular distribution of offsets in the CDP data.

     -dmin dmin
          Enter the near offset of  the  model  spread.  Remember
          that  all  traces less than this value will fall in the
          first bin of the model spread. In the case of an offset
          sort  this  may  produce undersired effects if the full
          range of offsets in the data is not  spanned  by  these
          parameters. Default = 0

     -dmax dmax
          Enter the far offset of the model spread. Remember that
          all  traces  greater  than  this value will fall in the
          last bin of the model spread. In the case of an  offset
          sort  this  may  produce undersired effects if the full
          range of offsets in the data is not  spanned  by  these
          parameters. Default = none [This entry is manditory for
          -off or -flexbin options].

     -ddel ddel
          Enter the group interval of the model spread. Default =
          none   [This  entry  is  manditory for -off or -flexbin
          options].

     -radius rrad
          Enter the radial limit that you wish to  flex  over  in
          the  units  of your coordinate system.  An entry larger
          than the distance to the furthest point in the adjacent
          bins  results  in  flexbinning  over  only the adjacent
          bins.  There is currently no way to  extend  this  dis-
          tance  as  we  are  too  afraid of aliasing.  Default =
          1.0e30.

     -fold ifold
          Enter new output fold. When flex binning  it  is  some-
          times the case that the current fold is insufficient to
          capture a reasonable distribution of offsets. The  user
          should  test  some  values  here  but this value should
          never be less than the default fold.   Default  is  the
          original fold generated by the sr3d1 run.

     -nsamp nsamp
          Enter output number of samples  override.  This  allows
          doing  a  sr3d1  using  a windowed input data set (e.g.
          nsamp=1) but do the sr3d2 using a specified  number  of
          samples.

     -stop
          Enter the command line argument -stop to  generate  the
          sr3d2  volume  then  stop.  This is useful for big data
          sets when sorts take a long time and the user wants  to
          essentially  pause the final output sort to examine the
          printout messages for a final  check  before  beginning
          the final sort output.

     -moredata
          Enter the command line argument -moredata to  break  up
          the  data  stream  into sr3d2. This way portions of the
          data can be run through sr3d2 -stop and the job put  on
          hold  (e.g.  for  long  jobs conflicting with scheduled
          machine downtime). The only  restriction  is  that  the
          data must be in the same order as was used in sr3d1.

     -go  Enter the command line argument -go if the sr3d2 volume
          has already been created by a prior run of sr3d2.  This
          enables the program to proceed directly  to  outputting
          sorted traces.

     NOTE: If neither -stop nor -go is  present  on  the  command
     line the routine will build the sr3d2 volume and continue to
     output binned data without stopping.

     -log ilog
          Enter the log message frequency (in traces). This  will
          cause  a  message  to be written to the screen (stderr)
          every time ilog traces have been read.

     -nodead
          Enter the command line argument '-nodead' to avoid out-
          putting  totally  dead  gathers. This option is ignored
          for the offset sort case.

     -V   Enter the command line argument '-V' to cause a message
          to  be  written  to  the  screen (stderr) every time an
          input record has been read.

     -VV  Enter the command line argument '-VV' for  debug  level
          verbose  output.   DO NOT USE this option on production
          runs as your printout file will likely be  larger  than
          your sr3d2 volume.  An enormous quantity of information
          will be output [most of which is really only useful  to
          a  programmer] but if you want lots of detail about how
          the program is operating this should do it.

     -? -h -help
          Enter the command line argument '-?', -h or  -help   to
          get online help.  The program terminates after the help
          screen is printed.


EXAMPLES

     xcram -r | sr3d2 -Dsr3d2_volume -Psr3d1.table | xcram

     where we bring in the input data from tape and send the out-
     put  sorted  data  on  to tape.  The file sr3d1.table is the
     sort table created by sr3d1.

     sr3d2 -Nindata

     -D/export/data1/sr3d2_volumeA -D/export/data2/sr3d2_volumeB


     -Psr3d1.table -Oodata

     where all files reside on disk but the sr3d2 volume file has
     been  broken  up  into  2 separate files on 2 different disk
     partitions.

     sr3d2 -Nindata

     -D/export/data1/temp_fileA -D/export/data1/temp_fileB

     -Psr3d1.table -stop

     sr3d2

     -D/export/data1/temp_fileA -D/export/data1/temp_fileB

     -Psr3d1.table -go -Oodata

     where the first sr3d2 step builds the intermediate sort file
     then  stops.  The  second  sr3d2  starts immediately serving
     sorted data using the  presort  table  from  sr3d1  and  the
     intermediate  files from the first sr3d2 step. Note that the
     second step has no input file.  The  second  sr3d2  is  fast
     relative  to  the previous step so the -stop/-go sequence is
     useful is you are running a number of  flows  requiring  the
     sorted data.

     sr3d2

     -Dsr3d2_volume -Psr3d1.table -go -flexbin -dmin200 -dmax4250
     -ddel50 -Oodata

     where a pre-existing sr3d2 volume is being accessed to  feed
     up  binned  data using an offset model invoked by the -dmin,
     -dmax, -ddel parameters with  flexbinning  requested.   Note
     that  the bin center information loaded to the flexed traces
     will be that of the output bin NOT the bin they started  out
     in.   The  header  information for SrPtXC and SrPtYC remains
     untouched so that one could, with a little  detective  work,
     plot out which traces were flexed.

     sr3d2

     -Dsr3d2_volume -Psr3d1.table  -go  -off  -dmin200  -dmax4250
     -ddel50 -Oodata

     where a pre-existing sr3d2 volume is being accessed to  feed
     up  binned  data using an offset model invoked by the -dmin,
     -dmax, -ddel parameters with offset sorting requested.

     sr3d2

     -Dsr3d2_volume  -Psr3d1.table  -go  -off  -flexbin  -dmin200
     -dmax4250 -ddel50 -Oodata

     where a pre-existing sr3d2 volume is being accessed to  feed
     up  binned  data using an offset model invoked by the -dmin,
     -dmax, -ddel parameters with both offset sorting  and  flex-
     binning requested.


BUGS

     unknown


SEE ALSO

     sr3d1, presort3d, sisort3d, pack3d


AUTHOR

     Original SIS code by Gary Ruckgaber; UNIX port done by  Paul
     Gutowski

     Major re-write to add flexbinning and get code in shape  for
     compression by Paul Garossino


COPYRIGHT

     copyright 2001, Amoco Production Company
               All Rights Reserved
          an affiliate of BP America Inc.




























Man(1) output converted with man2html