Information Technology Reference
In-Depth Information
4 Case Study
The strategy was tested using a well-known geostatistical simulation program,
named
sisim
, which delivers 3D stochastic simulations of either integer-coded
categorical variables, or continuous variables with indicator data defined from a
cumulative density function. The
sisim
algorithm is part of a legacy library of
geostatistical tools called GSLIB [7], which was implemented in Fortran 77/90
and uses a single thread of execution.
Asketchof
sisim
execution can be viewed in Algorithm 9. For each simulation,
a regular lattice is defined over which a random path
of points in the domain
ʩ
are visited and simulated. At every node, a local search of neighboring data or
previously simulated nodes is performed, and for each category (categorical case)
or each threshold value (continuous case) a local interpolation is done by simple or
ordinary kriging, using the corresponding structural variographic model that pro-
vides a measure of the spatial continuity of the indicator variables. With these re-
sults a conditional cumulative distribution function is built of the random variable
at the simulation location, from which a simulated value is drawn using Monte-
Carlo simulation. The routine
create random path
creates the random path
P
P
based in the seed
˄
and
simulate
modifies the
index
-th value of the array
V
tmp
storing in it the result of a local interpolation using the parameters
ʳ
,
ʺ
and
˄
.
Noneoftheseroutineshavesideeffects,soeach iteration of the outer loop, corre-
sponding to simulations, can be executed independently. This kind of application
can be easily parallelized, distributing the iterations through local threads and/or
distributed processes (embarrassingly parallel application [28]).
Input
:(
V
,ʩ
): sample data base values defined in a 3D domain;
ʳ
: structural
variographic models;
ʺ
: local interpolation parameters;
˄
: seed for
pseudo-random number generator;
N
: number of generated simulations;
output.txt
: output file
1
for
isim
∈{
1
,...,N}
do
2
Pₐ
create random path
(
ʩ,˄
);
V
tmp
ₐ
zeros
(
V
);
3
for
ixyz
∈{
1
,...,|ʩ|}
do
4
index
ₐP
ixyz
;
5
V
tmp
index
ₐ
simulate
(
index
,ʳ,ʺ,˄
);
6
7
end
8
write
(
output.txt
,
V
tmp
);
9
end
Output
:
N
stochastic simulations stored in file
output.txt
Algorithm 1.
SISIM geostatistical simulation program, sequential algorithm