One of the most common diagrams you see on stock market releases and on any wall in a mine office is a long section of the ore body. Where suitable this long section will display the ore as a grade * thickness plot, perhaps it is called a gram metre plot, or a gram centimetre plot, a metre ppm plot, perhaps even a metre per cent plot. Whatever your preference these images are simply a long section showing the thickness of the ore body multiplied by the grade. This sort of diagram is really only useful when the ore body is tabular such as a vein or reef, whether it be horizontal or vertical, or where the ore body can be represented as such. It is not really useful to represent a large high sulphidation gold or bulk porphyry this way. If you can estimate or model the ore body using a 2D metal accumulation grid then you can create a useful grade * thickness plot.
I was asked recently if I knew if I could do this in Leapfrog. I had not done it before but a grade* thickness plot is just a calculation of the grade times the width – in many estimates we commonly estimate a vein or reef in 2 dimensions by modelling the thickness and the metal accumulation (grade*thickness) variable and then back calculating the grade as metal accumulation / thickness. It should be possible so I had a play. I found it is possible in LF Mining, LF Geo had me stumped so I flicked the problem to Tim Schurr from ARANZ Geo and thank him for coming up with the solution which I have included below for Leapfrog Geo users. ARANZ Geo have mentioned that they are looking into making this workflow an integral part of the Leapfrog software.
Using LF Mining the best way I could think of it to assume you are working with a vein – which is usually the case for a grade by thickness view, even if it is not a true “vein” if the grade lens has a depth x thickness x width this should still work.
First you will need to either composite the drillhole assay data to a regular support (see my basics of grade interpolation blog
for some ideas on how), or ensure you have a sample thickness field in the assay table – this is the best option as it allows you a little more flexibility in modelling the vein. Then create a new interval selection on either the assay table or geology table and select each of the mineralised intervals that form the lens or vein in question.
This process allows you to select those parts of the ore body that make a single vein or lens. This selection is then used to create a vein model. To do this you extract the vein walls based on this selection;
Of course if you have the interval already flagged in the database you can simply create a composite Region and select the code from the correct column and Extract Single Vein from the Processing Actions item. Figure 1. If your assay table has a code in it you can create a composite by region as a single vein and select the vein in question.
This will create a selection based on the ore or vein flag that allows you to extract the vein walls. Figure 2. This figure shows the composite by region as a single vein - the red zones show the grade with the footwall and hanging wall points.
From these vein points you create new vein footwall and hangingwall surfaces. Figure 3. Vein walls have been modelled using the create surface option.
This process creates two separate interpolants that you can then combine to form a medial plane (a plane down the middle) and model the vein.
Figure 4. The process in creating a vein using the combined interpolants, this allows you to create a medial plane (green surface above), and create two vein walls with which to build a new vein model.
I created a structural trend of this plane to drive the thickness and grade interpolations inside the vein domain interpolation but this is not really necessary. Use this plane to create the new vein, selecting the relevant foot and hanging wall points. Figure 5. Creating a new vein from the combined interpolant is a simple process and doing it this way can commonly create a better outcome than creating the vein without the medial surface - sometimes though the non-combined interpolants are the only way you can get an acceptable outcome.
Figure 6. The final vein with medial plane at the top and coloured by the thickness variable at bottom, the thickness is automatically calculated and an evaluation variable is present under the vein in the file structure.
There is currently no way to evaluate either the medial plane, or a composite file with this thickness variable. To do this we have to export the thickness to a csv file and re-import into the numeric folder. This exports the vein mesh vertices, each with X, Y and Z and the thickness variable. Figure 7. The points are the mesh vertices coloured by thickness, you can adjust the spacing of the mesh points by changing the resolution of the vein, these three images show the vein with a 10m mesh, a 5m mesh and a 1m mesh. The finer the resolution, the larger the file and the slower the processing Figure 8. This shows the variation in size for the files shown in the images above. The 10m mesh is fine for what we need to do in this instance, it is easy to change the vein mesh to a finer one for better visual definition once we have exported the thickness variable.
You need to create a new interpolation of this thickness constrained by the “vein” domain. The next step then is to create a new domain of the vein, we can use this vein to create the new thickness interpolant that will allow us to evaluate the medial plane and the composite and assay files. It is also used to constrain the grade and gram metre interpolations.
Once the domain has been created we can create a subset of the assay data by selecting data using interpolants (for the evaluation) and interpolate the thickness variable using the re-imported vein thickness data and vein domain. To create the thickness interpolant we just run a basic interpolate values process selecting the domain on the surfaces tab.
This will create a nice thickness interpolant with some arbitrary shells for visual display (below).
To evaluate the domained subset of the Assay data against this thickness interpolation we have to create the subset, this is a simple process of right clicking on the domain and selecting selection -> using interpolants and selecting the assay points (or the composite file). Of course to accomplish this you will have needed to have extracted the assay or composite data to the numeric data folder.
Once you have the subset of data you can evaluate the data against the thickness variable.
You then need to export the assay data to a csv for processing. This part is a bit manual and repetitive – especially if you have a large dataset but it works.
Create a new file where you can filter each hole in the exported csv and average the X, Y and Z coords, and the thickness variable (from the vein), a weighted average grade where you weight the grade against the sample interval width (for each intersection), and calculate a gram metre value (au*thickness) for each hole (the AUOZ and AGOZ fields are just used for the average weighting for the grade, using a straight grams calc will work here just as well – the Au*Interval is summed and divided by the total length of the interval to obtain the weighted average), eg;
You transfer the bold line above to a new file so that each drillhole has only 1 line;
Save the new file as a new csv, eg something called Assay_Vein1_gramMetre, import this file into the numeric folder in leapfrog and then generate a new interpolant for grade, thickness (both to check the process worked) and the gram_metre field, all constrained to within the Vein1 domain created earlier.
You then evaluate the interpolants onto the medial plane for presentation purposes. The results are as follows;
Figure 9. Grade, interpolated shells at the top, medial plane evaluation below
Figure 10. Vein Thickness, interpolated shells at the top, medial plane evaluation below
Gram Metres Figure 11. Gram Metre calculation, interpolated shells at the top, medial plane evaluation below
A finer mesh on the medial plane will of course give you a smoother result on this version of the display – at slower processing speeds and larger file size, eg;
Figure 12. Medial plane of the vein coloured by GM values but on a 0.5m mesh rather than the 2m mesh shown previously.
This is possible in LFGeo, the trouble is that the vein thickness evaluation is not accessible like it is in LFMining - ie. you cannot export the native thickness evaluation from the vein. This is nothing intentional, just an oversight and outcome of LFGeo being relatively new software, hopefully this will be rectified soon. To make this work with LFG1.4, you have to create your own thickness evaluation using a distance interpolant. See below for the process as supplied by Tim Shurr (ARANZ Geo).
1. Model your vein as a Geological Model using the standard LFGeo vein modelling workflow – below the vein is displayed coloured by the thickness variable.
2. Extract the surface for the vein Hangingwall into the meshes folder
3. Create a distance interpolant from the HW surface by right clicking on the interpolants folder and selecting New Distance Function.
4. Extract the Vein Footwall vertices and then evaluate the new HW distance interpolant against the FW points.
5. Then export the FW vertices including the evaluation to csv, then re-import the data into the locations folder
6. Interpolate the FW to HW distance values, using the boundary of the original vein in the geological model as the constraint. Again be aware of the number of vertices you have – a fine mesh on your geological model will create a very large number of points, in LFGeo however you can downsample the points if needed using the query "id % 10 = 0".
From here you just follow the procedure from LFMining. ie. Run the grade interpolant, evaluate against the assay/composited points, then go to the spreadsheet program to perform the multiplication of Grade & Thickness. Bring it back into LFGeo and build your grade-thickness model. The only variation from the procedure is you cannot create a medial plane in Geo, to do this you simply create a new mesh, selecting the new mid points from the drillhole file you import into the location data file. These points should sit at the midpoint in the vein (being an average if the intersection) so can be used to create the surface you can evaluate against. You also need to export the assay/composite file to a csv and import them into the locations folder – you cannot currently extract this data directly to the locations folder (another oversight). Also be aware that LFGeo does not show you what evaluations you have done – to see these you must load the wireframe into the view – not sure why ARANZ Geo decided to remove this functionality – perhaps an oversight also.
As an aside, for horizontal / flat volumes, LFGeo has a workflow for creating thickness grids. These are done at export, using fixed meshes in the Meshes folder. The result is a horizontal 2D grid of the thickness.