(Jeffrey) Ok, here is a question.  For those of you who know about conditional simulation (and we will blog further on this later) we are considering the relationship between different realizations, each of which is said to be independant and equally probable.  What would happen if we cross plotted two realizations of porosity from the same data set (same parameters, data, spatial model, grid dimensions, etc), the only difference being the random seed to set the random walk?

1. What would this cross plot look like?

Let’s make it more complicated.  lets say I run 100 realizations of porosity from the same data set (as above) but then multiplied them by other realizations of some other variable.  For example, I have realizations for porosity, gross volume, and net volume (net-to-gross), and I want to calculate net pore volume for each realization.  Let’s say the Oil/Water contact is flat.  Let’s also assume that the reservoir is composed entirely of sandstone and shales.  We’ll consider “good” reservoir quality rock to be above a designated porosity threshold (if it helps you visualize, say 18%).  The only thing that varies is quality of the porosity (values of porosity in the inter-well space),  the value of net-to-gross, and of course, the random seed for each of the realizations.

1.  If I cross plot any two realizations of porosity, what does that cross plot look like?

2.  If I cross plot any two realizations of gross volume, what does it look like?

3.  If I cross plot any two realizations of net volume (net-to-gross), what does it look like?

4.  If I cross plot any two realizations of net porosity volume, what does that cross plot look like?

5.  Should I use the same random seeds for the realizations of each property?  That is, if I choose a random seed, say 123456, and run 100 realizations of porosity, should also choose the random seed 123456 for the other variables like net-to-gross?

The assumption here is that the initiating random seed generates a suite of 99 more random seeds to be used in the 100 realizations of a given variable.  If I choose the same initiating random seed (under the same grid conditions – same size, number of cells, etc) for different variable, I would generate the same suite of random walks in the same order.  So, here is the big question;

6.  If I perform some operation between realizations of different variables, say a multiplication of a porosity realization with a net-to-gross realization above some oil/water (or gas/water, etc.) contact, should I be operating on two realizations that have identical random walks?  Or, not?  Does it matter?

Let’s see who is thinking?

1. Rich Chambers says:

My comment for question 1.

1. Making a cross plot of two realizations of the same property (e.g. porosity) results in a cloud of points with no correlation between the two realizations.

1. The result is identical to the cross plot described above; a clould of points with no correlation.

2. Becasue the gross rock volume (GRV) is constant for every realization, then a cross plot between two GRV realizations is a striaht line for all cells above the OWC.

3. This is a little more tricky as it depends upon how the Net-to-Gross (NTG) was computed. If for each realization a new NTG is simulated, then you get a cloud of points with no correlation between any two realizations. However if a single facies simulation is used and NTG is based on let’s say the ration between sand and shale, where the NTG is 18% as in you example, then the cross plot is a straight line.

4. A clound of points with no correlation regardles of which case is run as described in question 3.

5-6. These questions are related and the answer is absolutely you should use the same seed number for each set of realizations to ensure that the random walk is identical, otherwise there could be a significant mismatch between to properties between NTG and porosity for example. You need an apples to apples comparison, so use the same seed number.

• jyarus says:

Okay, some interesting discussion! Rich has just run through what I would consider the correct responses. I would propose that the best practice in a real study is to check these conditions. If your observations are not what are outlined above, then there may be problem with the underlying math or way in which you have applied the various algorithms. Does this make sense?

Thus, we can make the general statement: Realizations of the same data set, under the same parameter conditions are independent of each other as are calculations between realizations of different variables. This is true as long as each variable has the same number of realizations and calculations occur between realizations of the same random walk. Modelers performing these operations as part of the earth modeling process should run make some comparisons as described above to ensure the model integrity.

2. Kevin M says:

I have a question- in this case the cross-plot of two porosity realizations means the porosity values of realization 1 are plotted on one axis and the porosity values for realization 2 are plotted on the other axis? The data points would represent the values of porostiy for the two realizations at a given point in the grid. Is this correct?

Good question. Has me really dusting off the geostat cobwebs.

Thanks,

Kevin

• jyarus says:

You are correct. Each ijk cell in realiztion 1 is plotted against same ijk location in reailiztion 2.

• Kevin M says:

In that case I think that the cross-plot of two porosity realizations should be a point cloud if the seed is truly random. The first value simulated in each of the realizations could be any value from the original data histogram, meaning there is no correlation between any two simulated values at a given IJK for different realizations. There will, however, be correlation between neighboring points in the same realization based on the spatial model.

By the way- I’m not sure that the seed generators of all geostat softwares are actually random.

• jyarus says:

That is correct. So, one way to check that things are going well is to do such a cross plot and be sure you see independence. If you don’t you should be suspicious. So take it to the next logical step. What happens if I take two sets of realizations; say one from porosity and one from net-to-gross, and multiply one realization from each producing a product “realization.” Then, take another porosity realization and net-to-gross realization, multiply them together. Now, cross plot the two product “realizations.” What do you get? Consider also, is it important to use the same random seed for each set of realizations of the two variables, porosity and permeability. This means that realization number 1 from porosity uses the same random walk as realization number 1 from net-to-gross.

• Kevin M says:

If you compare two product realizations you will still get a point cloud, unless I’m missing something.

Taking the rest of the questions:

2. The gross volume for different realizations should be identical since the fluid contact and structural surfaces are constant, so a cross plot for any realizations should be a straight line .You will have a high density of points at the location (0,0) for all the grid cells that fall below the OWC.

3. The cross plot for any two net-to-gross realizations should still be a point cloud because the net is based on the porosity realizations, which are not correlated. How would the NTG realizations be calculated? You could conditionally simulate NTG. NTG is also commonly and preferably conditioned to a facies simulation. If that is the case the porosity realizations should be conditioned to the same model for a given realization. The seed number definitely should be the same for all properties of a given realization for reasons explained later.

I can visualize this by thinking of two realizations of a channel cut into shale/mud. You would expect to see high porosity and NTG inside the channel and low porosity and NTG outside in both realizations. However, the different random seed in each realization means the channels have different starting points and thus locations- they have no correlation. Cross-plot = point cloud.

4. For similar reasons as 3., any two realizations of net pore volume should be point clouds because they are dependent upon the porosity realizations, which are independent of each other.

5-6. You absolutely want to use the same random seeds for the simulation of each property in a given realization. Doing so ensures that properties within a given realization are consistent with one independent and equally probable description of the subsurface between well control. We don’t know or believe that this particular description is correct, but if it is then all the properties associated with it are correct too. Sometimes this is referred to as “nested” uncertainty and it is vital for meaningful comparison of mulitiple realizations. If seed numbers vary for properties within a given realization then you get a porosity simulation for one subsurface possibilty matched with a net/gross simulation for a completely different subsurface possibility. “Apples and oranges.”

3. Giles Philip says:

I would think it depends on how the random walk works. For example if both the porosity and net to gross deviate in the same way with each step – as in (eg) the both increase or decrease as each step is taken then that will lead to a biassed result. However if both variables have a dependency, then surely this is OK (but a little prescriptive). If however the two variables are independent then as long as the samples do not deviate identically it’s fine . So now I’m totally tied up in both my own explanation and the stats…..

How does a random walk work? Is it in fact not random?? As in the seed value provides a pre-defined set of samples for X runs?

• jyarus says:

Hi Giles: sorry to take so long in responding.

Technically, the random walk is established through a random number generator. In practice, the user (in most commercial software posts a random number (seed) at the beginning of a conditional simulation. The number the user selects initiates two operations; randomly selects the order in which the individual cells will be visited (random walk) and selects additional random numbers (up to the total number of realizations requested) that produce additional random walks. If working properly, and user selects a random number, say 12345, then asks for 100 realizations, the initial random number would be used to produce the first random walk, and then generate 99 more – each with its own random number. We often get questions about the legitimacy of this approach in terms of its true randomness. The only wisdom I can offer is the following:

1. To my knowledge, the random number generators used in commercial software are good
2. There is some basis for selecting a random number with at least 5 digits – this helps insure good behavior of the random number generator
3. There are complaints from some mathematicians that the selection of the random number, if repeated, generates the same set of random numbers and the ensuing realizations will be identical to any previous run if the data and parameterization of the data are identical – no changes have been made, this is a practical implementation that allows users to repeat their results should they wish to reproduce their study (due to corruption, or need to have another copy elsewhere, etc.). Just to be clear, this only occurs if EVERYTHING is the same as in the previous run – nothing has changed! In the end, this repeatability is a bookkeeping function.
Back to your question: If both variables are deviating in the same way, increasing/decreasing regularly in some direction (X, Y, or Z), then the data are non-stationary (mean and variance are regularly changing in any or directions), and some method should be introduced to remove the non-stationairity in all directions (the assumption in all the commercial algorithms for kriging or simulation is that that the data are stationary. There are lucid discussions on the domain of stationairity, the strict domain of stationairity, and the intrinsic domain which can be easily found that discuss this and the degree of ramifications (see Isaaks and Srivastava, for example).
However, it is also possible that the dependency between two variables is stationary to begin with, that is, there is no “trend.” You simply have a situation where, for example, a high net-to-gross correlates with a high porosity value, but there is no “trend” in net-to-gross. Some point to the Wamsutter play in Wyoming has having this characteristic. With this in mind, if you are looking to independently compare two realizations, from two stationary variables, 1 and 2, in a given cell, there is no guarantee that you will preserve the relationship, particularly away from your well control, unless the random seed used was the same from both. Rich address this elsewhere in his comments. This is confusing, so let me articulate.
1. Variable 1 we will call porosity and variable 2 we will call net-to-gross
2. We will say that each variable is stationary
3. We create variograms for each variable and find that there are similar directions of continuity (a continuity direction is not necessarily a trend).
4. You construct a cross plot between porosity and NTG, and find a strong relationship, say a correlation coefficient of .9.
5. You create 100 realizations for each variable (NOT collocated co-simulation) using their similar, but unique variograms, and different random seeds.
6. Pick a realization from each and do a comparison.
Under these conditions, while you may see similar directions of continuity for each variable, it is very possible that at a given xyz location in your geocellular grid, you can have a low porosity value associated with a high NTG – the opposite of what you expect. If you compare two realizations of the variables that used the same seed number, it is more likely that you will see the correct relationship because the order in which a given cell is visited is the same. Thus, the order of influence of all preceding cells and the proximity to points of hard control are the same. To ensure the relationship, consider the following workflow:
1. Select variable 2 (NTG) and simulate 100 realizations using the variogram as before
2. Select a logical realization (say a p10, p50, or p90)
3. Perform 100 collocated co-simulations with porosity, NTG variogram as a proxy for Porosity (Markov-Bayes approach).
4. Compare any porosity realization form collocated co-simulation result with the input NTG grid and you will see even more of the expected relationship (high porosity associated with high NTG), and the continuity directions will be honored.
Finally, you can use the full blown Collocated Co-Kriging approach in which case the user provides all three variograms (horizontal X, Y, and Z) that are not estimated from the co-variable, but calculated independently. The workflow would be something like this:
1. Calculate 100 realizations of NTG
2. Perform the full Collocated Co-Kriging to product a 3D grid of porosity, providing each variogram set (X, Y, Z) for each variable (porosity, NTG, and the Cross-variogram)
3. Use the same seed value as in step 1
4. Produce 100 realizations of porosity.
5. Select any two realizations with the same seed number to ensure the cell visitation order is the same.
6. Here again, you will see the proper relationship between porosity and NTG.
I hope this is more helpful than confusing. The bottom line is to at least run the same number of realizations for each variable and use the same starting seed. Then compare realizations with like seed numbers to ensure the each realization used the same random walk.