SC. Block Model


Overview

The Block Model step allows users to load in block models which can then be used for reporting purposes. This process is exactly the same as the Block Model step in Rapid Reserver.

  • A Reserve Model (file “.resmodel”) is a collection of block models.

  • Each project loads a single ".resmodel" file at a time.

  • The New and Open buttons create and load Reserve Model files.

  • The Edit button is where Block Models may be added or removed from the Reserve Model.

Button

Description

Button

Description

Creates a new Reserves Model (.resmodel file)

Opens an existing Reserves Model

Edit the currently loaded Reserve Model

Removes the currently loaded Reserve Model

Export the currently loaded Reserve Model to CSV

Creating Reserves Model

Loading Block Model

Block Models used to build a Reserves Model can be imported into a project from different formats of various third-party software. Below are examples of importing Block Models in the most common formats: csv and .dat.

Importing from CSV

Press the New button to open the Reserve Model Generator.

  1. Press blue plus icon and import CSV file “.myblockmodel.csv”.

  2. Set the green Header Line to match the header text.

  3. Set the yellow Data Offset to match the first row of data.

  4. Press OK to finish.

When importing Block Model CSV, you’ll see a preview of the first 100 rows of this CSV. It's a good time-saving feature, as your site Block models CSVs can be of a very large size and take a long time to open.

Importing from Micromine

To import a block model in .dat format created in Micromine, select the option “Micromine block Model” and populate Configure Micromine Block Model Settings form.

  1. Specify path to the block model file.

  2. Map block coordinates and sizes fields to the Micromine fields accordingly.

Note

If in the Reserves Model Generator the name of a block model appears red, it means the absolute path to the file can’t be found. The path to the blockmodel must be relinked in order to use it.

Press the folder icon and specify path to the folder where block model file is stored.

Mapping

  • Once the block model has loaded, its header fields are listed in the Variables panel on the right.

  • Numeric fields use the N(“field”) syntax, and text fields use the T(“field”) syntax.

  • Drag and drop the variables to the appropriate field (or double click to map to the selected field).

The Parcel field is used to categorise the material type in each block model cell.

  • Most block models contain a material type field, such as “MatType” or “IDProduct”.

  • If there is no material type field in the block model, see the Block Model Formulas and Logical Operators section to write your own.

For the Volume field use the formula N("DX")*N("DY")*N("DZ").

For the DryTonnes field use the formula N("DX")*N("DY")*N("DZ")*N("Density"), or N("Density") > 0 ? N("DX")*N("DY")*N("DZ") * N("SG") : 0 to exclude negative values.

For the WetTonnes field use the formula N("DX")*N("DY")*N("DZ")*N("Density")/<moisture>.

  • Be careful to use the text T(“material”) syntax so that the parcel is read as text, not as a number.

Note for Micromine Block Models

When importing Block Models in .DAT format, in the list of Available Variables on the right you will see a new variable MetaN(“Rotation”), which you do not see when working with a CSV file.

Map this variable to the “Bearing” field. This value pulls in rotation data from the Micromine block model, adjusted for Alastri rotation.

Fields

New reserve model fields can be created by clicking the Sum, Weighted, and Class icons located in the top button ribbon. These add new rows into the field list.

Field type

Description

Example

Field type

Description

Example

Add Additive button - Sum fields

When aggregating multiple block model cells, the value of these fields will be summed together. Sum fields include quantity fields such as volume, tonnes and gold ounces.

Add Weight Averaged button - Weighted fields

When aggregating multiple block model cells, the value of these fields will be weight averaged by their parent Sum field. Weighted fields need to be nested under a Sum field.

Add Text button - Class fields

Creates subtotals of a sum field, such as Indicated / Inferred / Measured. When aggregating multiple block model cells, these fields behave like Sum fields.

Block Model Formulas and Logical Operators

There are a number of expressions available to use in the Reserve Model Generator.

A+B

Add A and B

A-B

Subtract B from A

A*B

Multiply A and B

A/B

Divide A by B

A.ToLower()

Convert all upper case text (HG, Hg, hg) into lower case (hg)

Math.Min(A,B)

Return the minimum of A and B

Math.Max(A,B)

Return the maximum of A and B

N("density") <= 0 ? 0 : N("volume")

If density is less than or equal to zero, return zero volume, else return the volume field

A.Substring(0,Math.Min(3,A.Length))

Return the first three letters of A

( RowT("material")=="waste1" || RowT("material")=="waste2" ) ? "waste" : RowT("material")

If material is waste1 or waste2, then return "waste", else return the "material"

And

&&

If A is "true" and B is "true" and C is "true", then return "true", else return "false"

Or

||

If A is "true" or B is "true" or C is "true", then return "true", else return "false"

Equal to

==

If A is equal to B, return "true", else return "false"

Not equal to

!=

If A is not equal to B, return "true", else return "false"

Greater than

>

If A is greater than B, return "true", else return "false"

Greater than or equal to

>=

If A is greater than or equal to B, return "true", else return "false"

Less than

<

If A is less than B, return "true", else return "false"

Less than or equal to

<=

If A is less than or equal to B, return "true", else return "false"

Custom Variables

If required variable is not available, you must create/edit it in the Script Editor window, which can be accessed via the Custom Variables button.

  1. Press the Custom Variables button.

  2. In the Script Editor window, customize the formula code.

  3. You can copy sample scripts from the SC. Block Model Custom Variables section and paste them into the Editor window.

  4. Change the required values, such as the parcel and thresholds.

  5. Verify that the code is correct by pressing the Compile button.

  6. If there are no errors, click OK.

  7. The new custom variable will appear in the Variables list on the right in bold. Drag and drop it to map it to the applicable field.

Reserve Field Value Clamping

Use Minimum and Maximum columns to clamp numbers by block to be >= Minimum and <= Maximum.

This functionality can be used to help with data hygiene by ensuring that values are somewhat sensible.

Recommendation

If the value in the Minimum column is set to a negative value, the Reserves Summary and subsequent data may incorrectly display the material contents or other inputs as negative values.

Exporting Mapping

To facilitate the matching of fields of similar block models, the filled fields of one model can be copied and pasted into the other. The Copy Mappings and Export Fields buttons are used for this purpose.

Find and Replace

You can also use the Find and Replace button to speed up the filling of similar parameters in copied mappings.

Errors List

If the Errors panel is blank, and all relevant fields are mapped, press Generate to build the reserve model.

Recommendation on files storing

Reserves Summary

Once the Reserve Model file has been generated, a summary is displayed for each loaded Block Model.

  • Use the Min/Max toggle to inspect the data for missing or rubbish values.

  • Check the material types, tonnes and grades for ballpark accuracy.

Export

You can export the entire Reserves Model to a CSV file. To do this, click the Export button on the top line and specify the path to the destination folder.

You can also narrow your Block Model Data export by selecting which parcels and fields you wish to export from the Reserves Summary.

Selected parcels and fields of the Reserves Model can be exported to Excel or to Text/CSV formats.


More details and a valid Reserves model build example see here.