Block Models
The features described in this topic are only available if you have the Contaminants extension.
With the Contaminants extension, you can create and import regular block models, which are block models that have blocks that are all the same size and are never divided.
This topic describes working with regular block models in Leapfrog Works. It is divided into:
- Creating a Regular Block Model
- Importing a Regular Block Model
- Displaying a Regular Block Model
- Viewing Block Model Statistics
- Exporting Regular Block Models
Creating a Regular Block Model
To create a new regular block model, right-click on the Block Models folder and select New Block Model.
The New Regular Block Model window will appear, together with a set of controls that will help you set the size, location and orientation of the model in the scene:
The block model is defined from its Base point, and the reference centroid is the Base point plus one half the Block size. Block models extents always include complete blocks, and when changes are made to the Block size parameter, the model’s extents will be enlarged to fit the Block size.
If you know the values you wish to use for the model’s Extents, enter them in New Block Model window. You can also:
- Use the controls in the scene to set the extents.
- The orange handle sets the Base point.
- The red handles adjust the size of the boundary.
- The blue handle adjusts the Azimuth.
- Use another object’s extents. Select the object from the Enclose Object list.
You can create a tilted block model by adjusting the Azimuth, Dip and Pitch angles, or you can Set Angles From the slicer or moving plane.
It is a good idea to use larger values for the Block size as processing time for large models can be considerable. Once you have created a block model, you can change its properties to provide more detail.
You can also evaluate the block model against geological models, interpolants and distance functions in the project. To do this, click on the Evaluations tab. All objects available in the project will be displayed. Move the models you wish to use into the Selected evaluations list.
Enter a Name for the block model and click OK. The model will appear under the Block Models folder. You can make changes to it by double-clicking on it.
Importing a Regular Block Model
Leapfrog Works imports regular block models in the following formats:
- CSV + Text Header (*.csv, *.csv.txt)
- CSV with Embedded Header (*.csv)
Note that importing a block model in CSV format does not require a header in either the CSV file itself or any text sidecar file. Once you start the import process, Leapfrog Works will use the data in the file to locate the minimum and maximum centroids. You can view this information and change how the data is mapped before the file is imported into the project.
To import a regular block model into Leapfrog Works, right-click on the Block Models folder and select Import Block Model. You will be prompted to select the file you wish to import. Once you have done so, click Open. The Import Block Model window will be displayed in which you can map the columns in the file to those Leapfrog Works expects. Once you have mapped the required columns, click Next to define the grid.
If you are opening a block model *.csv file created by Leapfrog, the Grid Definition fields will be automatically populated.
You can also enter the grid definition values manually.
A Metadata tab contains additional information extracted or processed from the file content, including the minimum and maximum grid corners were the grid not rotated.
In cases where Leapfrog Works cannot automatically parse the grid definition information from the file, it will be necessary to enter the block size, position and extent values for the block model you are importing. You may be able to find this information in the header at the top of the *.csv file, which is displayed on the right side of the screen. Copy the relevant information from the header into the Parent blocks, Sub-blocks and Position and Size fields.
Note that besides the Leapfrog and Surpac rotation type options, the Custom Rotation option for Rotation type allows the rotation values around X, Y and Z to be specified in any order, and, when needed, to indicate that the values in the file are in rotated model coordinates.
Validation messages at the bottom of the Grid Definition fields check to see if the values in the Grid Definition fields result in a match for the blocks in the source file. Once you have a valid set of definition fields, the validation message will read: All the blocks in the file match the grid you’ve defined.
Click Finish. The block model will be imported and will appear in the Block Models folder.
To make this process easier, Leapfrog Works makes it easy to move numbers from the file over into the Grid Definition fields. Select content from the right pane and drag it over to the Grid Definition fields. As you drag the value over fields on the left, boxes will be highlighted to show where the value(s) will be entered when you drop them. You may include the label and other content in the selection, and only the selected numbers will be pasted. When a line contains several numbers, all can be selected and dragged over, and depending on how many numbers you selected, two or three adjacent fields will be highlighted to show where the numbers will go.
Some *.csv block model files do not have the file grid definition data in a header at the top of the file, but instead have the information in a second ‘sidecar’ file that accompanies the block model file. If no grid definition header is apparent for the file you have selected, check the source folder to see if there is another file that contains the grid definition information. If the block model was exported from Leapfrog Works, the file will be named the same but also have “.txt” at the end. If Leapfrog Works can identify the sidecar file it will be displayed in a tab on the right side of the window.
Some *.csv block model files may only have the origin coordinates in the header, or no definition at all. If it is possible, ask the source of the file you are using for the grid definition information used on the original block model; reconstructing the information will result in a similar but not the same block model.
Displaying a Regular Block Model
Along with the standard Slice mode options in the shape list properties panel for making sliced views of the block model, there is a 2D slice mode option. This option displays a regular block model, an octree sub-blocked block model, or a fully sub-blocked model at the surface of the slicer.
2D slice is not available for variable-z sub-blocked models.
The 2D slice has several advantages over viewing a thick slice, where entire blocks may be missing or may be hidden by foreground blocks well in front of the slicer, depending on your slice thickness. Here, the display of a standard thick slice suggests there are holes in the block model, whereas in reality the centroids of those ‘missing’ blocks are outside of the thick slice and so not displayed:
When 2D slice mode is enabled, each block intersecting the slicer is depicted:
The Fill slicer option provides the choice between an outlined shape for the intersection of each block with the slicer, or a filled shape:
The Show text option provides the choice between seeing a value on screen for each block intersecting the slicer, or not. The default value is the value for the column selected to colour the block model:
Click the Format Display Text button to open the text format dialog in which you can customise the scene text displayed for each block, including the column values displayed and the colouring of different parts of the text label.
See Text Formatting in the Visualising Data topic for more information on how to use the text formatting dialog.
The size of the gap around a block can also be customised. With regular block models, octree sub-blocked models and fully sub-blocked models, you can specify a fixed gap size to be used between all blocks. With regular block models you can alternatively choose a data column and the gap around each block will be proportional to the selected value of that column for the block. The selected value can also be the result of a calculation. These variable gaps are created by scaling each block with a scaling factor between 0 and 1, linearly mapped from 0 to the selected attribute maximum.
Block models can also be added to a section layout, where they will have an appearance similar to the 2D slice mode view. This presentation option includes a query filter and an index filter. See Section Layouts for more information on designing section layouts.
When a block model is displayed in the scene, there is a Query Filter option that includes filters created in Calculations and Filters:
The Display filter provides a further option for selecting relevant portions of the model to display in the scene view. The default option is From Scene, which applies the selected column found in the shape list. Other evaluations can be selected from the list to create a filter independent of the column shown in the shape list. Enable filter will apply the filter when ticked.
- If a category column is chosen, a Select Categories button can be used to select the discrete categories to show.
- If a value column is chosen, a value range filter is shown.
- If a date column is chosen, a date range filter is shown.
For more information on how to use the Display filter, see the Using the Display Filter section in Visualising Data.
When a block model is displayed in the scene, there is an Index Filter option for displaying the grid:
The Index Filter can be set to None, Subset or Sliced.
- Subset shows the union of the selected X, Y and Z ranges.
- Sliced shows the intersection of the selected X, Y and Z ranges.
The range sliders have two modes: coarse control and fine control. Here an index filter is used for a set of values that ranges from 1 to 160; it is displayed in dark blue, to show the full range of values in coarse control mode:
You can restrict the data displayed by dragging on the handles. Here the range of values is restricted to 1 to 50:
You can click and drag on the selected range to change the values displayed:
To switch to fine control, double-click anywhere along the range slider. Here the range of 52-101 has been expanded along the whole slider, giving you more control over the position of the range end points:
The slider is displayed in light blue in fine control mode.
Now you can use the handles to further restrict the range displayed:
Right-click on the slider to return to coarse control and the full range of values. Here, right-clicking reverts to coarse control, with the range restricted to the original range of 52-101:
Viewing Block Model Statistics
To view statistics on a block model, right-click on the model in the project tree and select Statistics. The following options are available:
See the Statistics topic for more information on each option:
Right-clicking on a block model evaluation or a numeric calculation and selecting Statistics opens a univariate graph for the selection. See Univariate Graphs in the Statistics topic for more information.
Table of Statistics
You can view statistics for all evaluations and calculations made on a block model broken down into categories and organised by numeric evaluations and calculations. To view statistics, right-click on a block model in the project tree, select Statistics then select the Table of Statistics option.
You can view statistics for as many numeric and category columns as you wish. When you have at least one Category column selected, you can organise the information displayed in two ways: Group by Category or Group by Numeric. Here, statistics are displayed organised by the category data columns:
The Query filter option uses a related filter to constrain the data set to a selected subset.
Statistics can be Un-weighted, Volume-weighted or Mass-weighted. Select the option you require from the Statistics weighting list.
When using mass-weighting, you can also set the Density to be a Constant value that you specify, or you can use one of the columns in the table.
You can select an Additional weighting from the available table columns in the dropdown list. You may need to specify the Weighting unit as Decimal or Percentage if the column selected is not a proportion column. This Additional weighting column is especially useful to use with a proportion column so that only the proportion of a block containing the desired grade is included in the report.
The Categories list provides category classification options. When selected, the set of statistics measures for each evaluation or numeric calculation will be shown for each category.
You can hide empty categories (those with a count of zero) and inactive rows using the options below the Categories list:
Group by category and Group by numeric column provide options for the table organisation. You can also change what columns are displayed in the table by clicking the Edit columns button (). This opens a window in which you can select the columns that are displayed in the table:
Click rows to select them, and select multiple rows by holding down the Shift or Ctrl key while clicking rows. You can then copy rows by clicking the Copy button (), which allows you to copy the selected row(s) or all rows in the table.
The arrow buttons quickly expand () or collapse () rows.
The block model evaluation object has its own Properties window with useful statistics. One important section is the Variance section, providing the variance Between Blocks and Within Blocks, useful for calculations applying Krige’s Relationship and determining the variance correction factor and block dispersion variance.
Exporting Regular Block Models
Regular block models created in Leapfrog Works can be exported in the following formats:
- CSV + Text Header (*.csv, *.csv.txt)
- CSV with Embedded Header (*.csv)
- CSV as points (*.csv)
To export a block model, right-click on it in the project tree and select Export. You will be prompted to select the file format.
Enter a name and location for the file and click Save. Next, you will be able to choose custom settings for the selected format.
The selections you make when you export a block model will be saved. This streamlines the process of subsequent exports of the model.
When you choose to export a block model in CSV format, you must first choose the type of CSV export. Options are:
- With an embedded header file. The block model definition is included at the top of the CSV file.
- With a separate text header. The block model definition is written as a separate text file.
- As points. The CSV file does not include the block sizes and model description.
Click Next and work through the steps.
Choose which objects will be included in the exported file. The Available items list includes all evaluations made onto the model. The order of columns in the exported file will match the order shown in the project tree.
You can use a Query filter to filter rows out of the data exported.
This is different from exporting filters as columns, as selected in the previous step.
The second option in this window is useful when all block results are consistently the same non-Normal status. Select from Error, Without value, Blank or Outside; all rows that consistently show the selected statuses will not be included in the exported file.
There are three encoding options for Numeric Precision:
- The Double, floating point option provides precision of 15 to 17 significant decimal places.
- The Single, floating point option provides precision of 6 to 9 significant decimal places.
- The Custom option lets you set a specific number of decimal places.
To change either the Centroid and size precision and Value precision options, untick the box for Use default precision and select the required option.
When a block model is exported, non-Normal status codes can be represented in the exported file using custom text sequences.
The Status Code sequences are used for category status codes and filter status codes exported as columns. For filter status codes, Boolean value results will show FALSE and TRUE for Normal values or the defined Status Codes for non-Normal values.
Numeric Status Codes can be represented using custom text sequences. This is optional; if no separate codes are defined for numeric items, the defined Status Codes will be used.
The selection you make will depend on the target for your exported file. You can choose a character set and see what changes will be made.
Once you have worked through these steps, a summary of the selected options will be displayed. If you need to make any changes, you can work back through the steps. Once you’re satisfied with the settings chosen, click Export to save the file.
Got a question? Visit the Seequent forums or Seequent support
© 2023 Seequent, The Bentley Subsurface Company