SEPlib - 地震数据处理软件


未知
Linux

软件简介

地震数据处理软件 SEPlib 由斯坦福大学地球科学学院地球物理系Stanford Exploration Project项目开发

SEPlib is a complete and freely distributed seismic data processing software
package. We (the Stanford Exploration Project) created it and use it for our
research.
SEPlib comprises several concepts and software pieces:

  • Data cube concept. The simple data base concept that underlies the original SEPlib package assumes the data to be regularly sampled in all dimensions. SEPlib stores such a “cube” as a matrix of numbers. It takes 2 files to store such a regular data cube: A data file stores the data values as one long array/ A separate header file stores house holding information such as the number of samples along each cube axis (eg. n1=1002,n2=256,n3=96) or the increment between samples (e.g. d1=0.004,d2=0.01,d3=0.025 ).

  • Data base concept for irregular data. Recently, SEP3d added support for irregular data to the basic data cube concept described in the last paragraph.

  • Seismic processing routines. SEPlib offers a collection of basic seismic processing routines such as Phase Shift migration (Phase) or a velocity stacking (Velan). These SEPlib programs perform simple operations. For complex manipulations several programs are stringed together via pipes. For example

    Spike n1=32 n2=16 k1=4 k2=4 nsp=1 | Phase inv=1 > data.H
    

generates the modeling response of a diffractor in a constant velocity 2-D
medium. Every routine prints its own documentation when it is executed without
any argument. (When installing SEPlib you can convert these self
documentations into regular UNIX Man pages).

  • Vplot, a graphics library. Vplot is a plotting package for UNIX systems. It supports line, area, text, and raster graphics primitives for many screen and hardcopy devices. Vplot is not restricted in any way to display seismic images, but it does it wonderfully. Especially its rastering and dithering of grey-scale plots and its sleek integration into the entire SEPlib framework make it a natural complement to the rest of SEPlib. Nevertheless, we hope that we can soon offer Vplot separate from the rest of SEPlib to ease distribution on the Web and to make it more palatable for non-seismic users.

  • IO subroutine library. The core of SEPlib is its handling of input and output of data and header information. For example sreed()is a powerful, low-level subroutine that reads data from a SEPlib data file or the standard input. Equally important are subroutines such as putch or hetch and its companions that put parameters to the output history file or fetch them from the command line or the input history file. Standard UNIX man pages document these subroutines.

  • Preprocessors for FORTRAN code. FORTRAN 77 (and hence Ratfor) cannot allocate memory for arrays at runtime. Two SEP-grown preprocessors (sawor Stanford Auto Writer for main programs and sat Stanford Auto Temporaries for subroutines) overcome FORTRAN’s memory allocation limitations.