41
Reservoir distribution optimization by simulated annealing RDOSA - 18, June, 2014 (25, August, 2014) CERENA Update Other subjects are also commented in this presentation.

RDOsimulated_annealing_and_others

Embed Size (px)

Citation preview

Page 1: RDOsimulated_annealing_and_others

Reservoir distribution optimization by simulated annealing RDOSA - 18, June, 2014 (25, August, 2014)

CERENA

Update

Other subjects are also commented in this presentation.

Page 2: RDOsimulated_annealing_and_others

INDEX

• Methodology (s.3-5) • Purpose (s.6) • Reading and interpreting the output (s.7-9) • GEOMS2 implementation (s.10-14) • Data for tests (s.15-17) • Running GSI (s.18) • RDOSA for GSI (s.19-20) • RDOSA for DSS (s.21-22) • Re-doing a GSI (s.23) • Wavelet optimization by stochastic switch (s.24-26) • Upscale by convolution quality (s.27) • Proposed improvements to GEOMS2 (s.28) • Showcase of improvements of GEOMS2 (s.29-32)

Glowed outline shows areas where important updates have occurred. White notes refer to updates.

This presentation has been shown before. Please consider the following if it’s the second time your seeing this:

Page 3: RDOsimulated_annealing_and_others

METHODOLOGY

Real seismic

Acoustic impedance

model

Guessed wavelet

Guessed initial

distribution

RDOSA Reservoir Distribution Optimization

by Simulated Annealing

Final hypothetical

distribution(s)

Using a model of acoustic impedance as well as guessed wavelet and statistical distribution we can optimize the production of an acoustic impedance distribution(s) by using the RDOSA methodology. RDOSA stochastically changes the acoustic impedance model and tests the change by comparison with the real seismic.

3

Page 4: RDOsimulated_annealing_and_others

METHODOLOGY RDOSA

From the real seismic and acoustic impedance model a few vertical traces are extracted meaning that for each trace we have acoustic impedance and seismic values.

Either the switch gave a positive effect (better correlation, less seismic residue and variogram residue) becoming more probable that is accepted, or a negative effect which is less likely to be accepted.

If from the acoustic impedance trace we switch two values we can calculate the synthetic seismic from the change and compare with the real seismic.

4

Page 5: RDOsimulated_annealing_and_others

METHODOLOGY

Global distribution

Internal switch External switch

RDOSA

There are two methods for performing a perturbation: internal and external. The internal switches two values of the trace (change position). The external changes a single value of the trace for a random value of the global distribution.

5

Page 6: RDOsimulated_annealing_and_others

PURPOSE

After several switches (iterations) we have a final distribution for all extracted traces. This distribution is an hypothesis built using the criteria of similarity with seismic (our only “real” data).

Guessed global distribution

Final hypothetical distribution

RDOSA

Also we have the “historical” progress of the procedure which can give us some localized information such as the correlation by trace and iteration, as well as the final models of acoustic impedance, for example. The data produced by this procedure is extensive and needs some careful considerations.

The following slides will explain how to read the information produced by this algorithm.

6

Page 7: RDOsimulated_annealing_and_others

READING AND INTERPRETING THE OUTPUT

Imagine that we have 9 extracted traces and do RDOSA with 300 iterations. For each iteration (300) in each trace (10) we’ll have a correlation value (synthetic seismic compared with real). This gives a table of 300 x 10 which is far to big for in a table. For this reason we’ve created color tables like the ones below. Left is correlation, right is acceptance (black)/rejection (white) table.

You’ll notice that when a change is accepted (black) this can cause a significant change in the correlation coefficient of the trace which will remain until another change is accepted to the same trace.

ITER

ATIO

N

TRACE

7

Page 8: RDOsimulated_annealing_and_others

READING AND INTERPRETING THE OUTPUT

We’ve seen the correlation and acceptance/rejection color tables but the same exist for the variogram residue and seismic residue (the other two criteria to test the quality of the switch).

Variogram residue

Seismic residue

8

Page 9: RDOsimulated_annealing_and_others

READING AND INTERPRETING THE OUTPUT Acoustic

impedance changes

Seismic changes

Also it’s possible to build a compared plot of the original model of acoustic impedance (green) with the final one (red) within the coverage of all changes made in the mean while (black region).

The same for seismic. The blue line is the real seismic, and the red line the final model as well the coverage region in pink.

9

Page 10: RDOsimulated_annealing_and_others

GEOMS2 implementation There are several plugins implemented. The first is a distribution maker module which can create a data-set with a known distribution.

In this example I’m creating a triangular (never mind the minimum and maximum you can change that latter the important is the place where the peak appears).

If you press apply the distribution will be saved as a data object with also an X,Y,Z variables (for which you can change the value)

10

The newer version of GEOMS2 has gained far more plugins (August, 2014) than the last version shown (June, 2014). This image is from August, 2014 version.

Page 11: RDOsimulated_annealing_and_others

GEOMS2 implementation 11 This slide is new.

This plugin creates a non-spatial data object (nsData) whose properties are those of a synthetic wavelet.

By pressing the “Draw” button you can pre-visualize the wavelet with the chosen parameters.

By pressing the “Apply” button the nsData object with the synthetic wavelet is created. The current available formula for wavelet generation is Ricker.

Notice that both “Distribution maker” and “Wavelet maker” are within the Synthetics section in GEOMS2 plugins.

Page 12: RDOsimulated_annealing_and_others

GEOMS2 implementation

Once you have the distribution (which you can use to create a model using seismic inversion or simulation), wavelet, AI model and seismic you can call the RDO simulated annealing plugin to launch the RDOSA procedure. You’ll notice that you can give the Z range for the variogram, the weights, the probability for the switch type (internal or external), and the coordinates of the traces (some are randomly generated).

By pressing apply the procedure will begin and in the end objects will be created for the tables (mesh) and for the final distribution (data) which also comes with fake X,Y,Z variables.

12

The RDOSA method has been roughly considered within the plugin “Seismic Inversion” methods.

Page 13: RDOsimulated_annealing_and_others

GEOMS2 implementation 13 This slide is new.

Since it’s not the purpose of this presentation I’ll just show some possible results as well as alternatives. Most of the procedures here can help the user create their own synthetic data including seismic and physical properties. Let’s seem some indicator generated maps.

By this point it’s possible to start to study a reservoir from stages prior to processed seismic maps.

There are several other plugins in the synthetic section that can be used to further research case-studies with very little data.

Fold structure Channel structure

Delta structure Intrusion structure

Acoustic impedance created from a intrusion structure map.

Synthetic seismic created from the above acoustic impedance property.

Page 14: RDOsimulated_annealing_and_others

GEOMS2 implementation 14 This slide is new.

Once again, although not the purpose of this presentation, It’s in the interest of the user to be aware that it’s possible to do wavelet convolution from the Processing section in GEOMS2 plugins. Also it’s possible to apply structure creation in a already existing mesh object (you don’t need to create synthetic data from the beginning to achieve this effect).

The processing section is mostly composed of deterministic approaches for transforming your already existing data.

In the final slides of this presentation some important points about the development of GEOMS2 are going to be discussed if considered appropriate. For now let us continue the documenting for the RDOSA methodology.

Page 15: RDOsimulated_annealing_and_others

DATA FOR TESTS Synthetic case-study Nodes (X,Y,Z): 50,50,61 Size (X,Y,Z): 1,1,1 First coord. (X,Y,Z): 0,0,0

Acoustic impedance point-data Angles: 0;0;0 Structures: 2 (30 %;70 %, sill = 2460118) Models: Spherical, Exponential Range1: 15;15;4 Range2: 900;900;50

main minor1

minor2 (Z)

15

Page 16: RDOsimulated_annealing_and_others

DATA FOR TESTS

The variograms for the seismic mesh change considerably. Notice that in a case study with no acoustic impedance whatsoever we would have to consider mainly the variogram retrieved from the seismic.

For the tests that will follow in posterior slides we’ll use the variograms retrieved from the acoustic impedance since these are our first tryouts.

16

Page 17: RDOsimulated_annealing_and_others

DATA FOR TESTS

Acoustic impedance distribution from the wells

Minimum: 4513 Maximum: 12375 Mean: 7083 Median: 6806

Generated acoustic impedance distribution using a triangular distribution with the real minimum,

maximum and mean for the peak.

Direct comparison between both distributions. The general behavior is there although some populations do not exist in the triangular distribution.

17

Page 18: RDOsimulated_annealing_and_others

RUNNING GSI

For 8 simulations in 6 iterations.

We’ve achieved 0.825 for final global correlation.

18

Page 19: RDOsimulated_annealing_and_others

RDOSA FOR GSI

Traces Traces

Itera

tions

Ite

ratio

ns

19

Page 20: RDOsimulated_annealing_and_others

RDOSA FOR GSI

Final distribution Comparison with initial distribution

Real, used and final distributions overlapped

20

Page 21: RDOsimulated_annealing_and_others

RDOSA FOR DSS

Traces Traces

Itera

tions

Ite

ratio

ns

21

Page 22: RDOsimulated_annealing_and_others

RDOSA FOR DSS

Final distribution Comparison with initial distribution

Real, used and final distributions overlapped

22

Page 23: RDOsimulated_annealing_and_others

RE-DOING A GSI

Triangular

RDOSA result

Real AI GSI re-done

We’ve achieved 0.811 (first: 0.825) for final global correlation.

23

Page 24: RDOsimulated_annealing_and_others

WAVELET OPTIMIZATION BY STOCHASTIC SWITCH 24

Using this kind of switch approach to calculate and adequate wavelet for a case-study (WOSS).

This slide is new.

We start by creating a general purpose wavelet and convolve some real well logs.

For each iteration we attempt a switch from given distribution and convolve again. If residue is lower and correlation is higher than we accept the change.

In the end (after thousand iterations) we should have an adequate wavelet to use in a reservoir.

The wavelet on the right was “optimized” using this simple procedure with quasi correlation as quality criteria. The initial correlation was: 0.769, the final correlation was: 0.823. The improvement was significant. The initial correlation was made with the wavelet provided by the client.

Notice however that what we mean by correlation is, in fact, the mean for correlations in both available wells.

Page 25: RDOsimulated_annealing_and_others

WAVELET OPTIMIZATION BY STOCHASTIC SWITCH 25 This slide is new.

The initial correlation for the Ricker wavelet was 0.084, and final was 0.823. So both tests reached the same solution no matter the starting data (as long as within the same order of magnitude).

The method can also be used as wavelet generation and not only optimization. In the left you have the original optimization experience. On the right we are truly creating a wavelet using as starting point the Ricker formula.

Page 26: RDOsimulated_annealing_and_others

WAVELET OPTIMIZATION BY STOCHASTIC SWITCH 26 This slide is new.

0.084 -> 0.823 0.769 -> 0.823 0.084 -> 0.864

In here we show the previous tests by comparison with a new one were we generate a wavelet with a different size (instead of 39 points, we use 59). The improvement was over 4 %. Obviously it’s possible to improve correlation by building a multi-criteria procedure but these tests were made for demonstration purposes.

Page 27: RDOsimulated_annealing_and_others

UPSCALE BY CONVOLUTION QUALITY 27 This slide is new.

Colleague Rúben proposed that the previously shown method (WOSS) was better used to improve the quality of upscaling instead of the quality of the wavelet. The following method (UCQ) would start with a well log (let’s say with a resolution of 0.5 ms) and the given wavelet.

For every 4 ms interval a random value (within the interval) would be chosen to be a upscaled well point.

For every iteration a new value for that interval would be randomly chosen (as well the position to be switched). The convolution is made and if correlation is better the change is accepted.

By the end of the procedure we would have a kind of genetic upscale approach.

This is a well from the Tupi oil reservoir. In gray you have the original LAS data. In black the uspcale used in GALP Tupi project. In red the result from the new method. The convolution in the old upscale has a quasi-correlation of 0.70. The new upscale achieved a correlation of 0.98.

Page 28: RDOsimulated_annealing_and_others

UPSCALE BY CONVOLUTION QUALITY 28 This slide is new.

In here you can see the results for both available wells: A -> 0.70 to 0.98 B -> 0.83 to 0.84

A

B

Page 29: RDOsimulated_annealing_and_others

UPSCALE BY CONVOLUTION QUALITY 29 This slide is new.

On the left the histogram compare for well A (being gray the original LAS, black the old upscale, red the new uspcale).

On the right the histogram compare for well B (being gray the original LAS, black the old upscale, red the new uspcale).

B

A

Page 30: RDOsimulated_annealing_and_others

PROPOSED IMPROVEMENTS TO GEOMS2 30 This slide is new.

GEOMS2 has reached a point where beta release (because it still lacks wide user experience meaning complex bugs might still exist) is possible. The following points are proposals for the continued development of the software.

Porting GEOMS2 from 32 bits to 64 bits.

This would improve greatly the amount of data the software can manage at the same time. The problem is GEOMS2 has a lot of dependencies. Each one needs to be 64 bits requiring a full installation by hand of each one of them in a clean computer (in order to avoid compromise of the works still being developed in 32 bits).

Creating the interface between GEOMS2 (python) and Mathematica.

Both languages seem to have available links to the other however they are not regularly maintained. From this point there are two possibilities. Either have Python call Mathematica as a sub-process feeding inputs and reading outputs (with temporary files for instance) or developing direct interface between both (seems difficult).

Creating the interface between GEOMS2 (python) and Matlab.

There are several libraries that connect both languages. Also Matlab has a COM interface meaning it’s possible to run code directly from a source file if some rules are followed.

Creating a Python library for easy implementation in GEOMS2.

It takes some work but it’s feasible and there’s a lot of code made for this purpose already. Also it should be possible to include F and C/C++ in this experiments.

Plug

ins

Page 31: RDOsimulated_annealing_and_others

SHOWCASE OF IMPROVEMENTS OF GEOMS2 31 This slide is new.

All images on the background were made with GEOMS2. Currently it has a plugin which allows the user to load triangular meshes to the software (STL files, ASCII and binary). If anyone feels it can use this type of data and wants to develop with it please let us know since we’re currently trying to increase the level of usability of GEOMS2 for multiple fields of research.

Page 32: RDOsimulated_annealing_and_others

SHOWCASE OF IMPROVEMENTS FOR GEOMS2 32 This slide is new.

World view for earth and moon World view for mars with labeled regions

Lisbon subway map using graphs Barrinha case-study with anisotropy quivers

Overlapping topography and property Viewing a point set as fractures

All of these images were generated in GEOMS2. The amount of visual choices is now considerable. If you want to build plugins for your own field please let us know. We’ll facilitate the management of the data required.

Page 33: RDOsimulated_annealing_and_others

SHOWCASE OF IMPROVEMENTS FOR GEOMS2 33 This slide is new.

3D and 2D plots have been added for user convenience. This slide does not show the full extent of the number of plots that exist in GEOMS2. Again if you have an idea you would to implement please let us know.

Page 34: RDOsimulated_annealing_and_others

SHOWCASE OF IMPROVEMENTS FOR GEOMS2 34 This slide is new.

Also we are trying to improve the interface of GEOMS2 with other software. Currently GEOMS2 can export .obj files meaning it’s possible to load models into 3D modelling software. The examples shown were exported from GEOMS2 and imported into blender.

Page 35: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 35 This slide is new.

Estimation and simulation in spherical coordinates (or any other by opposition to Cartesian).

For planetary scale studies (for example climate, tectonics, epidemiology, etc.) using the common rectangular grid model is problematic since the left side of the grid is connected with the right side. Also nodes on the top and bottom parts (poles) of the grid have much closer distances between themselves than the ones in the center (equator). Estimating and simulating in spherical coordinates would solve this problem (border problem).

Bot these areas are connected There are differences between nodes in the poles and on the equator.

The upper nodes are much smaller than ones on the bottom.

GEOMS2 world view mode builds a base from where to use these types of procedures.

Page 36: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 36 This slide is new.

To illustrate the idea ISD (inverse squared distance) was implemented in two versions. One using Cartesian coordinates, the other spherical (in all images left is Cartesian, right is Spherical). In the first image (top-left) we have both estimations (same data) in a regular Cartesian grid. The spherical example does not make much sense unless we view it in world view mode. The picture on the right shows the border issue solved with spherical coordinates. The picture on bottom left shows the difference between poles and equator. The area of yellows is much greater in the Cartesian example.

Notice the border caused by using Cartesian coordinates.

The spherical example looks wrong when seen with Cartesian coordinates.

Different areas of the sphere also mean different density of nodes, therefore different size.

Page 37: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 37 This slide is new.

Creating streamlines from fractures models and simulating those same models.

Fracture set and well.

Connections determined.

Streamline built.

GEOMS2 has support for both fractures and streamlines. For this reason is feasible to implement fracture simulation procedures as well as methods for retrieving connecting points and therefore streamlines (latter to be used in fluid simulation, for instance). It can even be possible to create an interface between the fluid simulation software and GEOMS2.

Page 38: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 38 This slide is new.

A simple fracture simulator was created within GEOMS2 to test this concept.

From this point the idea is to build a triangle-triangle interception algorithm and retrieve the coordinates of all interceptions as well as mapping all connections. This will allow us to build streamlines.

On the left you have a full fracture simulation. On the right only the fractures that are somehow connected appear. This would be the fractures of greater importance in reservoir permeability since they’re not isolated. The algorithm to achieve streamlines was not built at this point.

Page 39: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 39 This slide is new.

Using triangular mesh as a property.

Triangular meshes are extremely flexible. Therefore it’s possible to have spatial phenomena imbued in them. Noticeable cases are: • Finite element studies in mining. • Landslide risk studies. • Plastic phenomena (rock studies). • Civil engineering.

GEOMS2 can deal with triangular meshes. Therefore It’s possible to simulate in one or manipulate its shape. In theory it should also be possible to animate frame by frame (water bodies for instance).

Implementing parsers for many types of data (chemistry, geology, biology, etc.).

GEOMS2 has four main types of data: mesh, surface, point and non-spatial data. Recently the tri-mesh object type has been added. Also object such as mesh or points have alternative modes such as world view, fractures, graphs, quivers, etc.

This means that the current geometries available fro viewing in GEOMS2 allow for a great deal of types of data to be included in its work space.

Page 40: RDOsimulated_annealing_and_others

HYPOTHETICAL IDEAS FOR DEVELOPMENT 38 This slide is new.

BioBlender project. A software who uses Blender software to produce it’s plots. The result are Hollywood quality images.

This is an example of a software produced to take advantage of the possibilities of another software. It does not need to be only for visualization purposes.

Page 41: RDOsimulated_annealing_and_others

Template 39 This slide is new.