MINCALC

A PROGRAM FOR RECALCULATING AND TABULATING MINERAL DATA

Notes for version 3.1

D.J. Waters, June 1992

MINCALC is a utility for recalculating mineral analyses. In addition
to simply recalculating the formula on the basis of a specified number
of oxygens, it can also recalculate for ferric iron using a charge balance
method (Droop 1987), and can make neat vertical tables suitable for inclusion
in manuscripts for publication. It accepts input from disk files in three
types of format, as described below, and outputs either to file or to a
printer. The file formats are customizable, and are compatible with spreadsheet
and database programs, and also with Afifi and Essene's mineral database
program MINFILE.

MINCALC consists of the executable file MINCALC.EXE and a reference
data file such as MINCALC.REF, which contains file format information,
molecular weights, etc. The reference data are kept outside the program
in an ordinary ASCII file so that you can edit them if you want to. Some
alternative reference data files in other formats are also provided. MINCALC.REF
(or any other reference data file you want to use) should be kept in the
same directory as MINCALC.EXE.

Input file formats

First, some general information about input data files. The first line
of each data file contains headings for the columns of sample information
and weight percentages which appear on the following lines. The headings
to the weight percent columns must match the oxide names in the first column
of the file MINCALC.REF (or of your own customized reference data file),
otherwise MINCALC won't recognize them. Each succeeding line contains information
and weights for one analysis. Before the list of weight percentages starts,
you may include up to ten fields containing items of information to identify
the analysis, provide the number of oxygens to calculate for, etc. The
file MINCALC.REF, as supplied with the program, defines six such fields.
For more description of this aspect of file formatting, see the section
on reference data files.

An important feature of MINCALC is that the weight percentages are read
in as strings (i.e. as text, not as numbers) and appear in the output in
exactly the same form. (The exceptions to this are: (i) FeO and Fe2O3,
when Fe3+ has been recalculated, and (ii) when using the "database option"
described later, which forces numeric output.) As a result, you can use
"n.d." for not detected, "-" for missing data, etc, and these abbreviations
reappear in the resulting table, or are preserved in the recalculated database.
The program treats all these as zero values.

You do not need to add totals for the weight percentages. These will
be calculated by MINCALC.

You can use, as an input file, a file in any of the legal formats even
if they already contain totals and recalculated cations. When a field heading
"Total" (or "total" or "TOTAL") is encountered in the first line, the program
will skip over the fields from this one to the line end when each sample
is read.

File format No 1: Delimited ASCII.

This is a compact format suitable for storing data. The fields are separated
by commas, and text fields (such as the headings in line 1, and the analysis
information fields 3, 4 and 6 in the MINBASE format) are enclosed in quotation
marks. Many spreadsheets and databases can read such files. If you create
a data file in this format, using an editor, make sure that you include
the right number of fields in each data line (their lengths are immaterial),
and that fields do not contain internal spaces. LOTUS 1-2-3 cannot produce
files in this format, but it can import them with ease. For this reason
the default format options in MINCALC are .PRN (format 2) for input and
delimited ASCII for output.

File format No 2: Fixed field-widths (Spreadsheet .PRN file).

If you use a spreadsheet program such as Lotus 1-2-3, the simplest way
to produce an input file for MINCALC is to enter the data in the MINBASE
spreadsheet, and save it in a .PRN file using the built-in macro alt-S.
You may leave MINBASE fields empty (MINCALC will fill them with a dash),
and the text fields may have internal spaces (MINCALC will replace internal
spaces with underline characters).

You can construct a data file yourself in this format, if you wish,
but be sure to use field widths exactly as defined in the reference data
file currently in use (e.g. MINBASE.REF). Use an existing .PRN file in
the appropriate format as an example. There should be one on this disk.

File format No 3: MINFILE format

For details of this format, see the manual for the program MINFILE by Afifi
and Essene.

Reference data files

The reference data file controls some aspects of the operation of MINCALC,
and allows you to customize the format of the mineral data files you want
to recalculate. The first few lines of the standard reference file MINCALC.REF
look like this:

The field names in line 2 would normally be in the first line of your data
file. However, they are not stored in the MINFILE format, and so are read
from the reference file when MINFILE input is selected.

The field widths in line 3 are used to read and write files in the fixed
field-width .PRN format. These default values correspond to the standard
version of the MINBASE.WK1 spreadsheet.

The codes in line 4 are only used when the "database mode" switch is
set (see "Running the program", below). This option forces the data in
each field to be output as numeric, or as text (enclosed in quotes), to
ensure compatibility with specified field types in databases. (Otherwise
MINCALC determines for itself whether each individual item to be output
is a number or text.)

Line 5 tells MINCALC which of the information fields contain necessary
data for the calculation or for output formatting. The ID (specimen identification)
and group# fields control what goes into these specific fields in the MINFILE
format, and are not applicable to other formats.

To change the page length (72 lines = 12 inches, 70 lines = A4), or
the number of decimal places in totals or cations, edit the appropriate
line. The rest of this file consists of data on the oxides. Add any further
oxides of interest to you (up to 100 of them), or edit anything (e.g. cation
names) you are not happy with. There are five free-format fields:

Name of oxide (as it must appear in data file).

Name of cation (as you want it to appear in output).

Molecular weight of oxide.

Number of atoms in oxide formula unit.

Valence of atom.

Note the way anions such as Cl and S are treated here:

S S-2 32.066 1 -2
Cl Cl- 35.457 -1 -1

To avoid conflict when data are re-imported into databases, the weight
% and molar symbols are different. Anions have negative valence. Anions
such as Cl, which substitute for OH, have been given negative atom numbers
(see the section on recalculating hydrous minerals).

Several .REF files are supplied, which differ in the definition of the
sample information fields.

MINBASE.REF, which is also the default MINCALC.REF, replicates the format
of the mineral database spreadsheet MINBASE.WK1. The information fields
are:

A numeric field, which can be used either for a sequential number of the
analysis in the database, or for a small integer to allocate the sample
to a particular group for plotting, etc.

Sample name/number.

Mineral name, abbreviated. I use the set of standard abbreviations recommended
by Kretz, 1983, Am. Min.

Numeric field to identify the analysis, e.g. a spot number such as 2.3,
signifying grain 2, analysis spot no 3.

A short text field to identify the analysis, e.g. "core", or to indicate
location: "near Grt".

The number of oxygens (or cations) to be used for formula recalculation.

M9BASE.REF is similar to this, but adapted for data acquired on the Oxford
Microscan 9 electron microprobe. The first field is for analysis identification
letters (A, EZ, etc). Two additional fields are for the stage X and Y coordinates.

SHORT.REF has three fields, 1) Sample ID, 2) Mineral name, 3) oxygens or
cations for recalculation. This is a suitable format for making data files
"by hand" or in a simple spreadsheet. The uniform field width defined here
is 9 characters, the default column width for LOTUS 1-2-3 and similar spreadsheets.

VSHORT.REF has minimal sample information, just one column. Oxygens for
recalculation will be prompted for while MINCALC is running. The default
column width is 8 characters. Using output file format 2 should produce
files compatible with the public-domain graphing program GENPLOT.

New, customized reference files can be built by editing any of the above.
Comments can be placed at the end of any line of a .REF file.

To use a particular reference data file, do one of the following:

Make a copy of it called MINCALC.REF.

Give its full name on the entry screen.

Give its full name as a command line parameter when MINCALC is started.

Hydrous minerals

Be careful when recalculating the formulae of hydrous minerals for which
you have data for F and Cl. If you have microprobe analyses, without a
value for H2O, use the number of oxygens which corresponds to the formula
without its ideal H2O content (i.e. 22 for micas, 23 for amphiboles), and
make sure you do not list H2O among the oxides in that data file. If you
have full analyses, including H2O, use the total number of (O, OH, F, Cl),
i.e. 24 for micas and amphiboles. MINCALC looks for H2O in line 1 of the
data file, and chooses the appropriate recalculation method for F and Cl.
You will thus not be able to mix microprobe and full analyses in the same
file.

Running the program

Make sure the appropriate reference data file(s) (e.g. MINCALC.REF) is
in the same directory as the program MINCALC.EXE, and type MINCALC at the
DOS prompt.

When MINCALC is running, an entry screen appears, on which you can enter
the input, output, and reference file names (with their full path if they
are not in the current directory), and select options for file formats
and type of output.

The fourth field on the screen allows you make output more compact or
legible by specifying a set of characters to replace entries like "0.000"
in the cation listings.

Near the bottom of the screen, there are two switches (1 = yes, 0 =
no) which control program operation:

Database mode. This option forces weight and cation output fields to contain
numerical data (e.g. replaces entries such as n.a. with 0.00). For the
sample information fields, MINCALC usually tests the initial character
of the entry to determine whether it is a number or text. This option overrides
the test and imposes the definitions in the reference data file.

No screen listing. This option suppresses the full listing of each analysis
to the screen, giving only the sample identification. Program execution
is significantly faster.

Some default options are already there. As soon as everything is entered
to your satisfaction, press ESC. If the input file can't be found, you
get the option, via further prompts, to search for the file you want, first
in the current directory, then anywhere you like. If the output file currently
exists, MINCALC prompts you for permission to continue.

While MINCALC processes the analyses, it shows the calculated results,
one analysis at a time, on the screen. You can "freeze" the recalculation
at any time, to examine a particular analysis, by hitting any key (the
space bar is the most convenient). To restart, just hit any key once again.

If you selected ferric iron recalculation, you will be prompted to enter
the appropriate number of cations before the first analysis is processed,
and thereafter whenever the program detects (by noting a change in the
number of oxygens specified) that the mineral species has changed.

There are some optional command-line parameters:

REFFILENAME (the name of the reference data file you want to use, if this
differs from MINCALC.REF)

and the two switches:

/D or /d which enables "database mode" (see above)

/S or /s Suppress screen listing (sample ID only).

The parameters can appear in any order. For example: to run MINCALC using
a different reference file and without full screen listings type either

MINCALC SHORT.REF /S

or

MINCALC /S SHORT.REF

Printing vertical tables

On the entry screen you can choose how many analyses to print on a page.
The choices given (7, 9 and 13) correspond to a full page width using pica,
elite and compressed type respectively on a standard EPSON-type dot-matrix
printer, but (within reason) you can enter other numbers here. If you choose
printer output, the tables should format correctly on a dot-matrix printer,
or on a laser printer configured for EPSON FX emulation. For fancier effects,
output the vertical list to a file, and import the file later into your
favourite word processor to add fonts and page formatting. You should only
have to edit out a few printer codes.