COMPUTER-IMPLEMENTED METHOD FOR DETERMINING A VELOCITY IMAGE OF A DOMAIN OF THE SUBSURFACE STRUCTURAL GEOLOGY IN AN OIL AND GAS RESERVOIR
20210231820 · 2021-07-29
Inventors
Cpc classification
G01V1/345
PHYSICS
G01V1/36
PHYSICS
International classification
G01V1/34
PHYSICS
Abstract
A computer-implemented method for determining a velocity image of a domain of the subsurface structural geology in an oil and gas reservoir comprising an iterative method that combines a migration step and a population step propagating values from regions of the image wherein the velocity is known, or the velocity is according to information being deemed as correct. In this field of the technology this kind of data is also known as hard data. The iterative process uses a seismic image in depth of an initial guess as initial velocity model in a conjunction with tensor properties to generate a new velocity model based on criteria of minimum residual moveout on a specific point(s) or well control location(s). At these locations data information (velocity) is considered as well-known a-prior information to be propagated around the neighborhood guided taking into account the geological structure.
Claims
1. A computer implemented-method for determining a velocity image of a domain of a subsurface structural geology in an oil and gas reservoir suitable for thrust belt environments, the method comprising: inputting surface seismic data of an acoustic survey retrieved from the domain which includes stacked acoustic amplitudes and locations of acoustic source and receivers; inputting an initial velocity field estimation on the domain and generating a velocity image by a pre-stack depth migration process, the velocity image comprising pixels/voxels, wherein the pixels/voxels represent the velocity in a discretization of the domain; inputting velocity information at one or more locations of the domain considered as correct information or known information; defining a pre-stack depth migration module configured to iterate a predetermined number of iterations on the velocity image providing in each iteration a new velocity image with a correction of the velocity of the image; defining an error estimator module adapted to provide an error estimation of the velocity image; wherein the method iteratively carries out the following steps: a) executing the pre-stack depth migration module iterating on the whole velocity image a pre-determined number N of iterations; b) determining a set of pixels/voxels of the velocity image corresponding to locations of the domain wherein the velocity field is considered as being correct or known information; c) populating values of the pixels/voxels not being in the set from the values of the pixels/voxels being in the set, being the populating step dependent on the values of stacked acoustic amplitudes in the domain; until the error estimator module determines an error on the velocity image under a pre-determined threshold value.
2. A method according to claim 1, wherein the populating step c) comprises the step: for each pixel/voxel x.sub.i of the velocity image not being in the set, the value of the velocity of said pixel/voxel x.sub.i is set as the value of the velocity of a pixel/voxel x.sub.k of the set satisfying that the travel time of an acoustic wave from x.sub.i to x.sub.k is minimum for all pixels/voxels x.sub.k of the set.
3. A method according to claim 2, wherein the condition of satisfying that the travel time of an acoustic wave from x.sub.i to x.sub.k is minimum for all pixels/voxels x.sub.k of the set is determined as simulating the propagation of waves from x.sub.i to x.sub.k along a path satisfying that said path is parallel to the eigen-vector associated to the largest eigen-value of D(x), wherein D(x) is the diffusion tensor matrix defined as D.sub.i,j=a.sub.i,ja.sub.j,i wherein “a.sub.i,j” denotes derivative of a.sub.i with respect to coordinate j; being a the stacked acoustic amplitude at the location of the pixel/voxel where D(x) is being evaluated.
4. A method according to claim 2, wherein the condition of satisfying that the travel time of an acoustic wave from x.sub.i to x.sub.k is minimum for all pixels/voxels x.sub.k of the set is determined as follows: let be R the set of pixels/voxels of the velocity image corresponding to locations x.sub.k of the domain wherein the velocity v.sub.k value is considered as being correct; solving the equation for t(x), wherein the solution corresponds to the minimum travel time from x.sub.i to the resulting nearest sample point x.sub.k of R among all paths between x.sub.i and points x∈R:
∇t(x)D(x)∇t(x)=1 if x.Math.R
t(x)=0 if x∈R wherein D(x) is the diffusion tensor matrix defined as D.sub.ij=a.sub.i,ja.sub.j,i wherein “a.sub.i,j” denotes derivative of a.sub.i with respect to coordinate j; being a the stacked acoustic amplitude at the location of the pixel/voxel where D(x) is being evaluated and then, solving the equation
5. A method according to claim 1, wherein the error estimator module determines the error by measuring the distance between the unity value 1 and the gamma value
6. A method according to claim 1, wherein the set of pixels/voxels of the velocity image corresponding to locations of the domain wherein the velocity field is considered as being correct or known are those wherein ∥γ−1∥<ε for a predetermined threshold value ε>0.
7. A method according to claim 1, wherein the set of pixels/voxels corresponding to those regions where the velocity image has been calculated according to step a), step b) or both, and wherein the error estimator module determines that the velocity is under a pre-determined threshold value are merged into the set R of pixels/voxels.
8. A method according to claim 1, wherein the inputted initial velocity image is generated as: a velocity image wherein all pixel/voxel values are constant with a predetermined velocity value or; a velocity image with known data in certain pixel/voxel locations and the rest of the image without known data, said pixels/voxels without known data being interpolated from known data or; a velocity image according to a) or b) being iterated a pre-determined number of iterations by the pre-stack depth migration module.
9. A method according to claim 1, wherein the pre-stack depth migration module is configured to iterate a predetermined number of iterations on a region of the velocity image limited to those pixels/voxels that are not in the set R.
10. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out a method according to claim 1.
11. A computer system adapted to carry out a method according to claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0048] These and other features and advantages of the invention will be seen more clearly from the following detailed description of a preferred embodiment provided only by way of illustrative and non-limiting example in reference to the attached drawings.
[0049]
[0050]
[0051]
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
[0052] As will be appreciated by one skilled person in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
[0053] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0054] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
[0055] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0056] Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” or FORTRAN programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0057] Aspects of the present invention are described below with reference to illustrations and/or diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each illustration can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0058] These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
[0059] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0060] Turning now to the drawings and more particularly,
[0061] Said processing system (102) may also store data and execute computer programs in a cloud (108) being in data communication with other external computing systems (104, 106, 116) by means of a data network.
[0062] An acoustic survey is carried out by deploying the set of acoustic sources (So) and the set of receivers (Re) over the upper surface (S) of the domain (DM), providing the acoustic excitation over the domain (DM) and collecting the response in the form of acoustic amplitudes recorded in time.
[0063] Acoustic data comprises acoustic excitation information and the registered acoustic response of the domain (DM). Additionally, acoustic data also comprises the location of each acoustic source (So) and the location of each receiver (Re) for determining the correct location in the domain.
[0064] Acoustic data is sent to the data base (DB, 114) in order to be available to the processing system (102) that will use it for generating the velocity image (I) representing a velocity model of the domain (DM).
[0065]
[0066] Within the domain, two boreholes (L) are represented, a first borehole (L) located at the left side of the domain (DM) and a second borehole (L), shorter than the first borehole (L), located near to the center.
[0067] When drilling the boreholes (L) rock properties are measured along with other information collected by means of sensors located in the drilling tool. Rock properties, pressure conditions and water content among other properties allow determining the velocity of propagation along the space of the borehole (L).
[0068] In the right-hand side of
[0069] Over this image (I) there are two regions also identified with letter “L” as said regions are pixel/voxel regions corresponding to two regions where pixels/voxels are hard data; that is, a set of pixels or locations of the domain wherein the velocity values are deemed to be correct or comprising known information.
[0070] Since the pixel/voxel values are deemed to be correct and are located also in the correct position within the image (I); said values will not be modified during any further iterative process; specifically, during the migration method.
[0071]
[0072] The Pre-Stack Depth migration module (M) is a module that, when being implemented in a processing system (102) carries out one or more migration iterations correcting each pixel/voxel value of the image (I) with a specific correction value.
[0073] According to an embodiment, the Pre-Stack Depth migration module (M) computes the correction for all pixels/voxels of the velocity image (I) except those comprised within the region deemed as having a known velocity value.
[0074] Along the disclosed iterative method, the set of pixels/voxels of the velocity image (I) corresponding to locations of the domain wherein the velocity field is considered as being correct or known information will be denoted as the set (R).
[0075] Before applying the iterative method according to the preferred embodiment of the invention, the set (R) of pixels/voxel of the velocity image (I) with values considered as being correct or known information is limited to those obtained by hard data. In this example, this initial set (R) only comprises pixels/voxels identifying the location of the two boreholes (L).
[0076] When the iterative method progresses then the set (R) will be expanded.
[0077] A second module, the error estimator module (E), is a module that, when being implemented in a processing system (102) provides information about the error estimation for each pixel/voxel of the velocity image (I). When the error estimation evaluated in a certain pixel/voxel of the image (I) is estimated with a value under a predetermined threshold value, then the iterative method may deem that said pixel/voxel might be included into the set (R) as a pixel/voxel where the velocity value is considered as being correct.
[0078]
[0079] An initial velocity image (I) is generated wherein the velocity field values of the locations corresponding to the boreholes are set in the image. The rest of values of the image (I) may be estimated for reducing the number of iterations of the iterative method. If said estimation is not possible, an initial velocity field is chosen such as a constant velocity value deeming that a convergent iterative method reaches the solution independently of the initial velocity image (I).
[0080] In this embodiment, the pixels/voxels represent the velocity of propagation in a discretization of the domain (DM).
[0081] The iterative method carries out a number of iterations until convergence over the velocity image (I); specifically combining: [0082] one or more iterations using the Pre-Stack Depth Migration module (M) iterating on the velocity image (I); [0083] determining the set (R) of pixels/voxels of the velocity image (I) considered as being correct or known information; [0084] populating the values of the pixels/voxels not being in the set (R) from the values of the pixels/voxels being in the set (R), being said populating step dependent on the values of stacked acoustic amplitudes in the domain (DM).
[0085] According to an embodiment, the Pre-Stack Depth Migration module (M) iterates on the whole velocity image (I). In this case, the solution obtained after convergence is the one obtained in the prior art by only using a migration iterative process but, being speeded up by the interpolation process that rapidly propagates the velocity values to the rest of the domain at the right location.
[0086] According to an alternative embodiment, the Pre-Stack Depth Migration module (M) iterates on a limited region of the velocity image (I); that region that is not identified as the set (R) speeding up the iterative process even more.
[0087] After migrating the velocity image (I), a predetermined number N of iterations with the Pre-Stack Depth Migration module (M) and determining the set (R) of pixels/voxels of the velocity image (I) corresponding to locations of the domain wherein the velocity is considered as being correct or known information, those pixels/voxels not being in the set (R) are populated from the values of the pixels/voxels being in the set (R) wherein said interpolation process depends on the values of stacked acoustic amplitudes in the domain.
[0088] According to a preferred embodiment, for each pixel/voxel x.sub.i of the velocity image (I) not being in the set (R), the value of the velocity of said pixel/voxel x.sub.i is set as the value of the velocity of a pixel/voxel x.sub.k of the set (R) satisfying that the travel time of an acoustic wave from x.sub.i to x.sub.k is minimum for all pixels/voxels x.sub.k of the set (R).
[0089] This constraint requires for each pixel/voxel x.sub.i of the velocity image (I) not being in the set (R) to sweep all pixels/voxels being in the set (R) in order to determine the one whose value will be transferred to the pixel/voxel x.sub.i of the image (I).
[0090] In this embodiment the populating process depends also on the stacked acoustic amplitudes located in the coordinates of the pixels/voxels, specifically those with the location not being in the set (R) because the travel time of an acoustic wave from x.sub.i to x.sub.k must be determined by using information of the geological structure taken from the stacked acoustic amplitudes along parts of the path that are located out of the set (R).
[0091] In this case, each pixel/voxel x.sub.k of the set (R) must be connected with the pixel/voxel x.sub.i located in a region not being part of the set (R) by means of a path (P), the path (P) defining the shorter path (P) of the acoustic wave traveling between x.sub.i and x.sub.k. Then the pixel x.sub.k and the shorter travel time of an acoustic wave from x.sub.i to x.sub.k determines the value of the pixel/voxel x.sub.i.
[0092] According to an embodiment, the condition of satisfying that the travel time of an acoustic wave from x.sub.i to x.sub.k is minimum for all pixels/voxels x.sub.k of the set (R) is determined as follows: [0093] let be R the set of pixels/voxels of the velocity image (I) corresponding to locations x.sub.k of the domain wherein the velocity v.sub.k value is considered as being correct; [0094] solving the equation for t(x), wherein the solution corresponds to the minimum travel time from x.sub.i to the resulting nearest sample point x.sub.k of R among all paths between x.sub.i and points x∈R:
∇t(x)D(x)∇t(x)=1 if x.Math.R
t(x)=0 if x∈R
wherein D(x) is the diffusion tensor matrix defined as D.sub.ij=a.sub.i,ja.sub.j,i wherein “a.sub.i,j” denotes derivative of a.sub.i with respect to coordinate j; being a the stacked acoustic amplitude at the location of the pixel/voxel where D(x) is being evaluated and then, solving the equation
being v.sub.old(x) the velocity taken from the velocity image (I) in the former iteration, e≥2 a pre-determined constant value and v.sub.new(x) is the velocity with the propagated values providing the velocity image (I) for the new iteration.
[0095] Function t(x) is solved in the velocity image domain (DM) for those pixels/voxels not being in the set (R) since the value of t(x) in the set (R) is zero. Once function t(x) is determined then the equation
is solved being t(x) known and also the velocity v.sub.old(x) is taken from the velocity image (I) in the previous iteration. The equation is solved for v.sub.new(x), the velocity image (I) in the next iteration.
[0096] During the iterative process, the error estimation may be estimated by the error estimator module (E) when migrating the velocity image (I). Specifically, the error estimator module (E) determines the error by measuring the distance between the unity value 1 and the gamma value
being v the velocity computed by Pre-Stack Depth Migration module (M) and c the media velocity along the path (P) between the seismic source and the receiver.
[0097] Once the velocity image (I) has been determined populating values for those regions where the velocity value is not deemed as known; that is, not in the set (R), a new iteration is applied until convergence. Before applying again a new iteration, the set (R) of pixels/voxels corresponding to locations of the domain wherein the velocity field is considered as being correct or known is newly defined as those wherein ∥γ−1∥<ε for a predetermined threshold value ε>0.
[0098]
[0099] After certain iterations, some additional set of pixels/voxels (R3a) not being in the set (R) fulfil that ∥γ−1∥<ε and then said pixels/voxels are added to region R.sub.3. The added new set of pixels/voxels now fulfilling that ∥γ−1∥<ε are represented by a dashed line.
[0100] The set of pixels/voxels of the set (R) are determined as R=R.sub.1 U R.sub.2 U R.sub.3 U R.sub.4.
[0101] This process expands the area of the set (R) reducing progressively the computational cost of the iterative Pre-Stack Depth Migration when such iterative step is carried out only in those locations corresponding to pixels/voxels not being in set (R). In this specific case, the Pre-Stack Depth Migration module (M) is configured to carry out the migration only on those locations corresponding to pixels/voxels not being in set (R).
[0102] After convergence, the set (R) is the whole velocity image (I) as all pixels/voxels are deemed as being correct values.
[0103] Efficiency of the method is superior compared with conventional tomographic approach computed on migrated pre-stack data just by the fact that it avoids tomography iteration on pre-stack gathers for velocity model update. As a result, said methods disclosed in the prior art require a number of iterations that is at least one order of magnitude larger than the present invention to converge to a reasonable model.