Multi-Seam Coal Modeling with SURPAC
Multi-Seam Coal Modeling with SURPAC
with
SURPAC Software
May, 1997
Updated to Vision August 2001
CONTENTS .......................................................................................................................................................... 2
INTRODUCTION ................................................................................................................................................ 3
This tutorial outlines a procedure for modeling a multi-seam coal deposit with SURPAC. As is the case in most
of SURPAC, there is more than one way to perform the same task, and this tutorial demonstrates but one
method. Experience with the package will allow you to explore other methods. Prior to undertaking this
tutorial, the user should be familiar with the basic concepts of SURPAC and/or have taken an “Principles of
SURPAC” training course. It is also recommended that the user be familiar with the SURPAC geological
database, and the use of a text editor.
PROJECT BACKGROUND
Campbell Valley Coal have just finished a drilling program on their Campbell Valley property, which is
approximately 2 kilometres east-west by 1.5 kilometres north-south. Drilling has intercepted two minable
seams in the region. They have been simply identified as the upper seam (US) and the lower seam (LS). A
regional syncline, plunging to the south at an average gradient of 3% has deformed both seams across the entire
property. Dendritic erosion has worn the area into hilly topography in the region. Both seams outcrop at
various locations across the property. Due to thick vegetation, the outcrop line has not been mapped, and must
be interpreted from drill hole structural contacts. The upper seam is approximately 0.5 to 1.0 meter thick, and is
relatively low in sulphur, but high in ash content. The lower seam is approximately 0.25 to 1.5 meters thick and
is higher in sulphur, but lower in ash. The lower seam also contains from 0 to 3 partings within the seam,
which must be mined separately. The upper seam does not contain any partings.
It has been determined that both seams must be mined simultaneously and blended to meet client quality
criteria. The extent of economically minable coal must be determined. Where both seams exist in a vertical
column of data, the strip ratio will be calculated as:
BCM waste above upper seam + BCM waste between upper and lower
Tonnes coal in upper seam + Tonnes coal in lower seam
In some locations, the upper seam has been entirely eroded away, and the strip ratio will be calculated as:
BCM waste above upper seam
Tonnes coal in lower seam
The strip ratio will then be contoured at a value of 10:1 to determine the economic pit limit.
2. Copy the file [Link] and [Link] from the diskette into that directory
If you do not have all of these files, please contact your SURPAC support office.
The main purpose of this manual is to outline the procedure for modeling a multi-seam coal deposit with
SURPAC. Thus, there will not be a great amount of detail given to this portion of the manual. Please refer to
the SURPAC GEOLOGICAL DATABASE tutorial for a detailed explanation of creating and loading
databases.
Change directory (by right clicking on the “Coal” directory, and selecting “Select as working directory” . This
directory should then be marked with a “tick”
At the main menu, press the (this replays a macro). Enter the following, and press APPLY:
[Link]
At the “DEFINE ALL FIELDS FOR ALL TABLES” form, flip through the various tables by clicking on the
tab buttons at the top. The fields in the sample and geology tables are defined as illustrated below.
[Link] [Link]
Again, just press APPLY at each form until the macro finishes.
There should be no errors. If there are any errors, please contact your SURPAC support office.
You may use VIEW TABLE ROW to view the contents of any or all tables.
When you are finished viewing the data, and before you leave the database, type GRAPHICS at the Function:
prompt.
Put on the Toolbar for “Database” by right clicking in the grey area of the main toolbar.
From the Geological Database menu, select “DISPLY DRILLHOLE COLLARS” icon
At the next form, enter the field to display the drill hole names on the following form and press apply:
[Link]
[Link]
Use the icon to plot a 2-D grid at a spacing of 100. You should then see all of the drill holes:
Use to plot markers on string 1. Note that string 1 represents spot heights.
In planning ahead to use the INTERSECT DTMS function to create outcrop lines, we need a string (like string
1000) that is slightly larger than the main area, and below the elevation of all of the data of interest.
Under the Menu SURFACES – DTM FILE FUNCTIONS – CREATE DTM FROM A STRING FILE:
Fill in the form as follows:
Recall the file [Link], by clicking and dragging it into graphics. In order to replace a file on screen hold
. Leave all other settings at the default values.
Use icon to turn lights on. Enter the following and press APPLY:
[Link]
Use the VIEW menu to familiarise yourself with the data. Try SECTION, then ORBIT/ROLL - ORBIT UP and
ORBIT RIGHT/LEFT. Select PREVIOUS, then try the VIEWER.
Once you are familiar with the data, exit graphics, icon .
We will now use the function ZONE THICKNESS to extract the floor of the upper seam.
Select EXTRACT - ZONE THICKNESS AND DEPTH, fill in the form as shown below, but before pressing
apply, click and HOLD DOWN the HELP button. Move up to FORM, then release.
Note that the help text describes what will be written to the output file:
D1 D2 D3 D4 D5 D6
Hole ID Coal Thickness Parting Depth of top of Depth of Number of
Thickness seam bottom of seam intercepts of coal
[Link]
If there were any limiting criteria we wished to apply for the extraction, this next form is where we would enter
it. Some examples of constraints are: “area = northpit”, or “y < 30000”.
[Link]
Recall the file US_FLOOR1.STR (click and drag). To remove other images from the graphics work space, use
icon
Hide strings, , Plot markers , and use to display Z values (this is on the Display/Hide Toolbar).
By closely examining the elevations, you should see a gentle synclinal structure, plunging to the south, but it is
not obvious. A DTM surface would show the structure better. When we create the DTM, note that string 1 is
the only string, and that it is to be used as a spot height string, as the lines connecting the points do not represent
any real feature, and should not be used as a breakline.
Use the CREATE DTM FROM STRING FILE (under SURFACE – DTM FILE FUNCTIONS) and enter the
following, and press APPLY:
Note that “Use descriptions” is set to “Y”. This will allow us to use the DTM for more than just structural floor
data.
Select the COLOUR DTM BY FIELD icon . Enter the following, and press APPLY:
[Link]
You should now see the DTM coloured by elevation, with blue being lowest, and red highest.
In the VIEW MENU – DATA VIEW OPTIONS – VIEW SCALE FACTORS (icon ) to increase the vertical
exaggeration 10 times
When you are finished viewing the data, exit the viewer. To reset view use icon
Recall from the help text that the following information is written out to each point:
D1 D2 D3 D4 D5 D6
Hole ID Coal Thickness Parting Depth of top of Depth of Number of
Thickness seam bottom of seam intercepts of coal
Since we used descriptions when creating the DTM, we can use COLOUR DTM BY FIELD to show coal
thickness as by colours.
On a clear screen, use to hide DTM and to hide strings, display markers, and plot descriptions
on D2 (the seam thickness).
Use to Display the DTM (this will redraw the DTM after using Clear Screen).
Use COLOUR DTM BY FIELD in the same manner, but this time colour the DTM based on the D2 field:
[Link]
Use ZONE THICKNESS to create a file called LS_FLOOR1.STR that represents the floor of the lower seam
(remember the seam code for the lower seam is LS).
Create a DTM of it and use COLOUR DTM BY FIELD to display the structural floor values. Again, look for
the south-plunging syncline. This time try using TOGGLE DTM COLOUR SMOOTHING to “sharpen
up” the edges of the colours.
[Link]
We will now extract quality data (ash, sulphur, moisture, etc.) from the database into string files.
From the main geological database menu, select COMPOSITE - BY GEOLOGICAL CONSTRAINTS. Enter
the following values and press APPLY:
[Link]
[Link]
At the next form, enter the following constraining the file to the Upper Seam (US) and press APPLY:
[Link]
[Link]
D1 D2 D3 D4 D5 D6 D7 D8
ash sulphur moisture calorific value density Hole_id depth_from depth_to
Use POINT PROPERTIES to identify a point, and view the description field values in the message
window.
[Link]
Once you have finished viewing this data, exit graphics and return to the geological database menu.
Exercise:
Create a file called LS_QUAL1.STR which contains the same quality parameters IN THE SAME ORDER as
shown above, but for seam code LS. When you are done, stay in graphics. Plot a grid of 100 meters in both
directions
We now have all the files necessary for creating a block model:
You should now be in graphics viewing LS_QUAL1.STR as markers with a 100m grid drawn.
We will create a model that covers the data. The model will have the following extents:
[Link]
Recall the file [Link], by clicking and dragging the file into graphics. This will automatically bring it
into another layer, and once the rending icon has been used , the relative positions of the samples can be
observed in relation to the topography.
Note that the topo file entirely covers the area of the model we are going to create.
Clear graphics
We can no hide the geological database menus and toolbars, and display the BLOCK MODELLING toolbars
and menus by right clicking in the grey area at the top adjacent to the menu bars.
Select OPEN BLOCK MODEL Enter the following and press APPLY:
[Link]
Enter the following values at the next form, read the text below, then APPLY:
[Link]
A couple of topics need to be covered here. SURPAC’s block model was originally intended to model
attributes in three dimensions. Thus, when used in that manner, each model should have a Z extent equal to the
Z extent of the area of interest. This is typically used when attribute values need to change with elevation. In a
thick coal seam, this method could be employed. However, for thinner coal seams, the method outlined in this
tutorial will provide a more accurate structural model. In this sense of the word, “thinner” is a relative term, but
could generally be applied to seams less than 5 meters, or seams where variability of a quality parameter within
a single seam is not a concern. To further clarify, this modeling method is to be employed after different plies
Returning to the form above, nominal values of 0 for the minimum and 1 for the extent of the model have been
entered. Actually, any two values could be used, but these values are easy to remember. Prior to estimating any
values for each block, such as ash, the Z value of the string file must be set to 0. This modelling technique is
applicable for near-horizontal strata, such as the seams in this tutorial. Where strata is steeply dipping, a true
three-dimensional model would be a better method of estimation.
Model resolution
The resolution is an exponential power of 2 with values from 2 to 512 ( 2, 4, 8, 16, 32, 64, 128, 256, or 512 ).
In the example above, we have:
The maximum number of blocks must “fit into” one of the exponential powers of two listed above. Thus, the
next number greater than 80 is 128.
If you are still uncertain as to which resolution you should use, select “2” and APPLY the form. An error
message will then appear in the message window that will tell you which resolution to use.
The next form allows you to check that you have selected the proper model extents and resolution.
Do not enter anything here, just verify that the information you have entered is correct, and press APPLY:
[Link]
You will now be presented with the block modeling main menu.
[Link]
Because the area that we have defined is only taking up 80 of the 128 blocks in easting, and only 52 of the 128
blocks in northing, the model will draw in the lower left corner of the graphics viewport. One way of zooming
the view to the extent of the area of interest is to create and recall a string file that represents a rectangle equal
to the extent of the model. Such a file has already been prepared.
Recall the file [Link] into graphics. This is an outline of the extents of the block model. If we recall
LS_QUAL1.STR, we can see that all samples fall within the Block Model.
Alternatively, recall LS_QUAL1.STR into graphics. Draw the Block Model , and use the icon BLOCK
EDGE AND FACE VISIBILITY to turn the faces off.
[Link]
You should then see the data falling inside the model exents.
Once you have seen that your model covers the correct area, we need to Save the model – under menu BLOCK
MODEL - SAVE. The Message window at the bottom of Graphics will give the information that the block
model has been saved.
If your model did not cover the same area as shown, exit SURPAC, delete [Link] from the COAL
directory, and go back to the beginning of this section, and recreate it.
Any item we need to model, whether representing a physical feature or quality parameter, must be represented
in the model as an ATTRIBUTE.
For example, we need to have a value for topography in each block in the model.
Select ADD NEW BLOCK MODEL ATTRIBUTE icon , enter the following, and press APPLY:
[Link]
Character Any text value, including numbers (numeric operations are not allowed)
Real A floating point real number with approximately 15 digits of precision
requires 8 bytes of storage per block
Integer Any integer value (decimals not allowed)
Float A floating point real number with approximately 6 digits of precision
requires 4 bytes of storage per block
Structural geological data (thickness, bcm, tonnes, strip ratio) 0.00 to 50,000.00
Quality parameter data (ash, sulphur, moisture, calorific values, and relative density) 0.00 to 8000.00
Thus, FLOAT variables will suit our needs for all of these. As can be inferred from the table above, by using
FLOAT variables, the model will be approximately half the size of a model with REAL variables.
The background value is some arbitrary value that is to be assumed for blocks that have not received a value
from one of the FILL functions.
For topography, we will use a value of -1 to indicate that the block has not been assigned a value.
Note: Any data file which is to be used to calculate a value for an attribute by inverse distance weighting,
ordinary kriging, or indicator kriging must not contain negative values. Topography may contain negative
elevations, and if any of the estimation techniques just mentioned are to be used to obtain block values, a
constant should be added to ensure that all values are positive. If DTMs exist from which elevation values can
be assigned, as outlined later in the tutorial, a constant does not need to be added to the data.
1) Use BLOCK MODEL – EXPORT – BLOCK CENTROIDS AND DIMENSIONS TO A STRING FILE to
generate a file of block centroids
2) Use SURFACES - DRAPE STRING OVER DTM to set the string file D1 value to the DTM Z value
3) Use BLOCK MODEL – ESTIMATION - NEAREST NEIGHBOR to assign the value from the DTM to the
attribute “TOPO”
From the block model menu, select EXPORT – BLOCK CENTROIDS AND DIMENSIONS TO A STRING
FILE. Fill in the form as shown, and press APPLY:
[Link]
We can now drape this string over the DTM of the topography, to get the correct z-elevations of the centroids.
Recall the DTM of the topography – [Link], by clicking and dragging it into graphics.
Recall the string file of the centroids [Link], by clicking and dragging it into graphics. We observe that
both string files are in different layers, numbered according to their string numbers. Rotate the image to
observe the file of the block centroids.
In the SURFACE menu – DRAPE STRING OVER DTM, click on String 1 that represents the block centroids.
NOTE: You must be in the layer associated with the string file that you want to drape over the DTM.
Save the file, by clicking on icon Press APPLY at the next form:
[Link]
We now should assign the value in the Z field to the D1 field. This can be done simply using STRING
MATHS.
Open the EDIT TOOLBAR , and click on the STRING MATHS icon and fill in the following form:
Display descriptions on the D1 field, and notice how it is set to the Z value of the topography.
Use POINT PROPERTIES to identify several points. Note that the Z value of all points is 0.5, the block
centroid value. If you draw the Block model, the string file will again lie inside the block model, with the Block
Centroid.
Make sure you save the file, using icon and overwriting the existing file.
Select ESTIMATAION - NEAREST NEIGHBOR, enter the following and press APPLY:
[Link]
This form tells SURPAC that the data comes from D1 in string 1 in the file [Link]:
At the next form, enter a maximum search radius and vertical search distance of 1, then APPLY:
If you are not prompted, it is a good time to save the Block Model . Press APPLY at the next form to save the
model:
[Link]
Next, we will want to view the results. We will be checking the model in this method many times.
Clear the Graphics Environment, using icon and use the icon to Display the Block Model.
If for some reason, the pink “faces are not evident, use icon to turn the faces on , so we are able to enquire
as to the Block Properties. The icon IDENTIFY BLOCK VALUES, the following report will be displayed.
It is interesting to see a value one block at a time, but it is more meaningful to colour all blocks by a value.
Select COLOUR BLOCKS BY ATTRIBUTE icon . Enter the following, and press APPLY:
[Link]
When it finished drawing, notice that it covers the entire extent of the model. Thus, all block centroids in
[Link] are directly over some triangle on the DTM. If we were to employ this method for the upper seam,
we need to ensure that the DTM covers the extent of the model.
Recall US_FLOOR1.DTM, replacing the current DTM file (hold down the Control & Shift buttons when
dragging this file into Graphics).
You should now see that this DTM does not cover the extent of the data:
[Link]
We need to assign structural values for the upper seam to all blocks, and we also need to define the line of
contact between the upper seam and the topography. In order to satisfy both of these requirements, we must
extend the DTM.
When you recall a DTM, SURPAC recalls the string file, which is what we need to work with.
Use the zoom out icon once, and HIDE THE LAYER containing the DTM of the Upper Seam.
On the Block Model menu under DISPLAY – HIDE BLOCK MODEL. You should be left with a blank screen.
Recall the file [Link] using the icon into a layer called “model boundary”. Make sure the box
where there is an option to “Rescale Display” is left unchecked. This will prevent Surpac from zooming to the
layer extents.
Using the drop down box on the STATUS ITEMS toolbar, switch the active layer to UG_FLOOR1.DTM
[Link]
and display markers and hide the object . You will notice that since we reset the active layer to “main
graphics layer”, only the markers for this layer will be drawn.
What we need to do is create a set of points outside the perimeter of the model boundary, which will be saved
with the original upper seam intercepts. A DTM of the new data set will then be created, and intersected with
[Link] to obtain the outcrop line of the upper seam.
[Link]
Using the CREATE menu or toolbar, use the function CREATE A POINT BETWEEN 2 POINTS where
the two points are selected and the third point is drawn by filling in the form as follows:
Select point 3, then point 13. Enter the following, and press APPLY:
[Link]
Use icon to display elevations of all points, including the new point on string 2 that you just created. You
will notice that the elevation of the new point created is calculated along an extension of the gradient from the
first point to the second point. The new point is created at a distance of 1000 meters from the first point
selected.
Select CREATE A POINT BETWEEN 2 POINTS and select point 11, then point 12. Enter the form as
before.
On the E DIT Toolbar or Menubar, use SEGMENT CLOSE to close up string 2. Use icon to plot
elevations on all points.
Save strings 1 and 2 in the main graphics layer to US_FLOOR1.STR, overwriting the previous version.
Don’t worry about saving the DTM, we are about to recreate it right now.
On the SURFACES Menubar – DTM FILE FUNCTIONS - CREATE DTM FROM A STRING FILE, Fill in
the form as shown, and press APPLY:
[Link]
Click and drag the new DTM into graphics, and use Use COLOUR DTM BY FIELD on the Z field to see
the result.
You should now be able to see the line of contact between the upper seam floor and the topography:
Using the SURFACES menu – DTM FILE FUNCTIONS – LINE OF INTERSECTION BETWEEN 2 DTMS,
enter the following and press APPLY:
[Link]
This will take a few minutes to process.
You will notice that there are a couple of segments that are very small in area. Generally, if a segment is
smaller than a single block, it can be disregarded. If a centroid just happened to land inside a segment that had
an area less than the block (in our case, 625sq. m.), we would be overestimating the amount of minable coal.
In the EDIT Menu - select LAYER – CLEAN, enter the following, and APPLY:
[Link]
There are also some duplicate points (12 in this case) which could cause problems later on. The same form will
allow the removal of duplicate points in 3-D space. You can just press enter to recall the form. Fill in the
following:
We will now set all strings clockwise, and then go back to graphics and set any “donut holes” to anticlockwise.
From the Menu FILE TOOLS – CHANGE STRING DIRECTIONS: Enter the following and press APPLY:
[Link]
After that has finished, return to graphics and recall US_OUTCROP1.STR You should see:
[Link]
Just right of the centre of the screen, you may see a small segment inside the larger one. This is an old pit that
was mined a few years previous, and needs to be excluded from calculations. To do this, that segment needs to
be anticlockwise.
On the EDIT Toolbar, then REVERSE ORDER OF POINTS IN A SEGMENT (don’t use STRING
REVERSE ), and select the segment one time. You should see that the segment is now anticlockwise in
the message window.
Make sure the Block model is connect, by checking the Block model icon in displayed on the “Status Display”
in the lower Left corner. If not click and drag the Block Model file into the Graphics workspace to connect the
Model.
On the BLOCK MODEL Menu or Toolbar, select ADD NEW GRAPHICAL CONSTRAINT CONSTRAINTS
. Enter the following and APPLY:
Don’t forget to give it the extent of “Z”, and a constraint name of “upper”.
You should then see only those blocks whose centroids fell inside the string.
NOTE: If there are problems, the “donut” type strings may not be reversed or there may be duplicate points on
a string. Go to the function CLEAN LAYER and check the string file is in good condition.
[Link]
Exercise:
[Link]
Exercise:
Now we need to use the same technique as we did for the topography to assign values to the model for the
seams of the two floors:
1) Overlay a string representing block centroids onto the DTM of the seam floor
2) Add an attribute to the model for seam floor
3) Use BM NEAREST NEIGHBOR to assign values to the model
If we hide strings , display markers, We can use IDENTIFY POINT to determine the values of any
point.
Recall that we assigned the topo value to the D1 field. We will assign:
In Menubar SURFACES – DTM FILE FUNCTIONS - DRAPE STRINGS OVER A DTM, enter the
following, and press APPLY:
Press APPLY at the next two form, then enter the data as shown on the second form and APPLY:
[Link]
[Link]
We will add a few attributes to the model for some of the structural data we will be modelling.
On the BLOCK MODELLING Menu, making sure the Block Model is connected (check STATUS DISPLAY),
ADD NEW BLOCK MODEL ATTRIBUTE , enter the following, and press APPLY:
Now we will assign the upper seam elevation values from [Link] to the attribute US_FLOOR.
On the BLOCK MODEL Menu – ESTIMATION - NEAREST NEIGHBOR, we will use the string file [Link]
to fill the attribute of “us_floor” . Fill in the following form and APPLY:
[Link]
At the next form, set the search radius and maximum vertical search to 1. Also, since we are only interested in
assigning a value where the seam actually exists (eg, inside the constraint LOWER), set CONSTRAIN
INTERPOLATION to “Y”.
[Link]
NOTE: This time we use the constraint file that we saved and not the constraint based on the string file.
IDENTIFY BLOCK VALUES , then click on any block. APPLY this form, and you will be asked to select
another block. Click on several blocks. You will notice that some blocks have a value for us_floor of “-1”.
These blocks are outside the constraint “upper”.
To remove constraints use to REMOVE ALL GRAPHICAL CONSTRAINTS and to REMOVE LAST
GRAPHICAL CONSTRAINT.
Recall the file US_FLOOR1.STR, using Replace and Rescale Display “N”.
Viewing the data in this manner could be helpful for planning additional drill holes. For example, the northwest
region could probably use some more drilling to raise one’s confidence in estimates of structural values in the
area.
It is possible to EDIT THE ATTRIBUTES FOR ONE BLOCK. Found under the Block Model Menu –
ATTRIBUTES.
[Link]
D1 D2 D3 D4 D5 D6
Hole ID Coal Thickness Parting Depth of top of Depth of Number of
Thickness seam bottom of seam intercepts of coal
We will now estimate a value for the thickness of the upper seam using D2 in US_FLOOR1.STR.
Generally speaking, an inverse distance squared estimate with an isotropic (non-directional) search will provide
an adequate estimate for most data sets for the novice geostatistician. There are entire courses dedicated to
geostatistics, and the user is referred to outside documentation in that area.
At the first form, we will define the string file which contains the data (us_floor1.str) and the D field that has
the data of interest (D2). Further we will define the attribute into which the estimation should be undertaken.
There is a facility to put in the distance to nearest sample, average distances the number of samples used. These
attributes can be entered on the fly. However, enter the following and APPLY:
[Link]
At the next form we will be using a very large search ellipse, so enter the following and press APPLY:
We will want to make an estimate only in the constraint “upper”. Enter the following and APPLY:
[Link]
[Link]
[Link]
Firstly we can hide the current constraints using to REMOVE LAST GRAPHICAL CONSTRAINT, and
then we can IDENTIFY BLOCK VALUES to review block values of the upper seam floor and the
thickness. We may want to ADD NEW GRAPHICAL CONSTRAINT , constraining the image using file
[Link].
Next, we will calculate a value for the seam roof by adding these two values.
We will also calculate the depth of overburden for the upper seam as topo - us_roof.
Both of these calculations can be done simultaneously, as the same constraint is going to be used. However, the
order is important, and the topographical height of the seam roof should be calculated prior to it being used to
calculate the thickness of the overburden.
Select BLOCK MATHS icon or under the BLOCK MODEL – ATTRIBUTES – MATHS menu, enter the
following and APPLY:
[Link]
Use COLOUR BLOCKS BY ATTRIBUTE to colour US_BURDEN range of 0,100,10, enter the
following, and press APPLY:
You will see most blocks coloured blue, green, or yellow, but some will remain pink.
[Link]
[Link]
Using BLOCK MATHS , Enter the following expressions and press APPLY.
[Link]
Set the constraint ADD NEW GRAPHICAL CONSTRAINT , INSIDE CONSTRAINT UPPER.
Use COLOUR BLOCKS BY ATTRIBUTE to colour blocks based on US_BURDEN. You should not see
any more pink blocks (where US_BURDEN was negative). You have now finished modeling the structural
values for the upper seam.
Exercise:
Model the lower seam in the same manner. Remember to use the constraint LOWER in all steps.
1) Use SURFACES – DTM FILE FUNCTIONS - DRAPE STRINGS OVER A DTM to set D3 field of
[Link] equal to the Z of LS_FLOOR1.DTM.
2) Add the following attributes to the model (all are “float” type of variables, background value = -1):
5) View the model in graphics, and colour blocks based on LS_FLOOR, then on LS_THICK
As mentioned previously, the lower seam contains up to three partings within the seam. Because of this, the
calculation of the lower seam roof will be different than for the upper seam.
US_FLOOR1.STR and LS_FLOOR1.STR were created from ZONE THICKNESS, and contain:
D1 D2 D3 D4 D5 D6
Hole ID Coal Thickness Parting Depth of top of Depth of Number of
Thickness seam bottom of seam intercepts of coal
We have previously created and estimated values for the coal thickness with an attribute called LS_THICK.
Exercise:
1) Add the attribute LS_PARTING_THICK to the model (“float” type, background value = -1)
2) Use INVERSE DISTANCE to estimate values for LS_PARTING_THICK from the D3 field of string 1 of
[Link] (remember to use INSIDE CONSTRAINT LOWER) - this is quite a long calculation.
LS_ROOF = LS_FLOOR+LS_THICK+LS_PARTING_THICK
4) View the model in graphics, and colour blocks based on LS_ROOF, then on LS_PARTING_THICK
*****************************************************************************************
*
We will now calculate the burden for the lower seam. This burden calculation will be different than for the
upper seam, as there are two regions which must be considered:
Return to the BLOCK MODEL menu, ADD NEW BLOCK MODEL ATTRIBUTE “LS_BURDEN”.
Select BLOCK MATHS , and enter the following:
[Link]
[Link]
Now we will calculate the lower seam burden thickness where only the lower seam is present:
[Link]
At the next form, enter “INSIDE CONSTRAINT UPPER”, then on the next line, enter “NOT INSIDE
CONSTRAINT LOWER”. Make sure you save this new constraint with a name of “NO_UPPER”.
Use COLOUR BLOCKS BY ATTRIBUTE to colour blocks based on LS_BURDEN. You may see some
pink blocks. This is where LS_ROOF was above TOPO, and thus, LS_BURDEN was negative.
lower seam roof equal to topo where the lower seam roof is higher than the topo
lower seam burden equal to zero where the lower seam roof is greater than or equal to topo
lower seam thickness equal to (lower seam thickness - (lower seam floor - topo)) where the
lower seam roof is greater than or equal to topo
2) In graphics, check to ensure that no negative burden values are present inside the constraint “lower”
*****************************************************************************************
*
The last structural item to be calculated is the number of partings. This is important for two reasons:
As mentioned before, the lower seam is the only seam which contains partings.
D1 D2 D3 D4 D5 D6
Hole ID Coal Thickness Parting Depth of top of Depth of Number of
Thickness seam bottom of seam intercepts of coal
We can hide strings , display markers, for string 1, and plot description field for field D6 on string
1.
The number of partings will be one less than this number. We will use STRING MATHS to subtract one from
this number to convert D6 to number of partings.
We will be using the function NEAREST NEIGHBOR to assign values of number of partings to the model.
Recall that the model exists between Z=0 and Z=1. LS_FLOOR1.STR has Z values of 950 to1050. For
NEAREST NEIGHBOR to work correctly, the Z value of LS_FLOOR1.STR must be set to some value
between 0 and 1.
Select EDIT, then STRING MATHS. Click on string 1, enter the following, and press APPLY:
We can hide strings , display markers, for string 1, and plot description field for field D6 on string
1.
Save only string 1 to a new file called [Link] and exit graphics.
[Link]
On the block modelling menu, select ADD NEW BLOCK MODEL ATTRIBUTE . Enter the following, and
press APPLY:
Now select ESTIMATION - NEAREST NEIGHBOR. Enter the following at the next two forms and APPLY
each:
[Link]
When it is finished, and colour the model by number of partings. Recall [Link], hide strings,
displaplot markers, and plot D6 values. You should see:
[Link]
Use IDENTIFY BLOCK VALUES to review block values. Click on several blocks where there are zero
partings. You will probably find a few blocks where the number of partings is zero, yet the parting thickness is
greater than zero.
This is due to the fact that NEAREST NEIGHBOR was used to model the number of partings, and INVERSE
DISTANCE was used to model the parting thickness. Thus, if a block is 30 meters away from a sample with
We will now set the parting thickness to zero where the number of partings is zero. Because we will be doing
more calculations where there are partings, we will make a constraint called PARTINGS.
Select ADD NEW GRAPHICAL CONSTRAINT , enter the following, and press APPLY:
[Link]
In the Block Modelling Menu – ESTIMATION - ASSIGN VALUE, enter the following at the next forms, and
APPLY each one:
[Link]
APPLY the “SAVE MODEL” form, and use IDENTIFY BLOCK VALUES to review block values in
graphics.
The next portion of this tutorial will deal with modelling the quantity of coal lost due to mining practices.
Based on their previous experience, Campbell Valley Coal assumes the following losses:
US_WASTED_COAL LS_WASTED_COAL
US_MINABLE_COAL LS_MINABLE_COAL
Exercise:
1) Add the four attributes listed above to the model. Use type = float and background value = -1
Campbell Valley Coal has decided that any coal less than 0.2 meters thick is too thin to be mined, and will be
taken as waste. View the model INSIDE CONSTRAINT LOWER in graphics. Colour
US_MINABLE_COAL on the range 0;0.2;999. You should then see:
You will notice that several blocks fall into this category. We can easily exclude these blocks from the
constraint upper, but they will then to be added to the constraint no_upper. When this happens, the lower seam
burden will then need to be re-calculated for the constraint no_upper.
Select ADD NEW GRAPHICAL CONSTRAINT , enter the following, and press APPLY:
[Link]
[Link]
[Link]
[Link]
Exercise:
Check the lower seam to see if there are any blocks where LS_MINABLE_COAL < 0.2
If there are no blocks where LS_MINABLE_COAL < 0.2, there is nothing to do.
US_BURDEN_BCM Bank Cubic Meters of waste to be removed to expose the upper seam
US_COAL_TONNES Tonnes of minable coal in the upper seam
US_STRIP_RATIO US_BURDEN_BCM / US_COAL_TONNES
LS_BURDEN_BCM Bank Cubic Meters of waste to be removed to expose the lower seam
LS_COAL_TONNES Tonnes of minable coal in the lower seam
LS_STRIP_RATIO LS_BURDEN_BCM / LS_COAL_TONNES
US_BURDEN_BCM + LS_BURDEN_BCM
US_COAL_TONNES + LS_COAL_TONNES
LS_STRIP_RATIO
Exercise:
1) Add the seven attributes to the model, again using type = float and background value = -1
US_BURDEN_BCM = (US_BURDEN+US_WASTED_COAL) * 25 * 25
(INSIDE CONSTRAINT UPPER)
LS_BURDEN_BCM = (LS_BURDEN+LS_WASTED_COAL) * 25 * 25
(INSIDE CONSTRAINT LOWER)
To calculate the remaining values, we will first need a value for relative density for each seam.
Recall the file US_QUAL1.STR . Hide strings , display markers, for string 1, and display description
field for D1 field.
Remember that when we created the file, we extracted the data in this order:
[Link]
Thus, in the file US_QUAL1.STR, D1 is ash, D2 is sulphur, D3 is moisture, D4 is calorific value, and D5 is
relative density. D6 represents the sample length, D7 the hole name, D8 the depth from, and D9 the depth to in
the hole for the interval containing the seam.
Use display description field f to display values for D2, then D3, then D4, then D5, then D6, and lastly
D7.
Use to display Z values. These values represent the actual elevations of the midpoint of the seam. For
modelling purposes, we need to set the elevation to zero.
Exercise:
Use EDIT Toolbar - STRING MATHS to set the Z value of the string to zero. Save the file with the same
name, overwriting the existing file.
We will use INVERSE DISTANCE to estimate a value for each of these quality parameters.
Exercise:
Add the following attributes to the model, using type = float and background value = -1 for all.
US_ASH LS_ASH
US_SULPHUR LS_SULPHUR
US_MOISTURE LS_MOISTURE
US_CALORIFIC_VALUE LS_CALORIFIC_VALUE
US_RELATIVE_DENSITY LS_RELATIVE_DENSITY
We will now estimate values for each of these attributes using ESTIMATION – INVERSE DISTANCE.
Surpac tools allow multiple attributes to be estimated during a single run. Go through the following procedure
for the Upper Seam and then repeat the procedure for the Lower Seam.
[Link]
[Link]
[Link]
View the model and the string file (plot D1 values) in graphics. Colour by Attribute US_ASH on the interval
0,30,5.
Repeat the process for the Lower seams. The process may take longer as there are more samples involved in the
estimation.
Use IDENTIFY BLOCK VALUES to review block values. You should now have values for all quality
parameters within the respective constraints:
[Link]
US_COAL_TONNES
US_STRIP_RATIO
LS_COAL_TONNES
LS_STRIP_RATIO
TOTAL_STRIP_RATIO
Using the BLOCK MATHS function and INSIDE CONSTRAINT UPPER, enter the following.
[Link]
[Link]
The last attribute to calculate is TOTAL_STRIP RATIO. Select BLOCK MATHS function, enter the
following, and APPLY:
[Link]
Then calculate the strip ratio where only the lower seam is present. Select BLOCK MATHS function and
enter the following, and APPLY:
[Link]
Use COLOUR BLOCKS BY ATTRIBUTE to colour by each of the following attributes using a range of
0,30,5:
US_STRIP_RATIO
LS_STRIP_RATIO
TOTAL_STRIP_RATIO
Although it is possible to view any model value in graphics by COLOUR ATTRIBUTE, an actual contour line
is often more helpful. Contours can be obtained from the model by:
1) EXPORTING BLOCK CENTROIDS TO A STRING REPORT to generate a string file with the desired
variables
2) Creating a DTM of the file
3) Using CONTOUR EXTRACT to extract the desired contour
Making sure you are connected to [Link] on the BLOCK MODEL MENU – EXPORT – BLOCK
CENTROIDS AND DIMENSIONS TO A STRING FILE, Fill out the form as shown, and press APPLY:
[Link]
Recall file BM_VALUES1.STR. Hide strings , display markers, then zoom in 4 or 5 times. Display
description field for D1 fields and then D2.
Under the CONTOUR menu - Select DTM TOOLS – CONTOUR DTM FILE, fill in the forms as shown, and
APPLY each one:
[Link]
[Link]
Recall the file into graphics. Draw the block model, and colour on the attribute US_STRIP_RATIO with a
range of 0;10;999.
Exercise:
Create a file called TOTAL_RATIO10.STR that represents the 10:1 strip ratio line for the block model attribute
TOTAL_STRIP_RATIO.
It is often helpful to have a unique number for each block, and to report tonnes and quality parameters on a
block by block basis.
Recall BM_VALUES1.STR into graphics, hide strings and display markers , and window in on the
lower left corner of the data so that you see about 10 or 20 centroids.
We will use the block northings and eastings to come up with a block number.
Use EDIT Toolbar - STRING MATHS to set D1 equal to the northing and D2 to the easting:
(Note the syntax: D1 = ‘y’ and D2 = ‘x’ )
[Link]
Display description field for D1 fields and then D2. These are the northings and eastings of the block
centroids.
What we want to do is to get D1 = 0 and D2 = 0 for the lower left corner. Use STRING MATHS :
[Link]
Now we want to divide the D1 and D2 values by the block size. Again use STRING MATHS :
[Link]
[Link]
[Link]
Display description field for D1 fields and then D2. These will be used as the block numbers.
Using the BLOCK MODELLING Menu / Toolbar, select the ADD NEW BLOCK MODEL ATTRIBUTE
function. Enter the following, and press APPLY:
[Link]
Select ESTIMATION - NEAREST NEIGHBOR. Fill in the following forms as shown and APPLY each one:
[Link]
******************************************************************************
We will now report values for the entire resource, then block by block.
only those blocks that fall in the following categories will be reported:
[Link]
Use COLOUR BLOCKS BY ATTRIBUTE to colour the blocks on US_STRIP_RATIO with range
0;10;999.
[Link]
Note that although some of the blocks are not economically minable using only the upper seam strip ratio, when
both seams are mined, they become minable.
1) Total tonnes
2) A block-by-block breakdown of values
Picture [Link]
[Link]
Select BLOCK MODEL REPORT again, create a different format file and then enter the data as shown, and
APPLY.
[Link]
Exercise:
1) Create a constraint called MINABLE_LS which contains those blocks that meet the following criteria:
2) Generate a total tonnage report, and a block-by-block report for the lower seam data.
3) Generate a block-by-block report that contains both upper and lower seam data
The 'ZONE THICKNESS' function is crucial for extracting vital structural information from the geological database, such as the depths of seams and their respective thicknesses. This process facilitates the calculation of geological attributes like seam thickness and depth from the surface, which are essential for modeling and estimating resource quantities. The extracted data can be further used in different modeling software to simulate and visualize the geological conditions .
Block Maths is crucial in modeling seam properties as it allows for complex calculations using existing dataset attributes, enabling further derivation of key metrics like seam burden, roof elevations, and strip ratios. By applying mathematical operations directly within the model, users can simulate real-world scenarios and adjust model parameters dynamically based on specific formulae. This process aids in accurately predicting the geological conditions, optimizing resource extraction plans and maximizing yield efficiency .
The 'INVERSE DISTANCE' method estimates values by assigning weights inversely proportional to the distance between sample points, ensuring a smooth gradation across the model. This can be more accurate over larger datasets as it considers contributions from multiple points. In contrast, the 'NEAREST NEIGHBOR' method assigns values based on the closest sample point, potentially leading to abrupt changes or 'blockiness' in the model, but it is computationally simpler and often used for categorical data. These methods are chosen based on the nature of the data and the required precision .
Adjusting DTM color smoothing sharpens the delineation between various elevation levels or attribute values, clarifying the visualization of structural features. This can be particularly useful in highlighting subtle yet significant geological formations such as folds, faults, or synclines, which may otherwise be lost in gradations of color. Smoothing adjustments facilitate a clearer interpretation of data, enhancing decision-making processes for exploration and mining strategies. However, excessive smoothing might mask important details, therefore, it is crucial to balance detail preservation with visual clarity .
Creating a DTM allows for a three-dimensional representation of the terrain, which can highlight topographical features like synclinal structures or elevation changes within the geological dataset. By using breaklines and spot heights, DTMs offer a clearer understanding of the geological landscape, aiding researchers in assessing the structural orientation and planning resource extraction accordingly. Moreover, the visualization of geospatial data through DTMs helps identify trends and anomalies that may not be apparent in two-dimensional representations .
Calculating strip ratios under different constraints helps in evaluating the feasibility of mining operations by understanding the volume of waste that must be removed per tonne of coal extracted. In areas with both seams present (INSIDE CONSTRAINT UPPER), the strip ratio calculation includes contributions from both seams, while in areas with only the lower seam (INSIDE CONSTRAINT NO_UPPER), it focuses on the lower seam alone. These ratios guide mining strategies to minimize cost and environmental impact .
The 'COLOUR DTM BY FIELD' function allows for the visualization of geological features and attributes such as seam thickness and elevation in a more interpretable manner. By applying specific color gradients to different ranges of a data field, users can visually identify variations and patterns in the data. For example, coloring by elevation helps in understanding the topographical changes, while coloring based on seam thickness can highlight zones of varying coal thickness, making it easier to identify structural trends like the south-plunging syncline .
Setting a minimum coal thickness threshold, such as 0.2 meters, ensures economic viability by preventing the extraction of coal seams that would not cover the costs of extraction. This criterion allows operators to focus on more substantial seams, optimizing resource usage and reducing processing of waste material. It also impacts how constraints are set within the model, influencing the calculation and re-calculation of seam burdens and the effective allocation of resources in mining planning .
Composite constraints are essential in geological data processing as they allow for the integration of multiple geological and spatial criteria into the extraction process. By specifying conditions such as seam type or specific range limitations, composite constraints refine data subsets to include only those relevant for a particular analysis. This selective extraction ensures accuracy and efficiency, preventing data redundancy and focusing computational resources on pertinent datasets. As a result, extraction results are more meaningful and applicable to practical mining contexts, allowing for targeted exploration and resource assessment .
Graphical constraints allow for precise targeting of data within a geological database, enabling complex operations such as the exclusion or inclusion of certain data subsets based on spatial properties. For instance, setting a constraint to exclude coal less than 0.2 meters in thickness ensures that only economically viable sections are analyzed for further extraction processes. Constraints help refine the dataset, ensuring a focus on specific conditions like seam presence, maximizing efficiency in calculations and interpretations needed for resource planning and environmental considerations .









