Abstract:
A method for 3 dimensional, one pass migration of post stack seismic data is implemented on a massively parallel computer. The quality of the migration and speed of execution makes possible iterative 3D post stack depth migrations. The depth migration method computes in the frequency domain and downward continues one or more frequency planes through all depth levels of interest. For a single frequency, at each depth level, the method extrapolates a shifted position for each x,y position by applying a filter for 2D convolution. A processing component is assigned to each subgrid of x,y spatial positions and the processing components operate concurrently in parallel to determine filter coefficients independently for each x,y spatial position and to extrapolate the x,y shifted positions. The filter coefficients are derived independently at each x,y position by storing a limited table of filter coefficients in local memory of each processing component.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to the field of seismic data processing, and in particular to a method for migrating seismic data using a massively parallel computer. 
     The Earth&#39;s subsurface can be Imaged by a seismic survey, therefore, seismic data acquisition and processing are key components in geophysical exploration. In a seismic survey, elastic acoustic waves are generated by a source at the Earth&#39;s surface and the waves are radiated into the Earth&#39;s subsurface. For land seismic surveys, the usual source is dynamite or a seismic vibrator, while for a marine seismic survey the source is typically an airgun array. 
     As the waves radiate downward through the Earth&#39;s subsurface, they reflect and propagate upwards towards the surface whenever the subsurface medium changes. The upward reflections are detected by a number of receivers and the reflected data recorded and processed in order to image the subsurface. Interpretation of these acoustic images of the subsurface formation leads to the structural description of the subsurface geological features, such as faults, salt domes, anticlines, or other features indicative of hydrocarbon traps. 
     While two dimensional (&#34;2D&#34;) seismic surveys have been conducted since the 1920&#39;s, three dimensional (&#34;3D&#34;) seismic surveys have only recently become widely used. 3D surveys more accurately reflect the subsurface positions of the hydrocarbon traps, but are expensive and time consuming to acquire and process. For an offshore 3D data set covering a 20×20 km area, it costs about $3M dollars (1991 dollars) to acquire the data with another $1M dollars for data processing to transform the raw data into useable images. Because the cost of such a seismic survey is considerably less than the cost of drilling an offshore oil well, 3D seismic surveys are often worth the investment. 
     Although 3D marine surveys vary widely in size (1,000 to 100,000 km 2 ), a typical marine survey might generate in excess of 40,000 data acquisition tapes. Data is accumulated at a staggering rate, about 1.5 million data samples every 10 seconds. A significant amount of time and money is spent in processing this enormous amount of data. 
     The result of the seismic survey is thus an enormous amount of raw data indicative of reflected signals which are a function of travel time, propagation, and reflection affects. The goal is to present the reflected amplitudes as a function of lateral position and depth. 
     A typical marine seismic survey goes through three distinct sequential stages--data acquisition, data processing, and data interpretation. Data processing is by far the most time consuming process of the three. The acquisition time for a medium to large 3D marine seismic survey is in the order of two months. Data is acquired by survey vessels traversing an area of the ocean along a series of parallel lines. A vessel may tow a number of sources (usually airgun arrays) and a number of receiver strings called hydrophone streamers (of length up to 5 kilometers). Sources are fired at 5 to 10 second intervals and the reflected seismic waves measured by up to 1000 hydrophone groups in every streamer. The measurements are recorded digitally on magnetic tapes. In addition to seismic data, navigation information is also recorded for accurate positioning of the sources and receivers. The resulting digital data must then be rendered suitable for interpretation purposes by processing the data at an onshore processing center. The processing sequence can be divided into the following five processing steps. 
     1. Quality Control, filtering and deconvolution. This processing is applied on a trace basis to filter noise, sharpen the recorded response, suppress multiple echoes, and generally improve the signal-to-noise ratio. Most of these signal processing operations can be highly vectorized. 
     2. Velocity analyses for migration. This processing estimates the velocity of the subsurface formations from the recorded data by modeling the propagation of acoustic waves with estimated velocities and checking for signal coherence in the acquired data. It is similar to migration but is applied to a small section of the data cube. 
     3. 3D dip moveout correction and stacking. This processing step, generally the most input/output intensive part of the processing, (i) sums together several traces in order to eliminate redundancy and reduce the signal-to-noise ratio, (ii) corrects for time delays that occur when the reflected signal is recorded by successive hydrophones that are located increasingly farther away from the energy source, and (iii) positions and orients the stacked data in accordance with the navigation information. After this processing step, the data is referred to as stacked data. This step normally constitutes on the order of a 100 to 1 reduction in data volume. 
     4. Migration. This processing step, computationally the most intensive, relocates the position of reflected strata, that are recorded in time, to their correct position in depth. 
     5. Enhancement and filtering. This processing step is used to enhance the migrated data using digital filtering techniques. 
     The stacking process (step 3) reduces the amount of data to what is essentially a three dimensional array of numbers (i.e. a data cube) representing amplitudes of reflected seismic waves recorded over a period of time (usually 8 seconds). Such data cubes can be large, for example, a medium size 3D survey may produce cubes as large as 1000×1000×2000 of floating-point numbers. The stacked data cube represents a surface recording of acoustic echoes returned from the earth interior and is not usually directly interpretable. The migration (or acoustic imaging process, step 4) is used to convert stacked data into an image or a map which can then be viewed as a true depth map cut out of the survey area. 
     Thus, migration is one of the most critical and most time consuming components in seismic processing is migration. Generally speaking, migration transforms the seismic data recorded as a function of time into data positioned as a function of depth using preliminary knowledge of the propagation velocities of the subsurface. In particular, migration moves dipping reflectors to their true subsurface position. Migration is typically performed on post stack seismic data to reduce the amount of processing time, but even so takes weeks of conventional supercomputer time for even medium size post stack seismic data cubes. 
     Most of the migration methods are based on the one way acoustic wave equation (compressional waves considered, shear waves ignored) using the exploding reflector model. In the exploding reflector model, stacked data are assumed to be recordings of a multitude of sources distributed along geological boundaries and exploded simultaneously. The post stack seismic data cube is considered to be recordings of upward traveling waves as they emerge from the Earth. (See generally, J. F. Claerbout, Imaging the Earth&#39;s Interior (1985), M. Dobrin &amp; C. Savit, Geophysical Prospecting (1988), R. E. Sheriff, Geophysical Methods (1989), incorporated by reference for background) 
     3D seismic migration is becoming the norm in seismic processing and there are two types of methods: two pass and one-pass. In two pass migration, the 3D seismic data cube is migrated sequentially first in the x direction and next in the y direction (orthogonal directions). In one-pass migration an entire 3D data cube is downward continued as one. Various methods for 3D seismic migration have been proposed. (See generally. Blacquiere, Debeye, Wapenaar &amp; Berkhout, 3D Table-Driven Migration, 37 Geophysical Prospecting 925 (1989), Hale, 3-D Depth Migration via McClellan Transformations, 56 Geophysics 1778 (1991), incorporated by reference for background) 
     The major advantage of one-pass 3D seismic migration is that for structurally complicated areas (faults or strata where steep angles dip) image accuracy is significantly improved. The major disadvantage of the 3D one-pass migration is the significant amount of processing time required. For a typical seismic survey using a terabyte of input data on tapes, the typical 3D processing sequence might take about thirty weeks on a large scale supercomputer. Four to five weeks of processing time is devoted to migration alone. Therefore, it would be a significant advance if an accurate, efficient 3D one-pass migration method were devised. 
     SUMMARY OF THE INVENTION 
     The present invention provides an accurate 3D one-pass migration method which achieves almost a 10 fold increase in efficiency over conventional migration processing methods. The method recognizes the parallel features of the migration problem and employs a massively parallel computer to implement the method. 
     The migration method of the present invention first transforms the seismic data from the space-time domain to the space-frequency domain using a Fourier transform process. Typically, the seismic data has already been stacked. The method migrates independently each plane of data corresponding to a single frequency to create the reflector map. Thus, the migration method transforms the space-frequency domain stacked data into a space depth cube. 
     The space-frequency data cube is stored in computer memory, because of its size usually a type of disk or remote memory. The frequency data cube is then grouped into frequency chunks comprising one or more frequency planes--i.e. x,y data planes of constant frequency. Grouping the frequency planes into frequency chunks improves input/output and computational efficiency. 
     For depth migration each frequency chunk is downward continued through the depth levels of interest for interpretation. This downward continuation process includes: modeling the velocity profile of the subsurface for the survey through the depths of interest; extrapolating all x,y spatial positions; and updating the depth map. For extrapolation, for a single frequency and a given depth, processing components of the massively parallel computer are assigned to subgrids of one or more x,y spatial positions. The extrapolation is then processed concurrently by operating a number of processing components in parallel to extrapolate all x,y spatial positions. 
     In the preferred form, the migration is performed using post stack seismic data. In one embodiment, the massively parallel computer uses a single instruction multiple data architecture. Pre-stack seismic data and other computer instruction techniques (e.g. multiple instruction multiple data) are possible alternatives without departing from the scope of the invention. 
     The velocity data cube is stored by inputting estimated velocity data for a number of x,y spatial positions at different depths and creating the velocity data cube representing depths of interest by interpolating between the input estimated velocity data. For a given depth, velocity data planes are read from the velocity data cube into the local memory of each processing component. If necessary, the processing component creates a particular velocity data plane for a particular depth by interpolation between the proximate velocity data planes residing in local memory. 
     The extrapolation applies a symmetric, frequency and velocity dependent, 2D filter as an approximation of the full 3D wavefield extrapolation. The filter coefficients are identified independently as a function of frequency and velocity for each x,y spatial position. Preferably filter coefficients are stored as a table in the local memory of each processing component. In the preferred method, a fixed 5×5 G operator is used in the filter structure for convolution. Alternatively, different size G operators with entries variant according to frequency and velocity are feasible. 
     The method of time migration of the present invention is similar to the depth migration method. In time migration, for each frequency chunk, a unique filter coefficient table is used. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic view of the 3D one-pass depth migration transformations; 
     FIG. 2 is a diagram illustrating the Chebyshev recursive filter structure; 
     FIG. 3 is a table illustrating the real constant 2D 5×5 convolution operator G; 
     FIG. 4 is a flow chart depicting depth migration by frequency plane; 
     FIG. 5 is a flow chart, similar to FIG. 4, describing depth migration by frequency chunk; 
     FIG. 6 is a schematic of the input/output flow paths of the method of the present invention; and 
     FIG. 7 is a flow chart depicting time migration by frequency plane. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     I. Overview 
     The one-pass 3D migration of the present invention is implemented on a massively parallel computer, such as the Connection Machine 2 (CM2), a product of Thinking Machines Corporation, Cambridge, Mass. U.S. Pat. Nos. 4,598,400; 4,773,038; and 4,827,403 relate to such parallel computers (incorporated for reference). Preferably, the method starts with a post stack seismic data cube, i.e. data in the space-time domain stacked as x,y,t. A one dimensional transform is applied to every trace in the stacked cube converting the stacked cube from the time domain to the frequency domain--x,y,f. 
     The migration transformation is illustrated in FIG. 1. Thus, the migration method of the present invention transforms the post stack x,y,t space-time domain data into x,y,f space-frequency domain data through a downward continuation process into a reflector map, x,y,z in the space depth domain. The method is a recursive scheme of downward continuation and imaging based on the &#34;exploding reflector&#34; model. 
     A significant opportunity for parallel processing arises because each frequency plane of data, x,y,f is migrated independently to create the seismic reflector map. Another opportunity for parallel processing arises in the wavefield extrapolation of a 2D x,y frequency plane. 
     Wavefield extrapolation is a key part of all migration techniques that are based on the wave equation. The present method is based on the acoustic wave equation, i.e. compressional waves are taken into account only, and shear waves are neglected. Additionally, only the one way wave equation is used, exploiting the exploding reflector model. The method downward continues for each frequency of interest for all depths to be migrated. A constant frequency plane is a two dimensional plane with the same size and shape of the part of the seismic survey which is to be migrated. Generally speaking, for all depth values to be migrated and all frequencies of interest, 1) the filter is convolved for each frequency of interest for wavefield extrapolation, and 2) the wavefield extrapolation is used to update the seismic reflector map. Parallel processing is feasible because 1) all frequencies can be migrated in parallel because the migration of each frequency is independent, and 2) the convolution of the filter with a 2D frequency plane for wavefield extrapolation can be computed in parallel. 
     With these opportunities for parallel processing, the size of the 2D filter for extrapolation would conventionally be determined by the reflector angle. That is, in order to image steeply dipping reflectors, the filter size must be large. Large filter sizes pose a computational cost, even with parallel processing which for many seismic surveys (i.e. steeply dipping reflectors) may be computationally prohibitive. 
     The method of the present invention significantly reduces this computational cost by taking a slightly different approach to wavefield extrapolation. That is, wavefield extrapolation is performed by applying a 2D filter to every frequency in the data cube independently. In order to ensure the desired accuracy over a wide range of frequencies and at large dipping angles, a recursive Chebyshev scheme is employed to emulate the desired large filter. This large filter is expressed as the sum of small, constant size convolution filters along with additions. The filter coefficients are computed independently for each x,y position in the survey. The filter coefficients are based on a table with fine increments to permit interpolation. The table of filter coefficients is stored redundantly in the local memory of each processing component in the parallel computer to increase access efficiency. 
     II. Parallel Computer Configuration 
     Increasingly, a number of different types of parallel computers are available commercially. Such parallel computers typically employ a large number of processing components, with each processing component employing one or more processors. The processing components are cooperatively operated using a variety of schemes, with single instruction multiple data (SIMD), multiple instruction multiple data (MIMD), and pipeline processors being the most common. 
     In the preferred embodiment, a CM2 using a SIMD architecture is employed. The CM2 is available in a range of configurations between 4,096 and 65,536 processing elements. This range corresponds approximately to an achievable peak performance range of 500 Megaflops per second up to 8 Gigaflops per second. The amount of memory associated with the processing elements varies between 500 Megabytes and 8 Gigabytes and corresponds approximately to the same processing element population range. Thus, an 8,192 processing element CM2 would have an approximate peak performance of 1 Gigaflop per second and typically be configured with 1 Gigabyte of memory. 
     In the configuration of the preferred embodiment, a program executes on a frontend system, such as a Sun workstation sending computational requests to the CM2. The processing elements use Weitek chips to achieve a high aggregate floating point rate, with every 32 processing elements sharing a 32-bit or 64-bit Weitek floating point processor. A high degree hypercube is incorporated into the CM2 to facilitate data communication. Disk subsystems, known as Data Vaults, can be added to the CM2. A Data Vault can hold up to 60 Gigabytes and transfer data to and from the CM2 at over 20 Megabytes per second. In the present application, the term &#34;remote memory&#34; refers to memory where communication is relatively slow, such as disk subsystems like the Data Vaults. On the other hand, &#34;local memory&#34; refers to memory associated with each processing component, or in the case of the CM2 primarily associated with the processing elements. 
     By way of example, consider a seismic survey in the Gulf of Mexico yielding a post stack space-time seismic data cube (x,y,t) with 512×512 spatial dimensions (x,y) and each trace contains 2,001 time samples corresponding to about 8 seconds of reflected data. This space-time seismic data cube corresponds to approximately 2 Gigabytes of input data. In this example, 2 Gigabytes of input data can typically be supplied on tapes in the SEG-Y format with each tape containing 125 Megabytes of information. In the SEG-Y format every trace has a header of 60 4-byte words containing descriptive and contextual information relevant to that trace. 
     The raw data on the SEG-Y tapes are read into serial files on the Data Vault. After stripping the header files, this raw data now comprises a serial file comprising the space-time seismic data cube (x,y,t). 
     The present method uses a Fourier transform method to transform each trace, thus creating a space-frequency data cube. See FIG. 1. Preferably, the space-frequency data cube is input into the Data Vault in a &#34;parallel&#34; format. The &#34;parallel&#34; format making it very efficient to read frequency planes from the space-frequency cube for migration to sustain high input and output. For example, a data input/output of 20 Megabytes per second using the &#34;parallel&#34; Data Vault format on a CM2 is obtainable. Refer to FIG. 6 for an overview of input/output flow paths. 
     The filter coefficients are looked up in a table using velocity and frequency to select the filter coefficients. The subsurface velocity is of course spatially variant, i.e., the velocity is dependent upon the spatial position within the seismic survey (x,y,d). For example, the present embodiment contemplates using 13 filter coefficients (h n ) for dipping reflectors up to 65° and 18 filter coefficients for dipping reflectors up to 80° . A table of filter coefficients is stored and indexed by the relationship of velocity and frequency, with linear interpolation as required. 
     In the preferred embodiment, a full velocity plane for the depth of interest is read from remote memory (Data Vault) into local memory for each processing component. This full velocity plane is used in conjunction with the frequency to identify the filter coefficients. 
     In an alternative embodiment, a cube of velocity data is created by interpolation from estimated subsurface velocity data, of spatial dimension equal to the space-depth cube of interest. A sub-sampled version is then stored in the Data Vault. During migration for a given depth, the two closest velocity planes are read from the Data Vault into local memory. The velocities at a given depth are then calculated by linear interpolation. The net accuracy is enhanced because the sub-sampling rate can be increased for subsurface areas where the velocity is changing rapidly. 
     III. Wavefield Extrapolation 
     Wavefield extrapolation is critical in the migration process. (The terms &#34;wavefield extrapolation&#34; and &#34;downward continuation&#34; are sometimes used interchangeably.) At each depth level an imaging step is performed, which is the extraction of zero time amplitudes from the downward continued data cube. Downward continuation in the space-frequency (x,y,f) domain is preferable because it can more accurately image steeply dipping geological layers. In the space-frequency domain, the 2D scalar (two way) wave equation can be written as: ##EQU1## where k 2  =(w 2  /c 2  -k x   2 ) 1/2 ,U=U(w,k x ,z),D=(w,k x ,z) represent the upgoing and downgoing waves respectively, w is the frequency (measured in radians per unit time), c is propagation velocity, and k x  is the wave number (measured in radians per sample) in the x direction. r(k z ,z) is the reflectivity function. This equation holds for a horizontal layered media. The first term in the equation accounts for the one way propagation of a wave in a homogeneous media. The second term accounts for transmission losses and coupling between the upgoing and downgoing waves at the interfaces. If transmission losses are neglected, the 2D scalar wave equation can be rewritten as: 
     
         ∂P/∂z=±ik.sub.z P 
    
     where P may be upward U or downward D. This is the basis for one way wave propagation such as using the exploding reflector model. 
     The analytical solution to this equation is: 
     
         P(w,k.sub.x,z+Δz)=e.sup.±ik.sbsp.z.sup.Δz P(w,k.sub.x z) 
    
     corresponding to downward extrapolation of one way waves. This analytical solution can be approximated in the space-frequency domain with known finite difference techniques. These finite difference techniques resemble a 2D convolution when known techniques have been applied, collectively known as splitting or layer splitting. However, using conventional layer splitting techniques, computer accuracy or computer efficiency Is sacrificed. The present method takes the finite difference approximation in the space-frequency domain and recasts the problem as a filter. The Fourier transform approximates: ##EQU2## where w denotes frequency, v is the velocity, and z and x are vertical and horizontal spatial sampling intervals, and k is the wave number. Wavefield extrapolation is therefore reduced to applying a 2D filter with the above characteristics to every frequency in the data cube. 
     This filter analogy is quite useful but the filter must operate over a wide range of frequencies and be accurate to extrapolate the wavefield at significant dipping angles. Accuracy dictates a large number of coefficients for the filter and is computationally expensive. The present method uses a process to build the desired large filter using recursive Chebyshev filter structure for 2D convolution with radially symmetric operators. FIG. 2 illustrates this recursive Chebyshev structure. 
     Using this scheme, the large filter can be expressed as a sum of small, fixed size, convolution filters along with additions. Because these small symmetric convolutions are identical over an entire frequency plane, intermingled with scalar complex multiplications, significant computational savings can be realized. 
     FIG. 3 illustrates the 5×5 G operator used in the filter of FIG. 2. In the G operator of FIG. 3 the c constant can vary as a function of frequency with little additional computational cost. In the preferred embodiment, G is fixed and used for all frequencies. While different sized operators G might be used, the 5×5 operator of FIG. 3 is believed well suited for most problems. A fixed value of c=0.0255 has proven useful. 
     IV. Depth Migration 
     A simple outline of the depth migration method is: 
     1. Initialization 
     2. For each frequency: 
     A. Initialization for one frequency 
     B. For each depth 
     i. Compute velocity 
     ii. Extrapolate 
     iii. Update depth map 
     Initialization comprises previously described procedures such as converting the seismic data to the space-frequency domain and storing the space-frequency data cube in the Data Vault. Additionally, a velocity cube is stored in the Data Vault. 
     FIG. 4 illustrates schematically a flow chart for the downward continuation. As can be seen in FIG. 4, for a single frequency plane, the data is downwardly continued for all depth planes of interest 
     As shown in FIG. 4, after computing a velocity map for the depth of interest, the filter coefficients are computed independently for each spatial position (x,y) in the x,y plane. To accomplish this, a processing component is assigned to the subgrids in the x,y plane. Each subgrid contains one or more x,y spatial positions with the subgrids migrated concurrently in parallel by the respective processing component. 
     A reduced set of filter coefficients (used as h n  in the filter of FIG. 2) is stored as a table in local CM2 memory. This reduced table of filter coefficients is stored redundantly in the local memory of every processing component to increase efficiency. For a CM2  with 32 processing elements per group, one filter coefficient table is stored in the local memory of each group. 
     The filter coefficients are retrieved from the coefficient table by indexing with frequency and velocity; hence the velocity map for the depth plane of interest is critical. Each processing component can access the coefficient table with a different index value, to retrieve a distinct set of filter coefficients for each x,y position. Therefore, a distinct extrapolation operator is computed for each x,y point by the filter of FIG. 2 at a very low cost for each depth and frequency. The result is an extrapolated plane of depth shifted x,y spatial positions. 
     The depth map for each frequency (x,y,d) is held in the Data Vault. As can be seen in FIG. 4 after extrapolation for a particular depth, the result is used to update the depth maps. This is accomplished by entering the depth map held in the Data Vault and adding the real components of the current frequency to the map for the particular depth. 
     As shown in FIG. 4, a single frequency for all depths of interest is downward continued. After all depths for a single frequency have been downward continued, the next frequency plane is entered and the process repeated for all frequency planes of interest. 
     FIG. 5 is quite similar to FIG. 4, but includes an optimization for input/output time and computation time. In FIG. 5, the frequency planes have been grouped into &#34;chunks&#34; that are extrapolated together through all depth levels. Computation time is reduced because the per frequency initialization cost (e.g. data input and velocity computation) and the depth map updating are amortized over all the frequency planes in the frequency chunk. The extrapolation step in FIG. 4 and FIG. 5 are identical. 
     V. Time Migration 
     3D one-pass depth migration is most useful for interpretation. In depth migration, the extrapolation step is constant and the method is capable of handling large lateral and vertical velocity variations. However, depth migration requires an accurate velocity model to obtain accurate results. In contrast, the time migration extrapolation step is a function of the local velocity. Time migration is inaccurate and yields poor results with large lateral velocity changes. However, time migration can use a poor velocity model to obtain reasonable results. Therefore, time migration is useful for refining a velocity model for a seismic survey. 
     FIG. 7 illustrates a flow chart for time migration and should be compared with FIG. 4. As can be seen from the comparison, depth and time migration are conceptually quite similar. The significant difference is that before each frequency plane is downward continued, a separate operator G is loaded so that separate h n  operator coefficients can be calculated for each frequency. Of course, during time migration planes of constant time increments are determined in contrast to depth increments. 
     VI. Source Code Appendix 
     A five page source code Appendix A-D is attached. In Appendix A, the 5×5 G operator is applied. 
     Appendix B applies the Chebyshev filter illustrated in FIG. 2. As can be appreciated from Appendix B, the operator coefficients h n  are computed by linear extrapolation from the filter coefficient table. 
     Appendix C shows the code for looking up the filter coefficients from the coefficient table. 
     Appendix D should be compared with FIG. 5 and describes in detail the downward continuation methodology for frequency &#34;chunks&#34;. ##SPC1##