Crosswell Tomographic Inversion with Block Kriging

Similar documents
Selected Implementation Issues with Sequential Gaussian Simulation

Rotation and affinity invariance in multiple-point geostatistics

Geostatistics on Stratigraphic Grid

A Geostatistical and Flow Simulation Study on a Real Training Image

Direct Sequential Co-simulation with Joint Probability Distributions

Non Stationary Variograms Based on Continuously Varying Weights

Short Note: Some Implementation Aspects of Multiple-Point Simulation

A workflow to account for uncertainty in well-log data in 3D geostatistical reservoir modeling

Indicator Simulation Accounting for Multiple-Point Statistics

Programs for MDE Modeling and Conditional Distribution Calculation

The Proportional Effect: What it is and how do we model it?

B. Todd Hoffman and Jef Caers Stanford University, California, USA

Multiple Point Statistics with Multiple Training Images

11-Geostatistical Methods for Seismic Inversion. Amílcar Soares CERENA-IST

Sampling informative/complex a priori probability distributions using Gibbs sampling assisted by sequential simulation

Geostatistical Reservoir Characterization of McMurray Formation by 2-D Modeling

Variogram Inversion and Uncertainty Using Dynamic Data. Simultaneouos Inversion with Variogram Updating

Fast FILTERSIM Simulation with Score-based Distance Function

Tensor Based Approaches for LVA Field Inference

MPS Simulation with a Gibbs Sampler Algorithm

Modeling Multiple Rock Types with Distance Functions: Methodology and Software

Using 3D-DEGA. Omer Inanc Tureyen and Jef Caers Department of Petroleum Engineering Stanford University

2D Geostatistical Modeling and Volume Estimation of an Important Part of Western Onland Oil Field, India.

Integration of Geostatistical Modeling with History Matching: Global and Regional Perturbation

Multiple-point geostatistics: a quantitative vehicle for integrating geologic analogs into multiple reservoir models

Simulating Geological Structures Based on Training Images and Pattern Classifications

Geostatistical modelling of offshore diamond deposits

Indicator Simulation for Categorical Variables

Using Kriging Methods to Estimate Damage Distribution

Multivariate Standard Normal Transformation

Conditioning a hybrid geostatistical model to wells and seismic data

Reservoir Modeling Combining Geostatistics with Markov Chain Monte Carlo Inversion

HIERARCHICAL SIMULATION OF MULTIPLE-FACIES RESERVOIRS USING MULTIPLE-POINT GEOSTATISTICS

On internal consistency, conditioning and models of uncertainty

Local Recoverable Reserves Prediction with Block LU Simulation

A Parallel, Multiscale Approach to Reservoir Modeling. Omer Inanc Tureyen and Jef Caers Department of Petroleum Engineering Stanford University

APPLICATION OF MATLAB IN SEISMIC INTERFEROMETRY FOR SEISMIC SOURCE LOCATION AND INTERPOLATION OF TWO DIMENSIONAL OCEAN BOTTOM SEISMIC DATA.

TRAVELTIME TOMOGRAPHY (CONT)

Improvements in Continuous Variable Simulation with Multiple Point Statistics

A009 HISTORY MATCHING WITH THE PROBABILITY PERTURBATION METHOD APPLICATION TO A NORTH SEA RESERVOIR

Effects of multi-scale velocity heterogeneities on wave-equation migration Yong Ma and Paul Sava, Center for Wave Phenomena, Colorado School of Mines

Algorithm-driven and Representation-driven Random Function : A New Formalism for Applied Geostatistics

Short Note. Non-stationary PEFs and large gaps. William Curry 1 INTRODUCTION

Hierarchical Trend Models Based on Architectural Elements

VARFIT: A Program for Semi-Automatic Variogram Modelling

Trend Modeling Techniques and Guidelines

A 3D code for mp simulation of continuous and

SPE Copyright 2002, Society of Petroleum Engineers Inc.

HIGH RESOLUTION STACKING OF SEISMIC DATA. Marcos Ricardo Covre, Tiago Barros and Renato da Rocha Lopes

Markov Bayes Simulation for Structural Uncertainty Estimation

Fermat s principle and ray tracing in anisotropic layered media

surface but these local maxima may not be optimal to the objective function. In this paper, we propose a combination of heuristic methods: first, addi

Adaptive spatial resampling as a Markov chain Monte Carlo method for uncertainty quantification in seismic reservoir characterization

Multi-azimuth velocity estimation

Crosswell Imaging by 2-D Prestack Wavepath Migration

Shortest-path calculation of first arrival traveltimes by expanding wavefronts

Bulgarian Math Olympiads with a Challenge Twist

Vidale, J., 1988, Finite-difference calculation of travel times, BSSA, Vo. 78, No. 6,

Data dependent parameterization and covariance calculation for inversion of focusing operators

Chapter 18. Geometric Operations

Inversion after depth imaging

Appropriate algorithm method for Petrophysical properties to construct 3D modeling for Mishrif formation in Amara oil field Jawad K.

Flexible Lag Definition for Experimental Variogram Calculation

SIMPAT: Stochastic Simulation with Patterns

High Resolution Geomodeling, Ranking and Flow Simulation at SAGD Pad Scale

A least-squares shot-profile application of time-lapse inverse scattering theory

Application of MPS Simulation with Multiple Training Image (MultiTI-MPS) to the Red Dog Deposit

GG450 4/5/2010. Today s material comes from p and in the text book. Please read and understand all of this material!

Seismic modelling with the reflectivity method

CONDITIONING FACIES SIMULATIONS WITH CONNECTIVITY DATA

Spatial Interpolation & Geostatistics

Ultrasonic Multi-Skip Tomography for Pipe Inspection

Writing Kirchhoff migration/modelling in a matrix form

Travel Time Tomography using Neural Networks

Geostatistics on Unstructured Grids: Application to Teapot Dome

Spatial Interpolation - Geostatistics 4/3/2018

University of Alberta. Multivariate Analysis of Diverse Data for Improved Geostatistical Reservoir Modeling

Petrel TIPS&TRICKS from SCM

RM03 Integrating Petro-elastic Seismic Inversion and Static Model Building

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Modelling, migration, and inversion using Linear Algebra

Introduction to seismic body waves Tomography

Projection Pursuit Multivariate Transform

History matching under training-image based geological model constraints

CONDITIONAL SIMULATION OF TRUNCATED RANDOM FIELDS USING GRADIENT METHODS

Electromagnetic migration of marine CSEM data in areas with rough bathymetry Michael S. Zhdanov and Martin Čuma*, University of Utah

Exploring Direct Sampling and Iterative Spatial Resampling in History Matching

A NUMERICAL EXPERIMENT ON NONLINEAR IMAGE RECONSTRUCTION FROM FIRST-ARRIVAL TIMES FOR TWO-DIMENSIONAL ISLAND ARC STRUCTURE

Note Set 4: Finite Mixture Models and the EM Algorithm

D-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview

Practical implementation of SRME for land multiple attenuation

Kriging in a Parallel Environment

LAB SCALE HYDRAULIC PARAMETER ESTIMATION. Andrew Scott Hartz. Copyright Andrew Scott Hartz A Thesis Submitted to the Faculty of the

Clustering and Visualisation of Data

Implementing non-stationary filtering in time and in Fourier domain

Maximum A Posteriori Selection with Homotopic Constraint

A MAP Algorithm for AVO Seismic Inversion Based on the Mixed (L 2, non-l 2 ) Norms to Separate Primary and Multiple Signals in Slowness Space

Algebraic Iterative Methods for Computed Tomography

A Program for Robust Calculation of Drillhole Spacing in Three Dimensions

P257 Transform-domain Sparsity Regularization in Reconstruction of Channelized Facies

Transcription:

Crosswell Tomographic Inversion with Block Kriging Yongshe Liu Stanford Center for Reservoir Forecasting Petroleum Engineering Department Stanford University May, Abstract Crosswell tomographic data can provide critical information between wells. This interwell ray average information should be integrated with point-support well data to build more accurate velocity models. The Block Kriging algorithm coupled with Direct Sequential Simulation is proposed for tomographic inversion. This approach allows honoring the ray average data. As for the target histogram, it needs a post-processing. An implementation workflow is presented. Issues, such as the data search neighborhood, fast calculation of the different covariances, the random path, are discussed. A case study using D synthetic well and ray average data is considered for testing. The preliminary results indicate that major heterogeneities between wells can be detected by honoring the ray average data. A sensitivity analysis show that the rays configuration is critical for detecting the interwell heterogeneity. Introduction The crosswell tomography data and the algorithm proposed for their integration with well data is presented. The synthetic data used for testing is introduced together with some preliminary results. Crosswell tomography data Seismic tomography data provide interwell information through measuring the time it takes for a signal to travel from a source located in one well to a receiver located in a neighboring well. The advantage of tomography data is that, due to their locations downhole, the ray paths avoid crossing the shallow weathered layers on top of the earth surface, such layers being a source of interference. Also there can be many sources and many receivers and these could be close to each other. This type of data can be used to detect the major heterogeneities (faults, discontinuities) between wells. Crosswell tomography is also used in field development, for example, for detecting the change in reservoir dynamic properties over production time (D seismic). Integration of tomography data with well data In the process of data integration for reservoir modeling, well data give the (deemed) most reliable information but only at the well locations; these are considered hard data to be reproduced exactly in our simulated models. For the remainder areas away from well locations, we depend

on seismic data carrying information with less resolution but with large areal coverage. Both well and seismic data are used as conditioning data. We want to integrate the valuable interwell tomographic information. Tomography data are different from well data or other seismic data in their volume support. Well data are quasi point-support data, each assumed representative of one grid node of the geocellular model being built, while crosswell tomography data are travel time (first arrivals) averaged over a ray path that is usually not rectilinear, hence of unknown geometry. This is a type of block data. Tomography data do not provide locally accurate information, but they can detect major heterogeneities between wells. The goal of this study is to improve velocity or slowness images by incorporating crosswell tomography data. Synthetic data used Obtaining a known D exhaustive velocity reference data set is desirable because the input data (well and ray average data) can be read from it, and it provides a reference to check any estimation or simulation result. The size of study area is km km, discretized into grid cells with each cell of dimension.km.km, see Figure (a). We first forward simulate a background velocity map using Sequential Gaussian Simulation (program SGSIM). The input histogram of velocity is taken from the P-wave velocity data of Stanford V, a fluvial depositional reservoir. The input velocity variogram is spherical with for long range.km in the x-ew direction and short range.km in the y-ns direction. It has a unit sill and the nugget effect equals.. Next, a high velocity peanut-shaped is added at the center of that simulated velocity map. The final reference velocity model is shown in Figure (b). Figure (c) gives the histogram of that reference model: it is close to being log-normal distribution except the high value tail resulting from the peanut discontinuity. From this reference model, we retain the two columns on the right and left sides as hard data, see Figure (d). Figure (e) zooms into the red spot marked on Figure (d). The length of the ray segment within grid i is denoted l i, and the velocity is v i. Thus, the total ray travel time T and the ray average velocity V are: n n l i T = t i = () v i= i= i ni= l i V = () T where t i is the travel time within grid i and n is the number of grids that a ray passes through. Preliminary results Based on the proposed block kriging approach, we implement the simulation using Direct Sequential Simulation algorithm (program DSSIM in Xu and Journel, 99, 999, Caers, ). This algorithm is discussed in detail in the next section. Some preliminary results are shown in Figure (). Figure (c) gives a simulated realization conditioned only to the well data along the two edges of the area. As expected, the well data are exactly honored. The high-velocity patterns located at the lower-left and upper-right corners are reproduced due to the information spray from hard data to the neighborhood. Since the interwell spatial variability is guided only by the input stationary variogram, it is not possible to generate any discontinuous high-velocity heterogeneity in any of the realizations. The E-type map, averaged from nine realizations

without ray conditioning confirms this point, see Figure (e). Since we are using DSSIM, the histogram can not be honored without some post-processing, compare Figures (d) and (c). Using the proposed algorithm, we generate a realization (Figure (g)) conditioned to both the well and ray data using the 8 ray configuration shown in Figure (a). We can now see on Figure (g) the high-velocity area at the center of the study field. This demonstrates the potential of crosswell tomography data in detecting major interwell heterogeneities. Figure (i) and Figure (j) gives the E-type results averaged from 9 realizations. The peanut discontinuity is reasonably reproduced by the E-type map, more continuously than by any single simulated realization. The simulated ray averages are retrieved by averaging the simulated node values along each individual ray path using Equation () and (). The 8 simulated ray averages cross plot with the 8 input ray averages along the line, see Figure (b). Thus, the ray average are exactly honored by each realization. Proposed algorithm In this section, we will start recalling the general block simple kriging system for tomographic inversion. Direct sequential simulation algorithm is then recapitulated, which is used for generating alternative realizations of the velocity (slowness) spatial distribution. Basic assumptions Before developing the proposed algorithm for integration of tomography data, the following initial simplifying assumptions are made: All ray paths are known and assumed rectilinear from source to receivers. That is, no bending and refraction of ray are considered at present. A stationarity random function model is considered, applicable to all rays and allowing to use Simple kriging (SK). Simple kriging estimation Consider the SK estimation of the field z -value at any location u space (Deutsch and Journel, 998): Z SK(u) m (u) = n(u) α= λ α (u) [D(u α ) m D (u α )] () where ZSK (u) is the SK estimator of the unknown value Z(u) at location u m (u) = E{D(u)} is the known expected value of the random variable Z(u) λ α (u), α =,, n(u) are the SK weights which vary with u D(u α ), α =,, n(u) are the point or ray block data retained in the neighborhood of location u for estimation of Z(u). m D (u α ) = E{D(u α )} is the known expected value of the datum random variable D(u α ). Note that n(u) varies with the location u. We can not extend the notation and expression () to all locations u of the study field by considering a column vector of estimators Z m. This is because the data set retained in the kriging system changes for each u.

The data D(u α ) itself can be written as: D(u α ) = v α L α (Z(u ))du +R α, α () v α(u α) where v α (u α ) denotes the volume or ray neighborhood related to datum D(u α ), Z(u ) is the point variable at location u within the ray neighborhood v α. The error term R α and the averaging function L α are defined hereafter. Each datum D(u α ) is seen as a spatial average of a known linear function L α ( ) of point values Z(u ). That linear function is typically limited to a volume along ray path v α centered at location u α. The function L α ( ) can vary from one datum D(u α ) to another D(u β ). For examples: v α could be the D trace of a seismic ray; or v α could be limited to a single hard datum location u α, in which case, D(u α ) = Z(u α ) + R α. That hard datum could be either an original hard sample Z(u α ), or it could be a previously simulated value D(u α ) = Z (l) (u α ) in a sequential simulation process. There are always some noise R α in any data. The following assumptions are considered for the noise term R α : R α Z(u α ), u () R α R β, α β (6) Expression () means homoscedasticity, i.e. the noise is independent of the true value Z(u α ) being measured. Expression (6) means that the errors are not cross correlated. Even if R α, R β relate to the same functional L α = L β = L but applied to different locations u α u β, the errors are homoscedastic and uncorrelated with: zero mean: E{R α } =, α known variance: V ar{r α } = σ R α, which could be obtained from a prior calibration of the different types of noise known diagonal covariance matrix C R = [Cov{R α, R β }]. In initial implementation, we consider that the seismic ray data are noise free, i.e. R α =, α. The noise of the ray data will be taken into account in future work. Stationarity hypothesis We assume that the study property, say velocity, is stationary within the study area, which includes all ray paths. Thus, we have m (u) = m, u. The expected value of D(u α ), m D (u α ) can then be simplified: m D (u α ) = E{D(u α )} = L α (E{Z vα (u )})du +E{R α } v α v α(u α) = L α (m (u ))du v α The SK expression () reduces to: Z SK(u) = = L α (m ) v α(u α) = m, assuming that L α is the identity function. (7) n(u) α= λ α (u) D(u α ) + n(u) α= λ α (u) m (8)

This is the standard stationary SK expression. Ray average data We apply the block kriging procedure to the ray data. The property we are simulating is slowness S(u), which can be easily inverted into velocity. From Expression (), we have: S vα (u α ) = S(u )du +R α, α (9) v α v α(u α) where S vα (u α ) is the average slowness over the ray path anchored or centered at location u α. If that ray path is a D line, the above equation becomes: S vα (u α ) = S(l )dl + R α, α () l α l α where l α is the path of ray α, and l is a segment of that ray path centered at location l. Multiply both sides of the above equation by l α, we get: S vα (u α ) l α = T α = S(l )dl, α () l α where T α is the observed first arrival or total travel time along that ray path. In a discrete form, the Equation () can be written as: T α = n(u α) i= S i l i () where n(u α ) is the number of grid nodes discretizing the ray l α, S i is the slowness associated to node i, l i is the corresponding ray path length. This expression gives the total travel time along the ray path as the sum of the travel time within each segment along the ray path. Based on the stationarity hypothesis, the mean of this ray average is: E{T α } = n(u α) i= n(u α) l i E{S i } = S i= l i = S l α () In the next section, we develop the block kriging system with general notations. Data-to-data covariance matrix: K ] K = [Cov{D α, D β }] n(u) n(u) = [C αβ with: = () C αβ = Cov{D α, D β } = Cov{D(u α ), D(u β )} du Cov{Z(u ), Z(u )}du + Cov{R α, R β } () v α v β v α(u α) v β (u β ) which is a known average covariance value, α, β. We could distinguish the two types of data. If the first integral volume in Expression () reduces to point support: D α = Z(u α ) and the second integral D β corresponds to a ray path of support v β with: Cov{Z(u α ), D β } = v β v(u β ) Cov{Z(u α ), Z(u )}du + = C(u α, D β ) (6)

since: Cov{Z(u α ), R β } =, per homoscedasticity. Similarly, if the two integral volumes in Expression () reduce to point support, we have: Cov{Z(u α ), Z(u β )} = C{u α u β }, since Cov{R α, R β } = (7) The previous data type distinction calls for blocking the data-to-data covariance matrix K into submatrices, with: n(u) = n (u) + n (u), with n (u) usually different from n (u): K = [ KAA K AB K t AB K BB ] = Cov{D t, D} (8) Note that the error variance V ar{r α} affect only the diagonal of the matrices K AA and K BB because all the error cross covariances are equal to zero per the error model () and (). Data-to-unknown covariance matrix: k { ] k = Cov D t, Z(u) [C }n(u) = α,u (9) We can develop this expression similarly to Equation (). Again, we would distinguish the two types of data: ] k = [ ka k B () with:. k A = [Cov {Z(u α ), Z(u)}] = [C(u α, u)] k B = [Cov {Z(u), B β )}], SK estimator Z SK(u), under stationarity with: Z SK(u) m = Λ t D = n(u) α= λ α (u) [D(u α ) m ] () Λ t = [λ α (u), α =,, n(u)] n(u) : SK weights [ ] [ ] A Z(uα ) m D = = : data of types A and B. B D(u β ) m SK system K Λ = k () Thus, we have: With: Λ = K k, ZSK(u) m = k T K D [ ] [ k t = k A k B ] n(u), D = Z(uα ) m, D(u β ) m n(u) 6

K = W = [ WAA W AB WAB t W BB ] n(u) n(u) We write the SK estimator as: SK variance [ ZSK(u) = m (u) + The SK or estimation variance is then written as: [ ] WAA W k A k B AB WAB t W BB σ SK(u) = V ar {Z(u) Z SK(u)} = V ar {Z(u)} Λ t k with: C() = V ar {Z(u)}, equal to the field stationary variance. Direct sequential simulation ] D () = C() k t k k () [ ] [ ] [ ] WAA W = C() k A k B AB ka W t AB W BB Sequential Gaussian Simulation is a robust and widely-used algorithm for simulation of continuous reservoir properties within an homogeneous facies. However, one major drawback of SGSIM is that its multinormal assumption requires to transform the data to normal space before simulation and perform back transform after simulation. The normal score transform is a nonlinear transform. It is not applicable to our case because we assume that the ray average data is the linear average of the point values along the ray. Thus, we need to work in the original space to preserve the linearity of ray average. DSSIM is the solution. It directly performs simulation in the original data space and has no restriction of multi-gaussian assumption. We can use any distribution type (Gaussian, log-normal, etc) to build the local conditional distributions. The theory of DSSIM can be found in Journel (99). However, a problem of DSSIM is that the simulated results can not reproduce the target histogram. Some post-processing, such as through the rank-preserving algorithm trans (Deutsch and Journel, 998), could be implemented to approximate the target histogram. Implementation in Fortran and SGEMS The above algorithm has been implemented in Fortran by Hansen (). I am now implementing a C++ version within the Stanford Geostatistical Modeling Software (SGEMS) (Remy, ). This new program is called VISIM for Volume data Incorporation Simulation. Program flowchart Figure () gives a flowchart of the algorithm: Import data and parameter settings Loop over all realizations k B 7

Loop over all rays Simulate all nodes along the present ray End of ray loop Loop over all remainder nodes Simulate each of the remainder nodes End of node loop Back transform to identify the target histogram End of realization loop The nodes along the ray are simulated first because they carry more information than the other nodes. This flowchart may change if we use a different simulation path. Programming in SGEMS SGEMS is a cross-platform software which offers many common geostatistics algorithms. It has been developed from the C++ library GsTL (Remy, ) with genetic programming concept. New algorithm can be implemented as plug-ins of SGEMS by taking advantage of the common abstraction and classes in GsTL without losing efficiency. A Graphic User Interface (GUI) was written to input the data and specify the simulation parameters, similar to the parameter file in a Fortran code. Then we need to initialize or construct all required basic objects or classes, such as the simulation grid, the variogram model, the ray object, the kriging system, etc. Next, an execute function is implemented to perform the simulation. This procedure is used for all simulation algorithms given in SGEMS. The major advantage is that new classes can be designed by reusing, inheriting or overriding the carefully identified and thoroughly defined previously coded classes or functions. Some critical issues relating to implementation are discussed in the following sections. Ray data input and storage issues In the Fortran program, the ray data are stored in two separate files. One file gives a summary of the ray data, including the number of the rays and the average value for each ray. Another file stores the ray paths. This avoids to store repeatedly the single ray average value at every node along the ray path. Any type of ray path can be considered. In the present SGEMS, two types of data can be imported, regularly spaced data (e.g., the simulation grid) and point set data (e.g., the hard data). The ray data could be imported as point set data, but they are actually different. Ray data have the same property value at all locations along a ray path. Also, once a ray is considered, all the nodes along that ray are considered as a whole when defining the search neighborhood or computing the block covariance. Thus, we enter the ray data as a separate object with specific member functions and member variables. In most cases, the ray path is not always located at the center of the simulation grids. For example, in Figure (), we have rectilinear rays (black lines) in the study area. They do not pass necessarily through the centers of the intersecting grids. We could relocate and assign the ray samples to the closest centers of the simulation grids, see the red dots in Figure (). This assignment would make the subsequent simulation convenient because the simulation could be performed in the simulation grid object, which is different from the ray object. But this will 8

cause broken or distorted rays and covariance inaccuracy. This problem becomes serious when the dimensions of the simulation grid are large. Thus it is a better idea to keep the rays at their original sample locations when computing the related covariances. Search neighborhood issues We have two types of data to search: point data (Figure 6(a)) and ray average data (Figure 6(b)). The point data include hard data and previously simulated values, which are plotted as red and black dots respectively. The ray data include the rays passing through the simulation location (the two thick red lines), the rays within the searching neighborhood but not passing through the simulation location (the blue lines) and those rays outside of the search range (the black lines in Figure 6(b)). We use two search ranges. One (the green ellipse in Figure 6(a)) is for point data search and the other (the pink ellipse in Figure 6(b)) is for ray data search. In order to reproduce the ray average data, we have to use not only all the point values (either hard or previously simulated values) within the search ellipse but also the point values outside the search ellipse but located on any ray passing through the simulation location (see those dots within the blue ellipses in Figure 6(a)). There are two types of constraints in the estimation of a node. First, the simulated node must satisfy the data (either point data or ray data) constraints within the search neighborhood. Second, at any point along a passing-by ray, the simulated value should contribute to the total ray average value (Equation ()). For this reason, we have to include all point data along a ray into the kriging system to ensure the ray average reproduction. To implement the ray search, we use a ray map to speed up the search. As the ray data are loaded, we create a ray map to indicate the ray locations. The ray map has the same grid configuration as the simulation field. At each node of the map, it stores the information about the number of rays passing by this node and which rays they are. Thus the ray search can be achieved by point data search. That is to say, we check each node in the ray search range (the pink ellipse in Figure 6(b)) to see which one is intersected by any ray path. If there is a ray passing through that node, we include that whole ray into the neighborhood. Also, the nodes can be sorted according to their distances to the simulation location. This information can help us to retain the closest certain number of rays. Covariance issues From the theory section, we need to compute types of covariance. These are point-to-point covariance C AA which can be computed through Expression (7), point-to-block covariance C AB which can be computed through Expression (6), and block-to-block covariance C BB which can be computed through Expression (). They are computed in different ways. In this implementation, we need to choose which covariance type should be used at any specific location. We store the different types of covariances (called Covariance set, Remy, ) in a matrix to handle the complexity resulting from ray data: [ ] CAA C AB () C t AB The point data and ray data within the search neighborhood are stored in a set of vectors or a matrix, see Expression (6). All point values within the search ranges are lumped into one category because they are used in the same way in simulation. They are stored in the first C BB 9

vector of Expression (6). Each ray (actually a set of point data) has to be considered as a category, which is stored as a vector in the Expression (6). Thus we get a set of neighborhoods (point neighborhood and ray neighborhoods). We call this vector set a Neighborhood set: [ [ [ ] [ ] ] point data vector], ray vector, ray vector (6) With the covariance set and neighborhood set previously defined, we can easily locate which type of covariance must be used. For example, if we want to compute the covariance between a point and ray #, the point is located in the first vector of the neighborhood set matrix (6). Its index is denoted as i = and the ray is located in the third vector of neighborhood set matrix, denoted as j = (if it is not in the first vector, we assign the index j = ). Then we go to Covariance set matrix () and choose the element (i, j). This is the covariance type that we need to use. Simulation path issue In most geostatistical simulation algorithms the simulation path is random, fully defined by the initial random seed number. Changing the seed results in a different random path and a different realization. A simulation path issue arises here because the existence of ray data makes the nodes along the rays different from other nodes. We would like to simulate the nodes along the ray path before the rest of the nodes since they are better informed by ray averages. We implemented both sequential and random path options in simulating the nodes along the ray. We can also consider a fully random simulation path. Hansen() has tested different such schemes. Preliminary Fortran results and analysis Brief summary of the Fortran VISIM Results Some tests of Fortran VISIM have been done by Hansen,. The results show that the major peanut-shaped heterogeneity can be detected by the proposed algorithm. How well the peanut is reproduced highly depends on the rays configuration. Sensitivity analysis shows the realizations to be sensitive to different data search neighborhoods but less to the different simulation paths. Some further investigations are presented in the following section. Reproduction of the ray data In Figure, we have shown that the input 8 ray averages are exactly honored. The same conclusion are also confirmed for the -ray and 6-ray cases. To take a closer look at ray data exactitude, we test a model with only grid nodes along a straight line with the ray passing through the center of each grid, see Figure 7(a). The grid dimension is... The ray average value is. We simulate values for each of the grid nodes with only ray average conditioning. The results of realizations and the corresponding E-type are given in Figure 7(b). The simulated values of each realization fluctuate around the ray average but the ray average is honored with reasonable accuracy. The E-type from these realizations is closer to the ray average line than any realization. Theoretically, with an infinite number of realizations, this E-type should identify the constant ray average line.

Conditioning to a single ray with high or low-velocity value We now study how the simulated result changes if we incorporate a single ray with a low average value or high average value. From the set of 8 rays, we selected ray #8 with the highest average value.77 and ray # with the lowest average value., see Figure 8. Note that both values are higher than the mean of well data.9 and the mean of the reference velocity model.98, see Figure 8(a) and Figure 8(b). We ran VISIM conditional to both well data and one of these two ray data. The results are shown in Figure 8. The simulation results with a single well data conditioning are also given in Figure 8. Incorporating ray #8 with the high value increases the simulated values along that ray path, see Figures 8(e). We can clearly identify the conditioning ray path from the E-type. The mean of simulated realization. is higher than the reference model mean.98. If we use ray # with the lower value., it is harder to identify the ray path from the E-type. Indeed, if the ray average value is close to the mean of hard data or that of the reference model, it becomes less informative for detecting heterogeneity between wells. Impact of changing ray configuration We now try different ray configurations to check their impact on the simulated results. The results are given in Figure 9. For comparison, we show the E-type without ray conditioning in the first row and the E-type with 8 rays conditioning in the second row of Figure 9. With the 8 rays conditioning, the peanut-shaped heterogeneity is well reproduced. In order to understand the role the two vertical rays play, we remove them and conditioning is done on the remainder 6 rays, see Figure 9(h). In the resulting simulation shown in Figure 9(f) the peanut becomes blur and the high value area on its top is not revealed. These two vertical rays provide the critical vertical resolution. The mean of simulated results decreases due to absence of the two high-value ray average data. In the fourth row, we use a ray configuration without any ray passing through the peanut. As expected, the peanut is not detected. The E-type is similar to that obtained without using any ray conditioning (first row of Figure 9). In the last row of Figure 9, we use only rays passing through the peanut. These rays are not enough to produce a clear peanut shape. They do bring, however, valuable information to the upper and lower study area. Conclusions and future work Conclusion These preliminary results show that the proposed block kriging algorithm can detect a major heterogeneity in between the wells and is applicable to crosswell tomographic inversion. This algorithm can be applied to any inversion with block-type average data. For example, in order to map the resistivity field of a piece of metal, we can set a source on one side and measure the resistivities at different locations along the edges of that metal. Then we move the source to another location and measure the resistivities again. This is a data configuration similar to tomography. This algorithm could be possibly used in medical imaging. Signals are sent out from one side of human body and received on the other side. Thus, we have block-type average data.

Future work The following issues will be investigated in the future work. Ray decimation In cross well tomography, a large number of rays are generated from one well and received in many other wells. Close-by rays are likely to be redundant as for the information they carry and cause matrix instability in the SK system. It is not practically possible to use all the rays in data processing. Thus, it is necessary to decimate some of them. First, we clean the ray data based on our experience and prior geological knowledge, to remove noises or artifacts. Next, some rays can be eliminated by mere subjective observation of the data, or we can write codes to select the more informative rays according to some criteria. For example, rays with extreme average values (either low or high) which usually carry important geological information should be kept; close-by and redundant rays could be decimated. The remainder rays should be such as to provide a reasonable coverage of the area deemed of interest, rays outside this area can be cut out. Multiple grid scheme No matter which simulation path is retained, one may consider a multiple-grid scheme to perform the simulation in a hierarchical way. The multiple-grid is an important concept used successfully in all geostatistical simulation algorithms. The basic idea is to first simulate over large scale grids with large data templates which can capture large scale structures. Then, simulate over the smaller scale grids with smaller data templates. At each simulation location, the ray average data, whose extent depends on the multiple-grid considered, should be used. This multiple-grid scheme can be applied with the usual purely random path or with a ray-byray simulation path. The sensitivity of results to using a multiple-grid scheme together with diverse simulation paths should be carefully investigated. Further investigation of Search Neighborhood A search neighborhood is used to reduce the number of data retained, thus reduce the kriging matrix size and CPU time. The point support data (hard original data and previously simulated values) can be handled in the same way as other geostatistical algorithms except for including all points along the ray. However, selection of which ray average data to retain is an issue. First, we need to determine which rays are most informative for the node being simulated. Then we need to consider whether we should consider the entire length of that ray or only its intersection with the search neighborhood. One solution is to use the entire length if that ray passes through the simulated node; Otherwise, retain only its intersection with the search neighborhood. If we use a multiple-grid scheme, different sizes of search neighborhood are used, hence the data to be retained along the rays should be adjusted based on the size of the search neighborhood. At different grids, different search strategies can be applied. Testing the LU option The LU Decomposition Algorithm (program lusim in Deutsch and Journel, 998 ) is very fast for simulating many realizations each small in size (few nodes) and sparsely conditioned. The practical limitation is that the total of number of nodes and conditioning data should not exceed a few hundreds. In Sequential Gaussian Simulation, we need to solve as many small

kriging systems as there are nodes times the number of realizations, with each time a new data search that account for different configurations of neighboring hard data and previously simulated values. The LU decomposition algorithm requires instead solving only once a single large kriging system that accounts for all simulated nodes and data locations simultaneously. Thus, it is considerably faster as long as the matrix LU decomposition can be done. Instead of simulating each realization one at a time, we might consider a nested sequence of simulations through LU decomposition with, at each step, all realizations simulated at once. Each sequence of LU simulations would be conditioned to the results of the previous one. This alternative should be considered seriously, for it has the potential of extreme speed, though possibly at the cost of poorer reproduction of the ray averages. Covariance lookup table The more data (point support or volume support) retained in the search neighborhood, the larger the covariance matrix and the more expensive its computation and inversion. To speed up the covariance matrix calculation, we can construct covariance lookup tables (including point-point, point-volume and volume-volume covariance values). All required covariances are computed and stored before simulation starts. Elements of the covariance matrix required for each specific system can be retrieved quickly by looking up the values from that table; some interpolation may be needed. Acknowledgment I would like to express my appreciation to the critical contribution of Dr. Thomas M. Hansen from University of Copenhagen. He wrote the initial Fortran program of VISIM and proved the algorithm. I would also like to thank my advisor, Andre G. Journel, for his theoretical guidance and implementation suggestions. References [] Caers, J., (), Direct sequential indicator simulation, the 6th International Geostatistics Congress, South Africa, April -,. p. [] Deutsch, C.V. & Journel, A.G., (998), GSLIB: Geostatistical Software Library and User s Guide, publ, Oxford Press, N.Y. [] Goovaerts, P., (997), Geostatistics for Natural Resources Evaluation, publ, Oxford Press, N.Y. [] Hansen, M.T., (), Visim: geostatistical tomography, SCRF report [] Journel A.G. & Xu, W., (99), Posterior identification of histograms conditional to local data, Mathematical Geology,, -9. [6] Journel, A.G.,(999), Conditioning geostatistical operations to non-linear volume averages, Math Geology, Vol., No. 8, pp. 9-9 [7] Remy, N. (), S-GEMS, A geostatistical earth modeling library and software, Ph.D thesis, Stanford University

[8] Remy, N. (), GsTL: The Geostatistical Template Library In C++, Master thesis, Stanford University [9] Sherif, R.E., & Geldart, L.P., (99), Exploration Seismology, nd edition, publ, Cambridge University Press, Cambridge [] Schlumberger, Oilfield Glossary, www.glossary.oilfield.slb.com, TX, Houston

Cell number km km Cell number (a) Grided study area (cell dimension:. by.).9.8.7.6....... Number of Data 6 mean.98 std. dev..66 coef. of var. maximum.98 upper quartile. median.7 lower quartile. minimum............6.7.8.9 (b) Reference velocity model...... velocity(km) (c) Histogram of the reference model Well data Well data v l ray Sources Ray average data Receivers l l v v (d) Well data and ray data (e) Ray segments in grids(zoom in red spot in left fig.) Figure : Synthetic model and data used

......6.7.8.9.9.8.. mean.98 std. dev..66.7.6................ velocity(km) (a) Reference velocity model (b) Histogram of the reference model.9.8.. mean.88 std. dev..7.7.6.8....................6.7.8.9 value (c) Realization without condi. ray (d) Histogram of the left realization.9.8.. mean.88 std. dev..7.7.6......................6.7.8.9 mean (e) Etype without condi. ray (f) Histogram of the left E-type.9.8.. mean.8 std. dev..67.7.6.8....................6.7.8.9 value (g) Realization with 8 condi. rays (h) Histogram of the left realization.9.8..6 mean. std. dev..6.7.6.....8.................6.7.8.9 mean (i) Etype with condi. rays (j) Histogram of left E-type map Figure : Preliminary results with and without ray conditioning 6

visim8pnut.par Ray Paths.9.8.7. Number of data 8 Number plotted 8 Y [km].6.... ray average(simul.)... X Variable: mean. std. dev.. Y Variable: mean. std. dev.. correlation. rank correlation........6.7.8.9 X [km] (a) Eighteen rays configuration...... ray average(ref.) (b) Simul. ray average vs ref. ray average Figure : Ray configuration and ray average reproduction 7

Read parameters and input data from input files Read ray path information Main loop over all realizations Loop over all rays (Sequential or Random) Define a path to simulate all nodes on the ray Main loop over all nodes on the ray (Sequential or Random) Perform the kriging to obtain conditional mean and variance along the ray Draw a random number Simulate a value and assign it to this node No No Finished all nodes on the ray? Yes Finished all the rays? Yes Define a random path to simulate the rest of the nodes in the field Main loop over all the rest of the nodes Perform kriging to obtain conditional mean and variance Draw a random value between and Simulate a value and assign it to this node No Finished all nodes? Yes Back transform (if needed) Write out the realization to output file No Finish all realizations? Yes End of program Figure : Program flowchart 8

.9.8.7.6...........6.7.8.9 Figure : Broken rays due to the ray location (a) Point support neighborhood (b) Ray data neighborhood Figure 6: Search neighborhood 9

.. ray (a) Geometry of grids with a ray passing at the center Simulated values of different realizations 6.8.6...8 mean:.8 mean:.6 mean:.99 mean:. ray average: E type mean:.9.6.......6.7.8.9 Grid locations (b) Four different realizations Figure 7: Ray average reproduction along a -grid path

......6.7.8.9.9.8.. mean.98 std. dev..66.7.6................ velocity(km) (a) Reference velocity model (b) Histogram of refer..9.8.. mean.88 std. dev..7.7.6......................6.7.8.9 mean (c) E-type without condi. ray (d) Histogram of E-type.9.9.8.7.6..6 mean. std. dev....8.7.6....8......................6.7.8.9 mean......6.7.8.9 (e) E-type condi. a high-value ray (f) Histogram of E-type (g) Ray 8 path.9.9.8.. mean. std. dev..8.8.7.7.6..6..........................6.7.8.9 mean......6.7.8.9 (h) E-type condi. a low-value ray (i) Histogram of E-type (j) Ray path Figure 8: Impact of incorporating a single ray

......6.7.8.9.9.8.. mean.88 std. dev..7.7.6................ mean (a) E-type without condi. ray (b) Histogram of left E-type.9.8..6 mean. std. dev..6.9.8..7.6..7.6....8........................6.7.8.9 mean......6.7.8.9 (c) E-type condi. to 8 rays (d) Histogram of left E-type (e) Config. of the 8 rays.9.8.. mean.98 std. dev...9.8..7.7.6..6............................6.7.8.9 mean......6.7.8.9 (f) E-type to 6 rays (g) Histogram of the left E-type (h) Config. of 6 rays.9.8.. mean.8 std. dev...9.8..7.6..7.6............................6.7.8.9 mean......6.7.8.9 (i) E-type condi. to 7 rays (j) Histogram of the left E-type (k) Config. of 7 rays.9.8.. mean.7 std. dev...9.8..7.6..7.6............................6.7.8.9 mean......6.7.8.9 (l) E-type condi. to rays (m) Histogram of the left E-type (n) Config. of rays Figure 9: Impact of changing ray configuration