Professional Documents
Culture Documents
The MineSight 600-series programs allow you to create, update, M602FS allows interactive editing of the mine model data files
display and manipulate MineSight mine model files. Within (13, 14 or 15). Multiple items may be updated in a single run.
each model file, information required for reserve calculations
and mine design is stored on a block by block basis. Each block M603V1 - List Specified Data Items from the Mine Model File
may contain data such as grade, geology, ore type, percent below
topography, percent ore, grindability, etc. This program lists or dumps data items from a model file (File
13, 14 or 15). Output can be sent to a printer output file or an
The general features of the 600-series programs are: ASCII sequential file. The data can be output in integer format
(M610V1 format) or in real format (M610V2 format).
Store up to 500 items of information for each block,
such as rock codes, ownership codes, grades, etc. M606V1 - Plan Map (M122) of Mine Model Data
However, the individual programs can only access up
to 99 items. This program accesses the mine model files and prepares plot
commands for program M122V1. One or more values may be
plotted in a single run.
Allow up to 1000 columns by 1000 rows and up to 400
benches.
M607V1 - Contour Plot (M122) of Mine Model Data
Create or update the mine model with manually coded This program is used to create a contour map of a single item of
or digitized data. data from the mine model files. The program creates an M122
plot file.
Interpolate grades and/or surfaces in the model using
kriging or inverse distance weighting. M607V4 - Create Contour Data Using Triangulation
Represent geology or topographic features as 2-D This program is used to contour data and output either a plot
matrices. file or VBM input file.
Plot or print plan or section maps of the model. M608V1 - Classical Statistical Analysis of Model Data
This program accesses the mine model files and prepares M122
Program Summaries plot commands for vertical cross-sections. Sections may be
oriented at any angle through the model.
M601V1 - Initialize a Mine Model File
M610V1 - Enter Data into a Mine Model File
This program is used to initialize the 3-D Block Model, Gridded
Seam Model and 2-D Surface Matrix Files prior to entry of This program is used to enter data into the mine model files
numerical values. M601V1 can also be used to reset existing to either create or update specified values. Only one value per
values in these files or copy levels within a 3-D or GSM model. block can be stored.
M601V2 - Create a Compressed Format Model File M610V2 - Enter Real Data into a Mine Model File
This program is used to create a compressed format model file This program is used to enter real data into the mine model files
(File 15 only). The compressed format is used when disk space either to create or update specified values. Several values for
is at a premium or when the regular model has large areas of each block can be stored in a single run.
no interest.
M612RP - Special Project Calculations for Mine Model Files M620V1 - Inverse Distance Weighting Interpolation (Standard
Version)
This program accesses a MineSight routine to perform
arithmetic calculations using RPN (Reverse Polish Notation) This program uses the sorted composites in File 8 to interpolate
logic specified in the run file. Calculated values may be stored values into the mine model using inverse distance weighting to
into File 13 or 15. the nth power. Geological zones are honored during interpolation.
This program accesses a user-coded FORTRAN subroutine for M624IK - Multiple Indicator Kriging Technique
special calculations from the mine model files. The model is
accessed vertically by section. Calculated values may be stored This program is used to interpolate block grades using multiple
into the model. indicator kriging (MIK).
M615V1 - Compute Block Codes from Digitized Plan M624MIK - Multiple Indicator Kriging Technique with the
Boundaries GSLIB routine
This program computes and stores block codes in the mine model This program is a special version of M624IK to compute block
from digitized plan geology. grades using multiple indicator kriging, with the GSLIB routines.
M615V2 - Compute Block Codes from Digitized Section M624V1 - Kriging Interpolation Technique
Boundaries
This program is used to interpolate block grades using ordinary,
This program computes and stores block codes in the mine model lognormal or universal kriging. A single or nested variogram
from digitized E-W section geology. may be used to derive the interpolation weights.
M617V1 - Add Mine Model Codes to Composite Data M625V1 - Gradient Interpolation Technique
This program assigns mine model integer codes to the composite This program uses gradients to neighboring points for weighting
Data Files. the sorted composites during interpolation of mine model values.
M618V1 - Correlation Analysis of Model Data M630V1 - Load 2-D Surface File (File 13)
This program calculates siple bi-variate statistics and generates This program is used to load topography or other surface grid
scatter graphs and histograms of model data data into File 13. The program can also be used to update File 13.
M619V1 - Cumulative Distribution Analysis of Model Data M633V1 - Add Topography Percent to the Mine Model
This program is used to create an M122 plot file of the cumulative This program uses the 2-D Surface File (File 13) to determine
distribution versus grade from model data (cumulative the percentage of each block that is below the ground surface
probability plot). and stores this percent in the mine model.
M637V1 will produce plot commands for a section line through Writing MineSight User Subroutines
a Digital Terrain Model (DTM). A DTM is a binary file that must
first be created using program M635V1. Useful COMMON BLOCK Variables
MSCS computes conditionally simulated estimates for 3D grid Gridded Seam Model
points using composite or blasthole data information.
The 3-D Block Model (File 15) consists of a three-dimensional
MSPCS - Conditional Simulation Post Processing grid of blocks with all blocks having the same lateral dimensions
(typically 50 to 200 feet on a side). The vertical height of all
MSPCS performs statistical analysis of results from multiple blocks on a given bench is the same, although other benches
conditional simulation runs. may have different heights. The block height is usually specified
to conform to the proposed bench height. The lateral block
MSUC - Uniform Conditioning dimensions are often specified to be compatible with standard
map scales. However, these lateral dimensions must adequately
This program is used to compute recoverable reserves based represent the grade value distribution. Each 3-D block usually
on kriged estimates of the blocks or panels using a change of contains one type of material (i.e., ore or waste). The 3-D Block
support model. Model is used for large, disseminated deposits, such as base
metals, and for some uranium deposits.
ELLIPSE2MS - Ellipse to MineSight
The Gridded Seam Model (File 15) consists of a two-dimensional
This program is used to create a debug ellipsoid for viewing in
grid of blocks for each seam in the deposit with all blocks having
MineSight.
the same lateral dimensions. Each unit of data (grid point) of
a seam contains geometric and grade items with the minimum
being thickness and elevation. Other geometric parameters
that may be stored are: internal waste lengths, depth from
surface, overburden thickness, etc. The Gridded Seam Model
is frequently used for coal deposits, but can be used for other
deposits such as clays, mineral sands, tar sands, etc.
The minimum amount of data that should be stored in each block 2-D Surface File. The default item is the topography, but you
of a 3-D Block Model is: can also store the elevations of different subsurfaces.
At least one grade value Data can be stored in File 13 by several different methods.
The percent of the block below surface Convert digitized contours into grid values
A type code to classify material in reserve calculations Manually code grid values
Interpolate 2-D point data to a grid
The minimum amount of data that should be stored for a GSM is:
2-D topography data in File 13 can be loaded into the 3-D Block
Seam thickness Model as a percent topography code. File 13 data can also be
Seam elevation contoured and can be used to clip pits. The file is also important
in the moving cone pit design program.
There are several steps that must be performed to create a mine
model. The possible types of information that can be stored in a mine
model are geological, mineralogical, metallurgical, geometrical,
1. Formulate the model; define the problem geostatistical, production and financial.
Determine the exact results that are to be produced during The types of information that are stored in File 15 for metal,
the mine design, scheduling and financial portions of the coal and uranium include:
analysis. This will provide a reasonable guide to the detail
to be incorporated into the mine model. Geological, mineralogical & metallurgical information
Decide on the procedures to be used to handle the geologic Deposit structures (faults, formations, zones)
parameters and the interpolation of grades into the mine Lithology and alteration types
model. Ore types (sulfide, oxide, mixed, enriched)
Set up the mine model descriptors in the PCF using M102TS. Base metal grades
Suggestions on items to be included are found in the M102TS Coal quality parameters
documentation. Radiometric values
Production grades or values
Initialize the mine model file using M601V1.
Geometrical and relative information
3. Store the geologic codes to be used during interpolation of
mine model grades using M610V1, M611V1, M612V1 or Elevations and thickness of seams
one of the other programs in the 610 subseries. Area, lease or property subdivisions
Interpolation rings and number of composites
Percent of block below surface topography
4. Establish a topographic surface
Create the 2-D surface topography file (File 13) with Physical deposit information
M630V1 and add topo percent to each block with M633V1.
Specific gravity
Internal waste thickness or percentage
5. Project grade values into unsampled areas True thickness of seams
Interpolate model grades using M620V1, M620V2, M621V1
or M624V1. Geostatistical information
Trend information
6. Verify the mine model Estimation errors
Calculate statistics with M608V1, plot cross-sections with Calculations for individual projects
M609V1, plot bench plans with M606V1, or plot contour
maps with M607V1. Equivalent grade
Relative in-situ value
Another file that is useful in the creation of the mine model is In-situ stripping ratio
the 2-D Surface File (File 13). Several items can be stored in the
A single line of text that will be printed at the top of each page of printer output from the run.
RUN = RESET(for resetting values only; do not use for initializing or copying)
NOTE: If you are using the RESET option, use IOPs 4-11 to define which part of the model will be reset.
IOP2 = M15 FIRST BENCH/LEVEL TO INITIALIZE (default=next bench/level after the last one initialized)
IOP3 = N15 LAST BENCH/LEVEL TO INITIALIZE (default = NZ for File 15 and 1 for Files 13 & 14)
NOTE: If you are running M601V1 to initialize a mine model file or to copy benches to new areas of the model,
use IOPs 2 and 3 to define which benches to initialize. These IOPs cannot be used for RESET.
You must initialize entire benches, not just a few rows in a bench. Also, if you want to initialize a certain
bench, all prior benches must be initialized, either previously or in the current run. For example, if you want to
initialize bench 33 and benches 1 through 21 have been initialized in a previous run, then benches 22 through 33
must be selected in the current run. IOP2 will default to 22 in this case.
IOP4 = STARTING BENCH TO BE COPIED FROM OR FIRST BENCH TO RESET (no default)
IOP5 = STARTING BENCH TO BE COPIED TO OR LAST BENCH TO RESET (no default)
NOTE: If RUN=RESET, these IOPs must be used to specify the first and last benches to be reset. Otherwise,
they are used as copy commands.
END
** INITIALIZE THE 3-D 100*100 BLOCK MODEL; SET DEFAULT VALUES FOR CODE AND TOPO
USR = ABC
I-O = 1
IOP2 = 00 / USE DEFAULTS; INITIALIZE COMPLETE MODEL
END
USR = ABC
I-O = 1
IOP2 = 1 1
COM NOTE THAT FILE 13 ONLY HAS ONE 2-D SLICE.
END
USR = ABC
I-O = 1
END
USR = ABC
I-O = 1
END
END
RUN = RESET / READ SAMP15.DAT & SET GEOL TO UNDEFINED FOR A CERTAIN AREA
USR = ABC
I-O = 1
IOP4 = 12 12 / BENCHES TO RESET
IOP8 = 21 30 21 30 / ROWS & COLS TO RESET
END
RUN = RESET / READ SAMP15.DAT & RESET LITHO TO UNDEFINED FOR A CERTAIN AREA
USR = ABC
I-O = 1
END
The first bench number you are trying to initialize exceeds the total number of benches in your project. Make sure that IOP2
and IOP3 specify bench numbers in the range of benches spanned by your PCF.
You let IOP2 default so M601V1 computed the next bench to initialize based on information in the PCF. Since this computed
bench exceeds the total benches, its likely that this file is already initialized.
Check that IOP2 is no larger than IOP3. If you allowed one of these IOPs to default, try putting the actual values in them.
Since the file has been previously initialized through BENCH yy, then the next set of benches you initialize MUST begin with
BENCH yy+1. If you really need to re-initialize a lower BENCH xx, then use the RESET option.
If you get this message while trying to initialize a compressed File 15, remember that if, for example, bench 10 is defined and
initialized in your model and the next defined bench is 20, which is not initialized, then to initialize bench 20, you MUST set
IOP2=11.
It might happen that part, but not all, of a bench has been initialized. If this is the case, then the partially initialized bench will
be completely re-initialized.
Make sure the levels from which you are copying have already been initialized. In the above case, the model has been initialized
through bench 20 so copying benches 1 through 10 is okay.
If you are copying to an uninitialized bench, it must be the next bench after the last previously initialized one, because there
cannot be uninitialized benches existing between initialized ones. In the above example, level 21 needs to be initialized before
level 22 can be.
The last level copied to must be no greater than the last bench in the model file. Trying to perform the copy three times (IOP7)
would make bench 51 the last bench written and that is greater than the total number of benches in the model.
Make sure that the set of benches being copied from does not overlap the benches where they are supposed to be copied. For
example, you cannot copy benches 510 onto benches 49.
7. %M601V1: WARNING. Values outside the ITEM range are being limited.
# RESET values above maximum = xx
#RESET values below minimum = yy
You have tried to initialize some ITEMs to values outside of their range. If you continue, the initializing value will be limited
(either above or below) by the ITEM range.
If you are running on a PC, M601V1 will check the available disk space to make sure your model file will fit.
10. ?M601V1: ERROR. You are attempting to RESET an uninitialized part of the model
IOP4=xx IOP5=yy
Make sure the range of benches you want to RESET (in this case xx to yy) is in the range of previously initialized benches (1
to zz). You can only RESET benches that have already been initialized.
11. ?M601V1: ERROR. You have not selected any items to RESET.
To use the RESET option, you must specify a PUTnn item.
Before running M601V2, set up the item descriptors for the file
with M102TS or M102V1. Be sure to specify the compressed
format option.
RUN FILE
- File specifications
- Area specifications
INPUT: CALCS:
OUTPUT:
- Empty compressed
format model file
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
END
The above Area Specification Line can be repeated as often as necessary to define all areas of interest in the model. Area specifications
can overlap; however, once a level is completed, any defined row cannot be redefined. For example:
1 6 1 50 25 75
5 7 1 45 30 80
Overlap on levels 5 and 6. The result would be the largest definition for rows 1 to 45 where columns 25 to 80 would be defined.
1 1 8 10 25 90
an error would be generated since rows 1 to 50 were defined on the first Area Specification Line. Since the second line specifies level
5 to start, the program assumes that rows 1 to 50 are completely defined on levels 1 to 4. Rows 51 and up can be defined later if
desired; however, this would result in a less efficient, fragmented model. If 19= is used on the Names Line, then area specification
data is read from an external file, else the data is assumed to follow the END line.
NOTE: An Area Specification File, containing area specification lines in the proper format, can be created
using M667V1. However, data generated by M667V1 may need to be sorted by bench (top
downward) prior to using it in M601V2.
USR = ABC
END
1 6 1 50 25 75
M602FS can be used to update any of the mine model files (13,
PROGRAM FLOW DIAGRAM 14, or 15). The mine model file must be initialized with M102TS
and M601V1 before M602FS can be run. In order to have a
RUN FILE: basis for making changes, you should make a printer map of a
- Interactive keyboard small area containing the value(s) to be updated. Changes can
entry be marked on this map prior to execution of M602FS.
OUTPUT:
e.g. METL
INS-Tag
Position the cursor on the item that you wish to edit and press the INS key to select it.
DEL-Untag
Use this key to cancel a selected item.
F1-Continue
Proceed to choosing the bench, row and columns to edit.
F1-Continue
F2-Exit
F3-Reselect items
Return to the item selection panel to choose different items or to change the order of the items.
F4-Utilities
F1-Continue
Go to the bench selection panel to choose a different bench, row or set of columns.
F2-Store
F3-Missing
F4-Unset
Backspace Key
Toggle an information window at the top of the screen. The current items minimum and maximum values are displayed using the
appropriate number of decimal places (shown on the screen above).
RUN FILE: The data can be selected from the mine model file on the basis
of:
- Items to list
- Listing format
- Specified area to list Benches, rows and columns with an Area Specification
Line
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If IOP2 is less than or equal to 0, you must specify an output file on the Names Line as 19=.If
IOP2=1, 2 or 3, the output file is optional. If File 19 is not specified, output will go to the Printer
Output File. The output to the printer Printer Output file is always in M610V2 format.
NOTE: For example, if IOP5=10, the column item in the output will be increased by 10 (i.e., column 1
will become column 11).
NOTE: If IOP2=0, IOP11 can be used in conjunction with FMT1 to reduce the size of the output file. For
example, if you want to list two items in I5 format, then IOP11=10.
NOTE: If IOP2=0, IOP11 can be used in conjunction with FMT1 to reduce the size of the output file. For
example, if you want to list two items in I5 format, then IOP11=10.
If FMT1 is not specified, then IOP11 will be computed to match the default format
If IOP2=-1, IOP11 is number of columns for output values. (default=10)
Note: When using with 3D-rotated GSM file 15, or 3D-rotated files 13 and 14, you MUST specify
Z-coordinate model item by command:
Note: To use IOP3 = 2, IOP21 = 0 combination for 3D-rotated GSM file 15, enter Z coordinate item
with CMD = ZCRD label-nn. (see also Note for IOP13)
When you are using IOP11, the repeat specification for the items format must be greater than or equal to the integer
quotient of 64/IOP11. For example, if IOP11=10, the repeat specification must be 6 or greater (64/10=6) and your
format statement would read:FMT1=(4I5,6(2I5)).
Optional Z coordinate item (for 3D-rotated GSM models or files 13 and 14)
CMD = ZCRD label-nn
END
IZ1 IZ2
IX1 IX2 IY1 IY2
where
USR = ABC
IOP2 = 0 / 0=INTEGER OUTPUT. 1=REAL OUTPUT
IOP5 = 0 0 0 / X,Y,Z OFFSET CONSTANTS
END
20 20 1 0 1 0 Benches, columns, rows
21 21 1 0 1 0
bench row col a col b Data for col a Data for col a+1 Data for col a+2
20
20 40 16 19 32 16 73 1 32 16 71 1 32 16 70...
20 40 20 23 32 16 73 1 42 21 73 1 42 21 71...
20 40 24 27 42 21 71 1 42 21 73 1 42 21 73...
20 40 28 31 42 21 70 2 42 21 71 2 42 21 73...
20 40 32 35 32 16 71 2 32 16 70 2 32 16 71...
20 39 14 17 16 8 61 1 18 9 63 1 19 9 63...
20 39 18 21 32 16 60 1 37 18 61 1 37 19 63...
20 39 22 25 38 19 61 1 42 21 60 1 42 21 61...
20 39 26 29 42 21 63 2 42 21 61 2 42 21 60...
20 39 30 33 37 19 63 2 37 19 63 2 36 18 61...
20 39 34 37 32 16 61 2 32 16 63 2 32 16 67...
20 38 13 16 14 7 50 1 14 7 51 1 17 8 54...
20 38 17 20 22 11 51 1 28 14 50 1 36 18 51...
20 38 21 24 38 19 54 1 39 19 51 1 40 20 50...
20 38 25 28 42 21 54 1 42 21 54 2 42 21 51...
. . . .
. . . .
If output is in integer format, values for several blocks will be written to each line of output. The number of blocks on each line is
dependent on the number of items and the format requested.
USR = ABC
GET15 = TCU-1MO-1DISTCODE
ITM1 = TCU-1RANGE0.11.0
FMT1 = (3I4,F8.2,F8.3,2F8.0)
I-O = 2
END
20 20 1 0 1 0 Benches, columns, rows
21 21 1 0 1 0
If output is in real format, values for one block per line are written to the output file.
USR = ABC
I-O = 0
IOP2 = 1 / 1=M610V2 FORMAT
IOP8 = 1 / 0=OUTPUT IGP N-S PARAMETER FILE
IOP9 = / 0=OUTPUT M650IP SLICES, 1=M830V1
USR = ABC
GET13 = TOPOG
FMT1 = (4I4,20(I6))
I-O = 2
END
1 1 1 0 40 40 Benches, columns, rows
USR = ABC
GET13 = TOPOG
I-O = 2
END
1 1 1 1 40 30 30
1 1 1 1 40 40 40
Your model file must be initialized using M601V1 before any other MineSight program can access it.
You have selected IOP2=0 but have not specified a File 19 on the NAMES line of your run file.
4. ?M603V1: ERROR. You have requested xx items which exceeds the maximum 10.
5. If your output wraps around to the next line, check your IOP11 and FMT1 statements. IOP11 must equal the number of columns
of output specified in the format statement for the items. The repeat specification for the items must be greater than or equal to
the integer quotient of 64/IOP11.
For example, if you are dumping four items with six columns each (4I6), set IOP11=24 (4 items x 6 columns/item) and
FMT1=(4I4,2(4I6)) because 64/24=2. If you are dumping four items with five, five, four and two colums (I5,I5,I4,I2), set
IOP11=16 and FMT1=(4I4,4(I5,I5,I4,I2)).
PROGRAM FLOW DIAGRAM The first four ITM commands in the run file select the data items
to be plotted. You can also restrict plotting to blocks with a topo
RUN FILE: percent greater than a certain value. The outline of each
- Model areas to display individual block in the model can also be plotted. You can also
- Model items to display select data to be plotted using the Range, Omit or Table
- Plot specifications commands.
INPUT: CALCS: Data can also be selected by row and column. Ranges and scales
- PCF - Extract model area for in both easting and northing can be specified.
- Mine Model File display
(File 13, 14 or 15) - Extract items for display
- Create M122 plot
commands
OUTPUT:
- M122 Plot File (binary or
ASCII)
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
IOP13 = -1 COLOR OUTLINE/VALUES BASED ON FIRST VALUE, BUT DO NOT PLOT FIRST VALUE
= 0 PLOT GRADES
= 1 DO NOT PLOT GRADES. USE GRADE TO SELECT PEN # FOR PLOT
PAR5 = HORIZONTAL SPACING FROM LEFT SIDE OF BLOCK TO START OF VALUE ANNOTATION, IN INCHES
(default = 0.0)
PAR8 = ELEVATION TO PLACE SEAM ON, IF IOP3 > 0 FOR A 3D-ROTATED GSM FILE 15 OR FILES 13 & 14
NORTH
PLT = CUTOFF VALUES TO CONTROL COLORING (For use with a 4 pen plotter):
Value Color
NOTE: P1, p2, p3 and p4 are optional pen numbers. Default is 1, 2, 3, 4. Cutoffs are applied to ITM1
item and should be stated in the same precision as the data.
NOTE: Always list one more pen number than you have cutoffs. The additional pen is for any material
greater than the last cutoff.
Label-nn is the item to plot. Fw.d is the output format for plotting. Min-value is the minimum value to be plotted. Enter
even if 0.0. If the required ITMn value for a block is less than the minimum value, then no block values are plotted.
Topo-label is the File 15 TOPO% item. TOPO is a keyword for the program. Value is the least TOPO% value of a
block to be plotted. Blocks with TOPO% less than value will not be plotted. (default=50%)
The block outline will be plotted with the same pen as the grade label.
END
Each bench request line contains up to 10 bench reference numbers (integers) in free-field format. If a line contains fewer than 10
bench reference numbers, input will terminate with the last bench referenced on that line. So, for example, given the following bench
request lines:
1 2 3 4 5 6
7 8 9 10 11 12
If you are using File 13, set the bench reference number to 1.
USR = ABC
PLT = .19 .49 .99 999 1 2 3 4 / PEN COLOR CONTROL FOR GRADES
COM = THIS WILL PLOT MATERIAL LESS THAN .2 WITH PEN 1, LESS THAN .5 WITH PEN 2, LESS THAN 1 WITH PEN 3 AND
GREATER THAN OR EQUAL TO 1 WITH PEN 4.
END
20
USR = ABC
END
BORDR 1 1000 14000 11000 14000 0
BORDR 1 11007.5 13992.5 11000 13992.5 0
GRID 1 11000 14000 11000 14000 1000
TICKS 1 11000 11000 11000 14000 1000 .08
TICKS 1 11000 14000 14000 14000 1000 .08
COORD 1 10850 11015 10850 14015 1000 .05 0 0 11000 1000
COORD 1 10985 14015 13985 14015 1000 .05 90 0 11000 1000
BORDR 1 11000 14000 10750 11000 0
BORDR 1 11007.5 13992.5 10757.5 10992.5 0
LINE 1 13250 10750 13250 11000 0
LINE 1 13250 10900 14000 10900 0
LINE 1 14000 10800 13250 10800 0
LABEL 1 13455 10940 0 .04 17/WIDGET MINING CO.
LABEL 1 13455 10770 0 .04 17/SCALE 1" = 500
LABEL 1 13455 10860 0 .04 17/T-CU BLOCK VALUES
LABEL 1 13545 10820 0 .04 8/BENCH 20
USERF PLT606.PAA
ENDOC
USR = ABC
END
20
You have not specified a model file on the NAMES line in your run file.
Your model file must be initialized using M601V1 before any other MineSight program can access it.
You have only initialized through bench yy (M601V1) and are attempting to plot data for bench xx, which has never been
initialized.
You are required to specify at least one item to plot. For example, ITM1=ASH F5.2 0.
5. If no plot file is created, check that you have interpolated or loaded block values into the area of the model that you are plotting.
6. If no data is plotted, but data exists in the model, check the TOPO% item. It must be above the minimum value if ITMn = topo-
label TOPO value is used.
Only one contour map or trace file can be produced per run. the
area to be plotted can be selected on the basis of row and column
ranges (IOP4 - IOP7), or with a series of boundary points.
INPUT: CALCS:
(selected by IOP13).
- PCF - Extract area and items Contour lines can be smoothed by specifying IOP9>0. This
- Mine model file from mine model
should be done if DX and DY are relatively large in relation to
(File 13, 14 or 15) - Create contours, trace
file (opt.) and plot the map scale (1/2" or more). However, computer run time will
commands increase if IOP9 is used.
OUTPUT:
- M122 USERF or DATAF
File
- Optional Trace File
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: Many of the following program setup features are dependent on IOP2 & IOP3.
NOTE: Rows, columns and benches are relative to the axis of the map. In either case, the last bench you
can access is the last bench that was initialized using M601V1.
IOP9 = THE NUMBER OF INTERIOR LINEAR INTERPOLATIONS FOR EACH GRID CELL IN THE X & Y
DIRECTIONS (default=0)
NOTE: Maximum of 7. This option is used primarily for large cells to increase the smoothness of contour
lines or to increase the density of points in the trace file. If IOP9>0 and contour=cell value, it is possible
for disjointed trace lines to occur.
IOP11 = FEATURE CODE FOR THE TRACE FILE IF ONE IS TO BE PRODUCED (default=901)
NOTE: If IOP13=1, the specified boundaries can be in a separate file. Use the following command line:
NOTE: nn is the file reference number of the model file on the Names Line. This must be the first GET
item.
ITMn = UN value
ITMn = GT old new
ITMn = LT old new
NOTE: The keyword UN specifies that any undefined cell values are to be reset to value. The keywords
GT and LT specify that cell values greater than or less than old are to be reset to new, respectively.
NOTE: nn must be the same file reference number as the GET plot item. This must be the second GET
item. In addition, the following ITM command must be used to invoke limiting:
FMT1 = FORMAT OF THE TRACE FILE COORDINATE PAIR OUTPUT (default = (2F10.1))
FMT2 = FORMAT OF THE TRACE FILE CONTOUR HEADERS, CONTOUR LEVEL & FEATURE CODE
(default = (F10.1,I8))
NOTE: Intervals must be in ascending order & are terminated by a zero increment or by a full complement
of intervals.
END
If the specified boundaries are to be added at the end of the run file, then use the following format:
where 0 0 ends the input or input end of end-of-file. Boundary points must close. The maximum number of boundary points
allowed is 2000.
USR = ABC
USR = ABC
PEN# 2
USERF PLT607.PAA
ENDOC
USR = ABC
USR = ABC
You have not specified a model file on the Names Line in your run file.
Since File 13 is essentially two-dimensional, contour plots are only allowed in plan view.
Your model file must be initialized using M601V1 before any other MineSight program can access it.
Something is inconsistent in the way you selected the ROW/COLUMN/BENCH to plot (IOP4-IOP8). Note the X, Y, and
Z are relative to the PLOT coordinates. For example, if IOP10=1 (so youre plotting a WE section looking North) then X
would refer to model columns, Y would refer to model benches, and Z would refer to model rows. Note also that the
benches are always limited by the last bench initialized using M601V1. This limit might be less than the total number of
benches in your model.
will appear if a contour file does not exist and you choose to do a preview plot.
Something is inconsistent in the way you specified your minimum and maximum contour levels or your contour intervals.
Something is inconsistent in the way you specified the range of contour levels output to the trace file.
8. Be careful when using IOP9 as computer time will increase as IOP9 is increased.
9. If no contour map is produced, check that you have interpolated or loaded the item into the model.
- PCF - Calculate triangular math Calculate contour segments from triangular mesh and
- ASCII input file -OR- - Create contours write to binary file TMP032.TMP. A contour segment
DTM is the line formed across a triangular plane having a
constant z value. It is defined by its endpoints, the
intersections with 2 sides of a triangle.
For all output types the MAP command mst be used which
specifies two SCALES. The XSCALE directly affects the result,
as it is used in the computations. Be aware that changing the
XSCALE can produce more or fewer points on the contours
and also affect the joining of contour segments.
Four types of input are acceptable and are specified with IOP20.
The default input (IOP20=0) is to read an ASCII file of points
and create a triangular mesh. Points will be read as x-coordinate,
y-coordinate, contour value, unless a different order is specified
by the ALF1 command. The data may be read free format or
with a specified format using a FMT1 statement. If IOP20=1,
the program will read the file TMP032.TMP and contour the Contours are produced over a specified range with a regular
data. This option can only be used when the program has been interval specified as PAR5 and are referred to as base contours.
run before with IOP20 set to 0 or 2. If IOP20=2, the program The base contours are output to File 30. The program will
will read in a binary Digital Terrain Model file that has been optionally produce a second set of contours, referred to as index
created by the program M635V1. If IOP20=-1, a MineSight contours, if an interval is specified in PAR6. This option is
Shell File will be read in. intended to provide contours that can be plotted with a heavier
pen or a different color pen. The index contours are output to
Note that if IOP20=0, the triangular mesh will be unconstrained. the same File 30, but with the pen color specified by IOP9. It
The triangulation algorithm will attempt to make all triangles as may be necessary to run this program more than once if the
nearly equilateral as possible. If IOP20=2, the triangular mesh desired index contours cannot be generated at a regular interval
will have been constrained so that sides of a triangle do not with the range used by the base contours.
cross certain boundaries. This method should be used if you
are trying to contour pit data that includes toe and crest points.
For example, when trying to model a pit surface with a DTM, it
is important that the triangles form along the toes and crests of
the benches rather than across a toe or crest boundary.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If IOP1=1, the specified boundaries can be in a separate file. Use one of the following command lines:
CMD = INCL LOCPT FILE filename (to include input data within the boundary) OR
CMD = EXCL LOCPT FILE filename (to exclude input data within the boundary)
Contour output will NOT be excluded by the boundary file. The constraint is only applied against the input data
points.
END
If the specified boundaries are to be added at the end of the run file rather than a separate file, then use the following format:
where 0 0 ends the input or input ends on end-of-file. Boundary points must close. The maximum number of boundary points
allowed is 2000.
USR = ABC
MAP = 3400. 4500. 20. 2500. 3600. 20. / MAP LIMITS AND SCALE
I-O = 0
END
USR = ABC
FMT1 = (12X,3F12.3)
I-O = 0 / IOLEV
END
USR = ABC
MAP = 9400. 10200. 100 9600. 10100. 100 / MAP LIMITS AND SCALE
END
USR = ABC
MAP = 9400. 10200. 20. 9600. 10100. 20. / MAP LIMITS AND SCALE
I-O = 0
END
2. NEWFFR error error # on data points file filename at record number line #.
Contour aborted in M607C4.
Will occur if there is an error reading the ASCII input data. Check the data file at the indicated line number.
Will occur if there is an error reading tmp033.tmp. Check your machine setup and test file for corruption.
18. M60704: WARNING Index Contour Interval is less than or equal to BaseContour Interval.
No Index Contours will be generated.
Plot commands will still be written to File 30 but only for the base contours. The index contour interval, PAR6, should be a
multiple of 2 or more of the base contour interval, PAR5.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: When this option is ON, the sums within the frequency intervals will not be accumulated.
IOP4 = 0 NO BOUNDARY
= 1 USE BOUNDARY
NOTE: If IOP4=1, the specified boundaries can be in a separate file. Use one of the following command
lines:
CMD = INCL LOCPT FILE filename (to include points within the boundary) OR
CMD = EXCL LOCPT FILE filename (to exclude points within the boundary)
NOTE: If IOP9>0, plot commands are written to File 19 which must be specified on the Names Line.
The bench statistics plot is limited to 10 inches vertically.
IOP10 = 0 PROGRAM COMPUTES THE LOG INCREMENT BASED ON PAR8 AND IOP12
= 1 LOG INCREMENT IS THE SAME AS PAR8
NOTE: If IOP14 =1, then if IOP15 = 1, 2 or 3, program will use the maximum value only.
NOTE: If the CONTROLLING ITEM (ITM1) is less than PAR9, that block will not be used. PAR9 should
be in untransformed units regardless of the IOP13 value.
NOTE: The keyword GRADE can be replaced with the keywords VALUE or Q.P. A maximum of 10
items are allowed for a table. Up to 99 items can be used with keyword GRADE. EXTRA is not
a keyword, but if EXTRA is used, that item will be skipped.
NOTES: 1. If <default value> is specified, it will be used for blocks where weighting item is undefined.
If it is not entered, blocks with undefined weight will not be included in calculations.
2. You can use DUMMY for item name to specify a constant weight value.
For 3DBMs:
CMD = BLOCK VOL WT
For GSMs:
CMD = BLOCK VOL WT label-15
Where label-15 is the label of the thickness item.
END
If the specified boundaries are to be added at the end of the run file rather than a separate file, then use the following format:
Where 0 0 ends the input or input ends on end-of-file. Boundary point must close. The maximum number of boundary points allowed
is 2000.
If using a 3D-rotated GSM file 15 or 3D-rotated files 13 & 14, you must specify the Z coordinate model item by using:
CMD = ZCRD label-15.
REF#1 REF#2
where
All benches between REF#1 and REF#2 will be used. Several Request Lines may be entered sequentially to select particular benches,
seams, etc.
USR = ABC
END
20
M122V1 SAMPLE RUN FILE #1 - (for plotting files generated when IOP9>0)
MEDS-122V1 10=SAMP10.DAT 3=RPT122.LA
** FREQUENCY DISTRIBUTION OF MODEL **
USR = ABC
MAP = 0 9 1 0 11 1
PLT = .07 0 0 0 0 .6
END
BORDR 0 0 9 0 11
BORDR 0 .9 7.9 .9 10.9
COORD 0 1.8 . 7 8. .7 1. .1 0 2 .40 . 40 /
LABEL 0 3.5 .4 0. .1 20 COPPER GRADE
LABEL 0 .5 3.5 90 .1 20 PERCENT FREQUENCY
COORD 0 .6 1.9 .6 11. 1. .1 0. 0 10 10 /
SHIFT 0 .9 .9
TICKS 0 7 0 0 0 .25 .05
TICKS 0 0 0 0 10 1. .1
PEN# 2
USERF PLT608.PAA
ENDOC
NOTE: The default plot size for M608V1 is 8 1/2 x 11 in. If you are plotting on a metric device, insert
the following command in your M122 run file: FACTR 0 2.54 or use the factor option in the PLT
command line.
USR = ABC
IOP9 = 0 / 0=OMIT M122 OUTPUT, 1=PLOT BENCH STATS, 2=PLOT FREQ DIST
IOP12 = 20 / 20 INTERVALS IOP16
= 1 2 / ROCK CODE LIMITS (SEE ITM3)
END
15 20
M122V1 SAMPLE RUN FILE #2 - (for plotting files created with MHISTO)
MEDS-122V1 10=SAMP10.DAT 3=RPT122.LB
** COMPOSITE BENCH DISTRIBUTION PLOT - T-CU **
USR = ABC
END
USERF HISTO.PLT
ENDOC
USR = ABC
IOP12 = 20 / 20 INTERVALS
PAR7 = .0 1.0 .0 / BEGIN FIRST INT, INCR, MIN VALUE
END / BENCHES
01 40
1. ?M608V1: ERROR. Your model file is empty. You MUST initialize your file with M601V1 before proceeding.
Your model file must be initialized using M601V1 before any other MineSight program can access it.
3. ?M608V1: ERROR. Bench xx specified on BENCH REQUEST LINE exceeds the last bench initialized yy
Your model has only been initialized through bench yy and you are trying to access bench xx. If you really want to access bench
xx, you must re-run M601V1 to initialize your model down to that bench.
6. ?M608V1: ERROR. Your ROW and COLUMN selections are not logically consistent.
First COLLast COLMax COLFirst ROWLast ROWMax ROW3524022160
Something is wrong with the way you selected the ROWs and COLUMNs to use in the statistical analysis (IOP5IOP8). In the
above example, the last column to access (52) exceeds the maximum number of columns in the model (40). Also the last row
to access (1) precedes the first row to access (22).
7. When calculating log stats, the function of PAR8 is based on IOP10. If IOP10 is 0, the program will compute a log increment
based on PAR8 and the number of increments used. If IOP10=1, then PAR8 becomes the actual interval used.
PROGRAM FLOW DIAGRAM Up to four items can be plotted in section and the location of the
plotted label, the character height of the label, and the pen
RUN FILE: number can all be changed. You may choose which seams or
- Type of cross-section benches to plot as well as the starting and ending points of the
- Model items to display section line. Multiple sections can be generated in a single run.
- Format for output data
M609V1 is used to set up the primary plot commands used to
plot a mine model in cross-section. Other data such as geologic
outlines, topography profiles, etc. may be added to the M609V1
plot commands. M609V1 does not output any border or plot
annotations other than the seam label.
INPUT: CALCS: The M122 plot file that is created can be an ASCII file or a
- PCF - Retrieve a row of data
binary file. For an ASCII file, use a USERF command in the
- Mine Model File (File - Select data ranges M122 run file. For a binary file, use a DATAF command in the
13 or 15) - Remove blocks above M122 run file.
topo
- Calculate annotation
coordinates
OUTPUT:
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If IOP9=1, add lines containing bench reference numbers after END (see Section 4). These Bench
Request Lines precede the Cross-Section Lines.
NOTE: If IOP18 = 0 (section in project coordinates) and PCF is a 3D-rotated PCF, then IOP14 will be
ignored.
IOP15 = -1 COLOR OUTLINE/VALUES BASED ON FIRST VALUE, BUT DO NOT PLOT FIRST VALUE
= 0 PLOT GRADES
= 1 DO NOT PLOT GRADES. USE GRADE TO SELECT PEN # FOR BOX
IOP16 = MAXIMUM PEN NUMBER TO USE FOR COLORING GSM LEVELS BY THEIR NUMBER
NOTE: If IOP16=8, then levels 1-7 will be plotted with pens 2-8 respectively, levels 8-14 will use pens 2-
8 as well, etc.
IOP19 = 1 can be used ONLY if the model Z direction is parallel to one of the project coordinate
axes.
If IOP19 = 0, then direction along the section is horizontal, unless IOP14 = 1.
NOTE: The first, (up to 4), items must be the plot items with TOPO and RANGE/OMIT/TABLE items
following.
Label-15 is the item to plot from the mine model. Fw.d is the display format for the item. Min-
value is the minimum value to plot. No block will be plotted if its value is less than the min-value.
If specified, a value should be entered to indicate the least topo percentage value of a block to be
plotted. Blocks with a TOPO% less than value will be omitted. File 13 can be used along with
File 15 for topo truncation on a GSM plot. In this case, specify File 13 on the Names Line and an
ITMn=label-13 TOPO line, instead of label-15 TOPO above.
NOTE: When plotting a 3D-rotated model in project coordinates, use PAR2 = PAR1.
NOTE: Values above 0.5 are set to 0.1. (For GSM if PAR3 would cause value to be larger than seam on
plot, it doesnt plot it.)
PAR5 = HORIZONTAL SPACING FROM LEFT SIDE OF BLOCK (DEFAULT = 0.05 INCHES)
NOTE: Use 0.01 to override seam angle labeling in GSM block plot.
PLT = CUTOFF VALUES TO CONTROL COLORING (FOR USE WITH A 4 PEN PLOTTER):
VALUE COLOR
0.0 X VMAX1 P1
VMAX1 X VMAX2 P2
VMAX2 X VMAX3 P3
VMAX3 X VMAX4 P4
X VMAX4 P1 SET VMAX4 TO 999 (OR HIGHER THAN ANY GRADE) TO AVOID
REVERTING TO PEN 1.
NOTE: P1, p2, p3 and p4 are optional pen numbers. default is 1, 2, 3, 4. Cutoffs are applied to ITMn item.
If vmaxn=0, then a default of 99999. is used as a cutoff. If you want to specify a cutoff of 0.0,
specify a small number (i.e. 0.001). Cutoffs should be stated in the same precision as the data.
NOTE: Always list one more pen number than you have cutoffs. The additional pen is for any material
greater than the last cutoff.
END
Each Bench Request Line contains up to 10 bench numbers in free-field format. A blank line ends input.
X1 Y1 X2 Y2 FILENAME
WHERE
There should be at least one blank column preceding the M122 plot filename.
USR = ABC
END
10500 12250 14500 12250 PLT609.PAA
USR = ABC
END
USERF PLT609.PAA
ENDOC
USR = ABC
END
10000 12500 15000 12500 PLT609.PAB
You have not specified a model file on the Names Line in your run file.
You must specify at least one ITEM to plot. For example, ITM1=ASHF5.20
4. %M609V1: WARNING. First BENCH to plot, xx, exceeds last bench initialized.
First BENCH being set to yy.
You have specified IOP7=xx, but your model file has only been initialized through bench yy. Therefore, the only benches
you can access are 1 through yy.
5. %M609V1: WARNING. Last BENCH to plot, xx, exceeds last bench initialized.
Last BENCH being set to yy.
You have specified IOP8=xx, but your model file has only been initialized through bench yy. Therefore, the only benches
you can access are 1 through yy.
6. %M609V1: WARNING. Last BENCH to plot, xx, is less than first BENCH.
Last BENCH being set to yy.
The last bench to plot as specified by IOP8 is less than the first bench to plot specified by IOP7.
You have only initialized through bench yy (M601V1) and are attempting to plot data for bench xx which has never been
initialized. If you get this message, you probably used the Bench Request Lines to select your benches.
8. If no items are plotted when you plot GSM blocks (IOP13=1), check the vertical scale. If there is not enough room, the label
will not be plotted. Specify the item to be plotted as ITM1 with ZTOP and ZBOT as ITM2 and 3.
PROGRAM FLOW DIAGRAM Coding can be done manually or M656V1 or V2 can produce
the input file from the VBM data file.
RUN FILE:
- Format of data
- Area/item selection
- Symbol map specification SUGGESTIONS FOR MANUALLY CODING DATA
If IOP11=0 and File 13 is being used or if IOP11=2 3. Overlay the grid on the map to be manually coded and
read off a code for each block (or series of blocks) and
Do not use a bench reference number. record on a coding form such as that suggested in Step 1
above.
Variable Columns
IROW 1-5 4. It is easier and faster to use two people to manually code
IX1 6-10 a map: one person to visually code and the other to
IX2 11-15 record the data on the coding form. The use of two
IN1 16-18 people in this way is less error prone than one person
IN2 19-21 working alone and is usually much faster.
etc. to IN20
A single line of text that will be printed at the top of each page of printer output from the run.
PAR3 = MINIMUM VALUE (IN PERCENT) FOR A BLOCK PARTIAL IN ORDER TO ASSIGN CODE IOP16 TO THE
BLOCK (used when IOP16>0 and IOP11=1)
NOTE: The combination of IOP11=1, IOP16>0, and PAR3 allows the user to assign a code item to a block
based upon a minimum partials cutoff.
If IOP11=3, leave PAR3=0.
END
If IOP11=1
bench#
bench# row# col1 part1 col2 part2
Bench# on bench line & data lines must match. If IOP4=1, list only the bench#s for which you want symbol maps. End bench data
input with a blank line or zero in bench#, row#, & col1.
USR = ABC
ITM1 = GEOL
FMT1 = (4I5,20I3)
M610V1 SAMPLE INPUT FOR RUN FILE #1 - BLOCK CODES FROM DAT610.IA
32 Bench line
32 14 21 40 0 2 2 2 2 2 2 2 0 0 0 ... Bench, row, first col, last col, col values
32 15 1 20 0 0 0 0 0 0 0 0 0 0 0 ...
32 15 21 40 2 2 2 2 2 2 2 2 2 2 0 ...
32 16 1 20 0 0 0 0 0 0 0 0 0 0 0 ...
32 16 21 40 2 2 2 2 2 2 2 2 2 2 2 ...
32 17 1 20 0 0 0 0 0 0 0 0 0 0 0 ...
32 17 21 40 2 2 2 2 2 2 2 2 2 2 2 ...
USR = ABC
IOP4 = 0 / 0=NORMAL RUN; 1=PRINT SYMBOL MAP ONLY
IOP5 = 0 0 / 1ST & LAST MODEL COLUMNS
IOP7 = 0 0 / 1ST & LAST MODEL ROWS
IOP9 = 1 / 1=DATA IN FILE 19
IOP10 = 1 / 1=PRINT SYMBOL MAP
IOP11 = 1 / 1=LOAD M659V1 PARTIALS
END
USR = ABC
USR = ABC
COM ----------------------------------------------------------------------------------------
COM LOAD 3-D GEOLOGIC CODES
COM ---------------------------------------------------------------------------------------
END
USR = ABC
M610V1 SAMPLE INPUT FOR RUN FILE #5 - LOAD GRADES TO BLOCK MODEL
Row, col1, col2, col values
25 7 16 0.162 0.162 0.163 0.165 0.157 0.194 0.231 0.252 0.275 0.325
25 17 26 0.413 0.464 0.579 0.629 0.712 0.857 0.979 1.084 1.121 1.085
25 27 36 0.994 0.901 0.801 0.736 0.670 0.517 0.452 0.375 0.329 0.266
25 37 45 0.168 0.124 0.107 0.088 0.095 0.059 0.059 0.059 0.058
Your model file MUST be initialized using M601V1 before any other MineSight program can access it.
You are attempting to store data in bench yyy, a higher bench number than xxx, through which your model has been initialized.
Since the input bench is not the same as the output bench, a level offset must have been specified with IOP14. Both the input
and output benches MUST have been initialized with M601V1 before M610V1 can access them.
3. %M610V1: WARNING Skipping INPUT DATA LINE for INPUT bench xx and OUTPUT bench xx.
This INPUT bench might not match the bench number on the header line.
In the File 14 and 15 input data lines, there is a bench header line (i.e., a line with only a bench number on it) followed by the
data line(s). The bench number on the header line MUST be the same as the bench number(s) on the data line(s).
4. %M610V1: WARNING Skipping INPUT DATA LINE for INPUT bench xx and OUTPUT bench xx. The ROW/COL-
UMNs are badly specified.
You are trying to store data in row 10 but have limited the rows in which to store data to rows 6-9 (IOP7-IOP8). Row 10 is the
row number AFTER the row offset (IOP13) has been added. The same is true for the columns.
5. %M610V1: WARNING Skipping INPUT DATA LINE for INPUT bench xx and OUTPUT bench xx.
The number of COLUMNs specified (e.g. 101-130) exceeds the maximum, e.g. 20 (IOP2).
For bench xx, you are trying to enter values for 30 columns (columns 101-130) on a single data input line. However, the maximum
number of values per line, as specified with IOP2, is 20. In this case, you can have at most 20 values entered on a single line.
You have not specified a model file on the Names Line in your run file, e.g., SAMP15.DAT.
You MUST select an ITEM in your model file in which to store your code.
8. Check the Printer Output File for any error messages after the run. Check the symbol map for incorrect data.
9. If no symbol map is printed, check that IOP10=1. A symbol map of existing data can be printed if IOP10=1 and IOP4=1. You
must also specify a bench header line for each bench for which you want a map.
If too many symbol maps appear, check that you are not running the program with IOP10=1, IOP4=1 and a file of coded data.
Use only a bench header line.
RUN FILE: M610V2 only accepts one type of input coding. The order of
- Area specification the input data must be as follows:
- Item to store & # items
per block
- Input format 1. Column number of the block (integer format)
INPUT: CALCS:
4. Matrix data for this block (99 items max.).
- PCF - Read ASCII input matrix
- Mine Model File (13, data Alternatively, block location can be specified by the X,Y,Z
14, or 15) - Store data in mine model location of the midpoint of the block or the X, Y, Bench# 9 (or
- Optional input file file Seam#) of the midpoint of the block.
- Print symbol map
OUTPUT:
- Updated mine model file
- Printer output file
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: Offsets and multipliers will be applied before limiting bench, column and row.
NOTE: For a 2-D Surface File, use PUT13. For an auxiliary model file, use PUT14. Up to 99 items can
be loaded. Line length for free-format input is limited to 1024 characters.
NOTE: If no format is supplied, the program will use free-field format. The input width is limited to 5000
columns, but a user supplied format can read multiple lines. Free-field format should be used for CSV
files. Input data must have the following general format:
END
USR = ABC
END
You must specify from 1 to 99 PUT items to be stored in your mine model.
You have not specified a model file on the Names Line in your run file.
3. ?M610V2: ERROR. Your MODEL file is emptyYou MUST initialize your file with M601V1 before proceeding.
Your model file must be initialized using M601V1 before any other MineSight program can access it.
The limits on the benches/rows/columns that were specified using IOP3 through IOP9 are not correct. Make sure that the
minimum values are indeed less than or equal to the maximum. Note also that the maximum values are limited by the
model limits. Additionally, the maximum bench is limited by the last bench initialized with M601V1.
This indicated BLOCK is outside the limits selected by IOP3 through IOP9. Note that the maximum values are limited
by the model limits. Additionally, the maximum bench in limited by the last bench initialized with M601V1.
6. ?M610V2: ERROR. You are trying to LOAD more than 99 items using a free-field FORMAT.
You can load at most 99 items with M610V2 (free format or not).
You can load at most 99 items with M610V2 (free format or not).
There was an error trying to read the indicated line of your input matrix data. Check your FMT1 line and make sure the
data on the indicated line matches the format in the FMT1 line.
A single line of text that will be printed at the top of each page of printer output from the run.
IOP3 = 0 USE ALL BLOCKS SPECIFIED BY IOP5, IOP6, IOP7, IOP8, IOP11, IOP12 AND/OR CMD = USE Z
= 1 RESTRICT THE BLOCKS USED BY A SPECIFIED BOUNDARY
NOTE: If IOP3=1, the specified boundaries can be in a separate file. Use one of the following command
lines:
CMD = INCL LOCPT FILE filename (to include points within the boundary) - OR -
CMD = EXCL LOCPT FILE filename (to exclude points within the boundary)
NOTE: Optional CMD lines may be used in place of and override IOP11 and IOP12.CMD = USE Z
bench1 bench2 ... bench15
NOTE: UPD and PUT labels must reference only one model file.
NOTE: A maximum of 99 items can be specified by GETnn, UPDnn PUTnn and OUTnn
NOTE: Value substitution for undefined retrieved values occurs before RPN calculations and after RPN
calculations for stored items. The result of an expression containing an undefined value is an
undefined value.
END
Boundary points define a polygon. A block whose center is within the polygon will be included.
NOTE: The format for specifying boundary points either after the END line or in a separate file is as
follows:
1) Easting 1 Northing 1
Easting 2 Northing 2
. .
. . Free-field format
. .
Easting n Northing n
0 0
2) The boundary points must close, i.e., Easting 1 = Easting nNorthing 1 = Northing n
If using a 3D-rotated GSM file 15 or 3D-rotated files 13 & 14, you must specify the Z coordinate mode item by using:
NOTE: An item label may not contain a hyphen () since it will be read as a minus sign. For item labels
containing embedded hyphens, such as TCU, substitute an alternative name using the ALIAS
command line.
USR = ABC
END
EQCU = TOTCU + 5.0 * MOLY
USR = ABC
CMD = USEZ 1 1
I-O = 1
END
ZBOT = ZTOP THICK
DIST = BTU * THICK * 0.005
USR = ABC
END
STOP1 = 0
THIK1 = 0
1. If I-O=2 is specified in the run file, MineSight routines will print a list of all the items in the Mine Model File followed by the
items to be used, in the form
**MEDITM: FILE SAMP15.DAT PCF DESCRIPTORS ### ###
**MEDITM: ### REF #
**MEDITM: ### FROM items in File 9
**MEDITM: GET ITEM = 1 TOTCU (for the first example above)
**MEDITM: GET ITEM = 2 MOLY
**MEDITM: PUT ITEM = 3 EQCU
The MEDITM information (I-O=2) allows you to check the items of information that will be retrieved (GET items) from File
15. Check if all desired items are listed.
2. If you make a mistake in entering the variable names in the Arithmetic Expression Lines, the calculations will be in error. If
results are not correct, check the equations and labels specified in the run file.
4. ?M612RP: ERROR. Cannot find a file name for reference number nn.
You have a PUTnn, GETnn, or UPDnn item but have not specified a File nn on the Names Line of your run file.
5. ?M612RP: ERROR. Only ONE model file can have PUT and UPD items.
You have selected PUT and UPD items from more than one model file. For example, having a PUT13=TOPOG and UPD15=ROCK
would be illegal since you can PUT/UPDATE items from only one model file at a time.
7. ?M612RP: ERROR. You have selected xx GET/PUT/UPD/OUT items which exceeds the maximum of 99.
You can select at most 99 items total with GET/PUT/UPD/OUT commands.
The initial column to access cannot exceed the final column to access.
14. ?M612RP: ERROR. GET item MOLY cannot be on LEFT side of RPN expression.
You have used a GET command to access item MOLY, but you are assigning MOLY a value by placing it in the left side of an
RPN expression. If you really want to reassign a value for MOLY, you need to access it using either a PUT or UPD command.
15. A test run should always be performed on a small portion of the drillhole data before actually storing any calculations.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: By default surfaces computed by the CMD = SURF command are constrained below by the value of the
item specified in the GET15 command (if any).
NOTE: Usually UPD13 should be used to store surfaces. GET13 would be used mainly to test calculations.
Calculated surfaces will be constrained to lie below the surface label1 (usually TOPOG).
The GSM Summary File (File 14) created by M706SM may be used instead of the GSM File 15 by:
END
RUN = TOPO
USR = ABC
END
NOTE: A surface with a constant elevation of 950 will be generated. However, if TOPOG is less than the
constant of 950, the new surface elevation will be set equal to TOPOG. If the ZTOP of the first seam is
greater than the constant elevation, the new surface elevation will be ZTOP. In other words, the new surface is
constrained by TOPOG on top and ZTOP of seam 1 below.
RUN = TOPO
USR = ABC
END
NOTE: A new surface that is 100 feet above ZTOP will be created. If the new elevation is greater than TOPOG,
the elevation will be set to TOPOG.
RUN = TOPO
USR = ABC
END
NOTE: A surface with a slope of 2% will be calculated. The equation for the plane can be obtained from
M404V1. The surface will be constrained by TOPOG on top and ZTOP of seam 1 below.
- Area selection m612d1.obj object module can access up to 99 items and links
- Item selection with the user subroutine USR612D.
- Symbol map option
m612db1.obj object module can access up to 500 items and links
with the same user subroutine name USR612D.
IZ = Bench number
ZMID = Elev. of bench midpoint or seam number
MAP = Array of integer values to write back to file The MAP array is an integer one-dimensional array (sized to
(dimension to MXCOL columns) MXCOL) that contains an integer result from a user-calculation
for each block in a row (up to MXCOL blocks). The value in
RMX = Array of real values to read from and write the MAP array corresponds to the item specified in the ITM1
back to file command in the run file.
MXCOL= Maximum number of columns to process (used To write real values to a MineSight Data File, use the UPD
for array dimensioning such as RMX & MAP) command in the run file. To write one integer value back to
a MineSight Data File, use the GET command and the ITM
MXROW= Maximum number of rows to precess (used command.
for array dimensioning)
WARNING: If you are updating your model, make a backup
MAXITM= Maximum number of items to process (used copy of the model file before running M612V1.
for array dimensioning such as RMX)
IMPORTANT NOTE: Common blocks used for item and
The dimension of RMX is MXCOL columns multiplied by system information are different for the object modules (they
MAXITM (the maximum number of items). If you use the 99 are named differently as well).
item maximum, your subroutine should be linked with module
m612d1.obj. For the 500 item maximum, your subroutine must Please refer to the Technical 600 section for more information
be linked with module m612db1.obj. The RMX array should about how to write MineSight user subroutines.
be dimensioned to RMX(MXCOL,MAXITM).
A single line of text that will be printed at the top of each page of printer output from the run.
IOP2 = RETRIEVE DATA FROM FILE BEFORE CALLING USR612D FOR EACH ROW
= 0 OMIT RETRIEVING DATA FROM THE FILE
= 1 RETRIEVE DATA SPECIFIED ON GETn or UPDn LINE
NOTE: If IOP2=0, then GETn and UPDn items are not allowed
UPDn = label1 label2 ... labeln (for retrieving and storing real data)
NOTE: Matches variables in RMX array in the subroutine. The ITM command is not used. IOP2 must be 1 to
use UPDn. At most 10 total GETn, UPDn items may be used.
END
END
10 20
25
33 34
50
Benches 10 through 20
Bench 25
Benches 33 through 34 and
Bench 50
USR = ABC
END
20
C OWN612.FOR
C
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP,RMX,
& MXCOL, MXROW, MAXITM)
C
C -
C SAMPLE USER SUBROUTINE FOR MINE MODEL CALCULATIONS
C
C COMPUTE OWNER CODES FOR COPPER EXAMPLE (50 X 50 MATRIX)
C
C
DIMENSION RMX(MXCOL,MAXITM), MAP(MXCOL)
C
COMMON
& /M612/ KGEO, IOU
& /SYS/ DUM1(100), IOP(40), PAR(40), DUM2(104),
& ICR, IPR, LCR, LPR, DUM3(5), IOLEV, DUM4(89)
& /F15/ DUM6(61),
& XMIN,XMAX, DX , NX ,
& YMIN,YMAX, DY , NY , DUM7(5),
& ZMIN,ZMAX, DZ , NZ , DUM8(8)
& /F10/ DUM9(50),TOES(200), DUMA(414)
C
C COMMON BLOCK DEFINITIONS
C -
C I-O UNITS: IOU = OPTIONAL UNIT# FOR USER INPUT/OUTPUT
C SEE IOP9 IN RUN DOCUMENTATION
C ICR = INPUT RUN FILE
C IPR = PRINT FILE
C LCR = TERMINAL READ
C LPR = TERMINAL WRITE
C
C
C NTRY = 1 : PROCESS OR SUMMARIZE AT END OF BENCH:
C
WRITE (LPR,1510) IZ
IF(IOLEV.GT.0) WRITE (IPR,1510) IZ
RETURN
C
C 77-
C NTRY = 2 : PROCESS OR SUMMARIZE AT END OF ENTIRE RUN
C
1500 CONTINUE
CALL NEWPAG (0)
WRITE (LPR,1520)
IF(IOLEV.GT.0) WRITE (IPR,1520)
RETURN
C
1510 FORMAT ( ** OWN612 END BENCH,I4/)
1520 FORMAT ( ** OWN612 END-OF-RUN//)
END
C EQU612
C
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP,RMX,
& MXCOL, MXROW, MAXITM)
C
C SAMPLE USER SUBROUTINE FOR MINE MODEL CALCULATIONS
C
C COMPUTE EQUIV COPPER TO COPPER EXAMPLE (50 X 50 MATRIX)
C
C
DIMENSION RMX(MXCOL,MAXITM), MAP(MXCOL)
C
COMMON
& /M612 / KGEO , IOU
& /SYS/ DUM1(100) ,IOP(40) , PAR(40), DUM2(104),
& ICR, IPR, LCR, LPR, DUM3(5) , IOLEV , DUM4(89)
& /F15/ DUM6(61),
& XMIN,XMAX, DX , NX ,
& YMIN,YMAX, DY , NY , DUM7(5),
& ZMIN,ZMAX, DZ , NZ , DUM8(8)
& /F10/ DUM9(50),TOES(200), DUMA(414)
C
C COMMON BLOCK DEFINITIONS
C I-O UNITS: IOU = OPTIONAL UNIT# FOR USER INPUT/OUTPUT
C SEE IOP9 IN RUN DOCUMENTATION
C ICR = INPUT RUNFILE
C IPR = PRINT FILE
C LCR = TERMINAL READ
C LPR = TERMINAL WRITE
C
C RUN OPTIONS: IOP(1-10) FROM RUN FILE IOP1-10 ARE RESERVED
C FOR PROGRAM USE. DO NOT MODIFY.
C IOP(11-40) ARE AVAILABLE FOR USE. IOP(11) = IOP11
C FROM RUN FILE, ETC.
C
C RUN PARAMETERS: PAR(1-40) AVAILABLE FOR USE
C
C MODEL LIMITS: X-COORDINATE XMIN,XMAX,DX,NX
C Y-COORDINATE YMIN,YMAX,DY,NY
C ELEVATION ZMIN,ZMAX,DZ,NZ
C
C BENCHES: TOES(I-200) ARE TOE ELEVATIONS OF BENCHES
C (3D) 1 TO 200. TOES(1) = TOE ELEVATION OF TOP BENCH
C
C IOLEV = DEBUG OPTION SET IN RUN FILE AS I-O = N
C FOR N GREATER THAN 0, ADDITIONAL DETAIL IS
C USUALLY PRINTED.
C
C KGEO AND ARRAYS DUM1-8 ARE RESERVED FOR USE BY M612V1
C
IF ( NTRY ) 100, 200, 1000
C
C NTRY = -1 : INITIALIZE USR612D, AS NEEDED
C
100 WRITE (LPR,110)
C
C SET UP PRINTER PAGE USING MineSight SUBROUTINE NEWPAG
C WHICH PRINTS STANDARD HEADER
C
CALL NEWPAG ( 0 )
WRITE (IPR,110)
FACT = PAR(1)
WRITE (LPR,120) FACT
WRITE (IPR,120) FACT
120 FORMAT(/ EQUIVALENT GRADE FACTOR = ,F10.3)
RETURN
C
110 FORMAT (/ ** USR612D INITIALIZATION **/)
C
C NTRY = 0 : PROCESS MODEL DATA
C
200 CONTINUE
C
C ** CALCULATE FOR BLOCKS FROM COLUMN MCOL TO NCOL
C ARRAY RMX(ICOL,I) CONTAINS DATA FROM FILE 15 FOR ROW IROW
C ICOL = COLUMN NUMBER
C I = 1 FIRST ITEM IN UPD15 COMMAND MO-1
C I = 2 SECOND ITEM IN UPD15 COMMAND TCU-1
C I = 3 THIRD ITEM IN UPD15 COMMAND EQ-CU
C
C NOTE: VALUES IN RMX ARRAY MUST BE RETRIEVED AS BELOW AND TESTED FOR
C A LARGE NEGATIVE NUMBER. THE RMX ARRAY CONTAINS A NEGATIVE VALUE
C FOR ITEMS NOT SET (LARGE NUMBER) OR MISSING (-1.0). AN ERROR
C WILL RESULT IN PERFORMING MATH OPERATIONS ON THE RMX ARRAY BEFORE
C TESTING FOR THE LARGE NEGATIVE NUMBERS. ALL VALUES IN THE RMX
C ARE WRITTEN BACK TO THE MODEL SO THE USER SHOULD ONLY CHANGE
C RMX VALUES THAT ARE TO BE UPDATED.
C
DO 180 ICOL = MCOL, NCOL
C RETRIEVE MOLY GRADE
RMOLY = RMX(ICOL,1)
IF (RMOLY .LT. 0.) RMOLY = 0.
C RETRIEVE COPPER GRADE
TCU = RMX(ICOL,2)
IF (TCU .LT. 0.) TCU = 0.
C CALCULATE AND STORE EQUIVALENT GRADE
EQCU = FACT * RMOLY + TCU
RMX(ICOL,3) = EQCU
C
IF(IOLEV.EQ.2) WRITE(IPR,170) IZ, IROW, ICOL, RMOLY,TCU,EQCU
180 CONTINUE
RETURN
170 FORMAT( IZ,IY,IX = ,3I4, MOLY =,F7.3, TCU =,F7.3,
& EQCU =,F7.3)
C
1000 IF (NTRY .GT. 1) GO TO 1500
C
C NTRY = 1 : PROCESS OR SUMMARIZE AT END OF BENCH:
C
WRITE (LPR,1510) IZ
IF(IOLEV.GT.0) WRITE (IPR,1510) IZ
RETURN
C
C NTRY = 2 : PROCESS OR SUMMARIZE AT END OF ENTIRE RUN
C
1500 CONTINUE
CALL NEWPAG (0)
WRITE (LPR,1520)
IF(IOLEV.GT.0) WRITE (IPR,1520)
RETURN
C
1510 FORMAT ( ** USR612D END BENCH,I4/)
1520 FORMAT ( ** USR612D END-OF-RUN//)
END
USR = ABC
END
1
C TOP612
C
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP,RMX,
& MXCOL, MXROW, MAXITM)
C
C SAMPLE USER SUBROUTINE FOR FILE 13 CALCULATIONS
C
C COMPUTE SOILZ FROM TOPOG - PAR1
C
C
DIMENSION RMX(MXCOL,MAXITM), MAP(MXCOL)
C
COMMON
& /M612 /KGEO , IOU
& /SYS/ DUM1(100) ,IOP(40) , PAR(40), DUM2(104),
& ICR, IPR, LCR, LPR, DUM3(5) , IOLEV , DUM4(89)
& /F15/ DUM6(61),
& XMIN,XMAX, DX , NX ,
& YMIN,YMAX, DY , NY , DUM7(5),
& ZMIN,ZMAX, DZ , NZ , DUM8(8)
& /F10/ DUM9(50),TOES(200), DUMA(414)
C
C COMMON BLOCK DEFINITIONS
C I-O UNITS: IOU = OPTIONAL UNIT# FOR USER INPUT/OUTPUT
C SEE IOP9 IN RUN DOCUMENTATION
C ICR = INPUT RUN FILE
C IPR = PRINT FILE
C LCR = TERMINAL READ
C LPR = TERMINAL WRITE
C
C
DO 300 ICOL = MCOL, NCOL
C RETRIEVE TOPOG
TOPO = RMX(ICOL,1)
IF (TOPO .LT. 0.) TOPO = 0.
RMX(ICOL,2) = TOPO - DP
300 CONTINUE
RETURN
C
1000 IF (NTRY .GT. 1) GO TO 1500
C
C NTRY = 1 : PROCESS OR SUMMARIZE AT END OF BENCH:
C
WRITE (LPR,1510) IZ
IF(IOLEV.GT.0) WRITE (IPR,1510) IZ
RETURN
C
C NTRY = 2 : PROCESS OR SUMMARIZE AT END OF ENTIRE RUN
C
1500 CONTINUE
CALL NEWPAG (0)
WRITE (LPR,1520)
IF(IOLEV.GT.0) WRITE (IPR,1520)
RETURN
C
1510 FORMAT ( ** TOP612 END BENCH,I4/)
1520 FORMAT ( ** TOP612 END-OF-RUN//)
END
USR = ABC
END
21
C WRT612
C
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP,RMX,
& MXCOL, MXROW, MAXITM)
C
C SAMPLE USER SUBROUTINE FOR MINE MODEL CALCULATIONS
C
C OUTPUT SELECTED ITEMS FROM MINE MODEL TO ASCII FILE C
C
DIMENSION RMX(MXCOL,MAXITM), MAP(MXCOL)
C
COMMON
& /M612 / KGEO , IOU
& /SYS/ DUM1(100) ,IOP(40) , PAR(40), DUM2(104),
& ICR, IPR, LCR, LPR, DUM3(5) , IOLEV , DUM4(89)
& /F15/ DUM6(61),
& XMIN,XMAX, DX , NX ,
& YMIN,YMAX, DY , NY , DUM7(5),
& ZMIN,ZMAX, DZ , NZ , DUM8(8)
& /F10/ DUM9(50),TOES(200), DUMA(414)
C
C COMMON BLOCK DEFINITIONS
C I-O UNITS: IOU = OPTIONAL UNIT# FOR USER INPUT/OUTPUT
C SEE IOP9 IN RUN DOCUMENTATION
C ICR = INPUT RUN FILE
C IPR = PRINT FILE
C LCR = TERMINAL READ
C LPR = TERMINAL WRITE
C
C RUN OPTIONS: IOP(1-10) FROM RUN FILE IOP1-10 ARE RESERVED
C FOR PROGRAM USE. DO NOT MODIFY.
C IOP(11-40) ARE AVAILABLE FOR USE. IOP(11) = IOP11
C FROM RUN FILE, ETC.
C
C RUN PARAMETERS: PAR(1-40) AVAILABLE FOR USE
C
C MODEL LIMITS: X-COORDINATE XMIN,XMAX,DX,NX
C Y-COORDINATE YMIN,YMAX,DY,NY
C ELEVATION ZMIN,ZMAX,DZ,NZ
C
C BENCHES: TOES(I-200) ARE TOE ELEVATIONS OF BENCHES
C (3D) 1 TO 200. TOES(1) = TOE ELEVATION OF TOP BENCH
C
C IOLEV = DEBUG OPTION SET IN RUN FILE AS I-O = N
C FOR N GREATER THAN 0, ADDITIONAL DETAIL IS
C USUALLY PRINTED.
C
C KGEO AND ARRAYS DUM1-8 ARE RESERVED FOR USE BY M612V1
C
IF ( NTRY ) 100, 200, 1000
C
300 CONTINUE
RETURN
220 FORMAT(1X,3F10.1,3F8.3)
270 FORMAT( IZ,IY,IX = ,3I4, TCU =,F7.3, MOLY =,F7.3,
& EQCU =,F7.3)
C
1000 IF (NTRY .GT. 1) GO TO 1500
C
C NTRY = 1 : PROCESS OR SUMMARIZE AT END OF BENCH:
C
WRITE (LPR,1510) IZ
IF(IOLEV.GT.0) WRITE (IPR,1510) IZ
RETURN
C
C NTRY = 2 : PROCESS OR SUMMARIZE AT END OF ENTIRE RUN
C
1500 CONTINUE
CALL NEWPAG (0)
WRITE (LPR,1520)
IF(IOLEV.GT.0) WRITE (IPR,1520)
RETURN
C
1510 FORMAT ( ** USR612D END BENCH,I4/)
1520 FORMAT ( ** USR612D END-OF-RUN//)
END
If you have written user subs for m612v1 prior to the 2011 Update CD, you may notice changes in the way newer object modules
(namely m612d1.obj and m612db1.obj) are being called versus the manner older object modules were being called (what was
once distributed as m612v1.obj, m612b1.obj, and m612e1.obj). The process to convert an older user sub to the newer standard
first involves identifying whether /ITM/ & /SYS/ or /ITMB/ & /SYSB/ common blocks will be used. If you need to access more
than 99 items, you will need to use /ITMB/ & /SYSB/ common blocks. Thus use the following conversion for replacing object
modules:
Replace m612v1.obj (for 10-item m612v1) with m612d1.obj (which uses /ITM/ & /SYS/)
Replace m612b1.obj (for 99-item m612v1) with m612d1.obj (which uses /ITM/ & /SYS/)
Replace m612e1.obj (for 500-item m612v1) with m612db1.obj (which uses /ITMB/ & /SYSB/)
There is a subroutine name change - all m612* objects now are named USR612D. All newer subroutines will have MXCOL,
MXROW, MAXITM added to the argument list.
SUBROUTINE USR612 (NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX)
... to this:
SUBROUTINE USR612D(NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX, MXCOL, MXROW,
MAXITM)
Since MAXITM is now passed as an argument, the various older subroutine names of USE612, U99612, U25612, USR612 are no
longer neccessary and all may now be renamed to USR612D. Remember to add MXCOL, MXROW, MAXITM to the argument
list.
Thus, as done with USR612 above, also convert USE612 from this:
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
Arrays passed in the argument list (namely MAP, RMX) need to be dimensioned accordingly. Thus, redimension these arrays as
such using the MXCOL,MAXITM parameters passed in the subroutine argument list:
DIMENSION MAP(MXCOL)
DIMENSION RMX(MXCOL,MAXITM)
2. ?M612V1: ERROR. Stopping at BENCH HEADER LINE with benches xxx to yyy.
The last initialized bench is zzz (and is less than yyy).
Either 1) you are trying to access benches that have not yet been initialized with M601V1 (as in the above example) or 2) your
starting bench number is greater than your ending bench number.
4. ?M612V1: ERROR. You have requested xx ITEMs in this run. M612V1 currently has a limit of 10 ITEMs.
M610V1 has a limit of 10 items (or 99 if you are linking with M612B1) that can be accessed during a single run. The total
number of ITM, GET, PUT, and UPD items in your run file exceeds this number.
5. ?M612V1: ERROR. You are running with the STORE option (IOP4=0), but you have not selected an ITEM to store using
the ITM, UPD or PUT command.
If you wish to store data, you must select the item to be used with an ITM, UPD or PUT command.
7. Check the results of your calculation by plotting out the bench(es) with M606V1. If you have reason to doubt the results, check
The UPD or GET lines. Your subroutine should be using the correct items.
- Updated mine model file m612db2.obj object module can access up to 500 items and links
- Printer Output File with the same user subroutine name, USR612D.
A number of arguments are passed from the main routine The RMX array in the subroutine is a real two-dimensional array
(M612V2) to the user coded subroutine. that contains the selected data items for each block in a row (up
to MXCOL blocks). The order of the data items corresponds
NTRY = -1 Initialization (always done) to the order of items on the GET or UPD in the run file. For
NTRY = 0 Process bench data (If IOP3=0, 1, 2) example, if the GET command was
NTRY = End of row (If IOP3=1,2)
NTRY = 2 End of run (If IOP3=2) GET15 = TCU-1 MO-1 ROCK
MCOL = First column to process If you specify a GET13 line and/or a GET14 line, the items will
NCOL = Last column to process be sequentially put into the RMX array after the GET15 items.
MAP = Array of integer values to write back to file The MAP array is an integer one-dimensional array (sized to
(dimension to MXCOL columns) MXCOL) that contains an integer result from a user-calculation
for each block in a row (up to MXCOL blocks). The value in
RMX = Array of real values to read from and write the MAP array corresponds to the item specified in the ITM1
back to file command in the run file.
MXCOL = Maximum number of columns to process To write values to a MineSight Data File, use the UPD
(used for array dimensioning such as RMX command in the run file.
& MAP)
To process levels in inverse order (from bottom to top), add
MXROW = Maximum number of rows to process (used CMD = LEVS UP to your run file.
for array dimensioning)
WARNING: If you are updating your model, make a backup
MAXITM = Maximum number of items to process (used copy of the model file before running M612V2.
for array dimensioning such as RMX)
IMPORTANT NOTE: Common blocks used for item and
The dimension of RMX is MXCOL columns multiplied by system information are different for the object modules (they
MAXITM (the maximum number of items). If you use the 99 are named differently as well).
item maximum, your subroutine should be linked with module
m612d2.obj. For the 500 item maximum, your subroutine must Please refer to the Technical 600 section for more information
be linked with module m612db2.obj. The RMX array should about how to write MineSight user subroutines.
be dimensioned to RMX(MXCOL,MAXITM).
A single line of text that will be printed at the top of each page of printer output from the run.
IOP2 = OPTION TO ACCESS DATA FROM FILE BEFORE CALLING USR612D FOR EACH BENCH
= 0 OMIT ACCESSING DATA FROM THE FILE
= 1 ACCESS DATA SPECIFIED ON PUTn, GETn OR UPDn LINE
NOTE: If IOP2=0, then PUTn, GETn and UPDn items are not allowed
IOP16 = GSM REF# TO STORE UPD ITEMS AFTER ALL SLICES HAVE BEEN PROCESSED FOR EACH SECTION
NOTE: Matches variables in RMX array in the subroutine. IOP2 must be 1. If you want to retrieve a value from
File 13 or 14 as well as File 15, you may specify
The items will be stored in the RMX array after the GET15 items.
NOTE: Matches variables in RMX array in the subroutine. At most 10 total GETn, PUTn, UPDn items may be
used.
END
There may be one or more lines specifying benches. Up to 10 benches per line in free-field format.
The bench request lines terminate when a zero is entered for the first bench. For example:
1 17 22 4
16 33
0
There may be one or more lines specifying rows and columns as:
USR = ABC
END
1020 30 40 50
Z +....+....+....+....+....+....+....+....+....+....+
1 !..................................................
2 !..................................................
3 !..................................................
4 !..................................................
5 !..................................................
6 !..................................................
7 !..................................................
8 !...P......................P.........P.............
9 !...M..N........O.ONKP.OO.MLL..P...O.KP.OO........O
10 !...J.KG.......OG.KFDJ.JLHJHG..JMN.J.FK.KKOLLM.N.ML
11 !INMG.E9ON...NOJ9PH85ENEH8GECH.CJBCD.AG.GGKHGI.H.HH
12 !9EDCJ82FJJMMHGE2KD..8I9E.DA7..6F..8G6BMDCHCBENAJCD
13 !.459.2.6FBHGB8A.F9..3D4A.A62...B..2516D99D77AH3C7A
14 !...6....A4CB4.5.A6...9.7.72....7.....14559227B.426
15 !...3....6.75..1.62...4.3.3.....3.......115..35...3
16 !........2.2.....1........................1........
17 !..................................................
18 !..................................................
19 !..................................................
20 !..................................................
21 !..................................................
22 !..................................................
23 !..................................................
24 !..................................................
25 !..................................................
26 !..................................................
27 !..................................................
28 !..................................................
29 !..................................................
30 !..................................................
31 !..................................................
32 !..................................................
33 !..................................................
34 !..................................................
35 !..................................................
36 !..................................................
37 !..................................................
38 !..................................................
39 !..................................................
40 !..................................................
Z +....+....+....+....+....+....+....+....+....+....+
10 20 30 40 50
Finished with row: 49 14850.00
Replace m612v2.obj (for 10-item m612v2) with m612d2.obj (which uses /ITM/ & /SYS/)
Replace m612b2.obj (for 99-item m612v2) with m612d2.obj (which uses /ITM/ & /SYS/)
Replace m612e2.obj (for 500-item m612v2) with m612db2.obj (which uses /ITMB/ & /SYSB/)
There is a subroutine name change - all m612* objects now are named USR612D. All newer subroutines will have MXCOL,
MXROW, MAXITM added to the argument list.
SUBROUTINE USR612 ( NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX )
... to this:
SUBROUTINE USR612D( NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX, MXCOL, MXROW,
MAXITM )
Since MAXITM is now passed as an argument, the various older subroutine names of USE612, U99612, U25612, USR612 are no
longer neccessary and all may now be renamed to USR612D. Remember to add MXCOL, MXROW, MAXITM to the argument
list.
Thus, as done with USR612 above, also convert USE612 from this:
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
... to this:
SUBROUTINE USR612D(NTRY, IZ,ZMID, IROW,YROW, MCOL,NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
Arrays passed in the argument list (namely MAP, RMX) need to be dimensioned accordingly. Thus, redimension these arrays as
such using the MXCOL,MAXITM parameters passed in the subroutine argument list:
DIMENSION MAP(MXCOL)
DIMENSION RMX(MXCOL,MAXITM)
Your model file MUST be initialized using M601V1 before any other MineSight program can access it.
The ROWs/COLUMNs/BENCHes that you selected using IOP5 through IOP8, IOP11 and IOP12 are badlin defined. Either
the first index is greater than the last index (as in the columns above) or the last index exceeds the maximum (as in the benches
above). Note that when IOP2=1, the last bench you can access is determined by the last bench initialized with M601V1. This
might not be the same as the last bench in the model.
3. ?M612V2: ERROR. You have selected IOP13=1 but have not entered any BENCH REQUEST LINES.
By selecting IOP13=1, M612V2 expects to read Bench Request Lines after the END in the run file.
You must limit the number of items accessed using the GET, PUT, and UPD commands to 10.
You have not specified a model file on the Names Line in your run file.
6. ?M612V2: ERROR. Bench xx on BENCH REQUEST LINE exceeds the last bench initialized yy.
The bench number specified on a Bench Request Line is greater than the last bench initialized using M601V1. You can only
access benches that have been previously initialized.
7. Check the results of your calculations by plotting the model section(s) with M606V1. If you have reason to doubt the results,
check
the UPD or GET lines. Your subroutine should be using the correct items
The input data for each geologic outline consists of a single line
OUTPUT: specifying the bench and the numeric code to be inserted,
- Updated Model File followed by a series of (X,Y) points around the outline. To end
- Printer Output File an outline, close the digitized data with 0 0. The next outline
will have the same bench range and code. To change the bench
number and/or the code, end the digitized data with -1 -1. Then
specify a new Bench Request Line. For example,
A single line of text that will be printed at the top of each page of printer output from the run.
IOP2 = NUMBER OF X,Y POINTS PER INPUT LINE (default=1) (MAX=10 points or 20 values)
NOTE: If BLK% is used, the program will store block% instead of an integer code.
NOTE: If FMT1 is omitted or FMT1 = (*), free-field format is assumed. Otherwise, FMT1 = (Fortran
format).
END
NOTE: One outline can be used and put into several benches.
Easting Northing
Multiple pairs of points in free format on a single line are allowed as long as IOP2 is specified. 0 0 closes an outline. -1 -1 ends a
bench.
USR = ABC
I-O = 1
END
11 BENCH REQUEST LINE
13000. 13800.
14600. 13000.
13800. 12400.
12400. 12400.
11400. 13000. POINTS FOR GEOLOGIC OUTLINE
13000. 13800.
0. 0. CLOSE OUTLINE
13000. 13500.
14000. 13000.
13000. 12500.
12500. 13000.
13000. 13500.
-1. -1. END BENCH
21 BENCH REQUEST LINE
11600. 13800.
12800. 13800.
12800. 13600.
12400. 13400. POINTS
11800. 13000.
11200. 13600.
0. 0. END BENCH
You must have at least 3 points to define your geologic outline. (you must have 4 or more)
will appear if you try to access a file that is not a mine model file.
will appear if you do not have an ITM1 line in the run file.
5. If your symbol map does not look like the digitized outline check that
Separate zones are closed by a 0 0 line (if same bench and code)
New benches or codes are preceded by a -1 -1 line and a Bench Request Line
Your model has only YY levels and you are trying to access a level number exceeding YY (level XX).
7. ?M615V1: WARNING. THE MINIMUM VALUE FOR YOUR BLOCK CODE IS 0. THIS WILL CORRESPOND
TO ZERO ON YOUR SYMBOL MAP. ALL OTHER CODES WILL BE SCALED ACCORDINGLY.
If you have selected the Symbol Map option (IOP10=1) and your block code ITEM has a minimum value other than zero, then
the values printed in your symbol map have been scaled so that zero (on the symbol map) corresponds to the minimum block
code value. For example, if the block code minimum value is -3, then -3 will be printed as 0 on the symbol map.
The input data for each geologic outline consists of a single line
specifying the section and the numeric code to be inserted,
followed by a series of (X,Y) points around the outline. To end
OUTPUT: an outline, close the digitized data with 0 0. The next outline
- Updated Model File will have the same section range and code. To change the section
- Printer Output File number and/or the code, end the digitized data with -1 -1. Then
specify a new Row Request Line. For example,
A single line of text that will be printed at the top of each page of printer output from the run.
IOP2 = NUMBER OF X,Y POINTS PER INPUT LINE (default=1, MAX = 10 points or 20 values)
NOTE: If BLK% is used, the program will store block% instead of an integer code.
END
Easting Northing
Multiple pairs of points in free format on a single line are allowed as long as IOP2 is specified. 0 0 closes an outline. -1 -1 ends a
section.
USR = ABC
will appear if you try to access a file that is not a mine model file.
will appear if you do not have an ITM1 line in the run file.
will appear if you specify more than 10 pairs of digitized data points per line.
5. If your symbol map does not look like the digitized outline check that
separate zones are closed by a 0 0 line (if same section and code)
new sections or codes are preceded by a -1 -1 line and a Row Request Line
INPUT: CALCS:
You have not yet sorted the composites to produce
- PCF - Access composite and File8.
- File 15 find corresponding mine
- File 8 or 9
or
model block
- Assign mine model code
You have a File 8 but are going to re-composite and
- MSTorque database to composite file then produce another File 8. (If you add codes to File
8, but not File 9, re-sorting will over-write them.)
OUTPUT: Your composites are in final form and you are going
directly to interpolating. (This saves the step of re-
- Updated File 8 or 9 sorting File 9.)
or
- Updated MSTorque
database
- Printer Ourput File
NOTE: To access the MSTorque database, use 9=TORQ and include an MSTorque info file (20=mstorq.inf). For information
about the MSTorque info file, please refer to the M600-Technical Section, Technical Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If IOP3=1, the specified boundaries can be in a separate file. Use one of the following command
lines:
CMD = INCL LOCPT FILE filename (to include points within the boundary) - OR -
CMD = EXCL LOCPT FILE filename (to exclude points within the boundary)
NOTE: Use this ITM if you have stored the composites at an elevation other than the bench toe, for
example, ZMID.
NOTE: The SEAM keyword can only be used with GSM models and is mutually exclusive with the
LEVEL keyword.
If using a 3D-rotated GSM file 15, specify the item for composite elevation:
END
If the specified boundaries are to be added at the end of the run file rather than a separate file, then use the following format:
where 0 0 ends the input or input ends on end-of-file. Boundary point MUST close. The maximum number of boundary points
allowed is 2000.
USR = ABC
Only the first 52 benches of your File 15 have been initialized using M601V1. Any composite in benches 53 through 130 will
not have mine model codes assigned to it since File 15 has no data for those benches.
2. ?M617V1: ERROR. Your file 15 is emptyYou MUST initialize your file with M601V1 before proceeding.
You must initialize File 15 with M601V1 before any MineSight program can access it.
3. ?M617V1: ERROR. Seam Z-ITEM control can ony be used with GSM
You have an ITMn=SEAM labeln line in your run file which indicates you are using a controlling Z-item from a GSM. However,
your model file is a standard 3-D block model and not a GSM. To access a 3-D block model, use an ITMn=LEVEL labeln line.
You must enter an ITMn=CODE label15 label9 line in your run file. This command tells which File 15 item gets mapped to
which File 9 item.
- Mine model area If IOP9 = 1, M618V1 will generate a plot file for a scatter graph
- Items to access complete with X and Y-axis labels and borders. This file is then
- Plot specifications plotted with a USERF in a run file to program M122.
INPUT: CALCS:
- PCF - Averages
- Mine Model File (File - Standard deviations
13, 14 or 15) - Correlation coefficient
- Histogram
- Scatter graph
OUTPUT:
- Printer Output File
- Optional Scatter Plot File
A single line of text that will be printed at the top of each page of printer output from the run.
IOP11 = NO. OF FREQUENCY INTERVALS FOR THE HISTOGRAM AND/OR SCATTER GRAPH (MULTIPLES OF
10; MAX=50, DEFAULT=30)
IOP12 = 0 PLOT LIMITS FOR THE AXES ALSO APPLIES TO DATA
= 1 PLOT LIMITS DO NOT APPLY TO DATA
IOP13 = N PEN NUMBER FOR SYMBOLS (default = 3)
IOP14 = N SYMBOL TYPE (default = 1)
END
REF#1 REF#2
where
All benches between REF#1 and REF#2 will be used. Several Request Lines may be entered sequentially to select particular benches,
seams, etc.
END
27 27
OUTPUT:
- M122 Plot File
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If IOP19=1, PAR1 and PAR2 should be in untransformed units; PAR3 should be transformed.
where label1 is the model item and is required; label2 to labeln are the optional limiting items.
Multiple bench header lines may be used to select a range of benches or a single bench.
USR = abc /
USR = ABC
MAP = -1 9 1 -1 12 1
END
PEN# 1
USERF PLT619.PAA
ENDOC
1. Common problems are associated with setting the parameter values for PAR1, PAR2 and PAR3. PAR2 must be set as a value.
If PAR3 is not set, it is computed by the program as PAR3=(PAR2 - PAR1)/1000).
2. The program computes the number of bins using the equation N=(PAR2-PAR1)/PAR3. If PAR3 is too small or PAR2 is too
large, this may result in a number that is not accepted by the program. The current limit for the number of bins is 5000.
3. If I-O is set to 2 or greater, the program will list all the values retrieved from the model in the report file.
INPUT: CALCS:
POLYGONAL VS INVERSE DISTANCE WEIGHTING
- PCF - Locate composites within (IDW)
- Mine model file (File 13, search window
14 or 15) - Match block/geology The weight assigned to each sample will be affected by the
- File 9 or File 8 or codes
MSTorque composite set - Apply limiting factors exponent used for the distance. More weight can be assigned to
- Geology codes - Determine nearest the nearest sample by increasing this exponent. The larger the
composites exponent, the more polygonal the estimate.
- Compute weights
- Calculate and store
grades
PAR1-3 control the primary coordinate selection of data from The default is to set uninterpolated blocks to PCF minimum for
File 9 (or File 8) composites, the ASCII composite file or the that item, however we may set the interpolated item(s) to 0.0,
MSTorque composite set. These parameters may come from or ignore them.
geostatistical analysis, preliminary interpolation runs or from
deposit experience.
The composites selected for the entire row are kept in program GEOLOGIC LIMITATIONS
memory while interpolating the blocks in that row.
You should have geologic codes in the model and composite
STORAGE OF INTERPOLATED VALUES data to limit values used in the calculations.
3) ASCII output.
NOTE: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8 = CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If File 31 is entered on the names line, setting IOP11>0 will output a file of ID Weight spikes (that can be
viewed in MineSight 3-D.
NOTE: If IOP13= 1-10, one cross reference line is read. If IOP13= 11-20, two cross reference lines are
read.
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS(PAR32). OTHERWISE, STORE THE TRUE GRADE VALUE OF THE
CLOSEST COMPOSITE. (default=0).
= 1 STORE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31 AND
ABS(PAR32) VALUES.
NOTE: IOP27 is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
NOTE: Use this parameter when the number of composites within the search equal IOP7. The difference
between PAR7 and PAR8 is that PAR7 is tested at all cases whereas PAR8 is tested only when the
number of composites within the search volume is equal to IOP7 (IOP7 is the minimum number
of composites to use).
NOTE: If the distance from the composite to the block is less than the Min Distance, the Min Distance
value is used in the Inverse Distance Weight calculation.
PAR20 = OPTIONAL SEARCH DISTANCE FOR THE ELEVATION RANGE (DEFAULT = PAR3)
PAR33 = LOW GRADE CUTOFF FOR CHANGING THE 3-D SEARCH DISTANCE
PAR34 = THE 3-D SEARCH DISTANCE AT THE SPECIFIED CUTOFF FOR LOW GRADES
Types of Calculations:
BLOCK CALC #COMP NCOM / number of composites used to interpolate each block
BLOCK CALC #COMP NDHO / number of drillholes used per block
BLOCK CALC RINGS DMIN / distance to the closest composite used
BLOCK CALC RINGS DAVG / average distance to the block
BLOCK CALC RINGS DMAX / distance to the farthest composite used
LOCAL ERROR / store local area
BLOCK DILN% / dilution/smoothing measure
Limit on Calculations:
There is a limit of 30 ITMs for calculations including CALC, BLOCK ERROR, FACTR and/or ALOG.
An alternative method of limiting composites, in an interpolation run would be to use the RANGE, OMIT, and TABLE options
for the composite item. For example if you are compositing GOLD you could limit only use GOLD item between 0.001 to 0.025.
There are several options and methods for running M620V1. The following table lists the primary options and the page on which
you may learn about the IOPs and PARs which control these options.
Sample 13,
Customizing Run Files 14, Page
Option Description File 8 15 Number
I Primary 3D search parameters defining a box around a block 1 X 620-8
II* Optional full 3D (ellipsoidal) coordinate search definition 2, 11, 12 X 620-9
III Optional interpolation parameters X X 620-10
IV Optional 3D search distance at specified cutoff 620-10
V SCAN 2D: 2D (X and Y) coordinate search X 620-11
VI SCAN 1D: Interpolating the seacms that branch 16 X 620-11
VII Search from mid-point of the bench - ZMID 8 X 620-11
VIII Handling of blocks that are not interpolated RUN = X 620-12
IX* Matching composite vs block geology codes 3, 5, 6, X X 620-12
10
X* Assigning and matching geology codes 4 X X 620-13
XI* Interpolate selected geology types 5, 10 X 620-13
XII* Using alias geology codes 10 X X 620-14
XIII* Relative elevation specification 7 X X 620-14
XIV* Use of special weighting factor 9 X 620-15
XV ITM lines for values to be computed & stored ALL X X 620-15
XVI To limit the number of composites used to interpolate a block 10, 11, X 620-16
12, 14
XVII To limit the number of composites from an individual hole 11 X 620-16
XVIII The selection of the composites used in interpolation 7, 9 X 620-16
XIX Input from an ASCII file 6, 12 620-16
XX Use of a boundary file X 620-17
XXI Option to override coordinate items X 620-18
XXII Option to override/enter controlling seam item X 620-18
XXIII* Dynamic Unfolding Option X 620-18
* Pre-requisited required. NOTE: The above options have major effects on interpolation and should be carefully considered.
Considerations
GSM Two dimensional, No PAR3, always use SCAN 2-D, SCAN 1-D is used for branching seams. Ellipsoidal search can be
used but only apply to 2-D plane. (see Sample Run Files 14-16)
Interpolating - PAR3 is small (e.g., 1)
1. The primary coordinate selection (in section)is usually based upon the range of ZTOE - PAR3 to ZTOE + PAR3, where
ZTOE is the toe elevation of the bench to be used.
2. The secondary coordinate selection (in plan)is always based upon the range of
YMID - PAR2 to YMID + PAR2,
where YMID is the midpoint northing of the row to be used.
Eastings are in the range X1 - PAR1 to X2 + PAR1.
where: X1 and X2 are the beginning and ending columns.
Figure 1. Definition of Primary Coordinate Search Parameters (PAR1, PAR2, and PAR3)
All of the composites within this rectangular box are checked against the maximum 3-D search distance (PAR4). The composites
that are less than or equal to this distance from the center of the box are retained for further screening, such as geologic matching.
If there are more than IOP16 number of composites for a given block after all the tests, then the composites are sorted by increasing
distance. Only the closest IOP16 are retained for calculating the weights. Based on these weights, the grade of the block is computed
and stored.
IMPORTANT NOTE: To interpolate GSM or 2-D surface data, the coordinate selection must be based on X and Y coordinates
only. If this is the case, then use one of the following command lines in your run file, depending on which source is appropriate:
Prerequisite: You must have defined your 3-D search parameters, PAR1-3, and they must define an area equal to or larger than the
ellipsoidal search pattern.
To add a search within the primary search explained above include the following command in your run file:
For a detailed description of rotation parameters, see the 600-series Technical Section.
Figures 2, 3, 4, and Sample Run File #2 show the relationships of the various parameters for ellipsoidal search.
Figure 2. Definition of ROTN, RY and RX used in Figure 3. Definition of DIPN, RY and RZ used in Figure 4. Definition of DIPE, RX and RZ in 3D
3D Ellipsoidal Coordinate Search. 3D Ellipsoidal Search. Ellipsoidal Search.
This search forms an ellipsoid around the center of the block based on the search ranges and angles used. The composites within
this ellipsoid are retained for calculations. The 3D distances (RX, RY, RZ) between the block center and the composites are adjusted
distances based on anisotropy ratios between the ranges. Therefore, if the full 3-D search is used, the value of the maximum 3-D
search distance (PAR4) must be the same as the major axis of the ellipsoid. This option may supersede the IOP3 setting. If this option
is used for the GSM mine model or File 13 interpolation, then the ellipsoidal search is applied in 2-D, (i.e. the vertical axis is ignored).
By default, search rotation angles presumed entered with respect to model coordinates. To specify rotation angles with respect to
project coordinates, add command:
NOTE: Use this parameter when the number of composites within the search equal IOP7. The difference
between PAR7 and PAR8 is that PAR7 is tested at all cases whereas PAR8 is tested only when
the number of composites within the search volume is equal to IOP7 (IOP7 is minimum number
of composites to use.).
Maximum 3-D search distance can be changed for the assays that are greater than a specified cutoff. For this, add the following lines
in your run file:
NOTE: 1) PAR31 and PAR32 apply to the items in the primary (first) calculation only.
2) For composites greater than PAR31 in value, the maximum 3-D search distance will be
ABS(PAR32), instead of regular PAR4. If PAR32 < 0, the grades above cutoff at distances
greater than ABS(PAR32) will be truncated to PAR31. Use IOP27 to store the true grade value
if the closest composite happens to be an outlier.
Similarly, maximum 3-D search distances can be changed for the assays that are less than a specified
cutoff. For this, add the following lines in your run file:
PAR33 = LOW GRADE CUTOFF FOR CHANGING THE 3-D SEARCH DISTANCE
PAR34 = THE 3-D SEARCH DISTANCE AT THE SPECIFIED CUTOFF FOR LOW GRADES
NOTE: 1) For composites < PAR33 in value, the maximum 3-D search distance will be PAR34, instead of PAR4.
2) PAR 33 & PAR34 apply to the items in the primary (first) calculation only.
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS(PAR32). OTHERWISE, STORE THE TRUE GRADE OF THE CLOSEST
COMPOSITE (default=0).
= 1 STORE THE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31
AND ABS(PAR32) VALUES.
NOTE: IOP27is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
To interpolate GSM or 2-D surface data, the coordinate selection must be based on X and Y coordinates only without regard to any
bench elevations. If this is the case, then use one of the following commands in your run file depending on which source is appropriate.
CARD DATA INPUT = Keywords for the program indicating that input is from an ASCII file
FILE DATA INPUT = Keywords for the program indicating that input is from File 8
SCAN2-D = Keyword for the program indicating a 2-D coordinate search
When interpolating into the GSM, there may be seams that branch and need to be modeled separately. Use the following command:
FILE DATA INPUT = Keywords for the program indicating that input is from File 8
SCAN1-D = Keyword for the program indicating a SCAN1-D search
NOTE: Replace keyword FILE with CARD if input is from an ASCII file. See Input from an ASCII File section for
more information.
The SCAN1-D option allows you to define which codes will be used by allowing up to four additional (alias) codes to be read on
the Area Specification Lines.
Normally, when bench composites are calculated with M501V1, the elevations that are stored for the bench are toe elevations. For
fixed length composites, the midpoint of the composite will not be the midpoint of the bench, the midpoint of the composite must be
stored in a file variable called (ELEV. ). If you have fixed length composites, specify the following interpolation option to correctly
search for the composite elevation.
NOTE: In programs M500V1, M501V1, the midpoint is stored using ITMn= ZMID ELEV. ,whereas the interpolation routines
M620V1, M621V1, M624V1, M625V1, use the following syntax.
CMD = ELEV ZMID (Please note the order and the period placement are significant. In the M501 runfile use
ELEV. with a period and in M620V1 runfile use ELEV without a period.)
where
ELEV ZMID = Keywords for the program indicating the need to search from the mid-point of the bench
NOTE: If you interpolate from the composites stored at mid-bench, use the ZMID command. If you stored the end points of theinterval
when bench compositing with M501V1, then the default items are EAST, NORTH, and ELEV.
The RUN=RESET or RUN=ZERO commands should be used for the new interpolation results to supersede the existing values.
The RUN=OMIT command should be used when doing multiple program runs (e.g. if you interpolate different geologic zones
with corresponding interpolation parameters). RUN=RESET will reset all blocks in an interpolation run regardless of model
codes.
Prerequisite: You must have loaded geologic composites to both the composite and block model file. (and its precision must be 1)
Geologic matching can be done only if the pertinent geologic codes or rock types are stored in both File 8 and File 15. For a single
geologic match, include the following lines in your run file:
IOP4 = 1
ITMn = label-15 label-08 MATCH MODEL / 1st geology item
where
For geologic matching of two different items in File 8 and File 15, include the following lines in your run file:
IOP4 = 2
ITMn = label1-15 label1-08 MATCH MODEL / 1st geology item
ITMn = label2-15 label2-08 MATCH MODEL / 2nd geology item
where
NOTE: You can MATCH on codes with values up to 999999. MATCHing and aliasing will work for 0
block codes and you can alias a 0 code to some other value. A maximum of 5 geologic matchings
is allowed.
Prerequisite: You must have loaded geologic codes to File 8 (and its precision must be 1).
If the geology codes are stored in File 8, but not in File 15, it is possible to assign model geology and match geologic codes during
the interpolation run using polygonal assignment of composite geology. To do this, include the following lines in your run file:
IOP4 = 1
ITMn = label-15 label-08 MATCH POLYG
where
NOTE: The precision of the geology item in both the composite and model file must be 1.
During the interpolation, the program will assign a code to each block based on the geology code of the nearest composite. It will
then proceed with the standard matching of composite and model geology codes.
This option can only be used with BLOCK LIMIT when different model items are used for each option.
Prerequisite: You must have loaded geologic codes, and the precision of the geology item is 1.
Interpolation can be limited to certain mine model blocks based on geology codes or rock types. To do this, use the following lines
in your run file:
BLOCK LIMIT CODES = Keywords for the program indicating the option for block limiting
V1, V2 ... Vn = Integer codes from 1 to 9999999999 (10 digits) can be used for block limiting.
More than one code line may be entered if needed.
label-15 = Label of model item with geology codes
BLOCK LIMIT = Keywords for the program indicating the option for block limiting
For limiting on two different items in File 15, include the following lines in your run file.
A maximum of five items can be used for geologic limiting per run.
Prerequisite: You must have loaded geologic composites to both the composite and block model file. Precision must be 1.
Use this option to interpolate some blocks with certain geologic codes using composites that have different geologic codes. This option
allows you to assign alias (assumed) geology codes to the blocks to be interpolated so that they can be treated under the assumed
code. Suppose you have blocks coded 1, 2, 3 and 4, and composites coded 1 or 2. To interpolate code 1 and 3 blocks with code 1
composites and code 2 and 4 blocks with code 2 composites, use the alias option. First, include BLOCK LIMITing and MATCHing
options in your run file. On the first geology item (the 1st MATCH MODEL) set the following options:
where n is the maximum numeric value of the 1st geology item. Next enter another line following the END line in your run file
specifying the cross reference codes (n). A maximum of 10 cross reference codes per line is allowed. If IOP13=1 through 10, one
cross reference line is read. If IOP13=11 through 20, two cross reference lines are read.
For the above example, set IOP13=4 and put 1 2 1 2 after the END line in your run file. The 1 2 1 2 indicates that composites with
code 1 are used to interpolate the blocks with codes 1 and 3, and composites with code 2 are used to interpolate the blocks with
codes 2 and 4.
There is an alternate format (IOP13=1) to input alias codes after the END line using actual, alias pairs. This is useful when you
wish to alias only a few, widely separated codes, for example, to interpolate blocks coded 6 and 12 with composites coded 1, include
this line 6, 112, 1 after the END line. If you use this option, a line containing 0, 0 must be included after the last actual, alias pair.
See Section 4, Cross Reference Lines, for format.
Enter the following commands in your run file if the relative coordinates are to be used during the interpolation:
ELEV (RELX, RELY) IS = Keywords for the program indicating to use the relative coordinates
NOTE: This option can be used for 3-D models. The option cannot be used when usingASCII input data. The
program will first test PAR1, PAR2, and PAR3 against the differences between true (original) composite and
block Northing, Easting and Elevations. Select PARs 1, 2, and 3 in such a manner so that the difference in
the original coordinates of a compsite and a block guarantees the desired difference between the composite
relative coordinate and the relative coordinate value of a block.
Further search limitation (as PAR4) will be used against the relative composite and block coordinates.
PAR20 = Optional search distance for the elevation range (Default = PAR3)
NOTE: PAR3 is still applied to the original elevations (both for composites and blocks). Program applies PAR20
to the relative elevations.
Enter the following command to weight the composites by a special weighting factor:
If this option is used and PAR5 > 0, the program will divide the distance to the composite by the corresponding value of the weighting
item for that composite before computing the inverse distance weights. If PAR5 = -1, the program will use the value of the weighting
item as a weight.
NOTE: This option cannot be used if CARD input is used. The values of the weighting item cannot be zero or
undefined.
XV. ITM/CMD lines for values to be computed, stored, and the method of interpolation:
NOTE: 1) At least one ITMn to CALC INVWT or to CALC POLYG must be included in each run. The BLOCK
CALC #COMP [keyword] and BLOCK CALC RINGS [keyword] commands are optional.
3) Only one command ITMn = label-15 CALC ZCRD is allowed. Any item that will be stored in the
model as a Model Z-coordinate value should be interpolated using the CALC ZCRD command. Only
one CALC ZCRD can be used per run, because it interpolates the actual model Z-coordinate values of
composites.
Label-15 is the item to store the dilution. The item values will be between 0 and 100. If this item
is not specified, then no calculation is done.
Cutoff is the value that the dilution or smoothing measure calculation is based on. If the cutoff
is zero, then the calculation is done using all the composites for the block without applying a
cutoff. The result is then a measure of how well the nearby composites match to the calculated
block value.
SWTDIF = sum of weighted absolute differences between the block grade and the composites
used that are below the block grade when the block grade is above the cutoff and N = total number
of composites used to calculate the block estimate.
The minimum and maximum number of composites used to interpolate a block can be specified in the run file using IOP7 and IOP16.
For example, to interpolate a block with a minimum of four composites to a maximum of 18 composites, use the following lines in
your run file:
IOP7 = 4
IOP16 = 18
NOTE: IOP7 and PAR8 have a correlation in that when the number of composites within the search distance is
exactly IOP7, then PAR8 is tested.
The number of composites used to interpolate a block from an individual hole can be limited with IOP19. For example, to use no
more than three composites from an individual hole, set IOP19=3 in your run file. If IOP19=0 (default), there is no limitation on the
number of composites used from an individual hole.
NOTE: The use of IOP19 will increase the computing time for interpolation.
Composites used in interpolation can be selected using RANGE, OMIT or TABLE with the ITM command. See ITM commands in
the Introduction, Vol. I, for an explanation of these options.
Sample Run File #9 and #17 demonstrates the use of these options.
The composite assay data input to the interpolation programs is normally from MineSight Data File 9 (or 8). However, the programs
are also designed to read data from an ASCII file. To use an ASCII input file, follow the steps below:
1. Include REF# (can be DHID), X, Y and Z coordinates (if 3-D interpolation), and a grade item on each line of input.
2. Include 8=CARD in the Names Line of your run file. Also include 19=filename if the data is in a separate file.
3. Also include the following lines in your run file:
REF#, EAST, NORTH, ELEV. = Keywords for the program (not necessarily in this order)
value1, value2, etc. = Grade items to be interpolated
geol1, etc. = Geology items to be interpolated
The format of the data in the ASCII file is free field format.
On the INP8 line, you must specify the column names for all the columns in the ASCII file (max allowed number of columns
is 99). To skip a column, enter DUMMY as a column header, or enter a name that is not used as an input item.
4. The following line is optional and can be included to specify a CALC items minimum value. Otherwise the minimum is
assumed to be zero.
CALC keyword which indicates that the corresponding field in the INP8 line will be calculated
MINn indicates which CALC item from the INP line is being set
value the minimum value.
For example:
If composite data lines are included within the run file, only one Area Specification Line can be used.
The digitized boundary of an area may be used to define the blocks that will be interpolated. The boundary will be used to determine
a minimum and maximum column to be interpolated in each row. The boundary must be contained in its own file. This file is entered
using the following line in the run file:
NOTE: 1) Any block that has at least 1% of its area inside the boundary will receive interpolated values.
2) All files must have a single point of each line in Easting, Northing order.
3) This option is not available for rotated models.
There are three types of input for a boundary file, with the header line defining each type:
1) Boundary in VBM point file format has a numeric plane number in the header.
3000 1002
13510.20 12006.20
13384.50 11820.40
. .
13510.20 12006.20
0.00 0.00
2) Boundary in Survey file format with BNCH in the header. Keyword SBND is for Survey.
3) Boundary in M122IGP overlay format with IDENT in the header. Keyword POINT is for IGP.
IDENT 0 1 3000.0
POINT 1 13510.2 12006.2 3
POINT 1 13384.5 11820.4 2
. . .
POINT 1 13510.2 12006.2 2
POINT -1 0.0 0.0 0
END This end card must come at the end of any RUN OPTIONS selected from this section.
By default, coordinate items in a composite file are EAST, NORTH, and ELEV (Note the dot of the elevation item label.)
To override any of those item (e.g., use XBOT, YBOT, ZBOT) use the following commands:
For easting:
CMD = XCRD label-08
For northing:
CMD = YCRD label-08
For elevation:
CMD = ZCRD label-08
NOTE: The last command is required when SCAN2-D option is used with inclined models.
By default, seam numbers are read from the controlling Z item specified in the PCF.
When using MSTorque composites, you have to specify the attribute that was used as seams. In MSTorque the seam attribute has
Enumerated type; the code values of the attribute must match the seam numbers in the PCF.
The command:
will override the controlling seam item stored in the PCF, and use label-08 as teh item with seam numbers.
Prerequisite: You must have an RSI object file available in the \_msresources folder
Dynamic Unfolding is an on the fly calculation of two distances between composites and model blocks: normal to a specific
surface and a geodesic distance (shortest distance) along the surface. These distances are used in place of Euclidean distances
in IDW and Kriging calculations. You may want to use Dynamic Unfolding if the grade intensely follows a known surface. The
RSI object corresponding to one surface or a pair of surfaces must be created in MS3D beforehand.
A Fast Marching Result (FMR) file can be prepared in MS3D beforehand as well. You can also generate an FMR file from a RSI
file using specified parameters.
IOP31 = 2 RUN FAST MARCHING, CREATE NEW FMR FILE AND USE DYNAMIC UNFOLDING
This option requires the following command lines:
F1 and F2 - lower and upper limiting of composites by relative Z from the RSI file. If RSI file is generated from a
single surface, the Rel-Z is a signed distance to that surface. In case of two surfaces the Rel-Z values are between 0 and
1;
F3 - Fast Marching Grid size (it is recommended to make it greater then the max of DX,DY and DZ sizes for a block);
F4 - Fast Marching Grid Range (it has to be greater then the maximum 3-D search distance [PAR4]);
F5 - Size of Euclidean Region (Distances within the Euclidean Region are measured directly, without unfolding. The
size of the Euclidean region is expected to be multiple of the grid size. It will be automatically rounded by the program
to the nearest multiple of the grid size and set to be at least one grid.).
F6 = 0 - dont use Reference North (default) if F6 is not present or it is 0, then F7 and F8 are not used and not
required;
= 1 - use Reference North (this means that azimuths of geodesic directions are counted from the Reference North
direction defined by parameters F7 and F8. This direction should be almost tangent to the surface in all points. You need
geodesic azimuths and the Referecne North (F7 and F8) direction to use an anisotropic search and/or variograms with
any anisotropy along the surface.);
IOP31 = 3 RETRIEVE PARAMETERS FROM EXISTING FMR FILE, RE-CREATE FMR FILE AND USE DYNAMIC
UNFOLDING
This option requires the following command line:
where filename.fmr is the name of the fmr file where the parameters will be retrieved from, and is the file that will be
overwritten after re-running Fast Marching.
END This end card must come at the end of any options selected from this section.
If IOP13>0, read 10 integer codes per line in free-field format, where the first line contains the alias codes for actual codes 110, the
second line contains the alias codes for actual codes 1120, etc.
For example, if IOP13=5 (block codes are 1 to 5) and if 1 1 3 3 3 are input for cross reference, then data with geologic codes 1 and
2 will be used as the same type and codes 3, 4 and 5 will be used together.
If IOP13 = 1, read up to 5 alias pairs per line in a free-field format as actual, aliasactual, alias . .; input is terminated by a 0, 0.
For example, if actual codes 98, 99, 108, and 109 will be used as code 1, actual code 0 will be used as code 5 and other actual codes
will be used as is, the entry could look like:
The 0, 5 pair could also be included in the first line to make 5 pairs. Do it whichever way is the clearest.
where comp1-n are optional composite codes for controlling split seam interpolation. See SCAN1-D and Sample Run File #16. The
run will end on an end-of-file condition. A blank line or a zero will default to the PCF limits and interpolate the entire block model.
If Composite Data Lines are included within the run file, then only one Area Specification Line can be used. If Composite Data Lines
are in a separate file, include a 19=filename in the Names Line.
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION COM
COM * * TEST RUN #1: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #2: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #3: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #4: M620V1
END
33 33 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #5: M620V1
END
31 34 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #6: M620V1
END
31 34 25 25 20 20 AREA SELECTION LINE
30 DH-43 12652. 12851. 3600. 0.058 0.003 2 COMPOSITE DATA LINES
31 DH-47 12720. 12752. 3500. 0.066 0.004 3
32 DH-56 12736. 12430. 3650. 0.052 0.003 2
33 DH-60 12705. 12509. 3600. 0.251 0.010 4
34 DH-62 12719. 12603. 3600. 0.126 0.005 3
35 DH-63 12725. 12550. 3650. 0.402 0.009 1
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM -
COM * * TEST RUN #7: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #8: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #9: M620V1
END
30 30 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #10: M620V1
END
1 2 1 2 CROSS REFERENCE LINES
31 34 25 25 20 20 AREA SELECTION LINE
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #11: M620V1
END
33 33 25 25 20 20 AREA SELECTION LINE
30 DH-43 13350. 12450. 3600. 0.058
32 DH-56 13150. 12450. 3600. 0.092
34 DH-62 13250. 12500. 3600. 0.126 COMPOSITE DATA LINES
35 DH-63 13250. 12400. 3600. 0.402
36 DH-65 13250. 12501. 3600. 0.312
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #12: M620V1
END
33 33 25 25 20 20 AREA SELECTION LINE
30 DH-43 13350. 12550. 3500. 0.058
32 DH-56 13150. 12350. 3700. 0.092
34 DH-62 13200. 12500. 3650. 0.126
35 DH-63 13300. 12400. 3550. 0.402
36 DH-65 13350. 12550. 3700. 0.312
39 DH-61 13300. 12400. 3650. 0.201
COM
COM 2-D MODEL INTERPOLATION
COM
USR = ABC
RUN = RESET
I-O = 1
END
1 50 1 50 1 1
USR = ABC
RUN = RESET
COM
COM GSM MODEL INTERPOLATION
COM 197
END
1 72 1 96 1 3
USR = ABC
RUN = RESET
COM
COM GSM MODEL INTERPOLATION
COM
END
1 72 1 96 1 3
USR = ABC
RUN = RESET
COM
COM GSM MODEL INTERPOLATION
COM
COM NOTE:
COM SEAM# 1 HAS COMPOSITE CODE 10. THIS SEAM
COM BRANCHES INTO 4 PIECES WHOSE COMPOSITE
COM CODES ARE 11, 12, 13 AND 14. THESE BRANCHES
COM ARE INTERPOLATED TOGETHER WITH THE MAIN SEAM.
END
41 41 30 30 1 1 11 12 13 14
30 DH-43 13350. 12350. 10. 9058.
32 DH-56 13150. 12450. 11. 9092.
34 DH-62 13250. 12505. 12. 9126.
35 DH-63 13050. 12400. 13. 9402.
36 DH-65 13450. 12225. 14. 9312.
MSTorque access
MEDS-620V1 10=SAMP10.DAT 15=SAMP15.DAT 8=SAMP08.DAT;
MEDS-620V1 3=RPT620.L17
* SAMPLE INVERSE DISTANCE INTERPOLATION *
COM
COM 3-D MODEL INTERPOLATION
COM
-COM * * TEST RUN #17: M620V1
USR = ABC
RUN = RESET
END
33 33 25 25 20 20
RUN = RESET
2. The program will print the location of composites, the distance to the block and composite grades and weights for each b
lock interpolated if IOP11 is set to the row# for debug output.
3. If ellipsoidal search is used, then the 3-D distance calculated between a composite and the block will be the adjusted
distance based on the anisotropy ratios. This is the distance that is printed on the output file when the debug option is on.
4. The difference between PAR7 and PAR8 is very subtle. PAR7 is tested at all times. PAR8 is tested only if the number of
composites to interpolate the block is equal to IOP7.
5. Default inverse power used by the program is 2 if you do not specify PAR5. The higher the inverse power, the more weight
is given to the nearest sample.
6. Be sure to select composite and model file item labels that are not used as keywords by the program to execute certain
commands.
7. If you are using more than one ITM command, number them sequentially, without repetition.
8 . Multiple Area Selection Lines are allowed. The program will interpolate the blocks specified in the first line, then it will
interpolate the blocks specified in the second line and so on. The only exception is when the ASCII input option is used and
the composite data follows the run file.
will appear if more than the max number of composites per row. The maximum number of composites that the program
can handle for a single row is 2000 for the basic MineSight and 16000 for the EMPC or workstation versions. If this
limit is exceeded, a segmentation process will automatically be invoked to interpolate 10 columns at a time across the row.
will occur if more than the max number of composites are found in a search around one block. The maximum number of
composites that the program can handle for a single block is 2000 for the basic MineSight and 16000 for the EMPC
or workstation versions. If this number is exceeded, the program will give an error message and stop interpolating at that
block. If this happens, first check if you can decrease the X, Y or Z search distances used by the program. If you can,
then try again starting from the row where the program stopped and see if this will solve the problem. If it does not, try to
specify lesser columns to interpolate by using multiple Area Selection Lines.
11. If IOP5=1 (use the minimum grade criterion), then PAR9 must be specified. The minimum grade criterion is based on the
grade of the composite closest to the block being interpolated. If the grade of the closest composite is greater than PAR9,
then the program uses only the composites whose grades are greater than PAR9. If the grade of the closest composite is
less than PAR9, then the program uses only the composites whose grades are less than PAR9.
will occur if the minimum column is greater than the maximum column, or the minimum row is greater than the
maximum row, or the minimum bench is greater than the maximum bench.
will appear if you do not specify any ITM lines that will store data in the model file.
will appear if you specify more than two ITMn=CALC POLYG lines.
will appear if you specify more than two items for geology matching.
will appear if there are any errors when reading ASCII data.
19. ** M620V1: WARNING. YOU CAN ONLY CHECK FOR DUPLICATE POINTS ON BLASTHOLE
PROJECTS. IOP21 IS BEING RESET TO 0.
IOP21 is applicable to blasthole projects only. There is no need to check for duplicate composites on non-blasthole
projects. If you try to activate IOP21 for a non-blasthole project it will be reset to zero and the program will continue
normally.
RUN FILE:
1
/d1n + 1/d2n + ... + 1/dkn
- Interpolation parameters
- Search distances or
ranges where
- Controlling and limiting
item labels G = estimated value of block
v = value of sample
d = distance of sample to center of block
n = power (or exponent) of d
k = # of samples
INPUT: CALCS:
The weight assigned to each sample will be affected by the
- PCF - Locate composites within
- Mine model file (File 13, search window exponent used for the distance. More weight can be assigned to
14 or 15) - Determine octant the nearest sample by increasing this exponent. The larger the
- File 9 or File 8 or - Match block/geology exponent, the more polygonal the estimate.
MSTorque composite set codes
- Geology codes - Apply limiting factors
- Determine nearest
M620V2 has the option to limit the number of composites used
composites in interpolation. The limit is specified as a maximum number
- Compute weights of composites (IOP2) that can fall within an octant or quadrant
- Calculate & store grades search (IOP12).
PAR1-3 control the primary coordinate selection of data from Interpolated values can be stored in three ways.
File 9 (or File 8) composites, the ASCII composite file or the
MSTorque composite set. These parameters may come from
1) Normally, interpolated values are stored back into the model
geostatistic analysis, preliminary interpolation runs or from
file. The Names Line contains a 15(or13or 14)=filename
deposit experience.
entry.
1. The primary coordinate selection is usually based upon the 2) For ore control purposes, because there is no model file, the
range of ZTOE - PAR3 to ZTOE + PAR3, where ZTOE values are output to an ASCII file (File 20). The Names Line
is the toe elevation of the bench to be used. contains 15=ASCII and 20=filename entries.
If topographic or other 2-D data is to be interpolated, then
this selection is not used. However, set PAR3 to be a small 3) For testing, when data from the model file is needed, as in
non-zero value (e.g., 0.1). BLOCK LIMIT or MATCH MODEL, the model file can be
read but the values stored into an ASCII file. The Names Line
contains 15(or13or14)=filename and 20=filename entries.
2. The secondary coordinate selection is always based upon the
range of YMID - PAR2 to YMID + PAR2, where YMID USE OF BOUNDARY FILE
is the midpoint northing of the row to be used. Eastings are
in the range XMIN - PAR1 to XMAX + PAR1. A digitized boundary of a production area (shot) or any special
area may be used to define the blocks that will be interpolated.
The composites selected for the entire row are kept in program The boundary will be used to determine a minimum and
memory while interpolating the blocks in that row. maximum column to be interpolated in each row. The boundary
must be contained in its own file.
NOTE: If 9 = filename is specified on the names line, then composite data will be retrieved from this
file 9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8=CARD.
To access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.
inf). For information about the MSTorque info file, please refer to the M600-Technical Section,
Technical Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: The closest IOP2 composites in each octant or quadrant will be used.
In order to store the number of octants, etc... add the following line:
CMD = STORE NOCTS INTO label-15 min_value
where
STORE NOCTS INTO are keywords
label-15 is the item to store the number of octants
and
min_value is the minimum number of octants allowed. If the number of octants or quadrants with
a composite value is below the specified number, no interpolation is done.
NOTE: If IOP13=1-10, one cross reference line is read. If IOP13=11-20, two cross reference lines are
read.
IOP20 = 0 MINIMUM # OF OCTANTS OR QUADRANTS WITH AT LEAST ONE VALUE BEFORE INTERPOLATING
THE BLOCK
< 0 STORES THE # OF OCTANTS OR QUADRANTS WITH COMPOSITES, INSTEAD OF STORING THE # OF
COMPOSITES FOR THE BLOCK (works in conjunction with BLOCK CALC #COMP)
*See IOP12 when negative, must also use CALC #COMP (works in conjunction with #COMP)
IOP22 = # OF DECIMAL PLACES TO OUTPUT FOR INTERPOLATED VALUES IN FILE 20 (default=3; max=4)
NOTE: If there are more than n consecutive empty octants/quadrants, the block will not be interpolated.
If horizontal splitting is used (IOP12= 3 or 4), the upper and lower parts of each octant/quadrant are
combined and treated as one object when counting the number of empty octants/quadrants.
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS (PAR32). OTHERWISE STORE THE TRUE GRADE VALUE OF THE
CLOSEST COMPOSITE (default=0)
= 1 STORE THE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31
AND ABS(PAR32) VALUES.
NOTE: IOP27 is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
NOTE: PAR3 not used for SCAN1-D or SCAN2-D. However, enter a small non-zero value (e.g., 0.1).
NOTE: If the distance from the composite to the block is less than the Min Distance, the Min Distance
value is used in the Inverse Distance Weight calculation.
PAR20 = OPTIONAL SEARCH DISTANCE FOR THE ELEVATION RANGE WHEN USING RELATIVE ELEVATION
(DEFAULT = PAR3)
NOTE: 1) PAR31 and PAR32 apply to the item in the first calculation only.
2) If PAR32 < 0 the grades above cutoff at a distance greater than ABS (PAR32) will be cut to
PAR31
PAR33 = LOWER GRADE CUTOFF FOR CHANGING THE 3-D SEARCH DISTANCE
PAR34 = THE 3-D SEARCH AT THE SPECIFIED CUTOFF FOR LOW GRADES.
NOTE: 1) For composites less than PAR33 in value, the maximum search distance will be PAR34 instead
of regular PAR4
2) PAR33 and PAR34 apply to the first calculation item only.
IMPORTANT NOTE: All of the options available with M620V1 are available with M620V2. See the M620V1 documentation
for a full explanation of the following options:
END
IX1 IX2 IY1 IY2 IZ1 IZ2 comp1 comp2 comp3 comp4
where comp1-n are optional composite codes for controlling split seam interpolation. See SCAN1-D and M620V1 Sample Run File
#16. The run will end with a 0 for IX1 to IZ2 or on an end-of-file condition.
USR = ABC
RUN = RESET
COM -
COM 3-D MODEL INTERPOLATION
COM -
COMT* * TEST RUN #1: M620V2
END
0 50 0 50 20 20
2. The program will print the location of composites, the distance to the block, and composite grades and weights for each
block interpolated if IOP11 is set to the row# for debug output.
The program will also indicate the number of the octant each composite falls in when the debug option is on. There are
eight octants. Each octant is defined by a 45o window from the center of the block measured clockwise from north. Thus,
octant #1 is between the north and N45E direction. Octant #2 is between the N45E and east direction and so on.
A negative octant number indicates the composite has not been used in interpolation because the number of composites
in that octant exceeded the number specified in IOP2.
3. If ellipsoidal search is used, then the 3-D distance calculated between a composite and the block will be the adjusted
distance based on the anisotropy ratios. This is the distance that is printed in the output file when the debug option is on.
4. To limit the number of composites to interpolate a block using IOP7, regardless of the distance to the closest composite,
set PAR8 to a small value (such as 0.1). The program first checks if the number of composites to use is less than IOP7.
If so, then it checks the distance to the closest composite against PAR8. If PAR8 is greater than the closest distance, the
program will use the composites although there are less than IOP7 composites.
5. Default inverse power used by the program is 2 if you do not specify PAR5. The higher the inverse power, the more
weight is given to the nearest sample.
6. Be sure to select composite and model file item labels that are not used as keywords by the program to execute certain
commands.
7. If youre using more than one ITM command, number them sequentially, without repetition.
8. Multiple Area Selection Lines are allowed. The program will interpolate the blocks specified in the first line, then it will
interpolate the blocks specified in the second line and so on. The only exception is when the ASCII input option is used
and the composite data follows the run file.
will appear if more than 1200 composites are found. The maximum number of composites that the program can handle
for a single row is 1200. If this number is exceeded the program will print an error message and stop interpolating at that
row. If this happens, first check if you can decrease the X, Y or Z search distances used by the program. If you can, then
try again starting from the row where the program stopped and see if this will solve the problem. If it does not, try to
specify lesser columns to interpolate by using multiple Area Selection Lines.
will occur if more than 400 composites are found in a search around one block. The maximum number of composites
that the program can handle for a single block is 400. If this number is exceeded, the program will give an error message
and stop interpolating at that block. If this happens, try a similar approach as explained in Step 9.
11. If IOP5=1 (use the minimum grade criterion), then PAR9 must be specified. The minimum grade criterion is based on the
grade of the composite closest to the block being interpolated. If the grade of the closest composite is greater than PAR9,
then the program uses only the composites whose grades are greater than PAR9. If the grade of the closest composite is
less than PAR9, then the program uses only the composites whose grades are less than PAR9.
will occur if the minimum column is greater than the maximum column, or the minimum row is greater than the
maximum row, or the minimum bench is greater than the maximum bench.
13. ** ITEM DEFINITION ERROR MSINL1 ** NO ITEMS HAVE BEEN SET UP TO BE STORED
will appear if you do not specify any ITM lines that will store data in the model file.
will appear if you specify more than two ITMn=CALC POLYG lines.
18. ** M620V2: WARNING. YOU CAN ONLY CHECK FOR DUPLICATE POINTS ON BLASTHOLE
PROJECTS. IOP21 IS BEING RESET TO 0.
IOP21 is applicable to blasthole projects only. There is no need to check for duplicate composites in non-blasthole
projects. If you try to activate IOP21 for a non-blasthole project it will be reset to zero and the program will continue
normally.
will appear if there are any errors when reading ASCII data.
The program works with sub-blocked models and is enabled M621V1 uses basically the same procedures as M620V1 with
to perform individual calculations for each zone of the sub- additional logic for using the 3-D trend plane in the search and
divided block. weighting of composites. Geologic codes and the model file are
normally required to use this technique.
PROGRAM FLOW DIAGRAM
The standard interpolation method used for initial extension of
RUN FILE: grades and other values makes use of the principle of gradual
changes for calculating block values. This technique of gradual
- Interpolation parameters
- Search distances or changes uses a weighting function calculated from the inverse
ranges distance between each composite and the block midpoint. You
- Controlling & limiting item should have geologic codes in the model and composite data to
labels limit values used in the calculations.
If there is only one trend in the deposit, specify ITMn 1) Normally, interpolated values are stored back into the model
=DUMMY BLOCK TREND. The trend plane specified at file. The Names Line contains a 15(or13or 14)=filename
the end of the run file will describe the search used to find entry.
composites. Geology codes in the model can be used to limit
interpolation by specifying ITMn = label-15 BLOCK LIMIT 2) For ore control purposes, because there is no model file, the
and composites can be matched with model blocks with ITMn values are output to an ASCII file (File 20). The Names Line
= label-15 label-08 MATCH MODEL. contains 15=ASCII and 20=filename entries.
If there is more than one trend in the deposit, store a trend item
3) For testing, when data from the model file is needed, as in
in the model. This item must contain integer codes that define
BLOCK LIMIT or MATCH MODEL, the model file can be
areas in the deposit with different trends. The number of the
read but the values stored into an ASCII file. The Names Line
plane on the Trend Plane Line should correspond to an integer
contains 15(or13or14)=filename and 20=filename entries.
code stored in this model item. The item that contains the trend
code is specified with ITMn = label-15 BLOCK TREND.
Geology codes in the model can be used to limit interpolation by
specifying ITMn = label-15 BLOCK LIMIT. Composites can Use of Boundary File
be matched with model blocks with ITMn = label-15 label-08
MATCH MODEL. A digitized boundary of a production area (shot) or any special
area may be used to define the blocks that will be interpolated.
The boundary will be used to determine a mimimum and
maximum column to be interpolated in each row. The boundary
Procedure summary for 3-D trend must be contained in its own file.
interpolation
1. Load trend codes into the mine model. These codes may
represent areas of different geology or areas of different
trends.
Note: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8 = CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If planes are not specified, blocks with that code are not interpolated.
NOTE: If IOP13= 1-10, one cross reference line is read. If IOP13= 11-20, two cross reference lines are
read.
IOP22 = # OF DECIMAL PLACES TO OUTPUT FOR INTERPOLATED VALUES IN FILE 20 (Default=3; Max=4)
IOP24 = 0 Trend planes angles entered with respect to project coordinates (Default)
= 1 Trend planes angles entered with respect to model coordinates
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS(PAR32). OTHERWISE, STORE THE TRUE GRADE VALUE OF THE
CLOSEST COMPOSITE
(default=0).
= 1 STORE THE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31
AND ABS(PAR32) VALUES.
NOTE: IOP27 is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
NOTE: PAR3 not used for SCAN1-D or SCAN2-D. However, enter a small non-zero value (e.g., 0.1).
NOTE: If the distance from the composite to the block is less than the Min Distance, the Min Distance
value is used in the Inverse Distance calculation.
(i.e., for composites greater than or equal to PAR31 in value, the maximum 3-D search
distance will be PAR32, instead of regular PAR4).
NOTE: 1) PAR31 and PAR32 apply to the item in the first calculation only.
2) If PAR32 < 0 the grades above cutoff at a distance greater than ABS (PAR32) will be cut to
PAR31
PAR33 = LOWER GRADE CUTOFF FOR CHANGING THE 3-D SEARCH DISTANCE
PAR34 = THE 3-D SEARCH AT THE SPECIFIED CUTOFF FOR LOW GRADES.
NOTE: 1) For composites less than PAR33 in value, the maximum search distance will be PAR34 instead
of regular PAR4.
2) PAR33 and PAR34 apply to the first calculation item only.
IMPORTANT NOTE: All of the options available with M620V1 are available with M621V1. See M620V1 documentation
for a full explanation of the following options:
iplane = Number of planemust correspond with the value of the TREND ITEM stored in mine model.
strike = Strike of plane as an azimuth from north, e.g., 45.00 for N45E and -45.00 for N45W
dipang = Dip of plane
NOTE: Dip is measured in the plane that is 90o clockwise from the strike. Ex: -90.00 for a vertical plane.
0.0 is not permitted.
These dip/strike parameters are entered in free-field format (separate values by one or more blanks). There must be one dip/strike
line for each plane. End input of Trend Plane Lines with iplane=0.
IX1 IX2 IY1 IY2 IZ1 IZ2 comp1 comp2 comp3 comp4
Columns Rows Benches
where comp1-n are optional composite codes for controlling split seam interpolation. See SCAN1-D and M620V1 Sample Run
File #16. The run will end with a 0 for IX1 to IZ2 or on an end-of-file condition.
COM -
COM 3-D MODEL INTERPOLATION
COM -
COM ** TEST RUN #1: M621V1
USR = ABC
RUN = RESET
END
1 45 -20 50 600 750
0
0 50 0 50 18 18
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #2: M621V1
USR = ABC
RUN = RESET
END
1 -45 -35 5 75 175
0
0 50 0 50 20 20
30 DH-43 13350. 12550. 3500. 0.058
32 DH-56 13150. 12350. 3700. 0.092
34 DH-62 13200. 12500. 3600. 0.126
35 DH-63 13300. 12400. 3600. 0.402
36 DH-65 13350. 12550. 3700. 0.312
39 DH-61 13300. 12400. 3650. 0.201
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #3: M621V1
USR = ABC
RUN = RESET
END
1 45 -20 100 600 750
2 35 -10 100 750 750
3 0 -25 100 500 800 0
0
50 0 50 20 20
1. The program will list all the composites within the search window of each interpolated row if I-O=2 is specified in the run file.
The program will also list all the items in the composite and model files, the total number of blocks interpolated for each row,
and other debug information. This option is not suggested when interpolating the entire model.
2. The program will print the location of composites, the distance to the block, and composite grades and weights for each block
interpolated if IOP11 is set to the row# for debug output.
3. If ellipsoidal search is used, then the 3-D distance calculated between a composite and the block will be the adjusted distance
based on the anisotropy ratios. This is the distance that is printed on the output file when the debug option is on.
4. To limit the number of composites to interpolate a block using IOP7, regardless of the distance to the closest composite, set
PAR8 to a small value (such as 0.1). The program first checks if the number of composites to use is less than IOP7. If so, then
it checks the distance to the closest composite against PAR8. If PAR8 is greater than the closest distance, the program will use
the composites although there are less than IOP7 composites.
5. Default inverse power used by the program is 2 if you do not specify PAR5. The higher the inverse power, the more weight is
given to the nearest sample.
6. Be sure to select composite and model file item labels that are not used as keywords by the program to execute certain commands.
7. If youre using more than one ITM command, number them sequentially, without repetition.
8. Multiple Area Selection Lines are allowed. The program will interpolate the blocks specified in the first line, then it will interpolate
the blocks specified in the second line and so on. The only exception is when the ASCII input option is used and the composite
data follows the run file.
11. If IOP5=1 (use the minimum grade criterion), then PAR9 must be specified. The minimum grade criterion is based on the grade
of the composite closest to the block being interpolated. If the grade of the closest composite is greater than PAR9, then the
program uses only the composites whose grades are greater than PAR9. If the grade of the closest composite is less than PAR9,
then the program uses only the composites whose grades are less than PAR9.
will appear if you do not specify any ITM lines that will store data in the model file.
19. %M621V1: WARNING: You can only check for duplicate points on blasthole projects. IOP21 is being reset to 0.
IOP21 is applicable to blasthole projects only. There is no need to check for duplicate composites on non-blasthole projects. If
you try to activate IOP21 for a non-blasthole project it will be reset to zero and the program will continue normally.
The Program works with sub-blocked models and is enabled The program input parameters and options are the same as
to perform individual calculations for each zone of the sub- M624V1 with a few exceptions. PAR19 is the cutoff above which
divided block. grade and proportion of ore in each block are computed by MIK.
If PAR19=0, then an E-type estimate is calculated where the ore
(or waste) in the block is 100%.
PROGRAM FLOW DIAGRAM IOP18 gives the option to store the proportion of ore as a percent.
The program expects that the first item (ITM1) in the run file is
RUN FILE: for storing MIK grade and the second item (ITM2) is for storing
- Interpolation parameters proportion of ore above the specified cutoff. This second item is
- Search distances or ranges required even when an E-type estimate is calculated.
- Controlling and limiting
item labels
- Variogram parameters Variogram parameters of MIK are input to the program through
the variogram parameter file in unit 30.
INPUT: CALCS:
OUTPUT:
- Updated Mine Model File
- Printer Output File
Note: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8 = CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
IMPORTANT NOTE: All the run options listed for M624V1 are identical for this program, unless stated otherwise. In
addition, M624IK has the following special run options:
PAR19 = CUTOFF GRADE TO USE FOR MULTIPLE INDICATOR KRIGINGTO COMPUTE GRADE AND
PROPORTION OF ORE IN THE BLOCKS
The parameter file should have no blank lines. Blanks are shown in the sample file to accomodate the comment lines.
The parameter file 13 is the only way to enter the variogram parameters for M624IK. Both the run file and the parameter file can be
set up using appropriate MSCompass procedures.
If coefficient of variation is entered in the variogram file, indirect lognormal correction is applied instead of affine correction.
RUN = RESET
USR = aa /
The Program works with sub-blocked models and is enabled The program input parameters and options are the same as
to perform individual calculations for each zone of the sub- M624IK with a few exceptions. Specific options to the program
divided block. are input through the variogram parameter file. PAR19 is the
cutoff above which grade and proportion of ore in each block
are computed by MIK. If PAR19=0, then an E-type estimate is
calculated where the ore (or waste) in the block is 100%.
PROGRAM FLOW DIAGRAM
IOP18 gives the option to store the proportion of ore as a percent.
RUN FILE: The program expects that the first item (ITM1) in the run file is
- Interpolation parameters
for storing MIK grade and the second item (ITM2) is for storing
- Search distances or ranges proportion of ore above the specified cutoff. This second item is
- Controlling and limiting required even when an E-type estimate is calculated.
item labels
- Variogram parameters Variogram parameters of MIK are input to the program through
the variogram parameter file in unit 30.
OUTPUT:
Note: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8=CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
IMPORTANT NOTE: All the run options listed for M624V1 are identical for this program, unless stated otherwise. In
addition, M624MIK has the following options:
where
CUTGS is the key word. Cut1, cut2, cut3 .... cutN are the cutoff grades at which the MIK values need to be calculated.
Maximum of 10 cutoffs are allowed.
If the multiple cutoff option is used, the program expects that the first item (ITM1) in the run file is for storing the grade
above the first cutoff, and the second item (ITM2) is for storing the proportion of ore above the first cutoff. ITM3 &
ITM4 correspond to the second cutoff, ITM5 & ITM6 correspond to the third cutoff, etc.
.0013 .015 .007 0.146 1) Nugget value 2) indicator cutoff 3) proportion (0 to 1) of composites
below cutoff 4) class mean (only for IOP29=1)
1 .0245 150 120 60 0 0 0 Parameters for variogram
0 End of input
.008 .032 .022 0.146 1) Nugget value 2) indicator cutoff 3) proportion (0 to 1) of
composites below cutoff 4) class mean (only for IOP29=1)
1 .0160 120 80 40 45 -10 0 Parameters for nested variogram
1 .0262 160 120 60 45 -10 0 Parameters for nested variogram
0 End of input
.0031 .095 .060 0.11
1 .0088 120 120 80 0 0 0
0
.0072 .18 .133 0.12
2 .0519 240 240 240 0 0 0
0
The parameter file should have no blank lines. Blanks are shown in the sample file to accomodate the comment lines.
The parameter file is the only way to enter the variogram parameters for M624MIK. Both the run file and the parameter file can be
set up using appropriate MineSight Compass procedures.
Description of the parameters in the second line of the sample parameter file above:
12) The value of the last class mean (only for IOP29=1).
RUN = RESET
USR = abc /
RUN = RESET
USR = abc /
COORDINATE PARAMETERS
The composites selected for the entire row are kept in program
memory while interpolating the blocks in that row.
In general, there are two cases where multiple variograms are 1) Universal - for systematic drift
used: 2) Block Kriging (default)
3) Point
4) Lognormal
1. to specify a different variogram for each item to be kriged
5) Indicator
6) Multiple Indicator (MIK)
2. to specify a different variogram for each geologic unit if 7) Co-Kriging
only one item is to be kriged. 8) Simple Kriging
Multiple variograms cannot be used to specify different 9) Simple Co-Kriging
variograms by grade and rock type together in the same run, 10) Outlier Restricted Kriging
that is, you cannot combine the above two situations in a single 11) Nearest Neighbor Kriging
run. If variograms are broken down by rock type, each grade
must be kriged separately.
CALCULATIONS WHICH MAY BE STORED
Multiple variograms are always specified in an external file listed
in the Names Line in the run file as File 30=filename. 1) Kriging Variance (default)
2) Standard Deviation
3) Relative Kriging Variance
4) Proportion above cutoff indicator
STORAGE OF KRIGED VALUES 5) Grade above cutoff indicator
6) Percent above cutoff indicator
Kriged values can be stored in three ways. 7) Block Error
8) Number of Composites Used
9) Calculation Rings - (distance)
1) Normally, kriged values are stored back into the model file. 10) Number of Drillholes used
The Names Line contains a 15(or13or 14)=filename entry. 11) Dilution / smoothing measure
12) Number of octants
2) For ore control purposes, because there is no model file, the
values are output to an ASCII file (File 20). The Names Line
contains 15=ASCII and 20=filename entries.
NOTE: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8 = CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
In order to store the number of octants, etc, add the following line (only available to linear kriging methods):
CMD = STORE NOCTS INTO label-15 min_value
where
STORE NOCTS INTO are keywords
and
label-15 is the item to store the number of octants to
and
Min_value is the minimum number of octants allowed. If the number of octants or quadrants with a
composite value below the specified number, then no interpolation is done. Default = 1 and it means
there is no minimum. This option is only available if an octant/quad item is specified.
NOTE: IOP15 is used by co-kriging only (see Section VI, Other Kriging Applications below) This IOP is
used in conjunction with PAR6, and PAR30 & PAR39.
IOP16 = MAXIMUM NUMBER OF COMPOSITES TO KRIGE A BLOCK (default = 15, max = 500)
IOP22 = # OF DECIMAL PLACES TO OUTPUT FOR INTERPOLATED VALUES IN FILE 20 (default=3; max=4)
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS(PAR32). OTHERWISE, STORE THE TRUE GRADE VALUE OF THE
CLOSEST COMPOSITE. (default)
= 1 STORE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31 AND
ABS(PAR32) VALUES.
NOTE: IOP27 is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
IOP27 is invalid in M624MIK or M624IK.
IOP28 = 0 IF THE INTERPOLATED GRADE IS GREATER (LESS) THAN THE MAXIMUM (MINIMUM)
GRADE OF THE COMPOSITES USED FOR THE BLOCK, SET IT TO THE MAXIMUM (MINIMUM)
AND STORE. (default)
= 1 STORE THE TRUE INTERPOLATED GRADE VALUE IF THE GRADE IS GREATER THAN THE
MINIMUM VALUE OF THE RECEIVING MODEL ITEM. OTHERWISE, STORE THE VALUE AS
UNDEFINED.
NOTE: IOP28=0 applies to the Primary item only. For Simple Kriging or Co-Kriging, the program uses IOP28=1.
PAR6 = MAX DISTANCE FROM BLOCK CENTROID TO ACCEPT SECONDARY DATA (default=PAR4)
PAR20 = OPTIONAL SEARCH DISTANCE FOR THE ELEVATION RANGE (default = PAR3)
There are several run options and methods for customizing a M624V1 RUN. The following table lists the primary options and the
page on which the IOPs and PARs which control these options are explained.
Sample 13,
Customizing Run Files 14, Page
Option Description File 8 15 Number
I Primary 3D search parameters defining a box around a block ALL X 624-22
II* Optional full 3D (ellipsoidal) coordinate search definition 2 X 624-22
III Optional interpolation parameters 5 X X 624-23
IV Optional 3D search distance at specified cutoff - X 624-24
V Specification of variogram model parameters ALL X 624-24
VI Other Kriging Applications 6, 10 X 624-26
VII Specification of percent and grade above cutoff - X 624-30
VIII Storing kriging estimation error 1-4, 6, 7 X 624-31
IX SCAN 2D: 2D (X and Y) coordinate search - X X 624-32
X SCAN 1D: Interpolating the seams that branch - X X 624-32
XI Search from mid-point of the bench - X 624-33
XII Handling of blocks that are not interpolated ALL X X 624-33
XIII* Matching composite vs block geology codes - X X 624-33
XIV* Assigning and matching geology codes 7 X 624-34
XV* Interpolate selected geology types 7 X X 624-34
XVI* Using alias geology codes - X 624-34
XVII* Relative coordinates specification - X 624-35
XVIII* Use of special weighting factor - X 624-35
XIX ITM lines for values to be computed & stored ALL 624-36
XX To limit the number of composites used to interpolate a block ALL X 624-36
XXI To limit the number of composites from an individual hole - X 624-36
XXII The selection of the composites used in interpolation 6, 7 X 624-36
XXIII Input from an ASCII file 5 X 624-37
XXIV Multiple variogram specification 7 X 624-37
XXV Use of a boundary file - X X 624-39
XXVI Option to override coordinate items - X 624-40
XXVII Option to override/enter controlling seam item - X X 624-40
XXVIII Negative Kriging Weights - X X 624-41
XXIX Storing dilution/smoothing measure - X X 624-41
XXX* Dynamic Unfolding Option - X 624-41
* Pre-requisited required. NOTE: The above options have major effects on interpolation and should be carefully considered.
NOTE: PAR3 not used for SCAN1-D or SCAN2-D. However, still enter a small non-zero value (e.g.
0.1).
All of the composites within this rectangular box are checked against the maximum 3-D search distance (PAR4). The composites
that are less than or equal to this distance from the center of the box are retained for further screening, such as geologic matching.
Figure 1. Definition of Primary Coordinate Search Parameters (PAR1, PAR2, and PAR3).
If there are more than n number of composites for a given block after all the tests, then the composites are sorted by increasing
distance. Only the closest n are retained for calculating the weights. Based on these weights, the grade of the block is computed
and stored.
IMPORTANT NOTE: To interpolate GSM or 2-D surface data, the coordinate selection must be based on X and Y coordinates
only. If this is the case, then depending on which source is appropriate, use one of the following command lines in your run file:
To add a full 3-D search within the primary search explained above include the following command in your run file:
For a detailed description of rotation parameters, see the 600-series Technical section.
Figures 2, 3, and 4 below and Sample Run File #2 show the relationships of the various parameters for ellipsoidal search.
This search forms an ellipsoid around the center of the block based on the search ranges and angles used. The composites within this
ellipsoid are retained for calculations. The 3-D distances (RX, RY, RZ) between the block center and the composites are adjusted
distances based on anisotropy ratios between the ranges. Therefore, if the full 3-D search is used, the value of the maximum 3-D
search distance (PAR4) must reflect the distance in the new coordinates. This option supercedes the IOP3 setting. This option should
not be used for the GSM mine model or File 13 interpolation.
Figure 2. Definition of ROTN, RY and RX used in Figure 3. Definition of DIPN, RY and RZ used in Figure 4. Definition of DIPE, RX and RZ in 3-D
3-D Ellipsoidal Coordinate Search 3-D Ellipsoidal Coordinate Search Ellipsoidal Coordinate Search
By default, search rotation angles presumed entered with respect to model coordinates. To specify rotation angles with respect to
project coordinates, add command:
NOTE: The difference between PAR7 and PAR8 is that PAR7 is tested at all cases whereas PAR8 is tested
only when the number of composites within the search volume is equal to IOP7.
NOTE: If the kriging variance for a block exceeds PAR18, the block estimate is not stored.
Maximum 3-D search distance can be changed for the assays that are greater than a specified cutoff. For this, add the following lines
in your run file:
2) PAR31 and PAR32 apply to the items in the primary (first) calculation only.
3) For composites greater than or equal to PAR31 in value, the maximum 3-D search distance will
be ABS(PAR32), instead of regular PAR4. If PAR32 < 0, the grades above cutoff at distances
greater than ABS(PAR32) will be truncated to PAR31. Use IOP27 to store the true grade value
if the closest composite happens to be an outlier.
Similarly, maximum 3-D search distance can be changed for the assays that are less than a specified cutoff.
For this, add the following lines in your run file:
PAR33 = LOW GRADE CUTOFF FOR CHANGING THE 3-D SEARCH DISTANCE
PAR34 = THE 3-D SEARCH DISTANCE AT THE SPECIFIED CUTOFF FOR LOW GRADES
NOTE: 1) For composites less than or equal to PAR33 in value, the maximum 3-D search distance will
be PAR34, instead of regular PAR4.
2) PAR33 - PAR34 apply to the items in the primary (first) calculation only.
IOP27 = OPTION TO STORE THE CLOSEST COMPOSITE GRADE VALUE (for polygonal method only)
= 0 STORE THE VALUE OF THE OUTLIER CUTOFF (PAR31) AS THE CLOSEST COMPOSITE GRADE
IF THE CLOSEST COMPOSITE IS GREATER THAN PAR31 IN VALUE AND IT IS AT A DISTANCE
GREATER THAN ABS(PAR32). OTHERWISE, STORE THE TRUE GRADE VALUE OF THE
CLOSEST COMPOSITE (default=0).
= 1 STORE THE TRUE GRADE VALUE OF THE CLOSEST COMPOSITE INDEPENDENTLY OF PAR31
AND ABS(PAR32) VALUES.
NOTE: 1) IOP27 is valid if PAR31 (outlier cutoff) is used and PAR32 is negative.
2) IOP27 is invalid in M624MIK and M624IK.
The M624V1 run file must contain the specifications of one variogram model to be used for kriging. To specify the nugget and sill
values for the variogram, enter the following command lines:
or
CMD = SPH COORD filename FILE sill-value R1 R2 R3
where
NUGGET = Keyword for the program (could be abbreviated NUG)
nug-value = Nugget value for the program. Enter even when it is zero.
SPH = Keyword for the program for spherical model.
Use LIN for a linear variogram or EXP for an exponential.
sill-value = Individual sill value for the specified variogram (C1 or C2, etc.).
For a single model, this value equals to total sill minus the nugget.
R1 = Range in the new north (major-axis) direction
R2 = Range in the new east direction
R3 = Range in the new up direction
ROTN = Rotation from the old north axis to the new north axis (clockwise is a positive rotation)
DIPN = Dip of the new north axis measured horizontally (negative dip is plunging down)
DIPE = Dip easterly from the new north axis (the horizontal component of this vector is 90o clockwise from
the new north axis projected in the old horizontal plane. The dip is measured as in DIPN.)
ROTN, DIPN, DIPE = MEDS rotation angles
ROT1, ROT2, ROT3 = GSLIB rotation angles
filename = Name of the ASCII file with coordinates of points defining rotation
FILE = Keyword following the filename
You can use extra values to control the variogram values. If the computed variogram value between a block and the sample exceeds
the user specified value corresponding to the controlling item, then the sample is rejected.
Example:
CMD = VGLIM label09 .25 .33 .44 .55 .66 .45 .75 .70 .70
where
VGLIM is a keyword, label09 is the composite controlling item and the 10 numbers are the 10 maximum variogram values
allowed for composites with label09 values of 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10 respectively.
By default, rotation angles are presumed to be entered with respect to model coordinates. To enter variogram rotation angles with
respect to project coordinates, add command:
NOTES:
1. Nested variogram models can be entered by adding more Variogram Specification Lines in your run file (max = 3). For
example, a nested spherical model could be entered as:
CMD = NUGGET CO
CMD = SPH C1 R1 R2 R3 ... CMD = SPH C2 R4 R5 R6 ...
where
CO=NUGGET, CO+C1+C2=SILL, R1 R2 R3= 3-D ranges of the first structure, R4 R5 R6=3-D ranges of the second
structure, etc.
Angles are either all with respect to model coordinates (default), or all with respect to poject coordinates (if CMD =
VGM PROJECT above is entered).
2. The program allows the interpolation of multiple grades provided that these grades have the same variogram parameters.
3. Horizontal and vertical anisotropy ratios are calculated based on the 3-D ranges entered. For example, if R1=100, R2=50
and R3=40, then horizontal anisotropy ratio = R1/R2 = 2.0 vertical anisotropy ratio = R1/R3 = 2.5
4. If ROTN, DIPN or DIPE angles are specified, the 3-D ranges will be in the new coordinate system defined by these
angles. For example, by default R1 is the range in the north-south direction. However, if ROTN=45, then R1 will be
the range in the NE-SW direction. The direction of R2 and R3 will similarly be affected based on these angles. See the
Technical Section, Figures 2, 3 and 4.
Universal kriging
Universal kriging can be an alternative method to interpolate grades in the presence of systematic drift in the ore body. To use
universal kriging, enter the following command line in your run file:
UNIV KRIGE ITEM = Keywords for the program. For the case of File 8 ONLY, use KRIG
LABEL-08 = Label of universal kriging item in sorted composite File 8.
LABEL-15 = Label of universal kriging item in mine model File 15
NOTES:
1. Label-15 is not necessary if the 3-D coordinate items (NORTH, EAST or ELEV.) are used for universal kriging. For
example, the following command line is acceptable:
2. Up to three universal kriging items may be specified in a run file. However, only one of these items can be other than
EAST, NORTH or ELEV. For example, the following command lines could be used together:
3. Block Discretization is not available for Universal kriging if Dynamic Unfolding option is used (IOP31 > 0). Point
Kriging will be employed instead of Block Kriging.
Ordinary co-kriging and simple co-kriging can be performed using a secondary variable. Prior to cokriging, the variograms for
primary and secondary variables, and the cross variogram between these variables need to be computed. By default, the co-
kriging type is ordinary.
The following line is needed in the run file to retrieve the secondary item from File 8 to be used in co-kriging. Without this line,
the program performs ordinary kriging.
CO KRIGE ITEM are a keywords, and label-09 is the secondary item to krige.
VARIOGRAM SPECIFICATION:
You must already have a variogram parameter file set up before you can proceed for co-kriging. The name of the variogram
parameter is specified in the names line as 30=<filename>.
NOTE: These variograms cannot be specified in the run file. They must be specified in the variogram parameter file. It
is not allowed to use the VGLIM option (see Section V) to control the variogram values for co-kriging.
The program can only access one composite file (File 9 or File 8). Therefore, both co-kriging items must be in the same composite
file. If co-kriging is performed using drillhole and blasthole data, then both data sets need to be merged or one set must be
appended to the other.
To use Simple Co-kriging, the following PARs must be added to the run file:
NOTE: 1) If PAR30 > 0, then the program performs simple co-kriging. Otherwise ordinary co-kriging is performed. If
you want simple cokriging, but want to use a mean of zero for the primary variable, then enter a small number
for PAR30, such as 0.000001.
NOTE ABOUT USING CO-KRIGING OR SIMPLE CO-KRIGING WITH MULTIPLE ROCK TYPES:
If you want to co-krige multiple rock types using different variograms, then the program will need to be run separately for each
rock type. When doing multiple runs, use RUN=OMIT line in the run file.
OPTIONAL PARAMETERS:
1. You can optionally specify the maximum number of composites to use when kriging a block and you can set the
maximum distance from the block centroid to limit the amount of data used in interpolation.
2. Ellipsoidal search for secondary data, add the following line in the run file:
SRCH#2 is the key word for the program indicating a 3-D ellipsoidal search for the secondary data.
The definitions of RX, RX, RZ, ROTN, DIPN, and DIPE are the same as described in Section II above.
3. To enter block variances for primary and/or secondary variables, add the following lines in the run file:
BLOCK VAR1 are the key words for the program indicating that the block variance of the primary variable is <var1>.
BLOCK VAR2 are the key words for the program indicating that the block variance of the secondary variable is <var2>.
4. To enter block discretizations for primary and/or secondary variables, add the following lines in the run file:
BLOCK DISC1 are the key words for the program indicating that the block discretization of the primary variable are
<dx1> <dy1> <dz1>.
BLOCK DISC2 are the key words for the program indicating that the block discretization of the secondary variable are
<dx2> <dy2> <dz2>.
5. To store information used in kriging for the secondary item, add the following line(s) to the run file. To store this
information for the secondary item, you must include the same line for the primary item. The order of the lines
determines which line refers to the primary item and which line is the secondary item. If there is only one ITM line, then
the program assumes you are storing the information for the primary data only. See also Section XIX, ITM lines for
values to be computed and stored.
ITMn = label-15 BLOCK CALC #COMP NCOM / stores the # of data used for the primary item
ITMn = label-15 BLOCK CALC #COMP NCOM / stores the # of data used for the secondary item
ITMn = label-15 BLOCK CALC #COMP NDHO / stores the # of drillholes used for the primary item
ITMn = label-15 BLOCK CALC RINGS DMIN / stores the distance to the closest data for the primary item
ITMn = label-15 BLOCK CALC RINGS DMIN / stores the distance to the closest data for the secondary item
ITMn = label-15 BLOCK CALC RINGS DMAX / stores the distance to the farthest data for the primary item
ITMn = label-15 BLOCK CALC RINGS DMAX / stores the distance to the farthest data for the secondary item
ITMn = label-15 BLOCK CALC RINGS DAVG / stores the average distance from the data for the primary item
ITMn = label-15 BLOCK CALC RINGS DAVG / stores the average distance from the data for the secondary item
The program can only access one composite file (File 9 or File 8). Therefore, both co-kriging items must be in the same composite
file. If co-kriging is performed using drillhole and blasthole data, then both data sets need to be merged or one set must be
appended to the other.
To use Simple Co-kriging, the following PARs must be added to the run file:
NOTE: 1) If PAR30 > 0, then the program performs simple co-kriging. Otherwise ordinary co-kriging is performed. If
you want simple cokriging, but want to use a mean of zero for the primary variable, then enter a small number
for PAR30, such as 0.000001.
NOTE: Ordinary Kriging and Simple Co-Kriging are not available for the Dynamic Unfolding option (IOP31 > 1).
Lognormal Kriging
Use:
It uses the log transformed data values to calculate the block grade, which is then transformed for the final result.
NOTE: Block Discretization is not available for Lognormal Kriging if the Dynamic Unfolding option is used (IOP31 > 1). Point
Kriging will be employed instead of Block Kriging.
In your run file for M624V1, add the following line for ORK:
The remainder of the run file is the same as the Ordinary Kriging run file.
Call Technical Support if you need help on how to calculate those items.
NOTE: Block Discretization is not available for Outlier Restricted Kriging if the Dynamic Unfolding option is used (IOP31 > 0).
Point Kriging will be employed instead of Block Kriging.
USE NNK keywords, #samples is the nearest number of samples to utilize (>0), and factor is the smoothing correction factor (min=0,
max=1).
If #samples = 1, the nearest sample will have the most influence on the block grade. If factor = 0,
maximum smoothing is achieved (like ordinary Kriging). If factor = 1, there is no smoothing (like the polygonal approach).
NOTE: Block Discretization is not available for Nearest Neighbor Kriging if the Dynamic Unfolding option is used (IOP31 > 0).
Point Kriging will be employed instead of Block Kriging.
Simple Kriging
IOP17=5
PAR30 = mean grade of the area to be kriged.
The program also allows you to use the mean of composite data within a specified distance,
instead of PAR30, for simple Kriging. The distance is specified in PAR5.
In order to use a mean value from the model add the following CMD line:
The value stored in the item will be used as the mean value. If no value is stored in the item, the mean value from PAR30 will be
used by default.
NOTE: Block Discretization is not available for Simple Kriging if the Dynamic Unfolding option is used (IOP31 > 0). Point
Kriging will be employed instead of Block Kriging.
factor is the proportion of area of influence. If this proportion is 1.0, a sample will have 100% influence to the blocks within its area
of influence. However, that does not mean that the blocks will be assigned the grade of the nearest sample.
NOTE: Block Discretization is not available for Area of Influence Kriging if the Dynamic Unfolding option is used (IOP31 > 0).
Point Kriging will be employed instead of Block Kriging.
The program can optionally calculate and store both the percent and the grade of ore above a specified cutoff using lognormal short
cut technique.
where
NOTE: Replace PERCENT by PROPORTION if you want the numbers stored from 0 to 1.0 instead of 0 to 100.
For any of the above command lines, enter the following parameters:
Although a kriging estimation error is calculated for each block, the program will not store the result unless the following
command line is specified:
NOTE: The estimation error can be stored in six different ways. This is specified in IOP20 in your run
file. Relative kriging variance = kriging variance divided by the square of the estimated grade.
Combined Variance = square root of the result of local variance multiplied by Kriging variance
where local variance of the weighted average (2 w) is:
Relative Variability Index = square root of combined variance divided by the Kriging grade.
Sample Run File #1 demonstrates the use of this option as described above.
If the following lines are used instead, then items can be stored simultaneously:
To interpolate GSM or 2-D surface data, the coordinate selection must be based on X and Y coordinates only without regard to any
bench elevations. If this is the case, then use one of the following commands in your run file depending on which source is appropriate.
CARD DATA INPUT = Keywords for the program indicating that input is from an ASCII file
FILE DATA INPUT = Keywords for the program indicating that input is from File 8
SCAN2-D = Keywords for the program indicating a 2-D coordinate search
When interpolating into the GSM, there may be seams that branch and need to be modeled separately. Use the following command:
FILE DATA INPUT = Keywords for the program indicating that input is from File 8
SCAN1-D = Keyword for the program indicating a SCAN1-D search
NOTE: Replace keyword FILE with CARD if input is from an ASCII file. See Input from an ASCII File
section for more information.
The SCAN1-D option allows you to define which codes will be used by allowing up to four additional (alias) codes to be read on
the Area Specification Lines.
M620V1 Sample Run File #16 demonstrates the use of this option.
Normally, when bench composites are calculated with M501V1, the elevations that are stored for the bench are the elevations.
However, there is an option to store bench midpoint elevations in the composite file. If this option is used, you must specify the
following interpolation option to correctly search for the composite elevation.
ELEV ZMID = Keywords for the program indicating the need to search from the mid-point of the bench
The RUN=RESET or RUN=ZERO commands should be used for the new interpolation results to supersede the existing values.
The RUN=OMIT command should be used when doing multiple program runs (e.g., if you interpolate different geologic zones
with corresponding interpolation parameters). RUN=RESET will reset all blocks in an interpolation run regardless of model codes.
Geologic matching can be done only if the pertinent geologic codes or rock types are stored in both File 8 and File 15. For a single
geologic match, include the following lines in your run file:
IOP4 = 1
ITMn = label-15 label-08 MATCH MODEL
where
For geologic matching of two different items in File 8 and File 15, include the following lines in your run file:
IOP4 = 2
ITMn = label1-15 label1-08 MATCH MODEL
ITMn = label2-15 label2-08 MATCH MODEL
where
NOTE: The program can MATCH on codes with values up to 999999. MATCHing and aliasing will
work for 0 block codes and you can now alias a 0 code to some other value. A maximum of 5
geologic matchings is allowed.
If the geology codes are stored in File 8, but not in File 15, it is possible to assign model geology and match geologic codes during
the interpolation run using polygonal assignment of composite geology. To do this, include the following lines in your run file:
IOP4 = 1
ITMn = label-15 label-08 MATCH POLYG
where
NOTE: The precision of the geology item in both the composite and model files must be equal to 1.
During the interpolation, the program will assign a code to each block based on the geology code of the
nearest composite. It will then proceed with the standard matching of composite and model geology codes.
This option can only be used with BLOCK LIMIT when different model items are used for each option.
Interpolation can be limited to certain mine model blocks based on geology codes or rock types. The precision of the block codes
must be equal to 1. To do this, use the following lines in your run file:
BLOCK LIMIT CODES = Keywords for the program indicating the option for block limiting.
V1, V2 ... Vn = Integer codes from 1 to 9999999999 (10-digits) can be used for block limiting.
More than one code line may be entered if needed.
label-15 = Label of model item with geology codes
BLOCK LIMIT = Keywords for the program indicating the option for block limiting.
For limiting on two different items in File 15, include the following lines in your run file.
A maximum of five items can be used for geologic limiting per run.
Use this option to interpolate some blocks with certain geologic codes using composites that have different geologic codes. This option
allows you to assign alias (assumed) geology codes to the blocks to be interpolated so that they can be treated under the assumed
code. Suppose you have blocks coded 1, 2, 3 and 4, and composites coded 1 or 2. To interpolate code 1 and 3 blocks with code 1
composites and code 2 and 4 blocks with code 2 composites, use the alias option. First, include BLOCK LIMITing and MATCHing
options in your run file. Then set the following options:
where n is the number of cross reference codes to alias block codes. Next enter another line following the END line in your run file
specifying the cross reference codes (n). A maximum of 10 cross reference codes per line is allowed. If IOP13=1 through 10, one
cross reference line is read. If IOP13=11 through 20, two cross reference lines are read.
For the above example, set IOP13=4 and put 1 2 1 2 after the END line in your run file. The 1 2 1 2 indicates that composites with
code 1 are used to interpolate the blocks with codes 1 and 3, and composites with code 2 are used to interpolate the blocks with
codes 2 and 4.
M620V1 Sample Run File #10 demonstrates the use of this option.
There is an alternate format (IOP13=1) to input alias codes after the END line using actual, alias pairs. This is useful when you
wish to alias only a few, widely separated codes, for example, to interpolate blocks coded 6 and 12 with composites coded 1, include
this line 6,1 12,1 after the END line.
Enter the following commands in your run file if the relative coordinates are to be used during the interpolation:
ELEV (RELX, RELY) IS = Keywords for the program indicating to use the relative coordinates
NOTE: This option can be used for 3-D models. The option cannot be used when usingASCII input data.
The program will first test PAR1, PAR2, and PAR3 against the differences between true (original)
composite and block Northing, Easting and Elevations. Select PARs 1, 2, and 3 in such a manner
so that the difference in the original coordinates of a compsite and a block guarantees the desired
difference between the composite relative coordinate and the relative coordinate value of a block.
Further search limitation (as PAR4) will be used against the relative composite and block
coordinates.
PAR20 = Optional search distance for the elevation range (Default = PAR3)
NOTE: PAR3 is still applied to the original elevations (both for composites and blocks). Program
applies PAR20 to the relative elevations.
Enter the following command to weight the composites by a special weighting factor:
where
label-08 = Label of the composite item to be used for weighting
FACTR = Keyword for the program indicating the special weighting factor option
If this option is used, the program will multiply the kriging weight of the composite by the corresponding value of the weighting
item for that composite before computing the adjusted weights.
NOTES: 1) This option cannot be used if CARD input is used. The values of the weighting item cannot be zero or
undefined.
M620V1 Sample Run File #9 demonstrates the use of this option.
To execute ordinary kriging enter this command: ITMn = label-15 label-08 CALC KRIGE
To execute lognormal kriging enter this command: ITMn = label-15 label-08 ALOG KRIGE
The following optional ITM lines that have Keywords can be used in the run file to store the number of composites used to interpolate
each block, the number of drillholes used for each block, the distance to the closest composite for each block, the distance to the
farthest composite for each block, and/or the average distance from the composites for each block:
ITMn = label-15 BLOCK CALC #COMP NCOM / Stores the number of composites used to interpolate each block
ITMn = label-15 BLOCK CALC #COMP NDHO / Stores the number of drillholes used per block
ITMn = label-15 BLOCK CALC RINGS DMIN / Stores the distance to the closest composite for each block
ITMn = label-15 BLOCK CALC RINGS DAVG / Stores the average distance to the block
ITMn = label-15 BLOCK CALC RINGS DMAX / Stores the distance to the farthest composite for each block
For example,
where
label-15 = Label of model item to store # of composites used to interpolate a block
BLOCK CALC #COMP NCOM = Keywords for the program
NOTE: You may optionally select composites by specifying RANGE, OMIT or TABLE.
The minimum and maximum number of composites used to interpolate a block can be specified in the run file using IOP7 and IOP16.
For example, to interpolate a block with a minimum of four composites to a maximum of 18 composites, use the following lines in
your run file:
IOP7 = 4
IOP16 = 18
NOTE: IOP7 will work only if the distance to the closest composite is greater than PAR8. To use only
the minimum number of composites criterion, then specify PAR8 = a small number (such as .01)
The number of composites used to interpolate a block from an individual hole can be limited with IOP19. For example, to use no
more than three composites from an individual hole, set IOP19=3 in your run file. If IOP19=0 (default), there is no limitation on the
number of composites used from an individual hole.
NOTE: The use of IOP19 will increase the computing time for interpolation.
Composites used in interpolation can be selected using RANGE, OMIT or TABLE with the ITM command. See ITM commands in
the Introduction, Vol. I, for an explanation of their use.
The composite assay data input to the interpolation programs is normally from MineSight Data File 9 (or 8) or from an MSTorque
database. However, the programs are also designed to read data from an ASCII file. To use an ASCII input file, follow the steps below:
1. Include REF# (or DHID), X, Y and Z coordinates (if 3-D interpolation), and a grade item on each line of input.
2. Include 8=CARD in the NAMES LINE of your run file. Also include 19=filename if the data is in a separate file
3. Also include the following lines in your run file.
INP8 = REF# EAST NORTH ELEV. value1 ... geol1
where
REF#, EAST, NORTH, ELEV. = Keywords for the program (not necessarily in this order)
value1, value2, etc. = Grade items to be interpolated
geol1, etc. = Geology items to be interpolated
The format of the data in the ASCII file is free field format.
On the INP8 line, you must specify the column names for all the columns in the ASCII file (max allowed number of columns
is 99). To skip a column, enter DUMMY as a column header, or enter a name that is not used as an input item.
4. The following line is optional and can be included to specify a CALC items minimum value. Otherwise the minimum is
assumed to be zero.
CALC = keyword
MINn = indicates which CALC item from the INP line is being set
value = the minimum value
For example:
If composite data lines are included within the run file, only one Area Specification Line can be used.
CASE 1 - There are multiple items to krige and each item has its own variogram, e.g., kriging gold and silver grades with the same
run file but having different variograms for gold and silver.
Warning: When kriging multiple items, the program assumes that the same number of composites are avalable for the secondary
items as for the primary item. In other words, inconsistent missing intervals such as a missing value for one item but not the other
ones, will produce erroneous results.
CASE 2 - Only one item is to be kriged but there are different variograms for each geologic unit, e.g., kriging gold grades with a
different variogram for each rock type. For this case, the label of the geologic item must be specified with either of the following
commands:
In both cases, parameters for multiple variograms are entered through an external input file. The variogram parameter file name
is entered in the run file on the names line as 30=filename. When there is a file name specified in the run file, the program will
automatically look for this file and try to read it. Any variogram parameter specified in the run file through the CMD function is
ignored. Examples of the variogram file for each case follow.
NOTE: There has to be one set of variogram parameters specified for each item to be kriged even when
the variogram parameters are the same for more than one item. As many as nine items or geologic
codes can be kriged simultaneously. However, the total number of model items to be stored cannot
exceed ten.
NOTE: Specify a set of variograms for each item to be kriged. For example, if five items are to be kriged,
there must be five sets of variogram parameters.
If there are more variograms than the number of kriging items, the program ignores the extra
variograms. However, if there are more kriging items than variograms, the program stops with
an error message. The maximum number of variograms is 9.
Calculation information stored in model items will be for the first kriging item. Options affected
are:
BLOCK ERROR
BLOCK CALC #COMP
BLOCK CALC RINGS
IS PERCENT ABOVE CUTOFF
IS GRADE ABOVE CUTOFF
Line #1: VARITM = label-15(Identifies item to be used and signals that this is Case 2)
Line #2: Nugget value for the first geologic codeInteger geologic code
Lines #3, #3A, #3B, #4 are the same as Case 1.
Lines 24 repeat for the remaining geologic codes.
The digitized boundary of an area may be used to define the blocks that will be interpolated. The boundary will be used to determine
a minimum and maximum column to be kriged in each row. The boundary must be contained in its own file; this file is entered using
the following line:
NOTE: 1) Any block that is inside or touching the boundary will receive interpolated values.
2) All files must have a single point of each line in Easting, Northing order.
There are three types of input for a boundary file, with the header line defining each type:
1) Boundary in VBM point file format has a numeric plane number in the header.
3000 1002
13510.20 12006.20
13384.50 11820.40
. .
13510.20 12006.20
0.00 0.00
2) Boundary in Survey file format with BNCH in the header. Keyword SBND is for Survey.
3) Boundary in M122-IGP overlay format with IDENT in the header. Keyword POINT is for IGP.
IDENT 0 1 3000.0
POINT 1 13510.2 12006.2 3
POINT 1 13384.5 11820.4 2
. . .
POINT 1 13510.2 12006.2 2
POINT -1 0.0 0.0 0
By default, coordinate items in a composite file are EAST, NORTH, and ELEV. (note the dot of the elevation item label).
To override any of those items, (e.g., use XBOT, YBOT, ZBOT) use the following commands:
For easting:
For northing:
For elevation:
NOTE: The last command is required when SCAN2-D option is used with inclined models.
By default, seam numbers are read from the controlling Z item in the PCF.
When using MSTorque composites you have to specify the attribute that was used as seams. In MSTorque the seam attribute has
Enumerated type; the code values of the attribute must match the seam numbers in the PCF.
The command:
will override the controlling seam item stored in the PCF, and use label-08 as the item with seam numbers.
Use
If you want the negative kriging weights to be set to zero only when the block value estimated is below the minimum value set in
the model file. If this happens, the sum of all other weights is normalized to 1.
Use
If you want the negative kriging weights to be always set to zero and the sum of all other weights to be normalized to 1
Use
if you want to remove the samples with negative weights. The program will recalculate the kriging matrix and the weights, and it
will continue until no more negative weights are encountered within tolerance. This option is only available for Ordinary Kriging.
Tolerance (optional):
If the negative weight is below the tolerance, the sample is removed. The tolerance should be a negative value. Suggested tolerance
is -0.001 to tolerate samples with negligible weights.
Block and DIL% are keywords, label-15 is the item to store the dilution. The item values will be between 0 and 100. If this item
is not specified, then no calculation is done.
SWTDIF = sum of weighted absolute differences between the block grade and the composites used that are below the block
grade when the block grade is above the cutoff and N = total number of composites used to calculate the block estimate.
and
Cutoff is the value that the dilution or smoothing measur ecalculation is based on. If the cutoff is zero, then the calculation
is done using all the composites for the block without applying a cutoff. The result is then a measure of how well the nearby
composites match to the calculated block value.
Prerequisite: You must have an RSI object file available in the \_msresources folder
Dynamic Unfolding is an on the fly calculation of two distances between composites and model blocks: normal to a specific
surface and a geodesic distance (shortest distance) along the surface. These distances are used in place of Euclidean distances
in IDW and Kriging calculations. You may want to use Dynamic Unfolding if the grade intensely follows a known surface. The
RSI object corresponding to one surface or a pair of surfaces must be created in MS3D beforehand.
A Fast Marching Result (FMR) file can be prepared in MS3D beforehand as well. You can also generate an FMR file from a RSI
file using specified parameters.
IOP31 = 2 RUN FAST MARCHING, CREATE NEW FMR FILE AND USE DYNAMIC UNFOLDING
This option requires the following command lines:
F1 and F2 - lower and upper limiting of composites by relative Z from the RSI file. If RSI file is generated from a
single surface, the Rel-Z is a signed distance to that surface. In case of two surfaces the Rel-Z values are between 0 and
1;
F3 - Fast Marching Grid size (it is recommended to make it greater then the max of DX,DY and DZ sizes for a block);
F4 - Fast Marching Grid Range (it has to be greater then the maximum 3-D search distance [PAR4]);
F5 - Size of Euclidean Region (Distances within the Euclidean Region are measured directly, without unfolding. The
size of the Euclidean region is expected to be multiple of the grid size. It will be automatically rounded by the program
to the nearest multiple of the grid size and set to be at least one grid.).
F6 = 0 - dont use Reference North (default) if F6 is not present or it is 0, then F7 and F8 are not used and not
required;
= 1 - use Reference North (this means that azimuths of geodesic directions are counted from the Reference North
direction defined by parameters F7 and F8. This direction should be almost tangent to the surface in all points. You need
geodesic azimuths and the Referecne North (F7 and F8) direction to use an anisotropic search and/or variograms with
any anisotropy along the surface.);
IOP31 = 3 RETRIEVE PARAMETERS FROM EXISTING FMR FILE, RE-CREATE FMR FILE AND USE DYNAMIC
UNFOLDING
where filename.fmr is the name of the fmr file where the parameters will be retrieved from and is the file that will be
overwritten after re-running Fast Marching.
END This end card must come at the end of any options selected from this section.
If IOP13>0, read 10 integer codes per line in free-field format, where the first line contains the alias codes for actual codes, 110,
the second line contains the alias codes for actual codes 1120, etc.
For example, if IOP13=5 (block codes are 1 to 5) and if 1 1 3 3 3 are input for cross reference, then data with geologic codes 1 and
2 will be used as the same type and codes 3, 4 and 5 will be used together.
If IOP13 = 1, read up to 5 alias pairs per line in a free-field format as actual, aliasactual, alias . .; input is terminated by a 0, 0
as the first pair of a line.
For example, if actual codes 98, 99, 108, and 109 will be used as code 1, actual code 0 will be used as code 5 and other actual codes
will be used as is, the entry could look like:
The 0, 5 pair could also be included in the first line to make 5 pairs. Do it whichever way is the clearest.
where comp1-n are optional composite codes for controlling split seam interpolation. See SCAN1-D and M620V1 Sample Run
File #16. The run will end on an end-of-file condition. A blank line or zero will default to the PCF limits and interpolate the entire
block model.
If Composite Data Lines are included within the run file, then only one Area Specification Line can be used. If Composite Data Lines
are in a separate file, include a 19=filename in the Names Line.
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
END
30 30 25 25 20 20
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM * * TEST RUN #12: M624V1
END
33 33 25 25 20 20
30 DH-43 13350. 12550. 3500. 0.058
32 DH-56 13150. 12350. 3700. 0.092
34 DH-62 13200. 12500. 3650. 0.126
35 DH-63 13300. 12400. 3550. 0.402
36 DH-65 13350. 12550. 3700. 0.312
39 DH-61 13300. 12400. 3650. 0.201
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM ** TEST RUN #15: M624V1
END
30 30 25 25 20 20
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM ** TEST RUN #16: M624V1
END
30 30 25 25 20 20
COM
COM 2-D MODEL INTERPOLATION
COM
USR = ABC
RUN = RESET
I-O = 1
END
1 50 1 50 1 1
USR = ABC
RUN = RESET
COM
COM 3-D MODEL INTERPOLATION
COM
COM ** TEST RUN #16: M624V1
END
30 30 25 25 20 20
COM
COM 3-D MODEL INTERPOLATION
COM
COM ** TEST RUN #17: M624V1
USR = ABC
RUN = RESET
END
33 33 25 25 20 20
USR = ABC
RUN = RESET
COM
COM GSM MODEL INTERPOLATION
COM
END
1 72 1 96 2 2
RUN = RESET
RUN = RESET
1. The program will list all the composites within the search window of each interpolated row if I-O=2 is
specified in the run file. The program will also list all the items in the composite and model files, the
total number of blocks interpolated for each row, and other debug information. This option is not sug-
gested when interpolating the entire model.
2. The program will print the location of composites, the distance to the block, and composite grades and
weights for each block interpolated if IOP11 is set to the row# for debug output.
3. If ellipsoidal search is used, then the 3-D distance calculated between a composite and the block will
be the adjusted distance based on the anisotropy ratios. This is the distance that is printed on the output
file when the debug option is on.
4. The difference between PAR7 and PAR8 is very subtle. PAR7 is tested at all times. PAR8 is test only if
the number of composites to interpolate the block is equal to IOP7.
5. Be sure to select composite and model file item labels that are not used as keywords by the program to
execute certain commands.
6. If youre using more than one ITM command, number them sequentially, without repetition.
7. Multiple Area Selection Lines are allowed. The program will interpolate the blocks specified in the
first line, then it will interpolate the blocks specified in the second line and so on. The only exception
is when the ASCII input option is used and the composite data follows the run file.
9. If IOP5=1 (use the minimum grade criterion), then PAR9 must be specified. The minimum grade cri-
terion is based on the grade of the composite closest to the block being interpolated. If the grade of the
closest composite is greater than PAR9, then the program uses only the composites whose grades are
greater than PAR9. If the grade of the closest composite is less than PAR9, then the program uses only
the composites whose grades are less than PAR9.
will occur if the minimum column is greater than the maximum column, or the minimum row is
greater than the maximum row, or the minimum bench is greater than the maximum bench.
will appear if you do not specify any ITM lines that will store data in the model file.
will appear if you specify more than two ITMn=CALC POLYG lines.
will appear if you specify more than two items for geology matching.
will appear if there are any errors when reading ASCII data.
17. %M621V1: WARNING: You can only check for duplicate points on blasthole projects. IOP21 is
being reset to 0.
IOP21 is applicable to blasthole projects only. There is no need to check for duplicate composites on
non-blasthole projects. If you try to activate IOP21 for a non-blasthole project it will be reset to zero
and the program will continue normally.
- Updated Model File 1. The primary coordinate selection is usually based upon the
- Printer Output File range of ZTOE - PAR3 to ZTOE + PAR3, where ZTOE is
the toe elevation of the bench to be used.
If topographic or other 2-D data is to be interpolated, then
this selection is not used. However, set PAR3 to be a small
non-zero value (e.g. 0.1).
Note: If 9 = filename is specified on the names line, then composite data will be retrieved from this file
9. To request an ASCII input DO NOT enter 9 = on the names line and specify 8 = CARD. To
access the MSTorque database, use 8=TORQ and include an MSTorque info file (mstorq.inf). For
information about the MSTorque info file, please refer to the M600-Technical Section, Technical
Considerations for Interpolation.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: PAR3 not used for SCAN1-D or SCAN2-D. However, still enter a small non-zero value (e.g. 0.1).
These parameters define a rectangular box around the block to be interpolated. This is illustrated in the Technical Section, Figure 1.
All of the composites within this rectangular box are checked against the maximum 3D search distance (PAR4). The composites
that are less than or equal to this distance from the center of the box are retained for further screening, such as geologic matching.
If there are more than n number of composites for a given block after all the tests, then the composites are sorted by increasing distance.
Only the closest n are retained for calculating the weights. Based on these weights, the grade of the block is computed and stored.
IMPORTANT NOTE: To interpolate GSM or 2D surface data, the coordinate selection must be based on X and Y coordinates only.
If this is the case, then use one of the following command lines in your run file:
ITMn = label-15 label-08 CALC INVWT (Inverse Distance Weighting method) -OR-
ITMn = label-15 label-08 CALC POLYG (Polygonal method)
1. BLOCK CALC RINGS <keyword> causes the distance to the closest, average, or farthest composite to be stored in the specified
model item, with the specified precision.
2. ALOG INVWT can be used in place of CALC INVWT, if you want to use the natural logarithms of grades instead of the actual
grades.
IMPORTANT NOTE: All of the options available with M620V1 are available with M625V1. See M620V1 documentation
for a full explanation of the options below.
IX1 IX2 IY1 IY2 IZ1 IZ2 comp1 comp2 comp3 comp4
Columns Rows Benches
where comp1-n are optional composite codes used to interpolate split seams. The run will end with a 0 value for IX1 to IZ2 or on
an end-of-file condition.
See the Technical Section for a complete description of these lines. If Composite Data Lines are included within the run file, then only
one Area Specification Line can be used. If Composite Data Lines are in a separate file, include a 19=filename in the Names Line.
USR = ABC
RUN = RESET
COM
COM TREND PLANE INTERPOLATION
COM
ITM1 = TCU1TCUCALCINVWT
END
32 32 24 24 18 18
1. Multiple Area Selection Lines are allowed. The program will interpolate the blocks specified in the first line, then it will interpolate
the blocks specified in the second line and so on. The only exception is when the ASCII input option is used and the composite
data follows the run file.
2. ?M625V1: ERROR. You have exceeded the maximum number of composites 4000
The maximum number of composites that the program can handle for a single row is 4000. If this number is exceeded, the
program will print an error message and stop interpolating at that row. If this happens, first check if you can decrease the X, Y
or Z search distances used by the program. If you can, then try again starting from the row where the program stopped and see
if this will solve the problem. If it does not, try to specify fewer columns to interpolate by using multiple Area Selection Lines.
M625V1 encountered 3 errors setting up your run. There will be additional error messages describing the three errors.
6. ?M625V1: ERROR. You have selected BENCH xxx with an AREA SELECTION LINE. However, your model is only
initialized thru BENCH yyy.
The IZ2 on one of your area selection lines exceeds the last initialized bench in your model. If you really want to run M625V1
through bench xxx, then you need to go back and run M601V1 to initialize your model through bench xxx.
7. ?M625V1: ERROR. The AREA specified on the following AREA SELECTION LINE is badly defined.
For example:
IX1 IX2 IY1 IY2 IZ1 IZ2
0 0 23 1 0 0 - in the run file
1 100 23 1 1 40 - with default values for X and Z
- X and Y offsets You can specify offset constants so that the topography can be
- Format of input data shifted in easting and northing in terms of column and row
- File 13 item label numbers. The coded matrix data can be at the end of the run file
or in a separate file.
A single line of text that will be printed at the top of each page of printer output from the run.
END
USR = ABC
PUT13 = TOPOG
USR = ABC
PUT13 = TOPOG
USR = ABC
PUT13 = SEAM
1. M630V1 will automatically output the input values to the Printer Output File. This output can be checked for input or format
errors.
2. The best way to quickly check the 2-D matrix loaded to File 13 is to generate printer grid or contour maps using M606V2 or
M607V2, respectively. Minor updates can be done interactively using M602FS/TS.
3. A list of File 13 items can be output to the screen if the run file contains I-O=2. This may be useful to see what other items are
available in File 13.
PROGRAM FLOW DIAGRAM If you have initialized the topo percent item of the mine model
to 100%, the M633V1 run(s) can be limited to those benches
RUN FILE: that interact with the ground surface. If the topo percent item
- Area selection has not been initialized to 100%, all benches within the mine
- Item selection model must be accessed by M633V1. You may elect to add the
topo to the mine model using several M633V1 runs, since the
calculations are time consuming.
A single line of text that will be printed at the top of each page of printer output from the run.
IOP7 = OPTION TO ACCESS BENCHES THAT INTERACT WITH SURFACE (If IOP10=0)
= -1 SET ALL BENCHES
= 0 SET ONLY BENCHES ABOVE SURFACE
END
USR = ABC
END
END
USR = ABC
END
NOTE: By running Runfile #2 then Runfile #3, you will set ZONE in File 15 to 1 for all blocks above
TOPOG in file 13. Blocks between TOPOG and TOPOI will have ZONE set to 2 and all blocks below
TOPOI will have ZONE set to 3.
Your BENCH/ROW/COLUMN selections, IOP 1 through IOP6, are badly defined. In the above example, note that the Last
BENCH (100) exceeds the Maximum BENCH (52). The Maximum BENCH is the last bench initialized with M601V1, not the
last bench in the model. Also in the above example, note that the First ROW exceeds the Last ROW.
IOP1 = 1
A 2-D boundary imposed within the input data area limits the
extent of the surface. The Z-value of each boundary point is
determined by the surface it is imposed on; the surface geometry
OUTPUT: is determined entirely by the input data. The program actually
- DTM File will make 2 DTMs, a preliminary DTM to calculate the Z-values
- M122 Plot File of the boundary points and a final DTM that contains the points
- Printer Output File on or inside the boundary polygon and the boundary points.
IOP1 = 2
A 3-D boundary uses all input data within the boundary area.
The Z-value of each boundary point is input; the surface
geometry near the boundary may be substantially altered. The
edge of the DTM is forced to the Z-values of the boundary
without regard to the surface geometry of the input data in the
same area. For example, if 2 different sets of input data used in
the same 3-D boundary, the resulting DTM surfaces would be
pinched together at the edge.
IOP1 = 3
A 2-D boundary that extends beyond the input data area uses all
input data within the boundary. The Z-value of each boundary
point is a linear estimation based on data points that are
connected to it in the triangular mesh; the geometry of the surface
A single line of text that will be printed at the top of each page of printer output from the run.
IOP1 = 0 NO BOUNDARY
= 1 BOUNDARY FILE (31) IS 2-D AND WITHIN INPUT DATA AREA;
SURFACE GEOMETRY IS DETERMINED BY INPUT DATA ONLY
= 2 BOUNDARY FILE (31) IS 3-D;
SURFACE GEOMETRY NEAR THE BOUNDARY IS DETERMINED BY BOUNDARY POINT INPUT
= 3 BOUNDARY FILE (31) IS 2-D;
SURFACE GEOMETRY NEAR THE BOUNDARY ESTIMATED BASED ON INPUT DATA
NOTE: IF IOP1=1, 2 OR 3, a boundary filename must be specified on the names line as File 31. The boundary
must be clockwise and closed.
Color Coding:
If IOP3 = 0, the line segments between nodes may be color coded according to slope (in degrees) between them using either the PLT
command or the CMD=PLOT CUT and CMD=PLOT PEN commands as shown below:
END
USR = ABC
IOP3 = 0 / 0=WRITE PLOT COMMANDS TO FILE 19, 1=DO NOT MAKE PLOT
IOP4 = 0 / 0=OMIT LABEL PLOT COMMANDS FOR NODES
COM 1=LABEL EACH DTM NODE WITH THE Z VALUE (IF IOP3=0)
I-O = 0 / IOLEV
END
9102.PIT
3. %M635V1: WARNING Your ENTIRE DATA FILE has been read in as a single string.
All input data points have the same code and are being treated as a single string. The program will try to honor the single string
as a breakline. If the data should be treated as multiple strings, either break codes are missing from the input data or the
parameter code file is incorrect.
Either, the deletion of this arc would cause the DTM to lose integrity or the DTM structure has somehow become corrupted. A
deletion of this arc would either leave the triangulated mesh incomplete or divide it into 2 separate meshes.
6. %M635C1: WARNING
MAXIMUM NUMBER OF BOUNDARY POINTS ALLOWED = 2000
YOU HAVE EXCEEDED THE MAXIMUM - CHECK RESULTS CAREFULLY!
The program will continue to run using only the first 2000 points as the boundary.
- Grid limits
- Grid increments
INPUT: CALCS:
OUTPUT:
A single line of text that will be printed at the top of each page of printer output from the run.
END
4. INPUT FILENAME
USR = ABC
COM
COM THE FOLLOWING PARAMETERS DEFAULT TO THE PCF VALUES
COM
END
GRID.DTM
SAMPLE OUTPUT FILE (row, col1, col2, values for col1 through col2)
62 228 231 1809.9 1809.9 1809.9 1810.0
63 225 234 1809.7 1809.8 1809.8 1809.9 1809.9 1809.9 1809.9 1810.0 1810.0 1810.0
63 235 237 1810.0 1810.0 1810.0
64 222 231 1809.6 1809.6 1809.7 1809.7 1809.8 1809.8 1809.8 1809.9 1809.9 1809.9
...
PROGRAM FLOW DIAGRAM Section plots of several DTMs may be plotted together on a
single map to verify DTM surfaces relative to each other. To
RUN FILE: produce a map with several DTM surfaces on the same section,
- Plot options
run M637V1 once for each surface and use all of the plot
- Scale, Min, Max commands files (one for each DTM) in the M122V1 run file.
MEDTOOL procedure secdtm.dat can be used to plot up to 3
DTM surfaces on a section.
A single line of text that will be printed at the top of each page of printer output from the run.
where:
Fw.d = elevation display format (e.g. F5.0)
xoffset = horizontal offset from intersection in inches (default = 0.05)
yoffset = vertical offset from intersection in inches (default = 0.00)
height = label height in inches (default = 0.08)
USR = ABC
IOP1 = 0 / 0=SIMPLY CONNECT POINTS, 1=PLOT SMOOTH CURVE
IOP2 = 0 / LINETYPE FOR PLOTTING
IOP3 = 0 / 0=NO LABELS, 1=PLOT ELEV LABELS
IOP4 = 2 / PEN# FOR SECTION LINE
IOP5 = 2 / PEN# FOR ELEV LABELS
IOP6 = 0 / 0=DO NOT PLOT SYMBOLS, N=SYMBL# FOR DATA POINTS
END
5600. 3800. 5850. 3800.
USR = ABC
MAP = 0 250. 25. 1657.5 1850. 25. /XMIN,XMAX,XSCAL,YSCAL
END
PEN# 1
USERF SURF1.PAA
USERF SURF2.PAA
PEN# 1
GRID 1. 0.0 250. 1700. 1850. 50. 150.
GRID 1. 0.0 250. 1700. 1850. 250. 50.
COORD 1 50. 1700. 250. 1700. 50. 0.08 90 0 5650. 50.
COORD 1 0.0 1700. 0.0 1800. 50. 0.08 0 0 1700. 50.
ENDOC
USR = SRV
END
5600. 3800. 5850. 3800.
PROGRAM FLOW DIAGRAM b) the toe of the block is below the upper surface
RUN FILE: c) the crest of the block is above the upper surface
- Area selection
- Item selection The output file is in the same format as M659V1 and can be
- Level requests used as input to M711V1. The upper surface is usually the
original topography or an intermediate pit. The lower surface is
usually an intermediate or ultimate pit. The surfaces may
intersect.
INPUT: CALCS:
OUTPUT:
- Output Partials File
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
END
Put level number or range of level number, one per line in any order. Terminate with end-of-file or a blank line.
USR = ABC
END
2
3
4
5
6
7
8
9
10
11
12
13
14
15
You must have exactly two ITM lines in your run file. Make sure that the lower surface has values less than the upper
surface.
You must initialize your File 13 with M601V1 before any MineSight program can access it.
3. ?M639V1: ERROR. Youve requested level xx but your last bench is yy.
You are requesting a level (xx) that exceeds the last bench in your model (yy).
INPUT: CALCS:
- PCF - Retrieve data
- Mine Model File 15 - Select data ranges
- Sub-blocked file - Calculate Values
OUTPUT:
- Updated Model File 15
- Printer Ourput File
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If there are less than IOP14 defined sub-blocks, then the undefined value will be assigned to the resulting
value for a parent block.
IOP15 = 0 DO NOT COUNT UNDEFINED SUB-BLOCKS FOR MAJORITY CODE / PERCENT / PARTIAL (default)
= 1 COUNT UNDEFINED FOR MAJORITY CODE / PERCENT / PARTIAL
where,
LABEL-15SB is the sub-blocked item and LABEL-15PR is the name of the model item which can be sub-blocked as
or not. LABEL-15PR is where the results of operations on sub-blocked data will be stored in file 15.
If LABEL-15PR is different from LABEL-15SB, it should not be sub-blocked to avoid unpredictable results.
END
END
NOTE: The use of File 19 and File 31 depends on the use of IOP20, IOP9 and IOP5. For details, please refer to the
explanation for IOP20 under Run Options.
A single line of text that will be printed at the top of each page of printer output from the run.
IOP3 = 0 2-D INPUT (X and Y only) - cannot be used with relative elevation.
= 1 3-D INPUT (X, Y, and Z)
IOP18 = 0 BLOCKS ARE REFERENCED BY COL, ROW, BENCH NUMBER IN OUTPUT (if IOP27=0)
= 1 BLOCKS ARE REFERENCED BY COORDINATES (AT CENTROID) (if IOP27=0)
IOP19 = NUMBER OF LINES TO SKIP AT THE BEGINNING OF THE ASCII INPUT FILE
IOP20 = BENCH REF# FOR SIMULATION ZMIN (if IOP18=0 and IOP27=0)
CMD = INCL LOCPT FILE filename (to include points within the boundary) OR
CMD = EXCL LOCPT FILE filename (to exclude points within the boundary)
IOP31 = 0 SGS
= 1 SIS
= 2 SIS WITH LOCAL VARYING MEAN
PAR23 =
MAJOR AXIS ROTATION
PAR24 =
MAJOR AXIS DIP
PAR25 =
PLUNGE
PAR26 =
MINOR AXIS SEARCH DISTANCE
PAR27 =
VERTICAL AXIS SEARCH DISTANCE
PAR28 =
MINIMUM VALUE FOR TAIL EXTRAPOLATION
PAR29 =
MAXIMUM VALUE FOR TAIL EXTRAPOLATION
PAR30 =
CORRELATION COEFFICIENT BETWEEN THE PRIMARY AND SECONDAR VARIABLE WHEN IOP8=4
(default=1)
PAR31 = MINIMUM EASTING FOR SIMULATION GRID (default=PCF)
PAR32 = MINIMUM NORTHING FOR SIMULATION GRID (default=PCF)
PAR33 = MINIMUM ELEVATION FOR SIMULATION GRID (default=PCF)
PAR37 = MEDIAN IK CUTOFF (default=0, Standard Indicator Kriging is used - SIS only).
PAR38 = MIDDLE TAIL PARAMETER (SIS only)
NOTE: ELEVATION, WEIGHT ITEMS and RANGE ITEMSare optional (see IOP3, IOP17, IOP28 and ITM lines)
NOTE: NSIM IS A NUMBER OF SIMULATIONS (IOP14=NSIM). FIRST NSIM POSITIONS ARE RESERVED
FOR SIMULATED ITEMS STORED TO THE MODEL. ADDITIONAL ITEMS FOLLOW <NSIM>
ITEMS.
THE MODEL ITEMS HAVE TO BE IN A CERTAIN ORDER TO PROPERLY ACCESS THE MODEL
positions 1 to NSIM: Simulated grade items to store (required)
position nsim + 1 Relative elevation item (optional)
position nsim + 2 Selection item1 (optional) - uses min, max
position nsim + 3 Selection item2 (optional) - uses min, max
position nsim + 4 Selection item3 (optional) - uses block limit codes (max 10)
FOR A LARGE NUMBER OF SIMULATIONS AND SIMILAR ITEM NAMES ONE MAY USE GROUP CMD
COMMAND ( CMD = GROUP UPD15 prefix start_index end_index zeropad):
CMD = GROUP UPD15 CUS 1 N1 IDIG (INSTEAD OF UPD15 = CUS1 ... CUS<N1>)
CMD = GROUP UPD15 CUR 1 N2 IDIG (INSTEAD OF UPD15 = CUR1 ... CUR<N2>)
NOTE: different format for collocated cokriging option (IOP8=4 and SGS only)
SIMULATED AND SECONDARY ITEMS HAVE TO BE ENTERED PAIRWISE:
UPD15 = CUS1 CO-CUS1 CUS2 CO-CUS2 CUS3 CO-CUS3 ... CUS<NSIM> CO-CUS<NSIM> (and
optional items)
NOTE: The model items have to be in certain order to properly access to the model:
positions from 1 to 2*NSIM. Simulated grade items to store AND Secondary attribute items
position 2*nsim+1. Relative elevation item (optional)
position 2*nsim+2. Selection item1 (optional) - uses min, max
position 2*nsim+3. Selection item2 (optional) - uses min, max
position 2*nsim+4. Selection item3 (optional) - uses block limit codes
FOR A LARGE NUMBER OF SIMULATIONS AND SIMILAR ITEM NAMES ONE MAY USE
GROUP CMD COMMAND (CMD = GROUP UPD15 prefix1 prefix2 start_index end_index zeropad)
NOTE: SELCT, ITEM1, ITEM2, MOD3D, and CODES are all key words
END
4. INPUT THROUGH AN ASCII FILE: USE THE FOLLOWING COMMAND LINE IN THE RUN FILE.
Free format is allowed if data columns are in the same order as the item labels.
USR = abc / Wed May 13, 2009 2:13:55 PM US Mountain Standard Time
I-O = 0
END
I-O = 0
END
MSCS SAMPLE RUN FILE #3 - example of SIS with continuous variable option
MEDS-CS 10=msop10.DAT 9=msop09.xcs 3=rptsis.t2 15=msop15.xcs;
MEDS-CS 19=datsim.out 33=vario.sis
* SIS using ROCK - input from msop09.xcs
DOC sis using continuous variable
I-O = 0
END
MSCS SAMPLE RUN FILE #4 - example of SGS with input from dat507.oa
MEDS-CS 10=msop10.DAT 30=dat507.oa 3=rptsim.t5 15=msop15.xcs;
MEDS-CS 19=datsim.out 31=bounds.dat 32=datsim.dsp 33=varcun.rk1
* SGS - ascii input from dat507.oa
USR = abc / Fri May 15, 2009 10:05:45 AM US Mountain Standard Time
I-O = 0
END
I-O = 0
END
1. A debug option is available with MSCS by entering I-O=1 or greater in the run file. The higher the debug number, the more
debugging can be done. The program will print the debug data for each block. In order to avoid large amounts of printout, use
this option for test purposes using a relatively small number of blocks.
2. You can optionally specify an input format if ASCII input if used (30=Filename). Default is free format read.
4. ?MSCS : WARNING. No. of Lines read from normal scores transformation file = xxx. This does not match the # input
data.
This message will appear if IOP5=1 and your transformation table is incompatible with input.
This message will appear if the user is trying a 2D search with the Relative Elevation option.
The error message will appear if the user is trying 2D search with inclined models.
This error message will appear if the program cannot read the optional soft data input during SIS. If this happens, check the input
data and make sure its format is compatible with the specific format required by the program. First line in the file should be the
column (field) locations. The columns are x, y, z, and one column of data for each indicator. The second line and thereafter are
the data.
This error message refers to the ASCII input data, which is currently limited to 32,000. If MineSight composite file (File 9)
is used, there is no limit.
OUTPUT:
NOTE: The use of File 31 depends on the use of IOP9. For details, please refer to the explanation for IOP9 under Run
Options.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: If storing to file 15, the item should be entered with an ITM=label STORE SIZE command.
IOP14 = NUMBER OF SIMULATIONS (default= all items entered on GET15 and GROUP GET15 lines)
NOTE: Statistics are based on the sample of simulation values within PAR1/PAR2 range.
PAR5 = PROBABILITY VALUE FOR THE P INTERVAL AROUND THE MEAN (if IOP8 = 4)
PAR6 = PERCENT VALUE TO USE FOR COMPUTING PROBABILITY WITHIN PERCENT OF THE MEAN
(if IOP8 = 5)
Simulation items:
GET15 = CUS1 CUS2 CUS3 ROCK ...
Or
CMD = GROUP GET15 prefix start_index end_index zeropad
NOTE: The GET 15 line items are used first, and CMD next.
or
END
USR = cus / Thu Mar 18, 2010 11:07:08 AM US Mountain Standard Time
GET15 =
END
GET15 = CUS1 CUS2 CUS3 CUS4 CUS5 CUS6 CUS7 CUS8 CUS9 CUS10
GET15 = CUS11 CUS12 CUS13 CUS14 CUS15 CUS16 CUS17 CUS18 CUS19 CUS20
GET15 = CUS21 CUS22 CUS23 CUS24 CUS25 CUS26 CUS27 CUS28 CUS29 CUS30
GET15 = CUS31 CUS32 CUS33 CUS34 CUS35 CUS36 CUS37 CUS38 CUS39 CUS40
GET15 = CUS41 CUS42 CUS43 CUS44 CUS45 CUS46 CUS47 CUS48 CUS49 CUS50
GET15 = CUS51 CUS52 CUS53 CUS54 CUS55 CUS56 CUS57 CUS58 CUS59 CUS60
GET15 = CUS61 CUS62 CUS63 CUS64 CUS65 CUS66 CUS67 CUS68 CUS69 CUS70
GET15 = CUS71 CUS72 CUS73 CUS74 CUS75 CUS76 CUS77 CUS78 CUS79 CUS80
GET15 = CUS81 CUS82 CUS83 CUS84 CUS85 CUS86 CUS87 CUS88 CUS89 CUS90
END
USR = CUS / Thu Mar 18, 2010 11:39:42 AM US Mountain Standard Time
GET15 =
END
MSPCS SAMPLE RUN FILE #4 - Example of Post Processing E-type mean and the
conditional variance (IOP8=1, default)
MEDS-PCS 10=msop10.DAT 3=rptpcs.1 15=msop15.500;
MEDS-PCS 31=
* POST SIM starting item
DOC CS Post Processing- E-type mean and the conditional variance.
USR = cus / Thu Mar 18, 2010 11:02:31 AM US Mountain Standard Time
GET15 =
END
USR = cus / Thu Mar 18, 2010 11:04:12 AM US Mountain Standard Time
GET15 =
END
USR = cus / Thu Mar 18, 2010 11:05:04 AM US Mountain Standard Time
GET15 =
UPD15 = ZPERC
END
USR = cus / Thu Mar 18, 2010 11:05:46 AM US Mountain Standard Time
GET15 =
END
MSPCS SAMPLE RUN FILE #8 - Example of Post Processing E-type Mean and the
probability within +/- specified percent (IOP8=5)
USR = cus / Thu Mar 18, 2010 11:06:27 AM US Mountain Standard Time
GET15 =
END
2. ?MSPCS ERROR: Number of storing items entered is less than required by IOP8.
This message will appear if the number of items on the PUT15/UPD15 line is less than required by the calculation option IOP8.
This message will appear if the program cannot make a GET list from teh CMD = GROUP GET15 line. Make sure that the prefix
length combined with the minimum number of decimals does not exceed 5 (max allowed label length).
This message will appear if no items are entered with either GET15 lines or with CMD = GROUP GET15 lines.
INPUT: CALCS: The program input could be from ASCII data, from a MineSight
composite file (File 9), or an MSTorque database. The
program requires the kriged estimates of the blocks or panels
- PCF - Hermite polynomials
to be computed prior to running it, since the calculation of the
- File 9 (optional), - Normal Scores Trans. recoverable reserves are based on the estimated grades from
ASCII File, or - Despiking (optional) kiriging using the change of support model.
MSTorque composite
set The program computes the change of support of coefficients for
- File 15 (optional)
the SMU and panel size blocks. These coefficients are listed
in the report file. Optionally, these coefficients can be input to
OUTPUT: the program directly if they are computed prior to running UC.
NOTE: The use of File 19 and File 31 depends on the use of IOP20, IOP9 and IOP5. For details, please refer to the
explanation for IOP20 under Run Options.
A single line of text that will be printed at the top of each page of printer output from the run.
NOTE: For additional information, please refer to the explanation for IOP20.
IOP6 = HIGHEST ORDER HERMITE POLYNOMIAL TO USE (default = 10, max = 30)
IOP9 = OUTPUT:
0 = WRITE TO FILE 15 (default)
1 = GEO-EAS
2 = EXCELL CSV
NOTE: For additional information, please refer to the explanation for IOP20.
NOTE: The use of File 19 and File 31 depends on the use of IOP20, IOP9 and IOP5:
IOP20 IOP9 IOP5 File 19 and File 31:
1 --- --- When IOP20=1, IOP9 and IOP5 are irrelevant, and
19 = Normal Scores with coordinates (output)
31 = Normal Scores wtih no coordinates (output)
0 0 0 19 = Not used
31 = Normal Scores wtih no coordinates (output)
0 0 1 19 = Not Used
31 = Normal Scores with no coordinates (input)
0 0 2 19 = Not Used
31 = Not Used
0 1 or 2 0 19 = Output File (ASCII) with UC results (output)
31 = Normal Scores with no coordinates (output)
0 1 or 2 1 19 = Output File (ASCII) with UC results (output)
31 = Normal Scores with no coordinates (input)
0 1 2 19 = Output File (ASCII) with UC results (output)
31 = Not Used
IOP21 = NUMBER OF LINES TO SKIP (If the ASCII input option is used, 30=Filename)
CMD = INCL LOCPT FILE filename (to include points within the boundary) OR
CMD = EXCL LOCPT FILE filename (to exclude points within the boundary)
PAR1 = MIN X
PAR2 = MAX X
PAR3 = MIN Y
PAR4 = MAX Y
PAR5 = MIN Z
PAR6 = MAX Z
PAR7 = MIN GRADE (trimming limits)
PAR8 = MAX GRADE (trimming limits)
NOTE: ELEVATION AND WEIGHT ITEMS ARE OPTIONAL (see IOP3 and IOP17)
NOTE: THE MODEL ITEMS HAVE TO BE IN A CERTAIN ORDER TO PROPERLY ACCESS THE MODEL
1. KRIGED GRADE ITEM TO ACCESS (required)
2. SELECTION ITEM1 (optional) - uses min, max
3. SELECTION ITEM2 (optional) - uses min, max
4. SELECTION ITEM3 (optional) - uses block limit codes
5-N. UNIFORM CONDITIONING ITEMS (proportion, metal and grade above cutoff for each cutoff)
END
4. INPUT THROUGH AN ASCII FILE: USE THE FOLLOWING COMMAND LINE IN THE RUN FILE.
Free format is allowed if data columns are in the same order as the item labels.
UPD15 = CUKRG
CMD = CARD INPUT X Y Z GRADE
I-O = 0
END
UPD15 = CUKRG
UPD15 = PAC1 PAC2 PAC3
UPD15 = MAC1 MAC2 MAC3
UPD15 = GAC1 GAC2 GAC3
CMD = CARD INPUT X Y Z GRADE
I-O = 0
END
I-O = 0
END
1. A debug option is available with MSUC by entering I-O=2 in the run file. The program will print the input data for each block.
In order to avoid large amounts of printout, use this option for test purposes using a relatively small number of blocks.
2. You can optionally specify an input format if ASCII input if used (30=Filename). Default is free format read.
4. ?MSUC : WARNING. No. of Lines read from normal scores transformation file = xxx. This does not match the # input
data.
This message will appear if IOP5=1 and your transformation table is incompatible with input.
INPUT: CALCS:
OUTPUT:
- ASCII File
- Table of composite
weights File
- Printer Output File
A single line of text that will be printed at the top of each page of printer output from the run.
IOP1 = NUMBER OF INCREMENTS BETWEEN ELLIPSES ALONG HALF OF MAJOR AXIS (default = 5)
IOP2 = NUMBER OF POINTS ON EACH QUADRANT OF THE ELLIPSE (default = 15)
NOTE: IOP2 CONTROLS THE TRIANGULATION POINTS FOR THE SURFACE OF THE ELLIPSOID. THE
BIGGER THE NUMBER, THE SMOOTHER THE ELLIPSOID SURFACE. MIN=2, MAX=100.
NOTE: IOP5 AND IOP6 ARE USED ONLY IF 10=PCF IS ENTERED ON THE NAMES LINE. ANY DUMMY
PCF (-10=TEMP) IS CONSIDERED UNROTATED AND IOP 5 AND IOP 6 ARE IGNORED.
IOP7 = 0 SHOW DRILLHOLE REF# (IF INTERPOLATION PROGRAMS USE COMPOSITES FROM FILE 9)
= 1 SHOW DRILLHOLE ID DHID (IF INTERPOLATION PROGRAMS USE MSTORQUE COMPOSITES)
PAR4 = ANGLE1
PAR5 = ANGLE2
PAR6 = ANGLE3
END
Object_Name (default = ellipse)
Object_Material (default = geometry)
ZONE_material_prefix (default = 1)
USR = abc
END
ellipse
geometry
mat
If no information is provided after the END line in the run file, default names are used for the object: ellipse, for object mate-
rial: geometry, and 1 for zone prefix (in the case of sub-blocked data).
2. ELLIPSE2MS: WARNING. Exceeded max allowed number of composites. Only the first 500 will be used.
The composite input is limited to 500 and only the first 500 will be saved in the resulting geometry object (ASCII output that
can be processed by ASCII2MS).
Geologic data items serve primarily as qualifiers for each block Use of digitized geologic outlines
of material in the mine model. Qualifiers are usually, but not
always, series of integer codes used during interpolation, reserves Plan maps that show geologic boundaries can be used to
and production scheduling. determine block codes by digitizing the outlines for input to
program M615V1. This program determines the blocks that
Initialization of geologic and physical codes lie within each outline and enters the appropriate code into the
regular 3-D Block Model. This procedure could also be used on
When the 3-D Block Model or Gridded Seam Model is set up a Gridded Seam Model.
(initialized) with M601V1, each geologic code should be set to
the value of the predominant type of material. Then one of the Use of digitized cross-sections
following procedures can be used to enter exceptions or codes
for different areas. M601V1 can also be used to reset or zero There are many projects where cross-sections prepared by
out a code if necessary. geologists or engineers do not correspond exactly to the mine
model because they are spaced at a greater lateral distance than
Use of generated or manually coded data the spacing between the rows of a mine model. In these cases,
it is necessary to project the sections into the model using some
Geologic codes can be manually coded from existing maps to logic. Program M615V2 may be used to input digitized data
provide maximum control in complex physical situations and section-by-section and determine which model blocks fall within
to provide an optional method to update model values. The corresponding geologic units between each pair of sections.
M610V1 program is used to enter manually coded data into a
mine model (3-D or GSM). Store model geology into the composite file
Use of intersecting 3-D planes There are projects where geology is not available in a form that
is convenient to enter for drillhole data. These cases usually
Intersecting 3-D planes can be used to define geological involve creating mine model geology directly from manual
structures such as fault blocks in the regular 3-D Block Model interpretations, usually with one of the 610-series programs.
only. This procedure could also be used to define property Program M617V1 can then be used to read each composite
divisions for different leases or owners. Program M611V1 will value, access the mine model for the code and store that code
calculate the intersection of the specified 3-D planes for each into the composite file.
bench to determine the geometry and then calculate the blocks
that fall within each area. Nearest neighbor assignment of geologic codes
User coded subroutines to define model geology Preliminary geologic codes for the 3-D mine model may be
assigned directly from composites during interpolation using
Geologic surfaces represented by regression equations or by one of the interpolation programs in the 620-series when grades
other algorithms can be used within a user coded subroutine. are being interpolated. The assignment is simply taking the code
This routine can also be used for project calculations and special of the nearest composite as the code of the mine model block.
summaries of the mine model. The main routine, M612V1, is
loaded with the user routine to be used with any model file. A 3D block model or a Gridded Seam model can be rotated
MODEL ROTATIONS
Below we will use terms Easting, Northing, and Elevation 3) The third rotation (rot3) is a rotation around the new Y-axis
for project coordinates, and Model X, Model Y, Model Z to finally position new Model X-axis. Positive direction of
for model coordinates. Sometimes the term rotated PCF is the third rotation is up. Figure 3 shows a model rotation with
used instead of a PCF with rotated model. rot1 =25o, rot2 = 0o, and rot3 = -15o.
use the ZMID option, you should remember to select the ZMID ellipsoidal search, you do not need to change anything in the
option in interpolation programs. Figure 7 shows the position way you enter your interpolation options and parameters.
of composite points when the ZMID option is chosen.
If you do want to perform an ellipsoidal search, you have an
option to specify rotation of the search ellipsoid. By default,
rotation is in model coordinates. If you align your model based on
variography, then your search ellipsoid will be aligned along the
model axis, and the model search angles will be all zeroes. You
have an option, however, to enter the angles of a search ellipsoid
in project coordinates. Make sure to select the corresponding
toggle on the search parameters procedure panel.
Geologic relationships form the first class of technical on how rapidly the influence of drillhole data is to diminishthe
considerations when planning an interpolation. These higher the power, the less influence a drillhole value has that is
considerations include structural controls, mineralogical controls farther away from a block than another value.
and rock type controls. A code from the mine model is matched
against a code stored on the composites to screen out drillhole If the relative elevation option is used for the z-direction with
values which have characteristics that are different from a given CMD=ELEV IS .. then the relative distance values will be used
block. You may request that one or two geologic items be used for calculating interpolation weights in interpolation instead
in the selection. The block code may be determined from the of the actual elevation values. Similarly for RELX and RELY.
closest composite just prior to the selection process.
The 620-series programs are available in 32-bit and 64-bit
There are many deposits which have definite three-dimensional versions. The results of 32-bit and 64-bit versions may not
trends that must be observed during interpolation. 3-D trend match exactly, however, the 64-bit is faster and more accurate.
planes, specified by a dip and strike, are used to control the Therefore, we recommend you use the 64-bit version.
selection of composites and serve as a basis for weighting the
values used for each block. Since most deposits have multiple Selection of drillhole composites
trends, which are not represented by a single trend, an item must
be included in the model to specify which trend is to be used to Each of the 620-series programs searches the composites file
govern the block calculations. to find data which may be needed for the entire row to be
interpolated. This selection of composite data is performed as
Zones with different characteristics may have to be handled in follows:
separate interpolation runs when areas of influence and weighting
functions are different. The 620-series programs allow you to 1. Composites must lie within the bounds on northings
limit the type of blocks which will be used during a given run, by which is the block midpoint northing + or - PAR2.
using an existing item from the model and a lookup table input [see figure 1]
at run time. The zone codes would normally be stored on the
composites so that a geologic selection can also be performed. 2. Optionally check for RANGE, OMIT and/or TABLE limits
on specified composite items.
When sampling density varies throughout a deposit, you may
need to include an item in the model to keep track of the relative 3. If the SCAN3-D option is specified (DEFAULT=SCAN3-D)
distance from each block to the closest drillhole composite. The then elevation coordinate (ELEV. item in regular composite)
distance can then be used to qualify material within the inventory. must be within the bounds of ZTOE + or - PAR3.
[see figure 1]
The degree of continuity of values within a deposit will heavily
influence the choice of different parameters within interpolation. NOTE: If seams are being interpolated (for a GSM), with
In deposits with poor continuity, you may not be overly concerned discrete codes (1, 2, etc.) for each seam, PARn=0.1 should
with fine tuning the weighting parameters. However, in deposits be used to select data within each seam. However, IOP3=0
with good continuity you will have to find appropriate distance for 2-D circular search should also be used. If the SCAN2-D
ranges, trends and possibly anisotropic factors to properly extend option is specified, no test is performed on the elevation
values. Coal quality parameters often have good continuity, while coordinateSCAN2-D should only be used to interpolate
uranium grades often have poor continuity. File 13 surfaces.
Ideally, search distances in 3-D should be large enough to include 4 Composites must also lie within the bounds on eastings
several values around each block. Variograms and other studies and are determined as X-WEST = (EASTING AT IX1)
should give sufficient information on which to base the selection -PAR1 and X-EAST = (EASTING AT IX2) + PAR1, where
of these distances. When large search distances are used in IX1 and IX2 are specified on an AREA CARD.
inverse distance methods, you may want to limit the maximum [see figure 1]
number of values to be used by utilizing octant selection.
Using MSTorque drillhole composites
The weighting factor for M620V1 to M621V1 is based on the
inverse power of a distance and you must choose the power to be To access the data in an MSTorque database for interpolation,
used. The second or third power (inverse square of the distance, an MSTorque info file must be located in the project directory.
etc.,) are commonly used and the actual choice should be based
Figure 1: Definition of Primary Coordinate Search Parameters (PAR1, PAR2, and PAR3)
Example 1:
version 2.0.0.0
torquepath c:\minesight\MSTorque
connection TUCN-LT019-1\SQLEXPRESS2008
project COMPSfromfile9
coverage comp1
There are many ways to define the same rotation in 3-D space.
MineSight programs now allow three methods to enter rotation. In this section the terms new Northing and new major axis,
and the terms new Easting and new minor axis are used interchangeably.
A. MineSight (MEDS) rotation is defined by the new North direction and the new North-East plane. Three angles, ROTN,
DIPN and DIPE, are used to specify the rotation.
ROTN is the azimuth of the new major (North) axis. ROTN is measured clockwise from the old North axis.
DIPN is the dip of the new major (north) axis.
DIPN is measured from horizontal, positive direction is upwards.
To define the third angle DIPE we will describe the DIPE vector. DIPE vector lies in the new North-East plane. Its
orthogonal projection on the old horizontal plane makes a 90 degree angle clockwise with the new Northing direction
(see figure 2). The angle DIPE is the dip of the DIPE vector. DIPE is measured from horizontal, positive direction is up.
Another way to describe DIPE is the following. Start from the horizontal vector orthogonal to the new Northing and
rotate it by DIPE in the vertical plane until it reaches the new North-East plane.
Figure 2
B. Geostatistical Software Library (GSLIB). This definition follows the book GSLIB Geostatistical Software Library and
Users Guide by C.V. Deutsch and A.G. Journel [1]. The rotation is split into three elementary rotations.
The first one rotates the original North axis in the horizontal plane by the angle ROT1. Positive direction is clockwise.
The second type rotates the North (major) axis from horizontal. Positive direction is up. The angles ROT1 and ROT2 are
exactly the azimuth and dip of the new major (North) axis.
The third rotation leaves the new Northing axis intact. It rotates the minor axis by the angle ROT3 to its final position
(see Figure 3). Note that in this case rotation is performed in the plane orthogonal to the new major (North) axis.
Positive direction is clockwise if looking from the end of the major axis towards the origin.
Figure3
Another way to describe ROT3 is the following. Start from the horizontal vector orthogonal to the new Northing
direction and rotate it by ROT3 in the plane orthogonal to the new Northing axis untilFigure 3 it reaches the new Easting
axis.
ROT1 = ROTN
ROT2 = DIPN
tanROT3 = cosDIPN * tanDIPE
MineSight programs now provide an option to define rotation with coordinates of three points on the new North-East
plane. The first point should be the ORIGIN of rotation. The second point shoud be on the positive ray of the MAJOR
(new North) axis. The third point should be any point of the new North-East plane with positive value of the new East
coordinate (Figure 4). MineSight programs expect coordinates of three points to be prepared in an ASCII file. The first
line contains three coordinates (Northing, Easting, Elevation) of the Origin. The second line contains three coordinates of
a point of the major axis, and the third line contains the three coordinates of a point on the new North-East plane.
Figure 4
LITERATURE.
[1] Clayton V. Deutsch, Andre G. Journel, GSLIB Geostatistical Software Library and User s Guide
Oxford University Press, New York, Oxford, 1992
When grades are interpolated to sub-blocked items, the search MSB2PR (sblkparent.dat):
distances are measured from the block center. However, if you Calculation of parent values from sub-blocked data; volume and
are using block limiting or geologic matching, the grades are tonnage average, majority coding and other methods are allowed.
stored only to sub-blocks with the corresponding geologic codes. MSB2PR can populate the parent block value of a sub-blocked
item, or store the value into another parent block item.
User calculations are also available for sub-blocked data.
MSBCODE (sblkmajpct.dat):
The MSBasis programs modified for sub-blocking access use Calculate majority percents and codes from sub-blocked zones
sub-blocked values for a block, if sub-blocked data is present. based on selection of sub-blocked items defining zones.
The User Subroutine Programs provide a way to directly access Mintec provides a compiled driver routine (known as an object
and manipulate data in your MineSight files. User subroutine module) that reads and/or writes data to your MineSight file.
programs will allow you to access data in your assay file (File You provide the User Subroutine to manipulate the data. Your
11), composite file (File 9), model files (Files 13,14, and 15), User Subroutine must be compiled and then linked to the driver
and Dipper files. routine to form an executable program. Your executable program
is run just like all the other MineSight programs - with a run file.
To build and run a User Subroutine program, you need:
The steps necessary to build a User Subroutine program are
1. A working command of FORTRAN outlined in detail in the documentation that follows. Examples
are discussed for each type of User Subroutine program and
2. The appropriate FORTRAN compiler and linker for your the actual programs, run files, and output for each example are
computer. given at the end of the section.
MineSight Program
Quick Overview
Running a User Subroutine Program - an Overview Skeleton Driver Program Object Module
usr208.f m208v1
1) First, check with Mintec. We have many existing user
subroutines. We might even have one that performs the usr508.f m508v1
operation you want or a similar operation. These are avail-
able at no cost to clients. Mintec will also be happy to write u612d1.f m612d1 99-item m612v1; unlimited columns
or modify a user subroutine to your specifications. For this & rows & benches
service we charge a nominal fee. u612db1.f m612db1 500-item m612v1; unlimited columns
& rows & benches
2) Determine which program to use. Start by determining
which program accesses the file you want to manipulate. u612d2.f m612d2 99-item m612v2; unlimited columns
& rows & benches
You can access data in composite files (9), assay and survey u612db2.f m612dl2 500-item m612v2; unlimited columns
files (11, 12), 2-D surface files (13) GSM summary files (14), & rows & benches
3-D block model files (15) and DIPPER files.
u708d1.f m708d1 99-item m708v1; unlimited columns
FILES PROGRAM
& rows & benches
11, (12) M208V1 u708db1.f m708db1 500-item m708v1; unlimited columns
9, (12) M508V1 & rows & benches
a) Mintec provides skeletons of possible User Subroutines For example, program M208V1 retrieves data one assay
located in the user subdirectory of the %MEDEXE% at a time and the data is stored in array RDAT in common
directory (the files with the .f extension). These skeletons block /ITM/. M612V1 retrieves data for an entire model
give you a starting point to begin writing your User row and stores it in array RMX in the user subroutine
Subroutine. Each file has the basic logic structure cor- argument list. For specifics on each program, see the
responding to the order in which the User Subroutine is examples that follow.
called (see below). Each skeleton will also contain any
relevant Common blocks. d) Select the file items that you want to read or write. Also
note the information needed that is not contained in your
The table below shows the correspondence between the MineSight file, e.g., your model Easting and Northing
skeleton files and driver program object modules. Note or a drillhole name. Much of this information is available
that some object modules have been compiled using the via common blocks (see Useful COMMON BLOCK
same source program. For example, object modules Variables, page TEC600-17), or the user subroutine
m612d1 & m612db1 have been compiled using source argument list.
program m612v1; the major differences being that
m612d1 is limited to 99 items and m612db1 is limited
to 500 items. The same note applies to source programs e) Write the user subroutine. The file name of your user
m612v2 and m708v1. subroutine should have an .f extension (e.g., usr208.f).
f) Although it is common to name the file the same name 6) Make production runs. Now your program is ready to
as the subroutine (e.g., the file name is USR208.F, and make production runs. Make sure you periodically check
therefore the object module name is USR208.OBJ for the the stored results.
subroutine USR208), it is not necessary that they have
the same name. In fact, you will most likely have more
than one user subroutine for M208V1 and do not want to Example: M208V1 (M508V1)
overwrite the .OBJ and .EXE files each time you build a
M208V1 allows you to read and/or write data to File 11. For
new user subroutine program for M208V1. To prevent
example, say you want to use items T-CU and MOLY to compute
this, name your subroutine files something different than
an equivalent grade (EQCU) and store this value back into File
the subroutine name. For example, if you were to have
11. Say also that you want to compute the number of equivalent
three different user subroutines for M208V1, you could
grade values in each drillhole that exceed a specified cutoff. And
name the files U208A.F, U208B.F, and U208C.F. In each
finally, you want to list this number by drillhole to an external file.
of these files the first executable line would be SUBROU-
TINE USR208 (NTRY, IDH). When you compile in the The name of your user subroutine must be USR208 although
next step, the resulting .OBJ files will be U208A.OBJ, your filename can be anything as explained in step 3f above.
U208B.OBJ, and U208C.OBJ. However, when linking, Routine USR208 has two arguments: NTRY and IDHN. These
the resulting executable will always be M208V1.EXE. arguments should not be modified in the user subroutine.
In order to keep with your nomenclature and not to over- Argument NTRY tells the user subroutine which action to take.
write previous executables, you can copy this executable As noted above, M208V1 calls the user subroutine :
to U208A.EXE, U208B.EXE, and finally, U208C.EXE.
i) At the beginning of the program run (NTRY=1)
4) Build your executable. Mintec provides a command file ii) For each assay in the current survey interval (NTRY=2)
called BLDUSR.BAT to make it easy to compile and link
your User Subroutine program. To use bldusr, you must iii) At the end of the current survey (NTRY=3)
have a FORTRAN compiler, linker, and library in your path.
If you get a Command not found error when executing iv) At the end of the current drillhole (NTRY=4)
bldusr, its likely that your FORTRAN directory is not in v) At the end of the program run (NTRY=5)
your path.
Argument IDHN is the drillhole reference number. Other Once youve compiled your user subroutine and have linked
useful information is available in common blocks (see Useful it with the M208V1 object module, youre ready to test
COMMON BLOCK Variables, page TEC600-17). In our your executable. After making backups of your MineSight
example, we will need: files, try it on a small portion of your assay file. IOP1 and
IOP2 allow you to select the survey records you want to
access. Also, while youre testing your program, set IOP6=0.
a) The drillhole name: ADH in /EXTRA1/. This is a character
This will prevent any data from being stored back to File
string variable of length 10.
11. Thoroughly check the values being computed by your
routine. Use your routine to print out intermediate and final
b) The logical file numbers (LFN) for the screen and report results of your computations.
file: LPR and IPR in /SYS/. Note that LPR is the LFN for
the screen and IPR is the LFN for the report file. When everything is working properly, youre ready to make
a production run. Dont forget to reset IOP6=1 if you want
c) The File 11 data. The data is stored in RDAT in /ITM/. The to store values back into File 11.
pointers to a particular items data are given by K11GET
and K11PUT in /USR/ (see Sample Program for M208V1, Example: M612V2 (M612V1)
page TEC600-22). For example, if in your run file you have
the lines: M612V1 and M612V2 provide access to your model files: 13, 14,
GET11 = T-CU MOLY and 15. Both programs operate on rows of data. The difference is
PUT11 = EQCU that M612V1 will process all the rows in a bench and M612V2
will process the rows in an east-west section. Additionally,
Then: M612V2 lets you access two model files in one run.
RDAT(K11GET) will have the T-CU value Suppose you have two surfaces in your File 13 that define a
RDAT(K11GET+1) will have the MOLY value geologic zone. For blocks in this zone, we want to assign a
RDAT(K11PUT) should have the computed grade value relative elevation, say a fraction between 0 and 1 that indicates
a blocks elevation relative to the zones bottom elevation.
Note that the pointers are a function of the order in which
the item is specified in the run file. Therefore, all your
GET11 items must occur consecutively in your run file, as
must all your PUT11 items. Do NOT, for example, have:
GET11 = T-CU
PUT11 = EQCU
GET11 = MOLY
then PAR(1) in /SYS/ will have the value .2 and can be Since we need to simultaneously access Files 13 and 15, we will
accessed directly in your subroutine. Caution: Before you use M612V2. This means the model data will be accessed by
use an IOP or PAR, check the program documentation section. For both M612V1 and M612V2, the user subroutine is
to make sure it is not already used by the program. For called USR612D. (See documentation for each program). Both
example, IOP1 is used to select the initial survey record, programs use the argument NTRY to tell the user subroutine
so although this value is available to your user subroutine, what action to take. For IOP3=2, program M612V2 calls the
it should not be redefined for another purpose by the user subroutine:
subroutine.
i) At the beginning of the program run (NTRY=-1)
Now we have all the information necessary to write the ii) After a row of data has been read (NTRY=0)
subroutine (see Sample Program for M208V1, page iii) At the end of each row (NTRY=1)
TEC600-20). iv) At the end of the program run (NTRY=2)
For this example, say the upper elevation of the zone is stored
in item TOPOI in File 13. The bottom elevation is stored in
item TOPOD, also in File 13. We want to store the computed
relative elevation in item EXTRA in file 15. Thus, if the run file
contains the lines:
PUT15 = EXTRA
GET13 = TOPOI TOPOD
Using index IC to range from arguments MCOL to NCOL, we
can access specific values within the RMX array. RMX(IC,1)
should be the computed value of EXTRA. RMX(IC,2) will be
the retrieved value of TOPOI. RMX(IC,3) will be the retrieved
value of TOPOD.
Example: M708V1 The other arguments in M708V1 are very similar to those in
the M612 programs:
Program M708V1 is intended to produce customized reserves
reports, but you do not have to use it for this purpose. M708V1 IZ the current bench
provides read-only access to your model files. You can not
NSEQ sequence number for the current partial
use this program to modify your model values. M708V1 also
(see sequence number in the description for the
processes block partial information, either from a separate file
partials file contents)
or following the run file END line.
IROW the current row
For this example, we want to calculate total copper (TCU-1) and
moly (MO-1) reserves based on cutoffs and ore types (CODE). YROW mid-point northing of the current row
The user subroutine is called USR708D. See the M708V1 MCOL, NCOL range of columns (IOP5 and IOP6)
documentation for details. Again argument NTRY is used to tell MTX array containing the undecoded model values
the subroutine what action to perform. For IOP3=2, program for 1 row.
M708V1 calls the user subroutine:
MXCOL column dimension for MTX and any user defined
i) At the start of program run (NTRY=-1) array
ii) After a row of data has been read (NTRY=0)
iii) At the end of each row (NTRY=1) MXROW row dimension for any user defined array
iv) At the end of the program run (NTRY=2)
MAXITM item number dimension for MTX and any user
defined array
See the program documentation for details.
Note that M708V1 passes information to the user routine via
an INTEGER array (MTX) which has undecoded values in
it. This means two things:
1) The undefined (UNSET/MISSING) values must be checked
against an INTEGER value, not a floating point. This is array
element PCF(489) in common block /F10/.
2) Before a value can be used, it must be converted to a float-
ing point (real) number. The integer values in MTX must be
multiplied by its precision (array CODE in common block
/ITM/) to convert it into a real number. An items precision
is in the same array elements as its value in MTX.
You must check if the variable is well-defined (i.e., its not
UNSET or MISSING) first before you convert it to a floating
point number.
For example, if the item used for computing the reserves is TCU-
1 (i.e., the run file contains the line GET15 = TCU-1 ) then to
use and decode the value for TCU-1, assuming its the first item
specified in the run file:
DO 100 IC = MCOL, NCOL
C
IF ( MTX(IC,1).NE.IPCF(489))THEN
C TCU-1 is defined
TCU1=MTX(IC,1)*CODE(1)
C
ELSE
C TCU-1 is not defined...skip calcs
GOTO 100
END IF
(perform calculations)
100 CONTINUE
Example: M718V2
Program M718V2 reads the 2-D surface file (File 13) and the 3-D
block model file (File 15) and condenses them creating a DIPPER
set B-file and S-file. Your DIPPER set must be initialized prior to
running M718V2. You can initialize DIPPER by either running
M717TS or M717V1 to set up the DIPPER descriptors.
In this example, we will create a $DIPPER set with file 15
items TCU-1 and TCU-P. Using TCU-1 and TCU-P (which are
percentages of copper), the tonnage factor specified in PAR10,
and the price of copper (cents/lb) specified in PAR11, we will
calculate the gross dollar value of copper in a block (VALUE).
Subroutine USR718 is called for every block specified by IOP1
through IOP6. There are 4 items in the argument list:
VALUE The computed dollar value for the block. This
value must be assigned by your user subroutine.
IX,IY,IZ The column, row, and bench number of the
current block. These values should NOT be
modified by your user subroutine.
The values for block model items selected via the ITM command
are returned in array RDAT in common block ITM. An items
location in ITM is given by LOCDAT in common block USR.
For example:
Run file: ITM1 = TOPOG TOPO
ITM2 = TCU-P GRADE
ITM3 = TCU-1 USER
ITM4 = CODE CODE
These descriptions are relative only to source programs M208V1, M508V1, M612V1, M612V2, M708V1 and M718V2. All variables
are available to all programs unless otherwise indicated. Complete listings of the common blocks follow the variable descriptions.
IMPORTANT NOTE: m612db1, m612db2, m708db1 use /ITMB/ and /SYSB/ common blocks. In common blocks /SYS/ and
/SYSB/ some arrays are dimensioned differently. In common block /ITMB/ arrays are not only dimensioned differently, but one
mode array is added.
ADH EXTRA1 Ten character string containing the current drillhole name.
Used in M208V1 and M508V1.
RX1, EXTRA2 The current assays starting and ending xyz coordinate.
RX2, Used in M208V1.
RY1,
RY2,
RZ1,
RZ2
NDAT USR Number of file 15 items in the run file used in M718V1.
K11GET USR Pointer to the first GET11 item whose information is stored in /ITM/.
Used in M208V1.
L11GET USR Pointer to the last GET11 item. Used in M208V1.
K11PUT USR Pointer to the first PUT11 item. Used in M208V1.
L11PUT USR Pointer to the last PUT11 item. Used in M208V1.
K09GET USR Pointer to the first GET09 item whose information is stored in /ITM/.
Used in M508V1.
L09GET USR Pointer to the last GET09 item. Used in M508V1.
K09PAK USR Pointer to the first PUT09 item. Used in M508V1.
L09PAK USR Pointer to the last PUT09 item. Used in M508V1.
LOCDAT USR 40 element array containing pointers to each file 15 ITMs location in RDAT.
Used in M718V2.
IOP SYS 40 (in /SYS/) or 500 (in /SYSB/) element array corresponding to the IOP values specified in
the run file.
PAR SYS 40 (in /SYS/) or 500 (in /SYSB/) element array corresponding to the PAR values specified in
the run file.
ICR SYS The logical file number (LFN) for reading from the run file.
IPR SYS The LFN for writing to the report file.
LPR SYS The LFN for writing to the screen.
IOLEV SYS The I-O level set in the run file.
ITM ITM/ITMB ITM(3,MXITM) contains three elements of information for items. The array is dimensioned
to ITM(3,99) in the /ITM/ common blocks and to ITMB(3,500) in the /ITMB/ common block.
The latter is used in USR612D/USER708D subroutines when linked with m612db1,
m612db2 and m708db1 object modules.
The items include all the GETxx, PUTxx, UPDxx, INPxx, and OUTxx items specified in the run file as well as all the items specified
with ITMxx commands. Additionally, some programs may add required items to ITM. Of the three elements of information, the
important one is the item label. This label can be retrieved as follows:
DIMENSION LABEL(5)
CHARACTER ALABEL*5
CALL NEWSMR ( 1, 1, ITM(2,i), 5, LABEL )
In the above, i indicates the ith item whose information is stored in /ITM/
and string variable ALABEL will be its label. See the M708V1 sample program.
PRTL PRT PRTL(MXCOL). An array containing a blocks partial fraction, i.e., a value between 0 and 1. Used in m708v1.
This is a summary of commonly used PCF values. All the values in this summary are stored as floating point (real) numbers, except
element 489, the integer OMIT constant. See the M612V2 and M718V1 examples for usage.
Number What It Is
21 Minimum Easting
22 Maximum Easting
23 Easting block size
24 Number of blocks in East-West direction
25 Minimum Northing
26 Maximum Northing
27 Northing block size
28 Number of blocks in North-South direction
29 Minimum Elevation
30 Maximum Elevation
31 Vertical block size
32 Number of blocks in vertical direction
50 Crest of top bench
51-450 Bench elevations or seam names and numbers
489 Integer OMIT constant
490 Floating point OMIT constant.
The pointer arrays in the /PRT/ common block are allocated in the m708v1 program source to MXROW & MXCOL dimensions
as follows:
ALLOCATE (KNW(MXROW), KNE(MXROW), PRTL(MXCOL))
Note that there are three /USR/ common blocks. The first is for use with M208V1 and file 11, the second for use with M508V1 and
file 9, and the third for use in M718V2.
Replace m612v1.obj (for 10-item m612v1) with m612d1.obj (which uses /ITM/ & /SYS/)
Replace m612b1.obj (for 99-item m612v1) with m612d1.obj (which uses /ITM/ & /SYS/)
Replace m612e1.obj (for 500-item m612v1) with m612db1.obj (which uses /ITMB/ & /SYSB/)
Replace m612v2.obj (for 10-item m612v2) with m612d2.obj (which uses /ITM/ & /SYS/)
Replace m612b2.obj (for 99-item m612v2) with m612d2.obj (which uses /ITM/ & /SYS/)
Replace m612e2.obj (for 500-item m612v2) with m612db2.obj (which uses /ITMB/ & /SYSB/)
Replace m708v1.obj (for 12-item m708v1) with m708d1.obj (which uses /ITM/ & /SYS/)
Replace m708b1.obj (for 99-item m708v1) with m708d1.obj (which uses /ITM/ & /SYS/)
Replace m708e1.obj (for 500-item m708v1) with m708db1.obj (which uses /ITMB/ & /SYSB/)
There is a subroutine name change - all m612* objects now are named USR612D and all m708* objects now are named USR708D.
All newer subroutines will have MXCOL, MXROW, MAXITM added to the argument list.
SUBROUTINE USR612 (NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX)
... to this:
SUBROUTINE USR612D(NTRY, IZ, ZMID, IROW, YROW, MCOL, NCOL, MAP, RMX, MXCOL, MXROW, MAXITM)
SUBROUTINE USR708 (NTRY, IZ, NSEQ, IROW, YROW, MCOL, NCOL, MTX )
... to this:
SUBROUTINE USR708D (NTRY, IZ,NSEQ, IROW,YROW, MCOL,NCOL, MTX, MXCOL, MXROW, MAXITM)
Since MAXITM is now passed as an argument, the various older subroutine names of USE612, U99612, U25612, USR612 are
no longer neccessary and all may now be renamed to USR612D. Likewise older subroutine names of USE708, U99708, U25708,
USR708 may now be renamed to USR708D. Remember to add MXCOL, MXROW, MAXITM to the argument list.
Arrays passed in the argument list (namely MAP, RMX, MTX) need to be dimensioned accordingly. Thus, redimension these arrays
as such using the MXCOL,MAXITM parameters passed in the subroutine argument list:
DIMENSION MAP(MXCOL)
DIMENSION RMX(MXCOL,MAXITM)
DIMENSION MTX(MXCOL,MAXITM)
Since m708d1 allocates pointer arrays in the /PRT/ common block and dimensions them as KNW(MXROW),KNE(MXROW),PRTL
(MXCOL), subroutine USR708D would need to have them declared as such.
... to this:
PAR1 is used is used to parameterize a cutoff which is specified in the run file.
USR = ABC
END
100 CONTINUE
NOVER = 0
CUTOFF = PAR(1)
C
NATOT = 0
NOTOT = 0
C
WRITE ( LPR, 110 )
WRITE ( IPR, 110 )
110 FORMAT( /, 10X, Compute an equivalent grade using T-CU ,
1 and MOLY )
C
WRITE ( 19, 120 ) CUTOFF
120 FORMAT( Number of assays , /,
1 Drillhole with eq. grade >, F4.1, /,
2 __________________________ -, / )
GOTO 900
C
C..................................................... NTRY = 2
200 CONTINUE
NATOT = NATOT + 1
SM-008 69
SM-009 76
SM-010 80
SM-011 73
SM-012 0
SM-013 0
SM-014 79
SM-015 81
SM-016 83
SM-017 80
SM-018 0
SM-019 33
SM-020 79
SM-021 82
SM-022 46
Note: This subroutine is called USR612D where RMX is dimensioned MXCOL by MAXITM which are passed as arguments
to the subroutine.
The TOPOI and TOPOD values are tested to make sure they have appropriate values compared with PCF(490).
The values of MAP are scaled from 1 to 26. See the symbol map.
USR = ABC
END
Sample USR612D
C----&---1---------2---------3-----+---4---------5---------6---------7--
C
C .................................................. NTRY=-1(Init)
C .................................................. INITIALIZE
IF ( NTRY .EQ. -1 ) THEN
C here once at the beginning of the run
C
OMIT = PCF(490)
WRITE ( LPR,110 )
WRITE ( IPR,110 )
110 FORMAT( /, 10X, Computing Relative Elevations, // )
C
C .................................................. NTRY=0 (Row)
C .................................................. PROCESS SECTION
ELSE IF ( NTRY .EQ. 0 ) THEN
C here after data for an entire model row is read
C
DO 410 IC = MCOL, NCOL
ZONTOP = RMX(IC,2)
ZONBOT = RMX(IC,3)
IF ( ZONTOP.EQ.OMIT .OR. ZONBOT.EQ.OMIT ) THEN
C this block is not well-defined
EXTRA = 0.
ELSE IF ( ZONBOT.LE.ZMID .AND. ZMID.LE.ZONTOP ) THEN
C the center of this block is inside the zone
EXTRA = ( ZMID-ZONBOT ) / ( ZONTOP-ZONBOT )
EXTRA = RLIMIT( 0., EXTRA, 1. )
ELSE
C the center of the block is outside the zone
EXTRA = 0.
ENDIF
RMX(IC,1) = EXTRA
MAP(IC) = INT( 26.*EXTRA )
410 CONTINUE
C
C .................................................. NTRY=1 (Section)
ELSE IF ( NTRY .EQ. 1 ) THEN
C here after data for the last row in the current EW section
C
WRITE ( IPR, 1410 ) , IROW, YROW
WRITE ( LPR, 1410 ) +, IROW, YROW
1410 FORMAT( A1, 5X, Finished with row:, I5, 2X, F10.2 )
C
C .................................................. NTRY=2 (End)
ELSE IF ( NTRY .EQ. 2 ) THEN
C here once at the end of the run
C
WRITE ( LPR, 810 )
810 FORMAT( /, 10X, Successful Program Completion )
END IF
C
900 CONTINUE
RETURN
END
1020 30 40 50
Z +....+....+....+....+....+....+....+....+....+....+
1 !..................................................
2 !..................................................
3 !..................................................
4 !..................................................
5 !..................................................
6 !..................................................
7 !..................................................
8 !...P......................P.........P.............
9 !...M..N........O.ONKP.OO.MLL..P...O.KP.OO........O
10 !...J.KG.......OG.KFDJ.JLHJHG..JMN.J.FK.KKOLLM.N.ML
11 !INMG.E9ON...NOJ9PH85ENEH8GECH.CJBCD.AG.GGKHGI.H.HH
12 !9EDCJ82FJJMMHGE2KD..8I9E.DA7..6F..8G6BMDCHCBENAJCD
13 !.459.2.6FBHGB8A.F9..3D4A.A62...B..2516D99D77AH3C7A
14 !...6....A4CB4.5.A6...9.7.72....7.....14559227B.426
15 !...3....6.75..1.62...4.3.3.....3.......115..35...3
16 !........2.2.....1........................1........
17 !..................................................
18 !..................................................
19 !..................................................
20 !..................................................
21 !..................................................
22 !..................................................
23 !..................................................
24 !..................................................
25 !..................................................
26 !..................................................
27 !..................................................
28 !..................................................
29 !..................................................
30 !..................................................
31 !..................................................
32 !..................................................
33 !..................................................
34 !..................................................
35 !..................................................
36 !..................................................
37 !..................................................
38 !..................................................
39 !..................................................
40 !..................................................
Z +....+....+....+....+....+....+....+....+....+....+
10 20 30 40 50
Finished with row: 49 14850.00
Note: The subroutine is called USR708D, so MTX is dimensioned MXCOL by MAXITM which are passed as arguments to
the subroutine.
NEWSMR is used to convert the item label into a character string (AITM). This subroutine is in libusrdynb.lib.
Note the EQUIVALENCing of PCF to IPCF. Thus PCF(23), the model column width, is used as a floating point number
and IPCF(489) is used as an integer.
See how the MTX values are decoded, for example:
GRADE = FLOAT( MTX(IC,1) ) * CODE(1)
USR = ABC
COM====== The following IOPs and PARs are specific for this USR708D
END
DAT705.OA
11 1 1 50 1 50
12 1 1 50 1 50
Sample USR708:
KERR = 0
KUT1 = IOP(11)
KUT2 = IOP(12)
IOMIT = IPCF(489)
C
IF (KUT1 .EQ. 0) KUT1 = 1
IF (KUT2 .EQ. 0) KUT2 = 5
C
C cutoffs
CLASS = PAR(1)
CUTMX = PAR(2)
KMX = CUTMX/CLASS + 1.0049
C
C tonnage factor
IF (PAR(3) .GT. 0.) THEN
FACTR = PCF(23) * PCF(27) * PCF(31) / PAR(3)
ELSE
WRITE (IPR, 110)
WRITE (LPR, 110)
110 FORMAT(/, ?M708V1: ERROR. You MUST have a PAR3 ,
& (tonnage factor) in your run file.)
KERR = KERR + 1
ENDIF
C
C number of grade items
IF (IOP(13) .GT. 0) THEN
NGRADS = MIN0(MXITM, IOP(13))
ELSE
WRITE(IPR, 120)
WRITE(LPR, 120)
120 FORMAT(/, ?M708V1: ERROR. You MUST have some grade ,
& items (IOP13).)
KERR = KERR + 1
ENDIF
C
C ore code items
LORE = NGRADS + 1
NORE = MAX0(1, IOP(20))
IF (KMX*NORE .GT. MXBOX) THEN
WRITE(IPR, 130) MXBOX
WRITE(LPR, 130) MXBOX
130 FORMAT(/, ?M708V1: ERROR. The number of cutoffs times ,
& the number of, /, 10X, ore codes exceeds the ,
& maximum:, I3)
KERR = KERR + 1
ENDIF
C
C set up the item labels
DO 140 I = 1, NGRADS
CALL NEWSMR(1, 1, ITM(2,I), 5, IDUM)
WRITE(AITM(I), (5A1)) IDUM
140 CONTINUE
C
WRITE (LPR, 150)
150 FORMAT(//, 10X, Begin USER 708 Program)
Note: TCU-1 and TCU-P are tested (using the OMIT constant) to make sure they contain actual values and are not UNSET or
MISSING.
PCF variables define the block dimensions (see PCF Variables, page TEC600-16).
USR = ABC
END
Sample USR718:
SUBROUTINE USR718 ( VALUE, IX, IY, IZ )
C=================================================================
C
C Create a $DIPPER set for file 15 items TCU-1 + TCU-P
C
C TCU-1 and TCU-P are percents
C
C The Tonnage Factor is specified in PAR10
C The Copper price (cents/lb) is specified in PAR11
C
C=================================================================
C
COMMON /SYS/ XDUM1(100), IOP(40), PAR(40), XDUM2(104),
1 ICR, IPR, LCR, LPR, XDUM3(5), IOLEV, XDUM4(89)
C
COMMON /F10/ PCF(512), XDUMA(142)
C
COMMON / ITM/ ITM(3,99), NUC(5,40), ITEMS, NICNO, LWRD(99),
1 NBIT(99), LBIF(99), VMIN(99), CODE(99), ROND(99),
2 VFCT(99), MAXV(99), RDAT(99), IDAT(99)
C
COMMON /USR/ LOCDAT(40), NDAT
C
DATA NTRY / 0 /
C Limit R2 by R1 below and R3 above
RLIMIT( R1, R2, R3 ) = AMIN1( AMAX1( R1, R2 ), R3 )
C
C================================================================
C
C..................................................... initialize
IF ( NTRY .EQ. 0 ) THEN
NTRY = 1
OMIT = PCF(490)
KERR = 0
C
IF ( PAR(10) .GT. 0 ) THEN
C tons per block = dx*dy*dz / tf
TPBLK = PCF(23)*PCF(27)*PCF(31) / PAR(10)
ELSE
KERR = KERR + 1
WRITE(LPR,100)
100 FORMAT( /, ERROR: No Tonnage Factor (PAR10) was ,
1 entered)
END IF
C IF ( PAR(11) .LE. 0 ) THEN
KERR = KERR + 1
WRITE(LPR,110)
110 FORMAT( /, ERROR: No Copper price (PAR11) was ,
1 entered )
END IF
C
C
C -
C compute FACTOR. FACTOR when multiplied by the total
C percent of copper in a block will yield the gross
C dollar value of copper in the block. build FACTOR
C in steps so you can see how I got it.
C
C convert percent to fraction
FACTOR = 1. / 100.
C
C convert fraction to tons/block
FACTOR = FACTOR * TPBLK
C
C convert tons/block to lbs/block
FACTOR = FACTOR * 2000.
C
C convert lbs/block to dollars/block
FACTOR = FACTOR * PAR(11) / 100.
C -
C
END IF
C
C..................................................... gross value
TCU1 = RDAT( LOCDAT(1) )
TCUP = RDAT( LOCDAT(2) )
IF ( TCU1.EQ.OMIT .OR. TCUP.EQ.OMIT ) THEN
C copper values for this block are not well-defined
VALUE = 0.
C
ELSE
PRCENT = RLIMIT( 0., TCU1+TCUP, 100. )
VALUE = FACTOR*PRCENT
END IF
C
C..................................................... exit
RETURN
END