Carlson 30th Anniversary User Conference April 7 – 10, 2013 IMPROVE YOUR SKILLS ● LOOK TO THE FUTURE ● CELEBRATE THE PAST Carlson Mining – Geologic Stratified Grid Modeling April 8, 2013 – Session 3 Presented By: Grant Wenker, PE gwenker@carlsonsw.com Strata Isopach Maps Isopach maps are a good way to check for bulls-eyes in the drillhole data. There are two main options for isopachs, either from drillholes or pre-made grids. This command is useful to run before making grids to see if there are any problems or mistakes with the data. There are options for hatching and coloring by the different values that are being contoured. This is a BTU hatched contour map, colored by BTU value with the Legend drawn. Use the command under Display, Make 3D Grid File of Surface Topography This step is necessary to have a starting surface grid for positioning so that all grids will match. The contours are all that need to be on screen for the selection. Drillholes do have elevation, but they usually differ from the contours. It just depends how accurately the contours and the collar elevations were surveyed. After the grid file is written, it is a good idea to view it instantly in 3D with Surface 3D Viewer. This will show any spikes or bad elevations that would cause problems. Shown below is the grid, colored by elevation, in the Surface Viewer. This file is named _Surface Topo.grd so that it appears at the top of the list with the “_” prefix. Make Strata Grids - Autorun This step creates grids from the drillholes. Grids can be built for elevations, thickness, or any quality attribute. Similar to isopach maps, there is the Make Strata Grids which will make one at a time, or the AutoRun Strata Grids to create many at a time. Details on the gridding algorithms to process can be seen the Geology section of the manual. This exercise will make bottom elevation grids, and then add the thickness to them to get the roof grids. Grid File Utilities These Utilities are used to create a new grid or modify an existing grid with equations. It is very common to create the seam roofs by loading the seam floor and adding the seam thickness. The seam roof can be modeled with Make Strata Grid files, but it can lose accuracy due to varying overburden which can cause problems in the gridding. An example would be to Select the seam floor grid, choose Add Grid and add the seam thickness. Save As the seam floor. This can be accomplished one at a time, or on all the seams with the GFU Macro recorder on the right. This example shows the GFU macro recorded to do this math. This was recorded just once for the first seam, then the GFU file was opened with a text editor, such as Notepad, and the text was copied down and the seam names were edited to account for all the seams. Define PreCalculated Grids Once all of the structure grids are built, the PreCalculated Grids file can by built. This can also be considered the geologic model. This is simply a file that contains the grid locations and what they represent in the model. Thickness models can also be built if that is the preference. The Surface Topo grid gets its own spot at the top of the window of the elevation precalc. All of the other elevation grids need to be specified in stratigraphic order by elevation. Any quality attributes that are included need to use the same strata name defined for the strata, and must be below the strata. Grouping the Elevations above the quality grids, with the quality grids at the bottom of the file, breaks it up nicely. Selecting Add or Edit brings up this window: Grid Inspector After the grids have been created, this command will display real-time grid values where the cross-hairs of the cursor are placed. The inspector window that appears in the upper left corner of the screen can be moved around the display. There is a Load PreCalc button. This is helpful to see if the grids cross or intersect, and to make sure the elevations are in decreasing order from top-down. This is useful to label the grids at a drillhole and compare them to the values found in the drillhole to make sure the grids are modeled correctly. Fence Diagram (Geological Cross Section) Now that the grids are stacked in the PreCalculated Grids file, they can be seen in cross-section view with the Fence Diagram. There are many settings for scales, hatching and labels. They can be drawn in 2D as a section, or in 3D directly into the surface. Drillholes can also be drawn on the Fence Diagram as geological columns and labeled to make sure the grids are honoring the drillholes. Using the Process Multiple Named Fence Polylines will draw multiple cross sections at once. The polylines must be pre-tagged with a name using the command Tag Fence Polylines. Block Diagram (3D Fence diagrams basically) This is another way to visually check the model in 3D as a solid looking block or slice right through the geology. Any spikes or busts will show up instantly with the 3D Viewer Window. The surface grid can be colored and hatched in a second step with the command Color Elevation Grid by Strata. This basically draws the outcrop lines and colors the topo surfaces to create a nice geologic map that can be viewed in 3D.Here are the Block Diagram windows, and the result after running Color Elevation Grid by Surface. Conformance: None, Seam-Specific or All This important setting under Settings > Carlson Configure > Mining is used for gridding and modeling from drillholes. It controls two related parameters. The first item is to fill in missing strata where needed. For example, if a drillhole does not go deep enough to penetrate a deep seam, or a drillhole is drilled down in a valley or low spot, it will either fill in (carry the seam through the hole) or pinch it out at the hole. Using “None” will not fill it in, meaning it will pinch the seam out at the shallow or partial hole. “All” will not pinch the seams out at the shallow or partial hole. It will carry the seam through, above or below the partial hole and is the most common method. Seam-Specific will use the Define Strata settings where the marker and target beds are defined there for elevation conformance, it also fills in the seams as All would do for partial drillholes. The second modeling concept this controls is conformance, or how the seams behave in relation to each other. In these same partial holes where certain seams are not encountered, when it fills them in, it controls how it behaves. Using “None” will let each seam do want they want, independent of any other seam. “All” has all the seams looking at each other and they all conform to each other. Seam-Specific will use the Define Strata settings where the marker and target beds are defined there. The marker bed is the "main" seam that is dominant and other seams will conform to it. There can be more than one marker seam. There is also a hierarchy for conformance, so if the main marker seam is not present, then the next marker seam in line will prevail. The command Strata Order and Count will show how many drillholes contain each seam. The marker bed is usually the seam or seams with the most occurrences in the drilling. The first step is to choose the Conformance setting. If the setting of None or All is used, then nothing else needs to be done prior to modeling. If Seam-Specific is used, then every seam that is going to be modeled has to be defined for conformance as a Target or Marker. This is done in Define Strata. The Strata Order and Count report will give an idea of what should be the Marker bed or beds. In this example, the C4_Key would be the best dominant marker bed. There are two ways to define the Seam-specific conformance. The first option is to edit the Marker seam (C4_KEY in this case) and turn it on as the Marker, then add the Target seams in the window. The second option is to edit all of the Target seams and put the Marker name in each of them. There isn’t a need to do it both ways as that might be more confusing and introduce errors. In this example, each seam will be edited and set as the Target of the C4_KEY seam. The C4_KEY will be the target of the C5_KEY. That way every seam has a Marker to conform to. In some data sets, only the _KEY beds are modeled, so only the _KEY beds need to be defined as Targets. The Setting under Configure > Mining must be set to Process only Strata with Beds for this to apply. Here is a sample of the Define Strata window where the appropriate columns are turned on to show the conformance settings. Pinchout This setting determines if the thickness of a seam is pinched out when it does not occur in a drillhole. Turn it on to activate pinchout. If a seam is not present, it will pinch it out using that drillhole. If it is off, it will carry the seam through the hole where the seam is not encountered. The slide bar determines the distance between the drillholes for pinchout. Near zero will pinch the seam closer to the hole where it does not appear. Non-zero will pinch the seam closer to the drillhole where it does appear. Most of the time, the best setting is to leave it in the middle, where it will pinch the seam half way between the holes. It is also recommended to have the pinchout turned ON when making thickness grids. This will model the thickness properly. But, when modeling the bottom elevation of a seam, turn pinchout OFF. If it is on, many times it will bring the elevation of the seam up to the next seam to pinch it out. Turning it off for elevation grids will keep them down where they belong as if they were in the hole at that elevation. This example is set this way in the Strata Grids Autorun file. Then just add the thickness and the bottom elevation to obtain the roof elevation grid with Grid File Utilities. There are additional settings for Pinchout. The Pinchout Zero Thickness will see a 0 interval in the drillhole and use it as a Pinchout application, as if it wasn’t there at all. If this is not used, then it will carry the thickness up to the hole and use 0 right at the hole. Pinchout Key Only will do just that, not pinching the NonKey seams. Restrict Pinchout to Drillhole Elevation is something that is done most of the time. For those rare instances where pinchout is desired out of the drillhole range, this can be turned off. Modeling Methods Everyone is confronted with the issue of what method of gridding (modeling) to choose. Here there is no substitute for experience and verification in the field. We at Carlson Software have noticed that many quality attributes such as BTU, sulfur or calcium are modeled most often by Inverse Distance. Base elevation, in general, appears to be amenable to the logic of Triangulation or Polynomial and on many occasions, Least Squares, much like surface topography, though even here Inverse Distance can be used. Strata thickness, however, is again more localized and is often best modeled by Inverse Distance or Triangulation. A method that does trending is not preferred for modeling thickness. Polynomial surface modeling utilizes Triangulation, so again lends itself to broad, large area influences. When and how to use Kriging is an art in itself. We have found the "power" form of Kriging to model effectively in evenly distributed drillhole data. The following diagram shows the same drillhole data set modeled with 6 different versions of the algorithms. The C62_KEY bottom elevation is contoured with Strata Isopach Maps using the various gridding algorithms. Notice there are some large differences, yet all have their benefits. More details on these various methods is found in the Help files or manual. Triangulation Modeling Method This method is straight triangulation between the drillholes. Triangulation calculates these values by interpolating on the plane defined by the three points in the triangle that encloses the point. Since triangulation only interpolates, it can only calculate values within the area of the data. Afterwards, an extrapolation routine can then fill in the rest of the grid. This extrapolation uses a safe method that tends to average out the data. There is an option to extrapolation to apply the global trend. This option finds the average slope and direction of the existing data and applies this slope to extrapolating. Inverse Distance Modeling Method Inverse distance calculates the grid values by assigning weights to the existing data. The grid values calculated by inverse distance are a weighted average of the existing data. Inverse distance will not carry trends and the calculated grid values will never be higher than the highest existing data point. Likewise the calculated grid values will never be lower than the lowest existing data point. The weights are proportional to the inverse of the distance between the point to be estimated and the existing data point. Closer points are weighted more than points farther away. The inverse distance can be calculated to first, second, or third power which are (1/d), (1/d^2), and (1/d^3) respectively. The power can also be any user-specified number such as 2.5. The inverse distance estimate is a weighted average with the individual weights computed as an inverse power of distance as follows: where Wi is the weight computed for each sample i, each di is the distance between the location being estimated and sample I , and –power is the inverse distance weighting power. In Configure under Mining there are several options for controlling inverse distance. The Inverse Distance Search Radius is used for calculating a value at a point such that only drillholes that are within this Search Radius will be used in the calculations. The Inverse Distance Max Samples value limits calculations to the nearest specified number of drillholes to the point. For example, the program will use the nearest 10 drillholes. Inverse distance can also be controlled by quadrants which are divided into northeast, southeast, southwest and northwest. The Min Quadrants setting will use at least this specified number of drillholes from each quadrant as long as there are drillholes in the quadrant within the Search Radius. For instance, a setting of Min Quadrants of one would make the program look for at least one drillhole from each quadrant. The Max Quadrants value limits the number of drillholes used from each quadrant. For example if Max Samples was set to 25 and Max Quadrants was 10, then the total samples would be 25 with no more than 10 of the closest ones from each quadrant. Kriging Modeling Method Kriging estimates the grid values by figuring the relationship between all the existing data points and then assigning weights to this data. Kriging finds the best fit linear unbiased estimates for the given data and model. Kriging can carry trends within and beyond the limits of the data and can find new high and low values. You must supply a model that defines the spatial relationship of the data which can be difficult. In fact, Kriging is a very complicated subject and you will need to reference an outside source for a detailed description such as An Introduction to Applied Geostatistics by Isaaks and Srivastava. Carlson uses Ordinary Kriging. Fist use the Calculate Variogram command to calculate the nugget, sill and range. Then these values are entered in at the time of Kriging. Polynomial Modeling Method The polynomial method is based off of triangulation. The difference is that instead of directly interpolating within each triangle, the polynomial method creates smooth transitions by using a fifth degree polynomial function that accounts for neighboring triangles. Since polynomial needs adjoining triangles, when there are fewer than five data points, there will be fewer than four triangles and the polynomial method will revert to straight triangulation. The same extrapolation logic for triangulation applies to the polynomial method. Linear Least Squares Modeling Method The linear least squares method finds the least squares best fit plane at each grid corner. The least squares routine weights each data point by inverse distance so that closer points are weighted more than points farther away. So the best fit plane varies at different points on the surface. The linear least squares method extrapolates trends very well. A lower inverse distance factor (i.e. 1.0) will weight the data points more equally which models the trends more globally (sometimes called "global dip"). Likewise a higher inverse distance factor (i.e. 3.0) will weight the closer data points more heavily which models local trends strongly (sometimes called "local dip"). Least squares will trend and allows for data points that are new highs and lows, that don’t appear in the original drillhole/point data. It does produce very nice, smooth contours that honor the data points. Approximation Base On Smoothing (ABOS) Modeling Method ABOS is a method for modeling values of irregularly spaced points by using a continuous function with two independent variables. This method is developed and implemented by the developer of SurGe, Miroslav Dressler. The ABOS method uses very simple mathematical tools - numerical tensioning and smoothing. The tensioning and smoothing are performed so that elements of matrix, which represents surface z-values at nodes of a regular rectangular grid, are repeatedly replaced by the weighted average of selected surrounding elements. The selection of elements involved into weighted average depends on the type of tensioning or smoothing. Despite the fact that the mathematics of the ABOS method is simple, the resulting surface can be modified by a few parameters so that it is comparable with the surface created by sophisticated methods such as Kriging, Radial Basis Functions or Minimum Curvature. Calculate Residuals This series of commands uses the various modeling methods to create reports of the standard deviation, minimum and maximum residuals and averages. This is a guide to help the user decide which modeling method will be the best for that strata elevation, thickness or quality attribute. The AutoRun Residuals will do multiple methods at once for the same parameter. Main Screen Edit Screen The report that appears is what you use to help make the decision on which method to use. In the example below, TRI and Polynomial are the same and would be the best method to use here. The closer the residuals are to zero, the better. The Min and Max also should be as close to zero as possible. The program makes a grid of all the drillholes, then removes one drillhole at a time and remakes the grid. The difference of the grids with the drillhole used and not used is the residual. Sometimes the difference is positive, sometimes it is negative. The more drillholes there are, and the less the data varies will give smaller residuals and better averages.