Two approaches to direct block-support conditional co-simulation

11
Two approaches to direct block-support conditional co-simulation $ Xavier Emery a,b,n , Julia ´ n M. Ortiz a,b a Department of Mining Engineering, University of Chile, Avenida Tupper 2069, Santiago 837 0451, Chile b ALGES Laboratory, Advanced Mining Technology Center, University of Chile, Beauchef 850, Santiago 837 0451, Chile article info Article history: Received 29 January 2010 Received in revised form 23 July 2010 Accepted 26 July 2010 Available online 7 November 2010 Keywords: Support effect Change of support Linear model of coregionalization Sequential Gaussian simulation Spectral simulation Fast Fourier transform Discrete Gaussian model abstract Change of support is a common issue in the geosciences when the volumetric support of the available data is smaller than that of the blocks on which numerical modeling is required. In this paper, we present two algorithms for the direct block-support simulation of cross-correlated random fields that are monotonic transforms of stationary Gaussian random fields. The first algorithm is a variation of sequential Gaussian co-simulation, in which each block value is simulated in turn, conditionally to the original data and to the previously simulated block values, while the second algorithm is based on spectral co-simulation in the framework of the discrete Gaussian change-of-support model. These two algorithms are implemented in computer programs and applied to a synthetic case study and to a mining case study. Their properties and performances are compared and discussed. & 2010 Elsevier Ltd. All rights reserved. 1. Introduction The numerical modeling of regionalized variables in the geos- ciences faces the problem that, most often, the volumetric support of the available samples is several orders of magnitude smaller than that at which modeling is required. In mining, drill hole samples are cylindrical volumes a few inches in diameter and several meters long, whereas selective blocks may be of thousands of cubic meters. Likewise, the volumetric support required for flow simulation or reservoir modeling is much larger than the cores obtained from wells. When passing from the quasi-point support of the samples to the block volume, a model is needed in order to account for the change in the statistical properties of the variable(s) under study. The traditional approach for constructing numerical models at a block support is to discretize each block into a finite set of points, perform point-support simulation, and average the point-support values simulated within each block (Verly, 1984; Journel and Kyriakidis 2004). The discretization must be at a sufficient resolution to approximate the average of the whole set of point-support values within the block support. Although simple and appealing, this approach is demanding in terms of CPU time when large domains (several millions of blocks) are considered and/or when a fine resolution is needed for block discretization (e.g., for large block supports). Memory storage problems also arise for simulation algorithms in which all the point-support values must be kept in memory, such as the LU decomposition of covariance matrix (Davis, 1987), the discrete spectral (Chil es and Delfiner, 1997), and the sequential Gaussian algorithm with a random visiting path (Deutsch and Journel, 1992). In this context, the goals of this paper are threefold: (1) to propose algorithms for directly simulating one or more cross- correlated variables at a block support; (2) to illustrate their applicability, strengths, and weaknesses through examples and case studies; and (3) to provide practical considerations and computer codes for practitioners. Specifically we will consider a variation of the sequential Gaussian algorithm, as well as a discrete spectral algorithm in which an explicit change-of-support model (the discrete Gaussian model) is incorporated within the simula- tion procedure. So far, such a change-of-support model has been essentially associated with sequential and turning bands simula- tion in the univariate context (Marcotte, 1994; Emery, 2009); here it will be extended to the multivariate context and associated with another (discrete spectral) algorithm. The proposed approaches allow reducing CPU time and memory storage requirements when a block-support simulation is considered, with minimal loss of accuracy in comparison with traditional point-support simulation followed by block averaging. 2. Block-support sequential simulation 2.1. Principle Consider a regionalized variable, viewed as a realization of a real-valued random field Z that is a monotonic transform of Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/cageo Computers & Geosciences 0098-3004/$ - see front matter & 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cageo.2010.07.012 $ Code available from server at http://www.iamg.org/CGEditor/index.htm. n Corresponding author at: Department of Mining Engineering, University of Chile, Avenida Tupper 2069, Santiago 837 0451, Chile. Tel.: +56 2 978 4498; fax: + 56 2 978 4985. E-mail address: [email protected] (X. Emery). Computers & Geosciences 37 (2011) 1015–1025

Transcript of Two approaches to direct block-support conditional co-simulation

Computers & Geosciences 37 (2011) 1015–1025

Contents lists available at ScienceDirect

Computers & Geosciences

0098-30

doi:10.1

$Codn Corr

Chile, A

fax: +56

E-m

journal homepage: www.elsevier.com/locate/cageo

Two approaches to direct block-support conditional co-simulation$

Xavier Emery a,b,n, Julian M. Ortiz a,b

a Department of Mining Engineering, University of Chile, Avenida Tupper 2069, Santiago 837 0451, Chileb ALGES Laboratory, Advanced Mining Technology Center, University of Chile, Beauchef 850, Santiago 837 0451, Chile

a r t i c l e i n f o

Article history:

Received 29 January 2010

Received in revised form

23 July 2010

Accepted 26 July 2010Available online 7 November 2010

Keywords:

Support effect

Change of support

Linear model of coregionalization

Sequential Gaussian simulation

Spectral simulation

Fast Fourier transform

Discrete Gaussian model

04/$ - see front matter & 2010 Elsevier Ltd. A

016/j.cageo.2010.07.012

e available from server at http://www.iamg.o

esponding author at: Department of Minin

venida Tupper 2069, Santiago 837 0451,

2 978 4985.

ail address: [email protected] (X. Emery).

a b s t r a c t

Change of support is a common issue in the geosciences when the volumetric support of the available data

is smaller than that of the blocks on which numerical modeling is required. In this paper, we present two

algorithms for the direct block-support simulation of cross-correlated random fields that are monotonic

transforms of stationary Gaussian random fields. The first algorithm is a variation of sequential Gaussian

co-simulation, in which each block value is simulated in turn, conditionally to the original data and to the

previously simulated block values, while the second algorithm is based on spectral co-simulation in the

framework of the discrete Gaussian change-of-support model. These two algorithms are implemented in

computer programs and applied to a synthetic case study and to a mining case study. Their properties and

performances are compared and discussed.

& 2010 Elsevier Ltd. All rights reserved.

1. Introduction

The numerical modeling of regionalized variables in the geos-ciences faces the problem that, most often, the volumetric supportof the available samples is several orders of magnitude smaller thanthat at which modeling is required. In mining, drill hole samples arecylindrical volumes a few inches in diameter and several meterslong, whereas selective blocks may be of thousands of cubic meters.Likewise, the volumetric support required for flow simulation orreservoir modeling is much larger than the cores obtained fromwells. When passing from the quasi-point support of the samples tothe block volume, a model is needed in order to account for thechange in the statistical properties of the variable(s) under study.

The traditional approach for constructing numerical models at ablock support is to discretize each block into a finite set of points,perform point-support simulation, and average the point-supportvalues simulated within each block (Verly, 1984; Journel andKyriakidis 2004). The discretization must be at a sufficient resolutionto approximate the average of the whole set of point-support valueswithin the block support. Although simple and appealing, this approachis demanding in terms of CPU time when large domains (severalmillions of blocks) are considered and/or when a fine resolution isneeded for block discretization (e.g., for large block supports). Memorystorage problems also arise for simulation algorithms in which all the

ll rights reserved.

rg/CGEditor/index.htm.

g Engineering, University of

Chile. Tel.: +56 2 978 4498;

point-support values must be kept in memory, such as the LUdecomposition of covariance matrix (Davis, 1987), the discrete spectral(Chil�es and Delfiner, 1997), and the sequential Gaussian algorithm witha random visiting path (Deutsch and Journel, 1992).

In this context, the goals of this paper are threefold: (1) topropose algorithms for directly simulating one or more cross-correlated variables at a block support; (2) to illustrate theirapplicability, strengths, and weaknesses through examples andcase studies; and (3) to provide practical considerations andcomputer codes for practitioners. Specifically we will consider avariation of the sequential Gaussian algorithm, as well as a discretespectral algorithm in which an explicit change-of-support model(the discrete Gaussian model) is incorporated within the simula-tion procedure. So far, such a change-of-support model has beenessentially associated with sequential and turning bands simula-tion in the univariate context (Marcotte, 1994; Emery, 2009); hereit will be extended to the multivariate context and associated withanother (discrete spectral) algorithm. The proposed approachesallow reducing CPU time and memory storage requirements whena block-support simulation is considered, with minimal loss ofaccuracy in comparison with traditional point-support simulationfollowed by block averaging.

2. Block-support sequential simulation

2.1. Principle

Consider a regionalized variable, viewed as a realization ofa real-valued random field Z that is a monotonic transform of

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–10251016

a stationary Gaussian random field Y on a d-dimensional Euclideanspace

8xARd,ZðxÞ ¼fðYðxÞÞ, ð1Þ

with f a non-decreasing function known as the Gaussian trans-formation function. One is interested in the simulation of Z over agiven domain of Rd at a block support, i.e., at a support larger thanthat of the available Z-data (quasi-point support), conditional tothese data.

The well-known sequential Gaussian algorithm (e.g., Deutschand Journel, 1992) can be adapted to perform the simulation at theblock support, without the need for storing point-support simula-tions. The proposed algorithm consists of the following steps.

(1)

Divide the simulation domain into non-overlapping blocks. (2) Select a block v in the domain among the blocks not yet

simulated. Selection can be made according to a regularsequence or randomly.

(3)

Simulate the Gaussian random field Y at a set of nodes {x1,y xM}discretizing v, conditionally to the data located in and around v.

(4)

Back-transform and regularize the values simulated at step (3):

ZðvÞ �XMi ¼ 1

$iZðxiÞ ¼XMi ¼ 1

$ifðYðxiÞÞ: ð2Þ

In this work, the weights {$1,y $M} are set to 1M. Another

option would be to define {$1,y$M} as the ordinary krigingweights of Z(v) from {Z(x1),y Z(xM)}.

(5)

Summarize the point-support Gaussian values simulated atstep (3) by a weighted sum of the form

Yv ¼XMi ¼ 1

liYðxiÞ: ð3Þ

Concerning the choice of the weights {l1,y,lM}, one option isto identify Yv with the simulated point-support value closest tothe block center, which amounts to setting l¼1 for the nodeclosest to the block center and 0 otherwise. However, in mostcases, this option is likely to lose information and can certainlybe improved. In the sequel, following an idea by Boucher andDimitrakopoulos (2009), we will consider an equal weightingof the Gaussian values (l1 ¼ :::¼ lM ¼ 1=M).

(6)

Incorporate the Gaussian variable Yv into the set of condition-ing data (flag this datum as block-support for subsequentcalculations).

(7)

Go back to step (2) until all the blocks are simulated.

The idea behind step (5) is to replace a large number of point-support conditioning data by a single block-support datum, so thatsequential simulation requires much less data than in the tradi-tional approach, hence less CPU-time and memory requirements.

Since Y is a Gaussian random field, the conditioning data (originalpoint-support data and block-support data as in Eq. (3)) have multi-variate Gaussian joint distributions. Therefore, the random vector(Y(x1),y Y(xM)) to be simulated at step (3) is Gaussian; its mean isthe vector of simple kriging prediction (Yn(x1),y Yn(xM)) and itsvariance-covariance matrix is the variance-covariance matrix of simplekriging errors (Y(x1)–Yn(x1),y,Y(xM)–Yn(xM)) (Anderson, 2003). Thisresult can be generalized to the case when the average value of theGaussian random field Y is deemed uncertain, by substituting ordinarykriging for simple kriging (Emery, 2008a), and also to the multivariatecase by using vector random fields and substituting co-kriging forkriging.

2.2. Computer program

The previous algorithm is implemented in a Matlab programcalled BLOCKSGCOSIM. This program can be run with an externalparameter file (Table 1) or by entering the input arguments in theMatlab workspace (see the header of the accompanying programfile for details). It offers the following features:

Block-support simulation of one or several transformed Gaus-sian random fields. There is no restriction on the number of suchfields other than memory limitations. � Simulation is performed in R3, or in sub-spaces by setting one or

two coordinates to a constant value. The target blocks can beeither scattered or gridded blocks. In the latter case, the usermust specify the number of blocks, minimal coordinate andblock size along each axis of R3.

� The user also has to indicate the number of points discretizing

the blocks along each direction. Some considerations on thismatter are indicated in Appendix A.

� Simulation can be conditioned to point-support data. In the

multivariate case, program BLOCKSGCOSIM handles heteroto-pic data sets, for which not all the variables are known at eachdata location. Missing values can be codified as NaN (not-a-number) or as values outside a trimming limit interval. Non-conditional simulation is done when the data file does not exist.

� The transformation function f between the Gaussian and raw

random fields (Eq. (1)) is defined by a piecewise linear inter-polation based on a conversion table {(zk,yk), k¼1yK}, com-pleted by exponential functions for tail extrapolation

8yoy1,fðyÞ ¼ zminþðz1�zminÞelðy�y1Þ

8y4yK ,fðyÞ ¼ zmaxþðzK�zmaxÞeluðyK�yÞ

(ð4Þ

Accordingly, for each variable, the user must specify theminimal and maximal values (zmin and zmax) and two positivetail parameters (l,l0) (sub-routine BACKTR).

� The spatial structure of the point-support Gaussian random

field(s) is represented by a linear model of (co)regionalization(Wackernagel, 2003). This is somewhat different to the proposalof Boucher and Dimitrakopoulos (2009), which rests on afactorization by minimum/maximum autocorrelation factorsbut is not suited to multivariate data sets with a stronglyheterotopic sampling.

� There is no restriction on the number of nested structures that

can be used in the linear model of (co)regionalization. Eachstructure can have a geometric anisotropy and is defined bythree angles and three scale factors (Deutsch and Journel, 1992).The available structure types are listed in sub-routine COVA;any new model can be added in this sub-routine.

� Two strategies are considered for searching neighboring con-

ditioning data (Deutsch and Journel, 1992). The first one is usedfor the original point-support data and consists of a search byincreasing distance, using the anisotropic distance measureassociated with an ellipsoid centered at the block targeted forsimulation. The user can split this ellipsoid into octants anddefine a maximal number of data to search within each octant.To speed up the search, data are pre-ordered into super-blocks(sub-routines PICKSUPR, SUPERBLK, and SEARCH). The secondstrategy is used for searching simulated blocks and correspondsto a spiral search on a regular grid; the user has to define thesearch radii and the maximal number of block data to search(sub-routine SPIRAL). For the sake of simplicity, the samerotation angles are applied in both strategies for orientatingthe search radii (sub-routine SETROT). For grid simulation, theconditioning data can be migrated to the closest grid nodes, in

Table 1Default parameter file for program BLOCKSGCOSIM.

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–1025 1017

which case only the spiral search is applied. For simulation atscattered blocks, only the ellipsoid search is used.

� At each block, the set of Gaussian random variables to be

simulated at the discretizing locations {x1,y,xM} constitutes aGaussian random vector whose mean is the vector of co-krigingprediction from the neighboring data and whose variance-covariance matrix is the variance-covariance matrix of co-kriging errors. This vector is simulated via the LU decompositionalgorithm (Davis, 1987). The point-to-block and block-to-blockcovariances required in the co-kriging system are calculatednumerically, by using the block discretization and averagingpoint-to-point covariances.

� Conditioning can be done by either simple or ordinary co-

kriging (sub-routine COKRIGE1); the choice of one or the otherco-kriging type depends on whether or not the average values ofthe Gaussian random fields are assumed known.

� The blocks targeted for simulation can be visited according to a

regular or to a random sequence, with a possible definition ofmultiple grids in the case of gridded blocks (Tran, 1994). Ifdesired, the same sequence can be used for all the realizations,which decreases the required CPU time.

BLOCKSGCOSIM creates an external ASCII file, in which eachcolumn corresponds to one realization of one variable (the first

columns correspond to the first realization of the whole coregio-nalization, and so on).

3. Block-support spectral simulation

3.1. Principle

Another approach for direct block-support simulation is toincorporate an explicit change-of-support model into the simula-tion algorithm. So far, several attempts have been made to combinegeneric change-of-support models into the sequential simulationalgorithm, in order to estimate the successive conditional distribu-tions (Marcotte, 1994; Emery, 2002). In the following we areinterested in a specific model, namely the discrete Gaussian model(Matheron, 1976; Rivoirard, 1994; Chil�es and Delfiner, 1999).

We will preserve the notations used in Section 2, and denote byxAv a point-support location uniformly distributed within v. Asshown by Emery (2007), the discrete Gaussian model amounts toassuming that {Y(x), xARd} is a stationary, standard Gaussianrandom field, and that the block-support random field to simulatecan be written in the following fashion:

8vARd,ZðvÞ ¼fvðYðvÞÞ ð5Þ

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–10251018

where:

{Y(v), vARd} is the regularized Gaussian random field over block v

YðvÞ ¼1

9v9

Zv

YðxÞdx�1

M

XMi ¼ 1

YðxiÞ, ð6Þ

with {x1,y,xM} a set of nodes discretizing v.

� fv is a block-support Gaussian transformation function, defined as

8yAR,fvðyÞ ¼

Zf yþ

ffiffiffiffiffiffiffiffiffiffiffi1�r2

pt

� �gðtÞdt, ð7Þ

with r the standard deviation of Y(v) and g(.) the standard Gaussianprobability density function.

3.2. Simulation algorithm

The algorithm for direct block-support simulation consists ofthe following steps.

(1)

Divide the simulation domain into non-overlapping blocks. (2) Calculate the normal score values (Y) associated with the

original data values (Z).

(3) Simulate the regularized Gaussian random field {Y(v), vARd} at

these blocks, which is essentially a non-conditional simulationproblem. Since, in general, the blocks are located on a regulargrid, discrete spectral simulation turns out to be computation-ally efficient and accurate (Appendix B). The covariance func-tion of Y(v) and the standard deviation r are obtained byregularizing the covariance function of {Y(x), xARd}; calcula-tions can easily be made by use of a set of nodes discretizing theblocks.

(4)

Simulate the point-support Gaussian random field {Y(x), xARd}at the conditioning points. This is done by putting (Emery,2007, 2009)

8xAv,YðxÞ ¼ YðvÞþffiffiffiffiffiffiffiffiffiffiffi1�r2

pTðxÞ, ð8Þ

where the T(x) are independent normally distributed randomvariables.

(5)

Condition {Y(v), vARd} to the point-support data. To this end,calculate the residuals between the normal scores dataobtained at step (2) and the point-support random fieldsimulated at step (4), interpolate the residuals by kriging,and add the kriged residuals to the non-conditional randomfield {Y(v), vARd} simulated at step (3) (Emery, 2009). If severalpoint-support data belong to the same block, it is possible towork with several residuals for this block, therefore there is noneed to remove data.

(6)

Back-transform the conditioned random field obtained at step(5), as per Eq. (5).

This algorithm is a variation of the proposal by Emery (2009),which relies on the turning bands method for non-conditionalsimulation at step (3). Here, the discrete spectral method allowsobtaining exact realizations of Gaussian random fields (Chil�es andDelfiner, 1997), while multi-normality is only approximate withturning bands.

The proposed algorithm can also be generalized to the multi-variate case, in order to co-simulate a set of cross-correlatedtransformed Gaussian random fields at a block support (forconditioning, it suffices to substitute co-kriging for kriging; fornon-conditional co-simulation, see Appendix B).

3.3. Computer program

The spectral algorithm is implemented in a Matlab program(BLOCKSPECOSIM) that can be run with a parameter file (Table 2)or by entering the input arguments in the Matlab workspace (seeprogram-file header). This program offers the following features:

Block-support simulation of one or several transformed Gaus-sian random fields. The correlation structure of these Gaussianrandom fields is represented by a linear model of coregionaliza-tion; if need be, any new basic covariance model can be added insub-routine COVA. There is no restriction on the numbers ofrandom fields to simulate and of nested structures used in thecoregionalization model. � Simulation is performed in R3 or in sub-spaces. Target blocks

must be on a regular grid and the user has to indicate thenumber of points discretizing the blocks along each direction(Appendix A) in order to calculate regularized covariancefunctions.

� Simulation can be conditioned to data (heterotopic data sets and

missing values can be handled as in program BLOCKSGCOSIM).

� The point-support transformation functions are modeled

according to Eq. (4). The associated block-support transforma-tion functions (Eq. (7)) can be derived analytically, see Emery(2009) and sub-routine BLOCKBACKTR for details.

� For conditioning co-kriging, a unique neighborhood is used if

the data search radii are set to infinity. Otherwise, for each block,the conditioning data are searched by using super-blocks and anellipsoid/octant search (sub-routines PICKSUPR, SUPERBLK, andSEARCH). Conditioning is done by simple or ordinary co-kriging;the dual form of co-kriging is used in case of a uniqueneighborhood (sub-routines COKRIGE2, DUAL, and SETDUAL).

As for BLOCKSGCOSIM, BLOCKSPECOSIM creates an ASCII out-put file with one realization of one variable per column.

4. Applications

4.1. Non-conditional simulation on a 2D grid

In the 2D plane, let us consider the non-conditional simulationof a transformed Gaussian random field over a regular grid with10�10 blocks with size 10�10, each block being discretized into5�5 points. Three approaches are compared:

(1)

Sequential block-support simulation by using program BLOCKSG-COSIM. The grid nodes are visited in a random sequence and thesuccessive conditional distributions are calculated by consideringthe 30 nearest simulated block-values.

(2)

Spectral block-support simulation by using programBLOCKSPECOSIM.

(3)

Point-support simulation at the discretization points via thediscrete spectral algorithm and regularization to the blocksupport. Because the points are on a regular grid, this approachis perfectly accurate (Chil�es and Delfiner, 1997).

The variogram is the sum of a nugget effect (between 0% and 75%of the total unit sill) and an isotropic spherical model with a rangeof between 10 and 50 units. This yields 12 different cases that arenumbered as in Table 3. Three transformation functions are also putto the test (Eq. (1))

8yAR,f1ðyÞ ¼ y

8yAR,f2ðyÞ ¼ expðy=3Þ

8yAR,f3ðyÞ ¼ expðyÞ

Table 3Cases under consideration and parameters of variogram models.

Case number Nugget effect Range

1 0 10

2 0.25 10

3 0.5 10

4 0.75 10

5 0 30

6 0.25 30

7 0.5 30

8 0.75 30

9 0 50

10 0.25 50

11 0.5 50

12 0.75 50

Table 2Default parameter file for program BLOCKSPECOSIM.

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–1025 1019

For each case, a total of 10,000 realizations are constructed, fromwhich the distributions of the spatial average, variance, and variogramat the first lag vector are calculated. These distributions are summar-ized via box-plots indicating the mean value (as a circle), as well as the5%, 25%, 50%, 75%, and 95% quantiles (Figs. 1–3).

It is seen that the two proposed approaches for direct block-supportsimulation reproduce fairly well the statistics (average, variance,variogram) obtained by regularizing the point-support realizations.This result was predictable when the transformation function is equalto the identity function (Fig. 1), since this case boils down to simulating

a Gaussian random field at a block support. In case of a highly non-linear transformation function, the reproduction of statistics remainsexcellent, although sequential block-simulation performs slightlybetter than spectral block-simulation (Fig. 3).

4.2. Conditional simulation of a coregionalization: mining case study

The second application deals with a porphyry copper depositlocated in northern Chile. The data set under study consists of10,306 drill hole samples composited at 1.5 m and distributed in avolume of about 230 m�300 m�340 m (Fig. 4). In each sample, thegrades of the main product (copper), by-products (silver and molyb-denum), and impurities (arsenic and antimony) have been assayed(Table 4). In the following, it is of interest to co-simulate the variableswith the greatest impact on the recoverable resources, namely thecopper and arsenic grades. These two variables have a linear correlationcoefficient of 0.72, which can be explained by the mineral associationspresent in the deposit (enargite, tennantite, and luzonite).

The analysis consists of the following steps:

(1)

Cell declustering of the original data. (2) Transformation of the copper and arsenic data to normal scores. (3) Calculation of the sample simple and cross variograms of the

normal scores data.

(4) Fitting of a linear model of coregionalization. The nested

structures correspond to a nugget effect and two anisotropic

Fig. 1. Box plots for spatial average (A), variance (B) and variogram at first lag (C), for transformation function f1. Black: sequential block-support simulation. Blue: discrete

spectral block-support simulation. Red: discrete spectral point-support simulation + regularization. (For interpretation of the references to color in this figure legend, the

reader is referred to the web version of this article.)

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–10251020

exponential models (Fig. 5)

gCu gCu2As

gCu2As gAs

0:35 0:18

0:18 0:18

� �nugget

þ0:45 0:25

0:25 0:14

� �exponentialð30m, 40mÞ

þ0:12 0:15

0:15 0:68

� �exponentialð70m, 140mÞ

In the previous equation, the distances into brackets corre-spond to the practical ranges along the horizontal and verticaldirections, respectively.

(5)

Definition of a regular grid covering the area of interest. Such agrid contains 16�20�30 blocks with size 15 m�15 m�10m. The block discretization is set to 5�5�2 (Appendix A).

(6)

Construction of 100 conditional realizations of copper andarsenic block grades with each of the two programs BLOCKSG-COSIM and BLOCKSPECOSIM; see Table 1 and Table 2 for detailson the implementation parameters. For comparison, a set of100 conditional realizations is also constructed with programTBCOSIM (Emery, 2008b), which consists in regularizing point-support realizations obtained via the turning bands method; in

this case, one thousand lines are used for simulating eachnested structure, while the remaining parameters are the sameas in Table 2.

(7)

For each realization, calculation of the basic statistics on thecopper and arsenic grades (averages, standard deviations,coefficient of correlation) and of the recoverable copperresources (namely, the fraction of total tonnage and meancopper grade above cut-off) with and without a constraint onthe maximum allowable arsenic grade (500 g/t). The expectedstatistics and expected recoverable resources are defined by anaverage over the realizations.

Although some fluctuations can be seen in the resultingstatistics (Table 5), none of them is out of range, which indicatesa satisfactory reproduction of the grade distributions at theblock support. However, when compared to the turning bandsmethod (considered as the ‘‘reference case’’ as it does not use anyspecific change-of-support model), the spectral method showsslightly better matching results than the sequential method, inparticular for the statistics that jointly involve the two variables(correlation coefficient between copper and arsenic grades; ton-nage and mean copper grade when accounting for a restriction onthe arsenic grade). This suggests that the reproduction of thedependence between the two variables is slightly poorer

Fig. 2. Box plots for spatial average (A), variance (B) and variogram at first lag (C), for transformation function f2. Black: sequential block-support simulation. Blue: discrete

spectral block-support simulation. Red: discrete spectral point-support simulation+regularization. (For interpretation of the references to color in this figure legend, the

reader is referred to the web version of this article.)

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–1025 1021

with sequential co-simulation. One explanation may be the use of alimited number of previously simulated block-support values (20)for determining the joint conditional distributions in sequential co-simulation, a parameter that is not needed in turning bands andspectral co-simulation. Another explanation may be that sequen-tial co-simulation uses a migration of the point-support data to thegrid nodes (see parameters in Table 1): this provokes a distortion(the data coordinates can be modified a few meters) and a loss ofinformation (if several data belong to the same block, only one ofthem is kept; data located outside the regular grid are removed)that do not happen with spectral co-simulation.

In terms of CPU time required for constructing the realizationson a Pentium IV desktop with 2.83 GHz, the spectral methodoutperforms the other two alternatives. Turning bands is threetimes slower than spectral co-simulation, and this value rises tomore than six times in the case of sequential co-simulation. The useof an efficient spectral method for simulating gridded values thusprovides a significant speed up. This would not be the case if blocksimulation were desired on a scattered set of locations, insofar asanother simulation algorithm would have to be used. Here, thegreater CPU time of sequential co-simulation can be explainedbecause a different visiting path has been chosen for each realiza-tion, so that the simulation started from scratch at each realization.

In contrast, in spectral and turning bands co-simulation, theconditioning co-kriging step requires searching for neighboringdata and solving a co-kriging system only once in order to make allthe realizations conditional to the data, yielding a considerablesaving in CPU time.

Sequential co-simulation could be speeded up by consideringthe same path for all the realizations, thus a single search and co-kriging for determining conditional distributions. Such an imple-mentation leads to a total CPU time of 154 min to generate 100realizations (faster than spectral co-simulation), but it implieskeeping in memory all the simulated block values (9600 blocks�2variables�100 realizations, totalizing 1,920,000 values). With thetraditional approach (point-support co-simulation followed byblock averaging), memory requirements would be more severe,insofar as each block is discretized into 50 points: in such a case, thetotal of point-support values to simulate (96,000,000) would makeimpractical sequential co-simulation with a single visiting path,hence the usefulness of direct block co-simulation.

Further improvements to reduce CPU time (not implemented inBLOCKSGCOSIM and BLOCKSPECOSIM) could be obtained byrecourse to fastest algorithms for searching the conditioningneighboring data, e.g., octrees, and to parallel computing(Mariethoz, 2010; Sepulveda and Ortiz, 2010).

Fig. 3. Box plots for spatial average (A), variance (B) and variogram at first lag (C), for transformation function f3. Black: sequential block-support simulation. Blue: discrete

spectral block-support simulation. Red: discrete spectral point-support simulation+regularization. (For interpretation of the references to color in this figure legend, the

reader is referred to the web version of this article.)

Fig. 4. Location maps (plan view and cross section) of available data.

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–10251022

Table 4Declustered statistics on grade data points.

Element Number of data Minimum Maximum Mean Standard deviation

Cu (%) 10,304 0.01 32.98 1.358 2.136

Ag (g/t) 10,018 0.01 2330.0 30.36 62.46

Mo (g/t) 8764 3.00 4840.0 58.72 104.94

As (g/t) 10,159 5.00 68,340 1524.5 4060.4

Sb (g/t) 4560 1.00 8240.0 153.55 482.77

Fig. 5. Sample (dashed lines) and modeled (solid lines) simple and cross variograms of copper and arsenic grades, along horizontal (red) and vertical (black) directions. (For

interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Table 5Statistics on simulated grades at block support.

Turning bands co-simulation Sequential co-simulation Spectral co-simulation

Average of copper grade (%) 1.282 1.353 1.313

Average of arsenic grade (g/t) 1349.4 1298.2 1414.1

Standard deviation of copper grade (%) 0.925 1.024 0.964

Standard deviation of arsenic grade (g/t) 2155.0 2400.3 2312.0

Correlation copper-arsenic 0.461 0.399 0.456

Fraction of tonnage above 0.7% Cu (without/with restriction on arsenic) 0.723/0.249 0.729/0.309 0.728/0.258

Mean copper grade above 0.7% Cu (without/with restriction on arsenic) 1.586/1.251 1.677/1.400 1.622/1.279

CPU time for 100 realizations on Pentium IV 2.83 GHz (min) 570 1211 190

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–1025 1023

5. Discussion and conclusions

Although they rest on different paradigms, the proposed sequen-tial and spectral algorithms have several common properties:

(1)

Both algorithms make use of a regularized Gaussian randomfield (Eqs. (3), (6)), which finally conveys the relevant informa-tion for addressing the change-of-support problem on thetransformed random field. Accordingly, they yield approximatesolutions to this problem when the transformation function

(Eq. (1)) is non-linear, in particular when the univariatedistribution of Z is highly skewed.

(2)

Both algorithms allow simulating in a single step random fieldswhose covariance function consists of several nested struc-tures. This is different from other approaches such as turningbands simulation, in which each nested structure is treatedseparately.

(3)

Both algorithms may be impractical if too many blocks or toomany variables have to be simulated, insofar as the entire set ofsimulated values must be kept in memory. However, sinceblocks are directly simulated, this problem is less important

TablBloc

Co

Ar

Co

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–10251024

than in the case of point-support sequential or spectralsimulation followed by block averaging.

Each algorithm also has specific properties and restrictions. Inthe sequential algorithm, one difficulty is the choice of theneighborhood in which to search for the conditioning information(in particular, for the previously simulated block values). As for thediscrete spectral approach, it only allows the simulation on griddedblocks, which is consistent with the assumptions underlying thediscrete Gaussian change-of-support model, while some short-scale information is lost due to the randomization of the datalocations within the blocks. Besides, due to possible occurrence ofnegative Fourier coefficients, discrete spectral simulation may notbe perfect, in particular if the correlation range is large or in case ofa coregionalization model with a zonal anisotropy; this problemcan be solved by setting the negative Fourier coefficients to zero orby increasing the size of the simulation domain (Chil�es andDelfiner, 1997).

The traditional approach (point-support simulation on a densegrid followed by block regularization) is appealing because it doesnot require any additional hypothesis to perform change ofsupport. With suitable algorithms such as turning bands, it isflexible with respect to block and data locations (there is no needfor gridded blocks or for data migration to block centers) and largesimulation domains can be simulated in separated runs, avoidingmemory storage problems (Emery, 2008b).

The advantages of direct block-support simulation are thereduction of CPU time and, for specific algorithms such as thesequential and discrete spectral, the lower memory requirementswith respect to the traditional approach. The results shown inSection 4 indicate that direct block-support simulation providessatisfactory results under similar implementation conditions.Although one knows that there are approximations, these do notsignificantly impact the final results. The proposed alternatives arealso versatile enough to incorporate several co-regionalized vari-ables and handle heterotopic data sets.

Acknowledgements

This research was funded by the Chilean Commission for Scientificand Technological Research (CONICYT) through FONDECYT Project1090013. The authors acknowledge two anonymous reviewersfor their constructive comments, as well as the support of theAdvanced Laboratory for Geostatistical Supercomputing (ALGES)and the Advanced Mining Technology Center at University of Chile.

Appendix A. Block discretization

The discretization of blocks by points occurs at two levels:

Discretization needed in the traditional and the proposedsequential approaches, for averaging point-support simulatedvalues.

e 6k-support variances and covariances associated with different discretization levels

Discretization

2�2�2 3�3�2

pper grade block-support variance 0.595 0.615

senic grade block-support variance 0.414 0.436

pper–arsenic block-support covariance 0.337 0.350

Discretization needed in direct block-support simulation(sequential or spectral) for calculating point-to-block andblock-to-block covariances.

Both discretization levels conform to the idea of replacingthe true block value (an integral calculated over the block) by anarithmetic average over a set of M nodes discretizing the block.However, they are not strictly equivalent, since the first discretiza-tion level usually concerns the original variable (Z) while thesecond discretization level concerns its Gaussian transform (Y): if Z

has a very long-tailed distribution, one may need a larger number ofdiscretizing nodes to accurately approximate the true block value,than in the case of a distribution with little skewness or of aGaussian distribution. In this sense, the discretization needed indirect block-support simulation turns out to be less demandingthan that used in the traditional approach.

Considerations to determine an adequate block discretizationinclude:

.

The support of the conditioning data, which may not be exactly a‘‘point’’ support (e.g., composite data along drill holes).

� The anisotropy of the fitted covariance or variogram models. � The robustness of the calculated point-to-block and block-to-

block covariances, which should change little when increasingthe discretization.

For instance, in the presented mining case study, one deals withcomposite data of 1.5 m length, while the block height is 10 m, sothat the discretization along the vertical direction should notexceed 6. The variogram models being isotropic in the horizontalplane and the block size being 10 m along the east–west and north–south directions, the same discretization can be used along thesetwo directions. Numerical tests with discretizations from 2�2�2to 21�21�6 have been performed in order to calculate the block-to-block variances and covariances between the Gaussian randomfields associated with copper and arsenic grades (Table 6). Identi-fying the results of the 21�21�6 discretization with the trueblock-support variances and covariances, one can determine thediscretizations that yield accurate approximations to these truevalues. In the present case, based on Table 6, a 5�5�2 discretiza-tion is deemed satisfactory.

Appendix B. Discrete spectral simulation

The discrete spectral simulation algorithm allows simulating aGaussian random field on a regular grid, and has been alreadydescribed by several authors (e.g., Pardo-Iguzquiza and Chica-Olmo, 1993; Chil�es and Delfiner, 1997). In a nutshell, the algorithmconsists of the following steps:

(1)

Consider a periodized covariance function and compute thecovariance values between grid nodes. The size of the gridshould be at least twice the size of the final simulation domainalong each direction.

5�5�2 7�7�3 10�10�5 21�21�6

0.623 0.627 0.629 0.629

0.445 0.448 0.450 0.448

0.355 0.357 0.359 0.360

X. Emery, J.M. Ortiz / Computers & Geosciences 37 (2011) 1015–1025 1025

(2)

Compute the Fourier transform of the previous covariancevalues. If need be, set the negative Fourier coefficients to zero.

(3)

Simulate two sets of mutually independent Gaussian randomvariables, with means equal to zero and variances related to theFourier coefficients obtained at the previous step. Combine thesevariables into a set of complex Gaussian random variables.

(4)

Re-arrange the simulated random variables to handle the sym-metries and periodicities implied by the use of discrete Fouriertransforms, see Pardo-Iguzquiza and Chica-Olmo (1993).

(5)

Invert the sequence of complex Gaussian random variables usingthe inverse Fourier transform. This yields a sequence of randomvariables with the periodized covariance calculated at step (1).

(6)

Along each direction, discard the random variables associatedwith coordinates greater than half the grid size.

As mentioned by Chil�es and Delfiner (1997), this algorithm iscomputationally efficient if one uses fast Fourier transforms, andyields an exact simulation of Gaussian random fields over regulargrids, unless corrections for negative Fourier coefficients are madeat step (2). Such corrections are avoided if, in each direction, thesize of the simulation grid considered at step (1) is greater thantwice the range of the covariance model along this direction.

The previous algorithm can be extended to the multivariatecase. It suffices to replace the scalar terms at steps (1)-(2)(covariance values and Fourier coefficients) by matrix terms, andto consider random vectors instead of random variables at steps (3)to (6). The Fourier matrices (step (2)) must be positive semi-definite, otherwise a positivity correction can be considered (Chil�esand Delfiner, 1999). The reader is referred to sub-routine SPEC-MAIN for implementation details.

Appendix C. Supplementary materials

Supplementary data associated with this article can be found inthe online version at doi:10.1016/j.cageo.2010.07.012.

References

Anderson, T.W., 2003. An Introduction to Multivariate Statistical Analysis, 3rd edn.Wiley, Hoboken, New Jersey, 721 pp.

Boucher, A., Dimitrakopoulos, R., 2009. Block simulation of multiple correlatedvariables. Mathematical Geosciences 41 (2), 215–237.

Chil�es, J.P., Delfiner, P., 1997. Discrete exact simulation by the Fourier method. In:Baafi, E.Y., Schofield, N.A. (Eds.), Geostatistics Wollongong’ 96. Kluwer

Academic, Dordrecht, pp. 258–269.Chil�es, J.P., Delfiner, P., 1999. Geostatistics: Modeling Spatial Uncertainty. Wiley,

New York, NY, 695 pp.Davis, M.W., 1987. Production of conditional simulations via the LU triangular

decomposition of the covariance matrix. Mathematical Geology 19 (2),

91–98.Deutsch, C.V., Journel, A.G., 1992. GSLIB: Geostatistical Software Library and User’s

Guide.. Oxford University Press, New York, 340 pp.Emery, X., 2002. Conditional simulation of nongaussian random functions. Math-

ematical Geology 34 (1), 79–100.Emery, X., 2007. On some consistency conditions for geostatistical change-of-

support models. Mathematical Geology 39 (2), 205–223.Emery, X., 2008a. Uncertainty modeling and spatial prediction by multi-Gaussian

kriging: accounting for an unknown mean value. Computers & Geosciences 34(11), 1431–1442.

Emery, X., 2008b. A turning bands program for conditional co-simulation of cross-

correlated Gaussian random fields. Computers & Geosciences 34 (12),1850–1862.

Emery, X., 2009. Change-of-support models and computer programs for direct block

support simulation. Computers & Geosciences 35 (10), 2047–2056.Journel, A.G., Kyriakidis, P.C., 2004. Evaluation of Mineral Reserves: a Simulation

Approach. Oxford University Press, Oxford, UK, 216 pp.Marcotte, D., 1994. Direct simulation of block grades. In: Dimitrakopoulos, R. (Ed.),

Geostatistics for the Next Century. Kluwer Academic, Dordrecht, pp. 245–258.Mariethoz, G., 2010. A general parallelization strategy for random path

based geostatistical simulation methods. Computers & Geosciences 36 (7),953–958.

Matheron, G., 1976. Forecasting block grade distributions: the transfer functions. In:Guarascio, M., David, M., Huijbregts, C.J. (Eds.), Advanced Geostatistics in the

Mining Industry. Reidel, Dordrecht, pp. 237–251.Pardo-Iguzquiza, E., Chica-Olmo, M., 1993. The Fourier integral method: an efficient

spectral method for simulation of random fields. Mathematical Geology 25 (2),177–217.

Rivoirard, J., 1994. Introduction to Disjunctive Kriging and Nonlinear Geostatistics.

Oxford University Press, Oxford, UK, 181 pp.Sepulveda, E., Ortiz, J., 2010. Distributed-multiprocess implementation of kriging for

the estimation of mineral resources, In: Castro, R., Emery, X., Kuyvenhoven, R.,(Eds.), Proceedings of the Fourth International Conference on Mining Innovation

MININ 2010, Gecamin, Santiago, pp. 433–442.Tran, T.T., 1994. Improving variogram reproduction on dense simulation grids.

Computers & Geosciences 20 (7-8), 1161–1168.Verly, G., 1984. The block distribution given a point multivariate normal

distribution. In: Verly, G., David, M., Journel, A.G., Marechal, A. (Eds.),Geostatistics for Natural Resources Characterization. Reidel, Dordrecht, pp.495–515.

Wackernagel, H., 2003. Multivariate Geostatistics—An Introduction with Applica-

tions. Springer, Berlin, 387 pp.