Block Model (Indicator Kriged) to Whittle
Indicator kriging is a geostatistical method which estimates the distribution of grades within a block. It does this by determining the percentage of ore in the block which is below a given cutoff. In terms of Whittle, this means that a certain percentage of the block has a given grade (cutoff). Therefore, each cutoff in an Indicator Kriged model will become a Whittle parcel of that block. All that is needed is to supply the cutoffs (which will be consistant throughout the model) and the percentage, which will change for every block, and a useful Whittle model can be created.
If the model has been filled using the block model's indicator kriging function, then the percentage attributes needed will be of the form: _ikc#<attribute name>#<cutoff>. Due to this, the ENTER INDICATOR KRIGING VALUES form may already be filled with the correct values.
Complete the EXPORT WHITTLE FILE form with the block model type set to 'Indicator Kriged' and choose Apply to display the ENTER INDICATOR KRIGING VALUES form.
Cutoff
The cutoff is a grade value. A mean value will be determined once a value for the second and subsequent cutoffs are entered. You may change the mean value for a given cutoff. Each cutoff will make a new parcel of the Whittle block, with a parcel value being determined by multiplying the mean by the specific gravity by the volume. The volume is calculated as the block volume times the percentage below the cutoff. In this way, all cutoffs will become parcels of the block.
This is potentially dangerous because Whittle has a maximum number of parcels per block. For Whittle 4.4 and later versions, the maximum is 999. For Whittle 4X prior to Whittle 4.4, the maximum is 99. For Whittle 4D, this maximum is 50. If each block contains 10 cutoff levels, then a maximum of 99 sub-blocks can contain ore for an optimisation in Whittle 4.4 or later versions, 9 sub-blocks for Whittle 4X prior to version 4.4, and 5 sub-blocks for a Whittle 4D optimisation. For an Indicator Kriged model, the resolution you use is critical. Using too many cutoffs or too many sub-blocks can result in an excessive amount of parcels per block. If the number of parcels per block exceeds the maximum, the information for the extra parcels is ignored by the function.
Mean
Because a cutoff is a threshold value, it will not necessarily be the value to the grade for that interval. It is much mode likely that the mean of a cutoff and the previous cutoff is closer to the true grade for that interval, and so a mean is determined. However, if you wish, you can change the mean to the grade value for that cutoff. The mean value is the grade used to perform the calculations, not the cutoff value.
Percentage attribute
Every cutoff has a percentage attribute. This value stores the percentage of the block whose grade falls below the cutoff. This means that the percentages stored in the attributes are cumulative. For example, if the percentage for the first cutoff is 0.5, then the percentage for the second cutoff must be greater than 0.5. Values in this percentage attribute must be a fraction between 0 and 1. If the model has been filled using the block model's indicator kriging function, then the percentage attributes needed will be of the form: _ikc#<attribute name>#<cutoff>.
Example calculation
The following is an example of the calculations that will be performed for the a block whose size is 2x5x10, and which is located at the lower left bottom corner of a model (the block with the minimum X, minimum Y, and minimum Z of model extents). When exported, this block will have Whittle ijk values of 1,1,1.
This example will assume that the following indicator kriged values exist for this block:
_ikc#data#1.000
0.000
_ikc#data#2.000 0.246
_ikc#data#3.000 0.466
_ikc#data#10.000 1.000
When exported to whittle, the following values were entered:
| Cutoff | Mean |
| 1 | 0.5 |
| 2 | 1.5 |
| 3 | 2.5 |
| 10 | 4.0 |
Note that for the first three cutoffs, the numerical average of the cutoff and its predecessor were used. However, for the last cutoff, the numeric average of 3 and 10 would be (10+3)/2=6.5, but this value was not used. As previously stated, the user may enter any value for the mean. In this example, we are assuming that we know from previously running the function BASIC STATISTICS on the data set used to perform the indicator kriging estimation that the data between 3 and 10 has a mean of 4.0.
We will assume in this example that the specific gravity of the block is 2.0.
When all of this data is used to export the block to Whittle, the following data is written to an output *.MOD file. In this example, we will assume that the output *.MOD file contains:
1,1,1,4,1.000,1.000,2.0
1,1,1,rock,0.0,0.0
1,1,1,rock,49.2,73.8
1,1,1,rock,44.0,110.0
1,1,1,rock,106.8,427.2
The first line:
1,1,1,4,1.000,1.000,2.0
is comprised of the following data:
i,j,k,number_of_parcels,mcaf,pcaf,sg
The next 4 lines:
1,1,1,rock,0.0,0.0
1,1,1,rock,49.2,73.8
1,1,1,rock,44.0,110.0
1,1,1,rock,106.8,427.2
have the following format:
i,j,k,rock_code,parcel_tonnage,contained_metal
The calculation for the parcel_tonnage and contained_metal for each cutoff are as follows (cff = cumulative frequency function):
parcel_tonnage = (cff(this cutoff) - cff(previous cutoff)) * block_volume * sg
cff(X) = value of the cumulative frequency function for cutoff X
For this block:
cff(0) = 0.000 (always a constant value of zero)
cff(1) = 0.000
cff(2) = 0.246
cff(3) = 0.466
cff(10) = 1.000
The value for cff(last cutoff) should always be 1.000. If not, the last cutoff is not high enough, and the Whittle *.MOD output file will not contain all of the tonnages that it should. The last cutoff value should be above your maximum data value.
Also, for each cutoff:
contained_metal = parcel_tonnage * grade
The calculations for each of the cutoffs is detailed below:
Cutoff = 1
parcel_tonnage = (cff(1) - cff(0)) * block_volume * sg
parcel_tonnage = (0 - 0) * 2*5*10 * 2.0
parcel_tonnage = 0
contained_metal = parcel_tonnage * grade
contained_metal = 0 * 0.5
contained_metal = 0
i,j,k, rock_code, parcel_tonnage, contained_metal
1,1,1,rock,0.0,0.0
Cutoff = 2
parcel_tonnage = (cff(2) - cff(1)) * block_volume * sg
parcel_tonnage = (0.246 - 0) * 2*5*10 * 2.0
parcel_tonnage = 0.246 * 100 * 2.0
parcel_tonnage = 49.2
contained_metal = parcel_tonnage * grade
contained_metal = 49.2 * 1.5
contained_metal = 73.8
i,j,k, rock_code, parcel_tonnage, contained_metal
1,1,1,rock,49.2,73.8
Cutoff = 3
parcel_tonnage = (cff(3) - cff(2)) * block_volume * sg
parcel_tonnage = (0.466 - 0.246) * 2*5*10 * 2.0
parcel_tonnage = 0.22 * 100 * 2.0
parcel_tonnage = 44.0
contained_metal = parcel_tonnage * grade
contained_metal = 44.0 * 2.5
contained_metal = 110.0
i,j,k, rock_code, parcel_tonnage, contained_metal
1,1,1,rock,44.0,110.0
Cutoff = 10
parcel_tonnage = (cff(10) - cff(3)) * block_volume * sg
parcel_tonnage = (1.000 - 0.466) * 2*5*10 * 2.0
parcel_tonnage = 0.534 * 100 * 2.0
parcel_tonnage = 106.8
contained_metal = parcel_tonnage * grade
contained_metal = 106.8 * 4
contained_metal = 427.2
i,j,k, rock_code, parcel_tonnage, contained_metal
1,1,1,rock,106.8,427.2
The output *.MOD file in this example is therefore:
1,1,1,4,1.000,1.000,2.0
1,1,1,rock,0.0,0.0
1,1,1,rock,49.2,73.8
1,1,1,rock,44.0,110.0
1,1,1,rock,106.8,427.2
Note that the sum of the tonnages for all parcels in the block is equal to the block volume * specific gravity.
Sum of parcel tonnages:
0 + 49.2 + 44.0 + 106.8 = 200 tonnes
Block volume * specific gravity:
2 * 5 * 10 * 2.0 = 200 tonnes
As previously stated, if the sum of the tonnages for all parcels is less than the block volume * specific gravity, the last cutoff was probably lower than the largest value in the data set used during estimation. A higher value for the last cutoff should be chosen, and estimation of the cumulative frequency function needs to be performed again.