Coal Modelling Tutorial Vision1
Coal Modelling Tutorial Vision1
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 COALMODL.ZIP and PKUNZIP.EXE 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:
Picture1.gif
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.
Picture2.gif picture3.gif
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:
Picture4.gif
Picture5.gif
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 TOPO1.DTM, 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:
Picture8.gif
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
Picture9.gif
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”.
Picture5.gif
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:
Picture12.gif
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:
Picture13.gif
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.
Graphicsb.bmp
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:
frm00044b.bmp
picture14.gif
At the next form, enter the following constraining the file to the Upper Seam (US) and press APPLY:
Picture15.gif
frm00012a.bmp
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.
Picture16.gif
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:
bmextents.bmp
Recall the file TOPO1.DTM, 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:
Picture19.gif
Enter the following values at the next form, read the text below, then APPLY:
Picture20.gif
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:
Picture21.gif
You will now be presented with the block modeling main menu.
Picture22.gif
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 MODBDY1.STR 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.
Picture23.gif
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 CAMPBELL.MDL 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:
Picture26.gif
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:
Picture27.gif
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 – TOPO1.STR, by clicking and dragging it into graphics.
Recall the string file of the centroids CEN1.STR, 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:
Picture29.gif
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:
picture31.gif
This form tells SURPAC that the data comes from D1 in string 1 in the file CEN1.STR:
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:
picture33.gif
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:
Picture36.gif
When it finished drawing, notice that it covers the entire extent of the model. Thus, all block centroids in
CEN1.STR 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:
Picture37.gif
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 MODBDY1.STR 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
Picture39.gif
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
TOPO1.DTM to obtain the outcrop line of the upper seam.
Picture41.gif
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:
Picture42.gif
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:
Picture43.gif
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:
picture44.gif
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:
Picture46.gif
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:
Picture48.gif
After that has finished, return to graphics and recall US_OUTCROP1.STR You should see:
Picture49.gif
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.
Picture51.gif
Exercise:
Picture52.gif
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:
Picture54.gif
Picture55.gif
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 CEN1.STR to the attribute US_FLOOR.
On the BLOCK MODEL Menu – ESTIMATION - NEAREST NEIGHBOR, we will use the string file cen1.str
to fill the attribute of “us_floor” . Fill in the following form and APPLY:
Picture57.gif
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”.
Picture59.gif
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.
Picture60.gif
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:
Picture61.gif
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:
Picture63.gif
Picture64.gif
picture33.gif
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
UPPER.CON.
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:
picture64.gif
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.
Picture67.gif
Picture68.gif
Using BLOCK MATHS , Enter the following expressions and press APPLY.
Picture69.gif
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
CEN1.STR 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
LSFLOOR1.STR (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:
picture70.gif
Picture64.gif
Now we will calculate the lower seam burden thickness where only the lower seam is present:
picture71.gif
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 PARTINGS1.STR and exit graphics.
picture75.gif
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:
Picture77.gif
When it is finished, and colour the model by number of partings. Recall PARTINGS1.STR, hide strings,
displaplot markers, and plot D6 values. You should see:
Picture79.gif
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:
Picture80.gif
In the Block Modelling Menu – ESTIMATION - ASSIGN VALUE, enter the following at the next forms, and
APPLY each one:
Picture81.gif
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:
Picture84.gif
Picture85.gif
Picture86.gif
Picture87.gif
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:
picture2.gif
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.
picture89.gif
picture64.gif
picture33.gif
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:
Picture92.gif
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.
Picture93.gif
Picture94.gif
The last attribute to calculate is TOTAL_STRIP RATIO. Select BLOCK MATHS function, enter the
following, and APPLY:
Picture95.gif
Then calculate the strip ratio where only the lower seam is present. Select BLOCK MATHS function and
enter the following, and APPLY:
Picture96.gif
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 CAMPBELL.MDL on the BLOCK MODEL MENU – EXPORT – BLOCK
CENTROIDS AND DIMENSIONS TO A STRING FILE, Fill out the form as shown, and press APPLY:
picture97.gif
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:
Picture99.gif
picture100.gif
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’ )
Picture102.gif
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 :
Picture103.gif
Now we want to divide the D1 and D2 values by the block size. Again use STRING MATHS :
Picture105.gif
Picture106.gif
Picture107.gif
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:
Picture108.gif
Select ESTIMATION - NEAREST NEIGHBOR. Fill in the following forms as shown and APPLY each one:
picture32.gif
******************************************************************************
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:
Picture110.gif
Use COLOUR BLOCKS BY ATTRIBUTE to colour the blocks on US_STRIP_RATIO with range
0;10;999.
graphicso.bmp
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 111.gif
Picture112.gif
Select BLOCK MODEL REPORT again, create a different format file and then enter the data as shown, and
APPLY.
Picture114.gif
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