Вы находитесь на странице: 1из 54

BLOXER

Interactive visualization and editing software for 3-D block models

User's guide to version 1.6c

Markku Pirttijrvi

2012
University of Oulu
Department of Physics

1. Introduction

BLOXER is a computer program made for interactive visualization, construction, and


maintenance of three-dimensional (3-D) block models, also known as voxel models. Block
models are used in the GRABLOX (Pirttijrvi, 2010) and (still unpublished) MAGBLOX
programs build for the geophysical modeling and interpretation of gravity and static magnetic
field data. The 3-D block model consists of a large super-block divided into smaller brick-like
elements or minor-blocks. Each minor-block is assigned one or more characteristic parameter
value(s). The model is aligned with a rectangular (local or geographical) xyz coordinate
system. The volume of the model describes the spatial distribution of a petrophysical
parameter, such as density, magnetic susceptibility or electrical conductivity. Figure 1 shows
an example of a regular block model, where all the minor-blocks have equal size and shape.
Note that the block model must be fully filled - cells cannot overlap or have empty space
between them.

Figure 1. Block model of size dX.dY.dZ divided into nx.ny.nz minor-blocks of size dx.dy.dz.
The model is aligned with the rectangular (geographical) coordinate system.

In addition to its own model file format, BLOXER can import data from column formatted
text and binary files. It uses 3-D interpolation, extrapolation and direct assignment of the data
to fill the minor-blocks with parameter values. Thus, BLOXER can be used to visualize
various kinds of 3-D data. When importing data the existing values can be preserved and new
data can be immersed into the model. Therefore, BLOXER can be used to update existing 3-D
models with new data.

Horizontal layers and vertical sections can be visualized as 2-D and 3-D graphs and isometric
3-D views can be made for one or two isosurface values. Interactive editing of simple
geometric shapes and point data immersion can be used to edit the values of model
parameters, weights (fix/free status), and discontinuity information. BLOXER can handle
irregular block models, where the size and shape of the blocks varies provided that the model
is always full. This allows modeling the positions of gently undulating horizontal layers and
near-vertical contacts with greater accuracy without the need for increasing the discretization
and the total amount of minor-blocks. BLOXER can utilize topography and well (drill-hole)
data to resize the vertical position of block boundaries automatically. Despite all these
features, BLOXER's visualization capabilities are quite limited. Therefore, data volume,
layers, and sections can be exported into text files to be plotted with third-party visualization
programs.

2. Table of contents

1. Introduction ....................................................................................................................... 2
2. Table of contents ............................................................................................................... 4
3. Getting started ................................................................................................................... 5
3.1 Installing ...................................................................................................................... 5
3.2 Starting up ................................................................................................................... 5
4. Menus ................................................................................................................................ 7
4.1 File menu ..................................................................................................................... 7
4.2 View menu................................................................................................................... 8
4.3 Edit menu................................................................................................................... 10
4.3.1 Block reduction .................................................................................................. 12
4.4 Math menu ................................................................................................................. 14
4.5 Cross menu ................................................................................................................ 16
4.6 Exit menu................................................................................................................... 17
5. GUI controls .................................................................................................................... 18
5.1 Basic model parameters ............................................................................................. 18
5.2 Parameter editing ....................................................................................................... 19
5.3 Editing fix/free status ................................................................................................ 21
5.4 Editing hidden blocks ................................................................................................ 22
5.5 Resizing blocks .......................................................................................................... 22
5.6 Extents ....................................................................................................................... 24
5.7 Gradients and backup/revert ...................................................................................... 26
5.8 Right control panel .................................................................................................... 28
6. Input file formats ............................................................................................................. 31
6.1 Input model file ......................................................................................................... 31
6.2 Block file format ........................................................................................................ 33
6.3 Import file formats ..................................................................................................... 35
6.4 Importing data ........................................................................................................... 37
6.5 Export file formats ..................................................................................................... 39
6.6 Topography data ........................................................................................................ 40
6.7 Atlas BNA file format ............................................................................................... 45
6.8 Graph options ............................................................................................................ 46
7. Additional information .................................................................................................... 47
8. References ....................................................................................................................... 48
9. Terms of use and disclaimer ............................................................................................ 48
10. Contact information ....................................................................................................... 48
Appendix A: 3-D view with layer view .............................................................................. 49
Appendix B: Layer view...................................................................................................... 50
Appendix C: Section view ................................................................................................... 51
Appendix D: Reduced model .............................................................................................. 52
Appendix E: Two-layer model ............................................................................................ 53
Appendix F: 3-D view & layer ............................................................................................ 54
Keywords: 3-D models; Visualization; Modelling; Interpretation.

3. Getting started

3.1 Installing

BLOXER can be run on a PC with 32 and 64 bit version of Microsoft Windows XP/Vista/7
operating system and a graphics display capable for at least 1280x1024 resolution. Memory
requirements and processor speed are critical only when handling very large models, since the
program uses dynamic memory allocation and does not perform large computational tasks.

The program has a simple graphical user interface (GUI) that can be used to edit the model
parameters, to handle file input and output, and to visualize the characteristic parameters
interactively. The user interface is based on the DISLIN graphics library. Since the DISLIN
graphics library is independent form the operating system the program can be compiled and
run on other operating systems (Solaris, Linux) without any major modifications.

The program requires either BLOXER.EXE and DISDLL.DLL files (the 32 bit executable
and Dislin link library) or BLOXER64.EXE (the standalone 64 bit executable). The
distribution file (BLOXER.ZIP) also contains a short description file (_README.TXT), this
user's guide (BLOXER_MANU.PDF), some example model (*.INP and *.BLX) and map
files (*.BNA).

To install the program simply "unzip" the distribution files into a new folder. To be able to
start the program from a shortcut that locates in a different directory, the DISDLL.DLL file
should be copied or moved into the system folder (e.g. C:\Windows). Alternatively one can
modify the PATH environment variable. When running the program over Windows network
one should map the network drive (e.g., Explorer's Tools/Map network drive menu item) and
assign it with a logical drive letter.

3.2 Starting up

On startup the BLOXER program displays the standard file selection dialog and the user
should locate and open the input model file (*.INP). If the user cancels the file selection
operation, default file BLOXER.INP will be used. If the file does not exist, default parameters
are used and the file will be created automatically. The *.INP file contains the descriptive
5

parameters of the block model, such as the position, size and discretization of the super-block,
the number of characteristic parameters, the scale type (linear/logarithmic), and minimum and
maximum values used in the color scale. The actual block parameters (position, sizes and the
characteristic parameters) are read from (and stored into) a separate block file (*.BLX), the
prefix name of which is the same as that of the INP file.

Important: The *.INP file contains the computational parameters of the actual modelling and
inversion program (e.g. GRABLOX) on the few rows after the first line. BLOXER, however,
works with the model alone and does not (and needs not to) use the computational parameters.
Nonetheless, these lines are read from the (previously opened) model file, kept in the memory
during the processing of the model, and stored back into the (new) model file when it is
saved. The user should take care that the starting model file corresponds to the correct
modelling program. Otherwise, the modelling program cannot read the model file.

Thus, initial models should be created with the modelling program (so that the header will be
correct) and only then edited with BLOXER.

Before the user interface (see Appendices) is built up, the program reads graph parameters
from the BLOXER.DIS file. The *.DIS file defines, for example, various axis title texts and
their heights, and the relative size and position of the graphs. If the file does not exist default
parameters are used and the file will be created automatically.

The BLOXER program runs in two windows: the console window (command shell) and the
graphical user interface (GUI) window. The console window is used to provide input/output
(I/O) functionality in some specific tasks that have not (yet) been implemented in the GUI.
These tasks include, for example, the display of statistical information and histograms and
various queries for additional parameters the program makes.

The GUI consists of a graph area at the right side of the application window, two control
panels on the left side of the window, and five pull-down menus at the top of the GUI
window.

4. Menus

4.1 File menu

Open model

open an existing model and parameter file.

Save model

save the model and parameters to disk.

Save red. model

save the reduced model and parameters to disk.

Import data

read in characteristic parameters from other file formats.

Import topo

read in topography data and adjust block sizes accordingly.

Export data

save parameter data into a column-formatted file.

Read disp. params

read in new graph parameters from a DIS file.

Read overlay map

read map lines from an Atlas BNA file.

Save graph as PS

save the graph in Adobe's Postscript format.

Save graph as EPS

save the graph in Adobe's Encapsulated Postscript format.

Save graph as PDF

save the graph in Adobe's Acrobat PDF format.

Save graph as WMF

save the graph in Windows metafile format.

Save Graph as GIF

save the graph in GIF (graphics interchange format) format.

These menu items bring up the standard file selection dialog that should be used to provide
the file name for open and save operations. The menu items themselves are quite selfexplaining. Read chapter 6 for more information about input file formats and import/export
operations.

BLOXER does not support direct printing to a printer. The graphs are saved into files in
formats that can be printed using a suitable third party programs (e.g., Ghostview, Paint Shop
Pro, Adobe Acrobat Reader, MS Word, etc.). All graphs are saved in landscape or portrait A4
size as they appear on the screen. The orientation (portrait vs. landscape) depends the aspect
ratio of the x and y axes. The GIF output is the only bitmap image format (size 29702100
pixels). The EPS file does not include preview bitmap.

4.2 View menu

Index/Dimension

swap axis labels between index numbers and coordinates.

Labels

show or hide numerical labels on the layer and section graphs.

Grid

show or hide the grid lines or mid-points of the minor-blocks.

Color scale

changes the color scale in layer and section graphs.

Show/Hide map

show or hide the external overlay map.

Show roughness lines show or hide the special discontinuity information.


Swap 3-D model

modify the appearance of the 3-D model view.

Image/Contour

swap between image and contour map representations.

Pan North

move the zoom area northwards.

Pan South

move the zoom area southwards.

Pan East

move the zoom area eastwards.

Pan West

move the zoom area westwards.

Pan Up

move the zoom area upwards.

Pan Down

move the zoom area downwards.

The Index/Dimension option does not only change the axis labels, but it also affects the
Layers, X-sexn and Y-sexn text fields as well as the extent- and extent+ text fields. If index
values are used, the position of layers and sections are defined using their index numbers
(row and column index numbers starting from the top-south-west corner). If dimension
values are used one can use the coordinates or distances of the desired layer or section
directly. See the two important note below, however.
The Labels item is used to hide the labels from layer and section views, or to show the
value of the current parameter, the fix/free/hidden status of the block, the depth to the top
of the block (layer view), x- or y-coordinate of the block center (X- and Y-section views),
or the index number of the minor-block. Note that the index number refers also to the row
on which the block resides in a BLX file.
The Grid item is used to hide and show the grid lines drawn between the block elements or
to show only horizontal lines between layers or points at the center of the elements.
The Color scale item changes the color scale of the graphs between: rainbow and inverse
rainbow scale, normal and inverted grayscale, and a special temperature (red-white) scale.

The Show/Hide map option affects the layer view and the 3-D model view when an
overlaying BNA map containing geographical map information (borderlines, rivers, lakes
etc) has been read in using the Read overlay map item in File menu.
When using the zooming option, the outline of the zoom box is shown inside the 3-D view.
The Swap 3-D model option changes the axes of the 3-D view so that it displays only the
contents of the zoom box and not the whole super-block. It also changes the position of a
horizontal layer from the top of the layer (default) to its bottom.
The Image/Contour option swaps the display between image map and contour map
representation. Although contour maps are generally much smoother than image maps,
important features may be lost and unexpected artifacts may appear in contour maps.
Moreover, reduced models and models with increasing block height loose accuracy when
plotted as contour maps.
Unlike the Panning push button, which allows free movement of the zoom area with the
mouse, the Pan items in the View menu shift the zoom block by the size of the zoom area.
That is to say, if panning is made northwards, the new southern side of the zoom block
becomes the old northern side.

Note that BLOXER keeps track of the mean x, y, or z position of each layer and section and
shows it on the title text of the graph. Internally, however, BLOXER always uses the index
numbers of the layers and sections. If the block model is highly irregular, the nominal depth
value of a layer, for example, may differ from the true depth of the blocks that belong to that
particular layer.

For the abovementioned reason the axis ticks (which are evenly spaced) are probably
incorrect if indices are used (Index/Dimension) and the model is irregular. Note that the 3-D
view always displays the actual xyz coordinates and not the index numbers.

4.3 Edit menu

Add parameter

add a new parameter into the model.

Del parameter

delete the current parameter from the model.

Norm/Log param.

use linear or logarithmic scale for parameters.

Swap bin/txt

swap between different binary and text file formats.

Block reduction

apply block reduction (combines equal neighboring blocks).

Rehabilitate blocks

regain the blocks that were made "hidden" in the reduction.

Block type 1/2

swap between equal-height and increasing-height block types.

Zoom ->super

make the current zoom block a new super block.

Swap hidden blocks

make hidden blocks visible and visible blocks hidden.

Revert hidden blocks

make all hidden blocks visible again.

Layer-wise fix/free

set the fix/free/hidden status of the blocks per layer.

Layer-wise reset

set the parameter value of the blocks per layer.

Discretization

double or half the grid discretization in xyz or xy dimensions.

Split layr/sexn

insert a new layer or cross-section into the block model.

Merge layr/sexn

delete a data layer or cross-section from the block model.

Add layr/sexn

add a layer or cross-section at the side of the block model.

Adjust layer thickness define the thickness of a single layer manually.


The 3-D block model can include up to ten (10) parameters.
The linear scale is useful when dealing with parameters that have quite small range of
variation (e.g., density). Logarithmic scale, on the other hand, is useful if the parameter
range is wide (e.g., resistivity or magnetic susceptibility).
The Swap bin/txt option swaps the block file format between:
1. 4-byte real numbers in text format,
2. 2-byte integer values in text format,
3. 4-byte real numbers in binary format, or
4. 2-byte integers in binary format.
See chapter 6 for further information.
The Block reduction and Rehabilitate blocks items are discussed in the next chapter.
Although the xyz dimensions of the blocks can vary, initially all blocks have equal size
when the default block type is used. The alternative block type (Block type 2) means that
10

the block height is made increasing with depth by the value of the topmost block at every
successive layer (e.g. 0.5, 1, 1.5, 2 km or 1, 2, 3, 4, 5 km). This method decreases the
resolution at the bottom but reduces the total amount of blocks needed to describe the 3D
volume of the model.
The Zoom -> super item is useful when migrating from large-scale regional models into
more detailed local models. The size and position of the model will be redefined based on
the current zoom volume. The old discretization and contents (parameter values) are
reserved. All the information outside the original zoom block is lost.
The Swap hidden blocks item can be used to visualize the hidden blocks by simply
interchanging the hidden/visible status of the blocks. Note that the hidden blocks are
always included into the model - they are just invisible.
The Layer-wise fix/free option allows a fast method to fix and/or free and/or hide the
blocks per layer. The new status values are given on the console window.
Likewise, the Layer-wise reset option allows a fast method to reset the parameter values
per layer. The new parameter values are given on the console window.
The Discretization menu item contains sub-menus to double (split blocks into two half) or
half (combine two adjacent blocks into one) the discretization horizontally (xy) or in 3-D
(xyz). The two Double discr functions split each minor-block either into 8 (in 3-D case) or
4 (in 2-D case) cells. The splitting method preserves the model geometry if blocks have
been resized. The two Half discr functions combine either the adjacent 8 (in 3-D case) or 4
(in 2-D case) cells. The combining method requires an even number of blocks along the
axes, and it does not preserve the model geometry if the blocks have been resized. The
parameter value of the combined cell will be the mean of the original 8 or 4 blocks.
The Split layer/section item splits a layer or an X- or a Y-section into half, thus increasing
the discretization locally. The program first asks the user for the direction, x, y or z, of the
splitting operation. Then the program asks for the index number of the layer/section that
will be split into half. The splitting method preserves the model geometry.
The Merge layer/section item joins together two adjacent layers or sections of the model.
Because this operation is in general not possible for irregular models (or is it?), the method
does not preserve the model geometry if the blocks have been resized or combined. The
I/O parameters (direction and index number) are provided on the console window.
Note: The Merge layer/section function is still incomplete (version 1.6). Currently this
operation can be used to delete only the outermost layers or sections so that the size of the
11

super-block is adjusted (reduced) accordingly. This option is can be useful for making the
discretization even before reducing it into half using the Half density items.
The Add layer/section item is used to add a layer or section to the side(s) or bottom of the
super-block. The width of the margins or thickness of the layer can be freely defined.
Margins can be used, for example, to extend the model outside the computational area
without increasing the total amount of minor-blocks. The I/O parameters (direction and
index number) are provided on the console window.
The Adjust layer thickness item can be used to quickly redefine the thickness of a single
horizontal layer. Unlike the horizontal editing functions this option provides better 3-D
control across the sections. This option can also be used to redefine the bottom depth of the
whole super-block.

Important: The 3-D block model must be full; there can be no empty holes between the
block elements and the blocks cannot be overlapping with each other.

In general, it is not possible to generate fully irregular block models, because the amount of
blocks is limited by the discretization. If the model contains a block that has been resized, it
means that some other neighboring block has also been resized. Thus it is generally
impossible to delete a layer that contains resized blocks without producing empty holes or
overlapping blocks. Therefore, the Half density and Merge layer/section functions revert back
to a regular, evenly discretized block model before proceeding.

4.3.1 Block reduction

The block reduction algorithm tries to combine those neighboring blocks that have the same
size and the same parameter value so that together they will form a larger brick-like block.
The resulting block will cover the volume of the others, which will be marked "hidden" and
removed from visualization and computation. The reduction decreases the total amount of
blocks and, thus, speeds up the computation of the potential fields. The reduction is useful in
the forward computation of large densely discretized models with millions of elements.
Example of block reduction is shown in the Appendix D. The reduction can be made in 2-D
(layer-wise) or in 3-D. Please, note that the reduction algorithm is far from ideal and does not
give optimal reduction.
12

After applying the Edit/Block reduction menu item the program first asks (on the console
window) if the topmost layer will be reduced or not. Neglecting the top layer improves the
accuracy of the computations because it preserves the parameter values (uses zero tolerance)
on the top layer, which is the most sensitive to measurements made above the surface.

The program then asks for a parameter tolerance (in percents) for the reduction. The blocks
whose relative parameter difference, (pi - pj)/pj, is less than the tolerance value will be
combined provided that they fulfill the spatial requirements. If the tolerance is zero, the
blocks will be joined only if the parameter values are exactly the same.

The program then asks for the (target) division of blocks in x, y, and z directions. Providing a
value equal to the original discretization will not combine the blocks in that direction. At this
point one should remember that if full 3-D reduction is used, the GRABLOX gravity
modeling gives incorrect results if the regional field is computed using the mean density value
of each layer. This happens because the residual density (volume) of the blocks that extent
over multiple layers will be computed incorrectly. This problem can be avoided using layerwise reduction (z division is equal to z discretization). Usually one should test different
division values, because a sparse target division does not necessarily produce the best possible
reduction. Normally the division value should be an even number of the original
discretization.

The block reduction does not delete or remove the combined blocks. Instead, it uses the
parameter fix/free status to mark the combined blocks so that they are not plotted (nor used in
GRABLOX computations). The Edit/Block rehabilitation option resizes all the host blocks
back to their original size and resets the fix/free status so that the reduced blocks become
available again. The rehabilitation is nondestructive, that is to say, the original values that are
not rounded by the tolerance value are given back to the hidden blocks.

The File/Save red. model item is used to save the reduced block information, thus deleting the
original information of the combined blocks leading to smaller BLX files. When BLOXER
reads in totally reduced model files, it must revert back to the default discretization, because
in general it is impossible to find out the real geometry using reduced model information
alone. This leads to two difficulties. Firstly, the option should not be used if blocks have been
13

resized, because the backward substitution rounds the size and position of the minor-blocks
incorrectly. Secondly, due to the tolerance value the parameter values of the reverted blocks
are also rounded (data are lost).

4.4 Math menu

Block statistics

show statistics of the whole model and current layer.

Layer statistics

show statistics for each layer.

Show histogram

show a histogram distribution of parameter values.

Subtract mean layer

removes the mean of each layer from the values of each layer.

Reset min/max

reset the parameter min & max values based on current data.

Add/Subtract

add or to subtract a value from the parameters.

Multiply/Divide

multiply or divide the parameter with a value.

Reciprocal (1/p)

compute the reciprocal (inverse, p= 1/p).

Difference (p-p*)

compute parameter's difference from its surroundings.

Classify

round the parameter values to distinct classes.

Reset range

reset parameters between a range: if p1<p<p2 then p=p3.

Hide range

hide blocks between a parameter range: hide if p1<p<p2.

Filtering

apply one of the predefined 2-D and 3-D filters.

All mathematical operations deal with the current parameter and some of them use the
console window to pass the information between the user and the program. The statistics and
histogram information can be copied from the console into the clipboard and pasted into a text
file if desired. On a PC/Windows system the Edit/Copy item of the console window
(command prompt) can be accessed from the small icon in the top-left corner of the console.
Note also that most of the math operations ignore hidden blocks and deal only with the
current zoom volume or area.

The Block statistics option displays the minimum and maximum value, the mean, the standard
deviation, and the average deviation of the parameter. The normal standard deviation is
computed as nstd=sqrt(sum(xj-xmean)2)/(n-1), where j=1,n. The average deviation, also known
as the mean absolute deviation, is computed as astd=sum(abs((xj-xmean))/n, where j=1,n. The
statistical information is computed separately for the whole block model and the current layer

14

or section. The Layer statistics option displays the same statistical parameters computed
separately for each layer.

The Show histogram function asks the user for the number of the classes and then displays the
percentage of the blocks belonging into those classes. The bounds of the classes are computed
automatically using the Min and Max parameter values in the right control panel (and color
scale). The histogram information is computed separately for the whole block model and for
the current layer or section.

In the Add/Subtract operation, subtraction is achieved by providing a negative value for the
addition. Likewise, in the Multiply/Divide operation, division is actually multiplication where
the inverse of the denominator should be provided given (for example, a/1000 = a*0.001).
The statistics and the math operations are made with respect to the whole 3-D block model
and/or the current layer or section.

The Classify operation first asks for the classification method and then the number of the
classes. The classification is based either on a) the histogram information, in which case
uneven class bounds are generated so that an equal number of blocks would belong to them,
or b) on an even discretization, in which case the parameter classes are divided linearly and
evenly between the minimum and maximum parameter value. The objective of the
classification is to reduce the amount of individual parameter values by rounding them into
some definite values, the total number of which is fixed to a relatively low value (max=50).
Thus, this method can be used to create a model where the parameter values change step-wise.
In some cases, this option can help to identify isolated targets and to flatten out unimportant
features of the model.

The Difference (p-p*) is computed between the parameter value of a block (p) and the mean
of the adjacent, surrounding blocks (p*). The difference has the same meaning as the
parameter roughness in GRABLOXs constrained Occam inversion.

The Reset range function asks for the minimum (p1) and maximum (p2) parameter of the
range and the new value (p3) for the parameters inside that range. After this all the parameters
within that range (p1<p<p2) are set equal to the new value. This method can be used to

15

classify the model parameters manually. Setting p1=p2 allows changing a single parameter
value. Setting p1=p2=p3= 0 or p1>p2 ignores the reset range operation.
The Hide range function asks for the minimum and maximum parameter of a range. After this
all the parameters within that range are made hidden. Setting p1=p2=0 or p1>p2 ignores the
hide range operation.

The Filtering function can be used to process and to visualize the parameter data using few
elementary filtering operations. When applied, the program first asks if the operation will be
two-dimensional or three-dimensional. It then shows a list of filter operations and asks for the
index number of the desired filtering operation. The filter operations include a low-pass
(smoothing) and a high-pass (edge enhancement) filter, 8 gradient (shading) filters (N, E, S,
W, NE, SE, NW, SW) and the vertical gradient of the parameter. The vertical gradient is
computed using finite differences (forward and backward differences at the top and bottom).

The 2-D filters use a 33 kernel and the 3-D filters, which actually include only the low-pass
and high-pass operations, use a 333 kernel. Because of the size of the filters, the elements
at the borders are not affected. Note that the plane of the 2-D filters is based on the current
layer or section view. When applying a gradient filter that would normally destroy the base
level of the parameter data. Therefore, the program asks whether the data will be raised up to
the original level or not. If the filtered values are not raised back, gray color scale will be used
and the Min and Max values are reset (-0.2 and 0.2).

4.5 Cross menu

The Cross menu provides means to manipulate two different parameters and to put the results
onto the third one. Currently one can compute the sum (P3=P1+P2), difference (P3=P1-P2),
product (P3=P1*P2), and the ratio (P3=P1/P2) as well as the maximum (P3=max(P1,P2)),
minimum (P3=min(P1,P2)) and mean (P3= (P1+P2)/2). The user provides the index numbers
of the three parameters on the console window.

Note that the menu items in the Cross param menu are enabled only when the model contains
at least two parameters. This means that the results can be saved over an existing parameter
(e.g., P1+P2=P2). Normally, however, the third parameter, onto which the results are put,
16

must have been defined beforehand, for example, using the Add parameter item in the Edit
menu. Moreover, the addition (+), subtraction (-) and division (/) operations require that the
two parameters must be different (P1P2). In multiplication, on the other hand, the square
(second power) of a single parameter can be computed as a product (P1*P1=P2). Note that the
square root of a parameter is computed as a division of a parameter with itself
(P1/P1=Sqrt(P1)). This exception is justified simply because otherwise the result would be
equal to one (that can be defined manually anyway).

In the future, the Cross menu will contain tools for cross-correlation and related operations.

4.6 Exit menu

The Exit menu has two items. The Restart wide/norm item will restart the whole GUI so that
the aspect ratio of the window suits either traditional 3:4 display screens or widescreen
displays that are more common nowadays. When changing from normal mode to widescreen
mode the program asks the user a value for the aspect ratio 1 being equal to 3:4 and values
smaller than that will be more suitable to widescreen displays. Typical value for a 9:16 screen
is 0.70-0.85.

On exit the user is given a possibility to save the last model to disk, provided that the exit is
made without an error condition. The program asks for the name of the model file (INP +
BLX). Note that errors that are encountered before the GUI starts up are reported in the
BLOXER.ERR file. When operating in GUI mode, run-time errors arising from illegal
parameter values etc. are displayed on the screen.

17

5. GUI controls

5.1 Basic model parameters

The text fields at the top of the leftmost control panel define the parameters of the superblock:

1. X position (easting) of the SW (bottom-left) corner of the super-block.


2. Y position (northing) of the SW (bottom-left) corner of the super-block.
3. Z position (depth to the top) of the super-block.
4. X size of the super-block (in EW direction).
5. Y size of the super-block (in NS direction).
6. Z size of the super-block (in vertical direction).
7. X discretization (number of blocks) in EW-direction.
8. Y discretization (number of blocks) in NS-direction.
9. Z discretization (number of blocks) in vertical direction.

Important: For BLOXER the coordinates are dimensionless (meters, miles, or whatever). In
other words, dimensions are not shown anywhere in the graphs or GUI.

The Update button is used to confirm the changes made to the model parameters.

The pull-down list widget above the Update button defines how the changes affect the
parameter values when the position, size and discretization of the super-block are updated.

1. Ignore: In this method the array of the parameter values remains the same although the
super-block changes. This method should be used carefully, because the parameter
corresponding to one block will (most likely) move to a different position when the
horizontal discretization changes. Nonetheless, this mode allows redefining the position
and the size of the super-block in an easy way.
2. Preserve: The new parameter values are estimated using a 3-D interpolation of the existing
values. This method is useful when refining the grid, because it tries to preserve the
existing values. It also allows moving the super-block so that its contents remains at the
18

same position inside the xyz coordinate system. However, this method can be quite timeconsuming if there are lots of minor-blocks.
3. Shift only (default option): Only the position of the super-block is changed inside the xyz
coordinate system and the size and discretization do note change at all.

Note that the model parameter changes made under the Preserve option are not equal to
results of a typical 3-D interpolation. When parameters are redistributed on a new mesh, the
new parameter value is assigned the mean value of those existing parameter values that fit
inside the volume of the new minor-block. If old values do not fit inside the new minor-block
at all, the search volume is increased by one block size and so on until at least one old value is
found. If multiple values are found, their mean weighted by the inverse distance is given to
the new block. See chapter Importing data for further information about the 3-D parameter redistribution method.

The Reset button is used to reset the parameter values of all minor-blocks to the quantity
defined in the Value text field in the right control panel. Note that this operation resets only
the current parameter.

5.2 Parameter editing

The pull-down list widget below the Reset button is used to define the editing method.
Parameter values can be edited directly block by block (Single) or using two geometric shapes
(Rectangle and Polygon) or indirectly using so-called immersion method. The default option
(Immersion) allows smooth 3-D editing of parameter values so that elements next to the point
where data are to be imported will be affected as well.

The Edit params button initializes the editing mode in layer and section views. Parameter
editing is not possible in 3-D model view. The editing mode allows the user to define the
characteristic parameter value of single or multiple minor-blocks with the computer mouse.
After pressing the Edit params button most of the program controls become inactive (grayed)
and the mouse cursor changes from an arrow to a cross above the graph

19

Important: While inside edit mode the user should avoid using any other GUI controls or
menu items because the event loop might not return back to edit mode. To exit the edit mode
the user needs to press the right mouse button above the graph twice in a row.

Assuming Edit rectangle mode, the editing is made as follows:

1. The user clicks the left mouse button above the two opposite corners of the rectangle. The
corners can be defined in any order.
2. All minor-blocks that fit inside the rectangular area will be given the parameter value
defined in the Value text field in the bottom of the right control panel.
3. The user can define multiple selection rectangles (a sequence of two left mouse clicks).
4. The graph is updated when user presses the right mouse button once.
5. The operation stays in the editing mode until the user clicks the right mouse again, i.e.,
presses the right mouse button twice.

The Edit polygon mode works in a similar manner. The user defines a polygonal area by
pressing the left mouse above successive vertex points. The vertex points can be defined in
clock-wise or in counter-clockwise direction. A click of the right mouse button closes the
polygon and the graph will be updated. Note that only one polygon can be defined at a time.
The operation stays in editing mode until the right mouse button is pressed twice.

In the Edit single blocks mode the user selects one or multiple minor-blocks at a time, and the
graph will be updated when the right mouse button is pressed. Note that in Edit rectangle and
Edit polygon modes a single click of a left mouse (only one point of the rectangle or polygon
is given) works like te Single blocks mode. Likewise, in Edit polygon mode a polygon with
two vertex points will be interpreted as a rectangle. Note also that the selection area of a
rectangle and a polygon can extend outside the plot area.

The Point immersion is essentially the same as manual importing of the data. Points are
inserted into the current layer or section view with the mouse as in the Edit single blocks
mode. Several points can be defined at once. After pressing the right mouse button once, the
immersion algorithm changes the parameter values of the underlying and surrounding blocks
as if the data points were imported from a file. The weight factor of the old blocks (WGHT),
the power (RPOW) and scale distance (RDIS) of the inverse distance weighting and the
20

horizontal and vertical anisotropy the search radius (H.ANISO and V.ANISO) are read from
the text widgets on the bottom of the left control panel. The Point immersion method is
practical when creating smooth models using densely discretized model. See chapter 6.4
(Importing data) for more information about import/immersion parameters.

The value of the characteristic parameter can be changed while working in the editing mode
in two different ways. Both of these require that the crosshair cursor is visible and no points
have been selected for the current shape, i.e., right after starting the editing mode or after
finishing the shape with a single click of the right mouse button.

1. Firstly, one can manually edit the Value text field at the bottom of the right control panel
(without pressing the Change button).
2. Secondly, one can pick a new value from the color scale bar below the layer or section
graph. One left-click is needed to pick the value and one right-click is needed to validate
the picking and return back to the editing mode.

5.3 Editing fix/free status

The fix/free information is used in GRABLOX to define model weights for the inversion.
Blocks with zero weight are not optimized at all.

Important: To edit the fix/free status the user must first change the index number of the
current parameter into 0 (zero) in the Param # text field in the right control panel and press
the Change button to validate the operation.

The user then clicks the Edit params button to start the interactive editing mode (crosshair
cursor above the graph area). The editing mode itself works in a manner similar to the
parameter-editing mode described above, i.e., using some predefined editing shape and
clicking the left and right mouse button. However, the editing values of the parameter fix/free
status are limited between 0 = totally fixed parameter and 100 = totally free parameter. Any
(integer) value between 1 and 99 defines a variable weight of fix/free status.

Note that when editing fix/free status one can use the Show/hide lables item in the View menu
to show the actual parameter values instead of the fix/free value. This helps the user to
21

distinguish the correct structures to be fixed/freed. Note that when the model contains lots of
minor-blocks not all labels are plotted to avoid the graph to get too crowded. Thus, to see the
detailed parameter information and fix/free status one should zoom in to the model to see all
the labels correctly. Alternatively one can use the label density scale widget at the bottom of
the right control panel to increase or decrease the label density.

5.4 Editing hidden blocks

The fix/free status is also used to hide the blocks totally from the visualization (and
computation). The editing of hidden blocks is realized in a manner similar to that of fix/free
status. In this case, however, the current parameter (Param#) is set equal to -1 (minus one).
The minimum and maximum values of the show/hide status are limited between 0 = hidden
block and 1 = visible block.

5.5 Resizing blocks

The Edit hori button starts the editing mode, which allows creating user-defined horizontal
boundaries into the block model. In other words, it allows manual resizing of the height of the
blocks in X- and Y-section views. In layer view the horizontal editing resizes the width of the
blocks in the y-direction. Likewise, the Edit vert button allows creating vertical boundaries,
and thus, is used to resize the x and y width of the blocks in X- and Y-section views.

The two resizing modes work like the abovementioned editing modes. The user can resize an
individual block using a combination of a single click of the left mouse button followed by a
single click of the right mouse button. Alternatively the user can define a long borderline by
picking multiple points with the left mouse button before pressing the right mouse button. The
program will then use spline-interpolation to determine the location of the borderline between
the selected points and shifts the block sizes to match the borderline.

Note that horizontal borderlines must be given from left to right (towards larger x or y
coordinate). Vertical borders should be defined from bottom to top in layer graphs (towards
larger y coordinates), but and from top to bottom (towards greater depth) in X-sections and Ysections. The editing mode is ended pressing the right mouse button without making any
changes (two successive right-clicks).
22

Important: Because the block model cannot contain any holes or overlapping minor-blocks,
the vertical and horizontal borderlines cannot cross each other freely. The borderline, which
was edited first will be fixed so that the crossing borderline cannot change the size of the
previously resized minor-blocks.

The abovementioned restriction affects only those borderlines that are made on the same layer
or section. For example, a vertical borderline defined on a layer (or multiple layers) can freely
cross any vertical and horizontal borderline on any X-section and Y-section, but not a
horizontal borderline on a layer. The user is advised to test these restrictions oneself.

The list widget below the Edit vert push button is used to define the 2-D extent of the editing
actions across the dimension perpendicular to the current layer/section.
3-D edit mode: the changes affect only the current layer/section.
Full 2-D mode: the changes that are made on the current layer/section are
(perpendicularly) stretched across the whole super-block area.
Zoom 2-D mode: the changes are made across the current zoom block area. If the zoommode is not active this mode is equivalent to the full 2-D mode above.
Apply extents: the changes are made across a definite number of layers or sections. The
extent- and extent+ text fields are used to provide the number of layers or sections across
which the editing functions are to be extended. The difference between modes Apply
extents 1 and Apply extents 2 is related to the extent angles and will be explained in the
next chapter.

In the Apply extents mode the negative (extent-) and the positive (extent+) values apply to
directions towards the smaller and larger layer (or section) values, respectively. When looking
at the current layer (or section) the negative and positive extents are equal to directions
towards the eye and away from the eye. Extent values equal to zero give the same result as the
3-D edit mode, whereas a large extent values will affect the whole block as in the Full 2-D
mode. When working inside a zoom mode, the extensions are always limited to the zoom
block boundaries.

23

5.6 Extents

The extents and extent angles enable creation of more complex 3-D models with less effort
when using rectangular and polygonal shapes. Please, note that the point immersion method is
highly preferred if smooth varying 3-D models are wanted.

When working in the Apply extents editing mode, the user has an enhanced control over the
2-D extensions. As discussed above the extent- and extent+ text fields are used to provide the
number of layers or sections across which the editing functions are to be extended inside
(away from the eye) and outside (towards the eye) the plane of the current layer/section. This
is illustrated in Figure 2, which depicts a cross-section across the current layer/section

The alf1, alf2, alf3, and alf4 text fields define four extent angles, which are used to provide
the directions into which the editing changes will be extended. Note that these text fields are
shared with the weight factor, inverse distance power, scale distance, and the x/z shape of the
search range of the point immersion method (and data importing and parameter
redistribution).
(extent-) -z
extent angle 1

+x

-x

Plane of the current


layer or section

extent angle 2
+z (extent+)

Figure 2. Extent angle directions in block resizing. Here +z refers to the direction towards the
eye, and +x refers to the direction to the left in any layer or section graph.

The extent angles are given values between -89 and 89 degrees. A zero extent angle is equal
to the (default) perpendicular extent direction. The extent angles have slightly different
meaning depending the editing task (borders or parameter changes), editing direction (vertical
or horizontal borders) and editing shape (points, rectangles, polygons).
24

Figure 2 illustrates the role of the extent angles in block resizing (note the different meaning
of the x and z coordinates). The extent angles, which are taken from the normal of the plane of
the layer or section (extent+ and extent-), are positive in clockwise direction and negative in
counter-clockwise direction. Note also that extent angles alf3 and alf4 are not used in block
resizing.

extent angle 1

extent angle 2

+x' Surface of the current


layer or section

-x'

Outline of a rectangular
selection area

extent angle 4
extent angle 1

extent angle 2

extent angle 3

Figure 3. Extent angle directions in the parameter editing over a cross-section (above) and on
the current layer/section (below).

When editing the parameter values (and the fix/free status), the extent angles have slightly
different meaning than when resizing the blocks. This is illustrated in Figure 3. Angles alf1
and alf2 determine separately the angles of the left and the right side of the rectangular or
polygonal selection area. Likewise, alf3 and alf4 determine the angles at which the bottom
and the topside of the selection area are tilted from perpendicular direction. Note that here the
definition of right, left, top and bottom depends on the current view, which is either a layer or
an X-section or a Y-section. Note also that in the bottom sketch of Figure 3 the directions of
the arrows indicate how the structure dips down into the positive extent direction when the
extent angles themselves are positive.

In Apply extents 1 mode the same angle is used in both extent+ and extent- directions. Thus,
to create a jointed (bent) feature one needs to perform the editing operation separately for the
positive and negative extents. This is possible if either the extent+ or the extent- distance is
25

zero. The Apply extents 2 mode allows creating symmetrical bends, because the sign of the
extent angle is automatically reversed for positive extents. The difference between modes 1
and 2 is illustrated in Figure 4. The Apply extent modes 1 and 2 are identical in any other
respect.

The editing of single blocks is an exception, which allows free creation of bends. Here alf1
and alf2 define the (left-right and up-down) extent angles for negative extent values (extent-)
and alf3 and alf4 define the extent angles for positive extents (extent+). Because the resulting
extent can be very jagged, the use of extent angles is not very practical in single block editing
mode.

Note that giving alf1 and alf2 opposite signs will always create a structure that is reducing in
size (sharpening) towards the negative extent. In Apply extents 1 mode the structure will get
bigger towards positive extent (a pyramid), but in Apply extents 2 mode the structure will be
reducing in positive extent as well (a diamond).

Since it is difficult to realize the meaning of extent angles or any of the resulting patterns with
words, users are advised to boldly experiment different combinations of the extent angles to
gain practice.

5.7 Gradients and backup/revert

The p.grad. text field defines a parameter gradient, which is used to linearly extrapolate the
parameter value along the 2-D extension. This is also illustrated in Figure 4. The parameter
gradient is applied starting from the current layer/section towards the distance defined by the
extent- and extent+ values. Positive gradient value means that the parameter value is
increasing towards the extent+ direction and decreasing towards the extent- direction. The
p.grad.

value

is

defined

as

normalized

quantity

per

100

distance

units;

p( x) p( x0 ) dz dp / 100 . If logarithmic parameter scale is used the gradient is defined as


log( p( x)) log10 ( p( x0 )) dz dp / 100 .

Note that the extent depths and parameter gradient are used also in point immersion.

26

e.alfa 1

e.alfa 2
p.grad

-x'

+x'
e.alfa 1'
=
e.alfa 1

e.alfa 2'
=
e.alfa 2

e.alfa 1

e.alfa 2
p.grad

-x'

+x'
e.alfa 2'
=
-e.alfa 2

e.alfa 1'
=
-e.alfa 1

Figure 4. The difference between extent modes 1 (above) and 2 (below), and the definition of
the parameter gradient (p.grad), which defines linear increase (or decrease) of the parameter.

When editing the model using extents and extent angles one can easily devastate the inner
structure of the model. The two buttons, Backup and Revert, at the bottom of the left control
panel provide a simple Undo option. The Backup operation copies the values of the current
parameters into memory. The Revert operation gives the values stored into memory back to
the minor-blocks and, this, undoes the changes made after the Backup operation. If the total
amount of the blocks changes the reverse operation cannot be made anymore.

The Backup and Revert operations allow copying the values of one parameter onto another
one. Consider, for example, that the user has edited the model representing the distribution of
magnetic susceptibility. The user needs to use the Backup button to copy the parameters into
memory, then add a second parameter into the model, and use the Revert button to paste the
first parameter data over the second one. Then one can use the operations in the Math menu to
rescale the data to represent, for example, the Kningsberger's Q-ratio (intensity of remanent
magnetization). Note, however, that to be able to visualize the second parameter, one may
need to adjust the Min and Max parameter values manually.

27

5.8 Right control panel

The five push buttons at the top of the right control panel are used to change the contents of
the graph area.

1. The 3-D view button is used to show a 3-D view of the super-block (see Appendix A).
2. The H-layer button is used to show the parameter values of a single horizontal layer (see
Appendix B).
3. The X-sexn button is used to show the parameter values on a vertical cross-section in WE
direction (see Appendix C).
4. The Y-sexn button is used to show the parameter values on a vertical cross-section in SN
direction.
5. The <-/-> button is used to change the direction to which the contours, layers, sections are
being switched when the corresponding buttons pressed multiple times.
The large 3-D view will show the 3-D outlines of the super-block and the 2-D
representation of the minor-blocks of the previously selected layer or section. If zooming
has been made the 3-D view shows also the outline of the zoom-block inside the 3-D view.
The Swap 3-D model item in View menu can be used to concentrate the 3-D view only to
the zoom-block as if it were the super-block.
Pressing the H-layers, X-sexn, and Y-sexn buttons multiple times will switch (rotate) the
current layer/section to the next (or previous) one. At the last (or first) layer/section the
view jumps (or rotates) to the first (or last) one. To get back to the previous layer/section
(or depth-zoom, color scale, etc.) one needs to press the <-/-> button and then the desired
layer or section button. A switch from a layer to a section view does not increase the
existing count.
Note that a small 3-D view of the model is shown in the bottom-right corner of the page
area in layer graphs and cross-section graphs (Appendices B and C). The purpose of the
auxiliary 3-D view is to help to locate the current layer/section inside the super-block. The
auxiliary view will not be included in any prints, because it locates outside the A4 sized
page area. Note that in the full 3-D view the outlines of the individual blocks (grid) are
plotted but in the small 3-D view only the outline of the base position of the layer/section
will be plotted.

28

The next three text fields show the index numbers of the current layer, X-section, and Ysection. The user can jump directly (instead of rotating) to a specific layer or section by
providing its coordinate value (or index number) in the associated text field and then pressing
the corresponding button discussed above.

The Zooming button gives a possibility to zoom in to and out from the 3-D model using the
mouse as it is used in the parameter editing. After pressing the Zooming button the cursor will
change to a cross above the graph area. The zooming has two possible modes of operation.
Pressing the left mouse button once and then the right mouse button will focus and zoom in to
that location in the layer or in the section views. In this case the magnification is made in
using fixed steps 1:1, 2:1 to 10:1. A single click of the right mouse button will zoom out one
step. The zoom out feature is always made relative to the center of the existing zoom block.

In layer and section views one can select the zooming area freely by defining the opposite
corners of a zooming rectangle with two clicks of the left mouse button. In this case the "third
dimension" of the zoom box is not altered. If the zoom area is freely defined the zoom out
feature (right mouse click) always resets back to 1:1 scale.

While the panning items in the View menu shift the position of the zoom area a fixed amount,
the Panning button gives a better possibility to focus the position of the zoom area inside the
super-block. The Panning button is active only when the user has already zoomed in the
model. After pressing the Panning button the cursor will change to a cross above the graph
area. A click of the left mouse will move the center of the zoom area below that position. The
program will stay in the panning mode as long as a right mouse button is not used. Note that
when zooming in or panning around the limiting layer and section numbers will be redefined
and the program will automatically change the index number of the current layer/section so
that it can never locate outside the zooming block. Note also that minor-blocks whose center
locates outside the zoom area are not plotted at all, thus producing white areas at the sides of
the zoom-block sometimes.

In geophysical models in general, the depth extent of the 3-D block models is usually much
smaller than its horizontal dimensions. The list widget Depth zoom is used to increase the
length of the depth axis in cross-section graphs and 3-D model views. Thus, it gives a

29

possibility to better see the parameters in cross-section graphs, which would otherwise be
plotted in 1:1 scale. The depth zoom ranges from 1:1 to 10:1.

The five text fields above the Change button define the current parameter:
As discussed in the Parameter editing section, the Param# text field is used to define the
index number of the parameter that is currently shown in the graphs.
The Min and Max text fields define the minimum and maximum parameter values of the
color scale. Normally these values should provide the definite lower and upper limit of the
model parameters, because they are also used to scale the parameter values when model is
saved in 2-byte integer format.
The Scale text field defines a (multiplying) scaling factor, which is used to reduce the
number of digits in the parameter labels shown in layer and section graphs.
The Value text field defines the current parameter value used in model editing.

The Change button is used to update the changes made to the abovementioned text fields.

Important: If the model file contains multiple parameters, then to change the view from one
parameter to another the user first needs to provide the index number of the second parameter
on the Param# text field and then press the Change button.

The horizontal slide controls at the bottom of the right control panel are used to change the
viewing point of the 3-D model views. The topmost slide control rotates the 3-D view
horizontally, the second control rotates the view vertically, and the third control changes the
relative distance of the viewing point (as if zooming in and out).

The bottom-most slide control changes the density with which the parameter labels are drawn
into the layer and section views. From 1 to 50 the label density defines that every n.th label is
drawn into the maps. From 50 to 100 the label density increases linearly from 50 to N, where
N is the number of blocks in the current layer or section.

30

6. Input file formats

6.1 Input model file

The following example illustrates the format of the input file (e.g., BLOXER.INP):
1
System parameters are currently missing
0.0
10
1

0.0

0.0

10

100.0

100.0

50.0

1
300

1 0.500000E-01 0.100000E-03 0.100000E+01 0.100000E+04

The 1.st line defines the number of successive lines that contain the computational
parameters, which BLOXER skips over. For example, in the input files of the MAGBLOX
program there will be four lines that contain the coordinates of the computation grid, the
parameters of the geomagnetic field and some auxiliary parameters. When reading a model
file BLOXER stores these "extra" lines into memory and saves them back into the model
file. The maximum amount of header lines is 50 and each line can contain up to 100
characters.
Since the example above is generated by BLOXER the 2.nd line is just a comment line,
which will be skipped over.
The 3.rd line (in this case) contains the x, y, and z coordinates of the top-south-western
corner of the super-block, and the size of the super-block in x, y, and z directions.
The 4.th line defines the discretizations (number of blocks) in x, y, and z directions.
The 5.th line contains parameters that define the block file:
The 1.st parameter defines the block (*.BLX) file format (IFO):
0 = The *.BLX file does not exist. In this case the super block will be discretized
automatically and the default parameter value is given to all blocks.
1 = Normal text file and real (floating point) values
2 = Normal text file and 2-byte integer values
3 = Binary file and real (floating point) values
4 = Binary file and 2-byte integer values
31

5 = Binary file and 2-byte integer values, the byte order of which are reversed when the
data file is being read (allows Unix PC conversion).
The 2.nd parameter defines the block type:
1 = All blocks are assumed to have equal size (default)
2 = Block height is increasing with depth. A negative value of this parameter would
mean that block reduction has been used.
The 3.rd parameter is reserved for future use.
The 6.th line defines the zooming level (1, 2, 3, , 10). If the zooming level if bigger than
1 (1:1 scale, no zooming), the next line would contain the x, y, and z coordinates of the
center of the zoom-block, and the dimension of the zoom-block in x, y, and z directions.
The 7.th line defines the number of blocks (NOB), the total number of characteristic
parameters (NOP), and the column number (NOC) of the parameter to be read from the
block (BLX) file. Note, however, that if the block file was saved using the Save red. model
item in the File menu, the number of actual minor-blocks might be smaller than the value
based on discretization (NOB < nx*ny*nz). Moreover, BLOXER does not use the NOC
value. This parameter allows GRABLOX to use the same model file with several
parameters.
The last line defines the basic values of each characteristic parameters
1. Scale type: 0= linear scale, 1= logarithmic scale
2. Default parameter value (Value)
3. Parameter minimum value (Min)
4. Parameter maximum value (Max)
5. Scaling factor or label multiplier (Scale).
Except for the scale type, which is defined by the Norm/Log param item in Edit menu, the
abovementioned parameters show up at the right control panel. Note that if the example
had included more than one parameter there would have been additional similar lines at the
end of the file.

In principle there is no need to edit model files manually. However, if the *.BLX file is
missing one can still open the model by resetting the file format parameter (IFO=0) on the
7.th line so that a dummy block model will be generated automatically. Also if the *.BLX file
was generated using binary 2-byte integer format on a Unix workstation, then the model can
be read on a IBM/PC by resetting the file format parameter (IFO=5).

32

6.2 Block file format

The following example illustrates the format of the block file (e.g., BLOXER.BLX) when
saved in real-valued (floating point) text format:
10.00

10.00

16.67

5.00

5.00

0.00

100

0.500000E-01

10.00

10.00

16.67

25.00

5.00

0.00

100

0.500000E-01

10.00

10.00

16.67

45.00

5.00

0.00

100

0.500000E-01

10.00

10.00

16.67

65.00

5.00

0.00

100

0.500000E-01

10.00

10.00

16.67

85.00

5.00

0.00

100

0.500000E-01

10.00

10.00

16.67

5.00

15.00

0.00

100

0.500000E-01

10.00

10.00

16.67

25.00

15.00

0.00

100

0.500000E-01

...etc
...until
10.00

10.00

16.67

45.00

95.00

33.33

100

0.500000E-01

10.00

10.00

16.67

65.00

95.00

33.33

100

0.500000E-01

10.00

10.00

16.67

85.00

95.00

33.33

100

0.500000E-01

The first three columns (1-3) define the x, y, and z size (width, length and height) of each
minor-block. The next three columns (4-6) define the x, y, and z position coordinates of the
minor-blocks. The horizontal xy position of a minor-block is fixed to the center of the
rectangular block area, but the vertical z position is fixed to the top of the block. Moreover,
the positive z axis points downwards. The seventh column (7) is an integer value, which
defines the parameter fix/free status (PF) used in the inversion (0= fixed block, 100= totally
free). The next (NOP) column/columns defines/define the values of the characteristic
parameters in each block. The maximum number of characteristic parameters is ten:
max(NOP)= 10.

Please, note that when creating compatible block files with external software (without
BLOXER), the do-loops are made in z-y-x order: the outer do-loop (z) goes through each
layer, the middle do-loop (y) goes through each section from south to north, and the innermost
do-loop (x) goes through each section from west to east. In other words, for each horizontal
layer (from top to bottom) and for each y coordinate value (from south to north) the data are
stored along x axis (from west to east).

33

The fix/free status is also used to represent hidden blocks, reduced blocks and weight factors.
A negative value from -1 to -101 means that the block is totally hidden, that is to say the
block is used neither in the visualization (blank blocks) nor in GRABLOX computations. The
absolute value still defines the weight factor between 0 and 100 (WGH= PF+101). A negative
value smaller than -101 means that the block is made hidden because of block-reduction. In
this case the absolute value of the fix/free status defines the host block that covers the reduced
block(s). Normally fix/free values between 0 and 100 are interpreted as weight factors, which
define the freedom of the blocks in the inversion. The weight factors are useful, for example,
when well data is available, because the surroundings of the totally fixed block can be made
rigid.

One can save disk space if the block file is saved in 2-byte integer format. In this case the
minimum and maximum parameter values (Min & Max text fields) are used to scale the data,
because the absolute range of 2-byte integers is limited between -32000 and 32000. First the
mean, (pmax+pmin)/2, is subtracted from the parameter value. Then they are divided by the
difference, pmax-pmin, which scales the data between -1 and 1. Finally the values are
multiplied by 10000 to provide reasonably accurate INT*2 values. This scaling affects only
parameters that are defined on a linear scale. If the parameter is defined on a logarithmic
scale, the log10 value of the parameter is simply multiplied with 1000.

Important: Because the 2-byte integer numbers cannot store large values, the 2-byte integer
format cannot be used if block reduction has been made and the model has more than 32000
elements. Large models should be stored as 4-byte real (floating point) numbers.

File I/O operations become faster if the block files are saved in binary format. Binary files are
also slightly smaller than the equivalent text files. Note, however, that binary files that are
generated on DOS/Windows environment have different byte order than files on
Unix/Linux/MacOS systems. The block format parameter value 5 (see previous chapter)
provides a method to read binary (2 byte integers only) block files created on different
operating system. However, one needs to manually edit the *.INP file before opening the
model file to enable byte swapping.

34

6.3 Import file formats

Important: The BLOXER program does not read any information about the discretization
from the import file. When importing parametric data, the values are imposed on the current
block model. This means that the model position, size and discretization must be set
appropriately before reading in the data.

Importing is possible in two ways. If the data file contains xyz coordinates, they are used to
interpolate the parameter data onto the minor-blocks of the current model. In this case the
order in which the data are stored into the file is not important, but one needs to be able to
define the correct columns of the xyz coordinates. If the model file does not contain the
coordinates, the parameter data are read directly into the minor-blocks of the current model in
the same order in which they are stored into the file. In this case it is important that the doloop order with which the data was stored in the file is known beforehand.

Usually the import (and export) operation involves the use of a separate header (*.HEI) file
column-formatted (*.XYZ) file that contains the actual parameter data. The following
example illustrates the format of the header file.
Header file for exported parameter data (BLOXER generated)
N:o lines, n:o columns, format, column
420

Name of the parameter file:


D:\Bloxer\Bloxer.xyz

The 1.st and the 2.nd line are used merely for comments and can be left empty. The 3.rd line
defines: 1) the number of lines, 2) the number of parameters (data columns) contained in the
file, 3) file format parameter, and 4) the column from which the parameters are to be read.
The 4.th and the 5.th line are not used and the name of the data file is provided on the (last)
6.th line.

A positive value of the format parameter indicates that the first three columns of the data file
contain the xyz coordinates. Format parameters 1-5 define text and binary file formats (which
are the same as in the case of a BLX file), where the first three columns contain the x, y, and z
35

coordinates (in that order). Format parameters 11-51 define different column orders of text
files. A negative value of the format parameter means that the data file does not contain the
coordinates but only the parameter values.

1=

text file, x,y,z columns OR do-loops are made in x-y-z order (-1)

2=

text file, x,y,z columns (test format), 2-byte integer values

3=

binary file, x,y,z columns, 4-byte real (floating point) values

4=

binary file, x,y,z columns, 2-byte integer values

5=

binary file, x,y,z columns, 2-byte integer values + DOS/Unix byte swapping

11= text file, x,z,y columns OR x-z-y order (-11)


21= text file, y,x,z columns OR y-x-z order (-21)
31= text file, y,z,x columns OR y-z-x order (-31)
41= text file, y,z,x columns OR z-x-y order (-41)
51= text file, z,y,x columns OR z-y-x order (-51)

As discussed earlier, the parameters are normally stored so that do-loops are made in z-y-x
order. When importing parameter data without the xyz coordinates, the format parameter
defines the order of the do-loops used to store the data (eg. format parameter -51: do i=1,nz;
do j=1,ny; do k= 1,nx; read p(i,j,k)).

Please, note that only one parameter can be imported (and exported) at a time. If multiple
parameters are to be read, one must first change the current parameter in BLOXER, then
manually edit the corresponding column parameter in the header file, and finally make the
import operation again. Note also that when dealing with large models, the importing can be
terribly slow, particularly if 3-D interpolation is used instead of simple insertion.

Applying the normal Open model command will replace the whole model. However,
importing can be made also from *.INP and *.BLX files. In this case, only one parameter is
read and the NOC parameter of the *.INP file must be used to define which parameter column
is read if the *.BLX file contains multiple parameters.

36

6.4 Importing data

When importing data that contains the xyz coordinates, the program assumes that the data are
irregularly spaced and will use a 3-D interpolation algorithm to determine the parameter
values inside the minor-blocks. The 3-D interpolation method consists of two phases:

1. The first phase browses through the imported data points and assigns values for those
minor-blocks that contain at least one data point. If multiple data points fit inside a single
minor-block their mean is used to represent the new value. At this point, the actual
imported data is lost altogether, and the interpolation uses the "raw", partially filled block
model where some of the minor-blocks are blank and some are not.
2. The second phase assigns values for all those blocks that did not contain any data points at
the first phase. The method uses the indices of the regular block model to search the
neighborhood of each blank minor-block for a non-blank (filled) block. The search range is
increased one section or one layer at a time (see anisotropy values below) until at least one
non-blank minor-block is found. If multiple values are found then their inverse distance
weighted mean will be used.

After choosing the *.HEI file for data importing, BLOXER asks the user if only simple
insertion (i.e., phase 1) is sufficient or if interpolation (and extrapolation) will be used to
complete phase two. Depending on the data it is sometimes necessary to update only the
coincident blocks. For example, simple insertion is sufficient if the data has already been
interpolated on a grid that is consistent with the model discretization. For example, the
PETROCK program (Pirttijrvi, 2011) can be used for lithologically constrained gridding of
unevenly spaced petrophysical data.

At the second phase BLOXER uses the weight factor (WGHT), inverse distance power
(RPOW), scaling distance (RDIS) and the horizontal and vertical anisotropy ratios (H.ANISO
and V.ANISO). The weight factor is used to determine the importance of existing model
values when new data points are imported. If the weight factor is zero, then the existing data
are ignored totally and all the blank blocks are derived from the filled blocks using inverse
distance weighting. If weight factor is non-zero then the old values of the empty blocks are
added to the inverse distance weighted mean that determines the new value. This means that

37

one can update portions of the block model using for example data from drill-holes or from
1-D or 2-D interpretations from sounding sites or profiles.
Important: If WGHT is non-zero it is used also in the first phase. In other words, the
weighted mean of existing and imported values will be used in the simple insertion.

The power of the inverse distance weighting is determined by the RPOW parameter.
Typically RPOW is between 0.5 and 3. The higher the power is, the shorter is the distance the
imported data point affects the remaining model. The inverse distance weights are computed
a

using equation w=1/(1+r/d) , where r is the distance between the data point and the block
center, d is the scaling distance (RDIS), and a is the power of inverse distance weighting.
Note that according to this formula, w= 1.0 when r= 0, and w= 0.5 when r=d and a=1. This
means that RDIS defines the distance where the weights get half the importance of the
singular blocks. In practice, RDIS defines the effective range of the inserted points.

Usually, RDIS should be equal to the block spacing but it can be increased if imported data
are sparsely spaced and greater distance is wanted for the immersion effect.

At the second phase BLOXER increases the search range around a blank block until at least
one filled block is found. The horizontal and vertical anisotropy values define the shape of the
search ellipsoid. If H.ANISO and V.ANISO are equal to one, then the search range increases
symmetrically (circularly) in all directions. If H.ANISO = 2, the search range increases twice
as fast in x direction as in y direction. If V.ANISO = 0.5 the search range increases half as fast
along the z axis as horizontally. Note that currently, the immersion does not take use of
anisotropy angles.

When the Preserve mode is used and the model is updated, the new parameter values in the
dislocated blocks are determined using an algorithm similar to the one described above. In
this case, WGHT=0 and the new data are re-computed using the old discretization. Note that
RPOW, RDIS, H.ANISO and V.ANISO are used also in parameter redistribution and point
data immersion.

The use of indexed search makes the 3-D interpolation faster compared with full search when
the block model has lots of minor-blocks. However, the user should be cautious when
38

importing parameter data, because fine details of the data can be lost if the discretization of
the block model is too coarse.

6.5 Export file formats

When exporting parameter values the program exports either:

1. Parameters of the current (zoom) block with the xyz coordinates.


2. Parameters of the current (zoom) block without the xyz coordinates.
3. Parameters of the current layer or section with the xyz coordinates.
4. The depth to a certain parameter value over the whole model.
5. Parameters interpolated values on a vertical cross-section along a profile.

Export operation creates a header (*.HEI) file and a column-formatted data file (*.XYZ)
similar to those discussed in chapter 6.3. In cases 1 and 2 the program uses the current file
format parameter (which is shown in the plot information text) to define the main format of
the XYZ file (1= real text file, 2= 2-byte integer text file, 3= real binary file, 4= 2-byte integer
binary file). The file format parameter can be changed using the Swap bin/txt item in the Edit
menu. Note also that the export operations 1 and 2 limit the data to the current zoom box if it
has been defined.

If normal (real-valued) text file format is used the program will separately ask for the index
number of the do-loop (storage) order. Note that unlike in import operations the x, y, and z
coordinates (if enabled) in export operations are always stored in to the first three columns in
that order. The special t3d option, which is possible when only the parameter values are
stored, allows storing the data into a format that can be imported into the T3D program
(Fortner Research Inc) for more advanced 3-D plotting.

When exporting the depth to a certain parameter value, the program first asks for the
parameter value and then with linear interpolation computes the depth at which that value is
exceeded. The operation is performed for each horizontal grid location. The resulting file can
be used to plot the topography of parametric data when the model is such that the parameter
values are increasing with depth.

39

When exporting the data on a profile, the program asks if the profile coordinates are to be
read from a file or if the start and end points of the profile are to be given manually. If file
input is used, the program brings up the standard open/save dialog and the user should locate
the input file. The following example illustrates the format of the profile file:
120
3186.0,6710.0
3186.3,6710.4
3186.6,6710.8
3186.9,6711.2
...
etc

The first line contains the number of points and the remaining lines contain the x and y
coordinates of the profile. After reading in the profile points the program will ask for the
vertical point spacing before performing the export operation.

If the profile is defined manually, the program will first ask for the x and y coordinates of the
start and end points of the profile and then the horizontal and vertical point spacing. Note that
manually given profile is always a straight line, whereas the file input can be used to define a
wiggling profile. However, in the latter case the file must contain suitable spacing of x and y
coordinates, because the horizontal spacing depends on the given xy values. Bi-cubic splineinterpolation is used to interpolate the 3-D data on 2-D cross-sections.

6.6 Topography data

The Import topo menu item can be used to resize the height of the blocks automatically. This
option also allows importing the surface topography into the model. Starting from BLOXER
version 1.5 the top and the bottom of the super block can be resized vertically. Therefore, the
blocks above the surface (in the air) do not need to be made hidden anymore. Note however,
that the effect of multiple stacked block models can be difficult to combine if the
topographies of the models do not match. Therefore, the user is recommended not to resize
the bottom of the super-block. Instead, to compute the gravity effect of depth variations of
layered structures, for example, the topography should be imported into the second last layer

40

boundary and the bottom layer should be made hidden. For the same reason the import
topography option does not change the bottom topography of the model.

The topography data is read from a text file, the format of which is:
1 0
6 1 2 3
3300 6900 26
3300 7000 20
3300 7100 23
3400 6900 20
3400 7000 27
3400 7100 20

The 1.st line defines the number of different topography units (NOT) and the type of data the
file defines (ITT). The amount of topography units (NOT) is not restricted since each unit is
handled before the next one is processed. The four topography data types (ITT) are:

0= Surface data: the blocks are resized based on a topographic surface, which goes
through the given points and extends horizontally through the whole model. In this
case the blocks are resized so that their boundaries fit with the given surface layer.
1= Surface data: similar to the one above but assumes implicitly that the surface data
represent the top topography of the model. In this case the topmost blocks are shifted
so that they fit the data and all the other layers are adjusted below the first one..
2= Line data: the blocks are resized only near to the lines defined by the topography data.
This allows bringing in information from 2-D interpretations, for example.
3= Point data: only those blocks the topography data coincide with are resized. This
allows bringing in information from 1-D soundings, for example.
4= Well data: similar to the point data option, but the depth of a given layer is fixed to the
depth point. This also allows adjusting the fix/free status of the block and its
surroundings which is useful in two-layered interpretation of gravity data, for
example.

The 2.nd line is the header of the first unit and it defines the number of points in the unit
(NTP), and the column indices of the x, y, and z coordinates. The following (six) lines define
the x, y, and z coordinates of the topography data. The xyz coordinates can be given
41

irregularly. If the number of points is a negative value (NTP<0), then the topography unit will
be skipped over and the next unit will be read. The header line of the second topography unit
should follow immediately the last point of the first unit (and so on).

When importing surfaces the block model might not be able to represent rapid depth
variations. The BLOXER program first uses inverse distance weighting to evaluate the depth
values on a regular grid, which covers the whole super-block horizontally. The actual resizing
operation is based on a bi-cubic spline interpolation of the gridded values.

A special case of surface importing is when the top topography of the model is adjusted
(NOT=1). In this case the vertical position of the super-block is changed if needed. The
vertical positions of the blocks of the top layer are then resized to fit the topography data.
Note that normal importing of surface, line, or point data does not allow resizing the top
topography. The bottom of the super-block is resized only if needed.

The importing of line (or point) data affects only those blocks that coincide or locate near the
line segments (or individual points) connecting the topography points. The depth variations
will not be distributed horizontally fat away from the data lines (or points). In its simplest
form the topography unit would contain a single point. If surface option were assumed, the
nearest layer boundary would be shifted to a constant depth level and the blocks above and
below the layer boundary will be adjusted accordingly.

The well data (ITT= 4) has slightly different file format.


1 4
6 1 2 3 4
3300 6900 26 1
3300 7000 20 1
3300 7100 23 1
3400 6900 20 1
3400 7000 27 1
3400 7100 20 1

The column number of the layer indices (ICL) is given as the fifth parameter on the 2.nd line.
The file must contain an additional data column that defines the layer the bottom of which
should be resized to match the given z coordinates.
42

43

Important: Normally, topography data are equal to the z coordinate values from the
reference (sea) level. Thus, they do not represent depth values from the surface. Quite often,
however, well data is defined as depth values (e.g., depth to the bedrock = thickness of the
overburden soil) and not as z coordinates. In this case giving a negative value for the index of
the column number of the z-coordinates (e.g. replacing column index 3 with -3 in the example
above) will change the meaning of topography data from z coordinates to depth values. This
option, however, works only when importing point or well data.

Importing of well data is usually needed in two-layer gravity interpretations, where the
topography of the basement is interpreted using a fixed density contrast between the basement
and the overburden layer. In this case the depth values refer to the thickness of the overburden
layer (layer index = 1). Importing of well data differs from the point data importing, because
in the latter case the two blocks that are the nearest to the depth point are resized. Well data
importing however, shifts the given layer to the given depth value. This means that all the
blocks between the given depth point and the original position of the bottom of the block must
be resized.

A special feature when importing well data and point data is that the program asks (on the
console window) if the fix/free status of the blocks will be changed automatically. This option
allows fixing the depths of the blocks based on a priori data. This is essential when
performing two-layer gravity interpretation. When importing well data the fix/free status can
be immersed into the model (see Point immersion) so that the fix/free status of the
surrounding blocks gets adjusted as well.

Another special case of the topography importing concerns the Occam inversion method in
the GRABLOX program. The discontinuity (model roughness) information can be set
automatically when topography data is imported. To enable this mode one needs to add a
second parameter into the model (Add parameter item in Edit menu) and to set its minimum
and maximum values to 0 and 126, which refer to fully continuous and fully discontinuous
blocks. After these preconditions, BLOXER performs the vertical block resizing like before
but the blocks above and below the topography depth to be marked discontinuous downwards
(32) and upwards (64), respectively.

44

Note that currently the vertical boundaries (horizontal size) of lithological units cannot be
resized in a similar manner. For this task one should open the lithological BNA map over the
horizontal layers and edit the geological boundaries manually.

6.7 Atlas BNA file format

Geographical information, such as coastlines, rivers, roads, and borderlines, can be read into
BLOXER and displayed over horizontal layer views and 3-D model view (see Appendices A
and B). To provide compatibility with Golden Software Surfer, BLOXER uses text based
Atlas BNA file format for the map overlays. The following example illustrates the BNA
format:
'Pname','Sname',-4
3186.8,6710.8
3187.1,6711.0
3187.1,6711.1
3187.0,6711.1
'Pname','Sname', 5
3186.8,6710.8
3187.1,6711.0
3187.1,6711.1
3187.0,6711.1
3186.8,6710.8

The example contains a line (polyline) and a polygon. As a matter of fact, they both represent
the same object, because BLOXER shows only the outline of the polygonal areas (no filled
polygons). Each object has a header line that contains two character variables, which are
normally used to identify different objects but (currently) ignored by BLOXER. The absolute
value of the parameter on the header line defines the number of (vertex) points of each line or
polygon. A negative value means that the object will be a line and a positive value means that
the object will be interpreted as a closed area (polygon, sphere or ellipse). The polygon must
be closed, so that the last vertex point is equal to the first one. The lines below the header line
contain the x (easting) and y (northing) coordinates of the points of map line segment.

Note that BLOXER works only with rectangular coordinates. Map data defined using latitude
and longitude values must first be converted into rectangular coordinates (eg. GMT2BNA
45

utility program). Note also that only a single BNA file can be used at a time. However,
multiple BNA files (e.g., lakes and rivers) can be combined manually using any text editor.

6.8 Graph options

Several graph parameters can be changed editing the BLOXER.DIS file. If the format of the
file should become invalid, one should delete the file and a new one with default parameter
values will be generated automatically the next time the program is started. The format of the
BLOXER.DIS file is shown below.

36

30

24

24

250

480 0.90 0.85

110. 40. 3. 0.70


1

3-D block model editing


Parameter
Log10(Param)
X / East
Y / North
Z / Depth

The 1.st line defines the four character heights used for 1) the main title and the graph axis
titles, 2) the axis labels, 3) the labels in the auxiliary 3-D model view, 4) and the numeric
labels of the parameter values in layer and section views.
The 2.nd line defines the 1) x (horizontal) and 2) y (vertical) distance of the origin of the
main graph (in pixels) from the bottom-left corner of the page, and the length of the 3) x
and 4) y axis relative to the size of the remaining (origin shifted) width and height of the
plot area. The total plot area is either 29702100 (landscape A4) or 21002970 pixels
(portrait A4) depending on the graph and/or the lengths of its axes. Note that the size
values can be used when reading the plot files stored in WMF format.
The four parameters on the 3.rd line define 1) horizontal and 2) vertical viewing angles and
3) a perspective viewing distance for the 3-D model view and 4) the aspect ratio for
widescreen displays.

46

The 4.th line defines three options: The first value defines if the parameter labels are to be
plotted to the graphs (1) or not (0). The second value defines if the grid lines of the minorblocks are to be plotted to the graphs (1) or not (0). The third value defines the index
number of the color scale used in the graphs: 0= rainbow, 1= reverse rainbow, 2=
grayscale, 3= reverse grayscale, and 4= temperature (red) scale. The fourth parameters
defines whether or not widescreen mode is active or not (1/0). The last two parameters are
reserved for future use.
The 5.th line should be left empty.
The following lines define various text items of the graph (max. 70 chars). These are: the
main title of the graph (not used at the moment, though), the two titles of the parameter
color scale (linear and logarithmic), and the three axis titles (x, y and z).

7. Additional information

I started to make the BLOXER program at the University of Oulu in year 2002, when I started
to work for the 3-D crustal model project funded by the Academy of Finland. The program is
written mostly in standard Fortran90 but contains some extensions of Intel Visual Fortran 11.
The user interface and the graphs are based on DISLIN graphics library (version 10) by
Helmut Michels (http://www.dislin.de). To prevent incompatibility issues, please, use the
DISLIN.DLL file included in the program distribution package.

Since the DISLIN graphics library is independent form the operating system the program can
be compiled and run on other operating systems (Solaris, Linux, MacOSX) without major
modifications. This requires that proper versions of DISLIN (and Motif) libraries have been
installed and a suitable Fortran90 compiler is available. However, the source code of
GRABLOX is not publicly available at the moment. If you find bugs or you have suggestions
for improvements, please, inform me and I will take them into consideration.

Because the BLOXER program is under development, this user guide may not describe all the
latest changes and additions made to the software. Additional information may be obtained
from Author's website at: https://wiki.oulu.fi/display/~mpi@oulu.fi

47

8. References

Pirttijrvi, M., 2009. GRABLOX2, Gravity interpretation and modeling software based on a
3-D block models, User's guide to version 2.0, University of Oulu, Department of Physics,
62 p.

<https://wiki.oulu.fi/download/attachments/20678029/Grablox2_manu.pdf>

Pirttijrvi, M., 2011. PETROCK, Lithologically weighted interpolation of petrophysical data.


User's guide, Version 1.1, Department of Physics, University of Oulu, 23 p.
<https://wiki.oulu.fi/download/attachments/26053010/Petrock_guide.pdf>

9. Terms of use and disclaimer

The program is provided as is. The Author, University of Oulu and Geological Survey of
Finland disclaim all warranties, expressed or implied, with regard to this software. In no event
shall the Author, University of Oulu or Geological Survey of Finland be liable for any indirect
or consequential damages or any damages whatsoever resulting from loss of use, data or
profits, arising out of or in connection with the use or performance of this software.

10. Contact information

Markku Pirttijrvi
Department of Physics
P.O. Box 3000
FIN-90014 University of Oulu

URL: https://wiki.oulu.fi/display/~mpi@oulu.fi

Finland

E-mail: markku.pirttijarvi(at)oulu.fi

48

Appendix A: 3-D view with layer view

Example of a 3-D view of the block model in the xyz coordinate system. The 3-D view shows
the 5.th layer (above the Moho depth) of the Finnish density model. Note that the mean depth
defined in the title (30 km) is that of the top of the 5.th layer. The 3-D view does not contain
any color scale and it does not utilize hidden line removal. The vertical scale is exaggerated
2,5 times. Boundary (*.BNA) file defining the geological map units (scale 1:10 million) as
well as the borders, coastline and islands of Finland is laid over the view.

49

Appendix B: Layer view

Example of 2-D layer view plotted as color-filled contour map. The model is the same as in
Appendix A. The (rainbow) color scale ranges between 2.60 to 2.77 (g/cm3), where blue color
denotes small parameter values. The plot labels mark original density values (g/m3) multiplied
by 1000 (kg/m3). Boundary (*.BNA) file defining the geological map units (scale 1:10
million) as well as the borders, coastline and islands of Finland is laid over the view. Note
that BLOXER does not display any units for the coordinates and parameters.

50

Appendix C: Section view

Example of a 2-D vertical cross-section plotted as an image map with visible grid lines
between block elements. The model is the same model as in Appendices A and B. The
Y-section runs along the x coordinate 3412.5 (units) showing the 13.th slice. The dotted line
in the auxiliary 3-D view shows the position of the Y-section. The model uses alternative
block height method, where the height increases downwards by the height of the topmost
block. The boundary between the 5.th and 6.th layer defines (Moho) topography and the
bottom (6.th) layer is hidden. The vertical scale is exaggerated 2,5 times.

51

Appendix D: Reduced model

The figure shows a 2-D horizontal layer of an irregular reduced block model. The original
model is the same model as in Appendices A, B and C. The neighboring cells having (almost)
the same parameter value have been combined to form an irregular mesh. The original model
consists of 5616 blocks of size 2525 km. The reduced model contains only 3291 blocks
indicating about 40% reduction (also in the computation time). The block reduction has been
made layer-wise (not in 3-D). The vertical scale is exaggerated by 4:1.

52

Appendix E: Two-layer model

The figure shows a 2-D vertical cross-section of an irregular two-layer block model. The
strike length of the 2.5-D model is 1500 m (along y axis). By keeping the density contrast
(2.1:2.7 g/cm3) fixed during the inversion the boundary between the 1.st and the 2.nd layer
has been optimized using the GRABLOX v.1.6. The model has no topography but it could be
easily set based on original data z coordinates when creating the initial model in GRABLOX.
Although they are not visible, margin bloxk have been added to the model so that the density
contrast between the background and the first layer would not generate a gravity "jump" at the
side of the model. See GRABLOX manual for more information about two-layer
interpretation.

53

Appendix F: 3-D view & layer

The figure shows a 3-D volumetric view with a horizontal layer at the bottom. The (rainbow)
color scale has been set according to the min/max values between 2.607 to 2.798 (g/cm 3). The
volumetric view shows values less than 24% and greater than 56% of the color scale. The
corresponding parameter values are 2.653 and 2.714 (g/cm3) that can be computed using
formula (2.607+x%*(2.798-2.607)/100%). The BNA-file corresponds to the geological map
of Finland (scale 1:10 million) of Geological Survey of Finland. The 3-D view always shows
either a layer (default), X- or Y-section depending what was previously viewed. Pressing the
3D view button would rotate the layer or section to the next or previous one depending on the
current swap direction.

54

Вам также может понравиться