Software for Applicon Graphics System Support Of the NNWSI … · 2012-11-18 · Permitting...
Transcript of Software for Applicon Graphics System Support Of the NNWSI … · 2012-11-18 · Permitting...
1•3SAND82-1774 * Unlimited Release * UC-70
R 'I
IQ SAT&MSSPrinted February 1984
� iI
-1I. I
-i
IIII
Software for Applicon GraphicsSystem Support of the NNWSIArea-to-Location Screening Activity
Michael W. Sharp
Prepared bySandia National LaboratoriesAlbuquerque, Now Mexico 57185 and Uvermore, Caltornia 04550for the United States Department of Energyunder Contract DE-AC04-76DP00789
-'5
A....
;,
-�. #.�..
2
a
4 4
-1
1 , '-.,
I4
.1. -
k,. -
* I
, 4 . -
S F 2 9 0 0 0 ( 8 8 1 )~~~~~~~~~~~~~
.4 ~ ~ ~ ~ "4
Al
SAND82-1774Distribution Category UC-70
Unlimited ReleasePrinted February 1984
SOFTWARE FOR APPLICON GRAPHICS SYSTEM SUPPORTOF THE
NNWSI AREA-TO-LOCATION SCREENING ACTIVITY
Michael W. Sharp C ANuclear Waste Engineering Projects >rig
Division 6311 ZSandia National Laboratories
Albuquerque, New Mexico 87185 ,
ABSTRACT
A comprehensive system study has been performed toscreen the Nevada Research and Development Area (NRDA)of the Nevada Test Site (NTS) and nearby areas forrelatively favorable locations of about 10 squaremiles for the permanent disposal of radioactive wastein a mined repository. The purpose of this screeningwas to use information available during the summer of1981 to identify such locations. The results of thisscreening will allow more informed decisions by theDepartment of Energy's Nevada Nuclear Waste StorageInvestigations Project as to where future repositoryexploration could be concentrated to optimize thechances that the locations chosen for characterizationwould qualify as a licensed repository site. The methodsused for, and the results of, this study are describedby S. $innock and J. Fernandez in their report, 'Summaryand Conclusions of the NNWSI Area-to-Location ScreeningActivity," (Reference 3). This report is intended todescribe the computer support developed for the screeningactivity and, as such, should not be treated as astand-alone document, but as a supplement to the abovesummary report. This report complements two othersupplemental reports dealing with 16 physical data basesfor screening (Reference 5) and the objectives of thescreening methodology (Reference 4). Together, thesefour reports fully describe the screening activity ofthe Nevada Nuclear Waste Storage Investigations Project.
i
Table of Contents
Page
1. System Overview 1
1.1 Purpose 11.2 System Summary 21.3 Software Summary 31.4 Data Base 31.5 Data Input 41.6 Favorability Functions 111.7 Output 14
2.0 Evaluation Algorithms 23
2.1 General Equation for Rating Process 232.2 Variations of the General Equation 25
3.0 Software Description 29
3.1 Data Files 313.2 Source Code 32
Appendix A - References A-1B - Functions and Parameters of NNWSI
Screening Activity Software B-1C - Source Code Listings C-1
ii
List of Figures
Pace
1. Volcanism Potential Input Contours 10
2. Weapons Seismic Potential Inclined Contours 12
3. Air Pollution Potential Favorability Curve 13
4. Retrieved Coordinates of Selected Grid 16
S. Inclined Contours for Values Above Threshold 17
6. UCMD 11 Statistical Olutput 18
7. Evaluation Value Histogram 19
8. Host Rock Symbols 20
9. Host Rock Results 21
10. Host Rock Evaluation Values 22
11. Screening Activity Data Flow Diagram 30
12. Level 1 Objective Tree 33
List of Tables
I. Data Base Record Format 5
iii
1. System Overview
1.1 Purpose
The objective of the Nevada Nuclear Waste Storage
Investigations (NNWSI) screening activity was to identify the
most favorable locations for the construction of a radioactive
waste repository within a candidate area in southern Nevada.
The quantitative evaluations were obtained by: (1) identifying
the physical attributes for each quarter-mile grid within the
screening area, (2) normalizing each attribute by assigning a
favorabilify index within the range of 1-10 over the domain of
the attribute, (3) weighting each attribute corresponding to
its influence and impact upon a specific objective, and (4)
performing the evaluation functions which calculated the
overall "favorability" of each location grid according to the
user-assigned attribute-objective weightings.
In order to support the NNWSI area-to-location screening
activity, a system of application software was developed to
perform the tasks of data management, objective weighting
assignments, favorability rating calculations, and data
retrieval and display. This software was designed for the
Applicon 3-dimensional Computer Aided Design (CAD) system for
this specific activity and as such is neither transportable to
other computer systems nor applicable to other activities. The
general design of this system is, however, applicable to the
overall concept of Interactive Graphics Information Systems
(IGIS), and this report will make reference to that concept
while describing the specific functions of the software in the
performance of the area screening function.
I
1.2 System Summary
The Applicon Graphics System (AGS) is primarily a CAD
system used for mechanical parts design. With its attributes
and available functions, this system has been adapted to
perform a mapping function for various projects which are
oriented toward the geological disciplines. The AGS system was
selected to support the NNWSI screening functions because of
the special nature of that activity and the interactive
capabilities of the system.
The Applicon processor is a PDP 11/34 with 80K memory. The
interactive graphics system is the AGS 880 stand-alone
operating system and as such does not support software
development. The editing, compiling, and installation of
programs is accomplished using the RSX-11Z operating system
with an Applicon-modified FORTRAN compiler and special Applicon
subroutine library for graphics system interface. (See
reference *1.)
Since the applications software must reside within an
interactive graphics operating environment, the memory
limitations are quite strict. A user-defined program must
reside within the address limits of 44008 - 600008 bytes.
Including the necessary Applicon system tables and interface
routines further reduces the memory available to the
user-written program to approximately 5400a - 30000a bytes
(approx. 4700. words).
2
I
1.3 Software SummarX
With the memory restriction described above, the
applications software was developed as a set of 12 independent
programs, each capable of being processed independently. These
programs are invoked through the operating system and
identified with a specific user command (UCMD) number. The
program functions and their corresponding UCMD numbers are
listed in Appendix B. These programs provide the mechanism by
which the graphics representation of the NNWSI. screening area
is linked to a non-graphics data base of the attributes;
thereby, assuming the role of a first approximation to an
Interactive Graphics Information System.
1.4 Data Base
In order to link the various attribute values to the
individual grid elements representing the NNWSI screening area,
a direct-access data file was established whose record numbers
corresponded to-specific grid elements. The initial screening
area was identified as a rectangular matrix of quarter-section
size cells with 42 columns and 52 rows for a total of 2184
cells. The data base record numbers corresponded to the
position of the associated cell within that matrix by row and
column position. Hence, the record number containing the
attributes for the grid cell in-the ith row. Jth column is
(i-l} * 42 + J. When the final screening area was defined as a
3
subset of this initial grid, the original associativity
function was retained in order to minimize the impact on
existing software. Therefore, only 1514 of the original 2184
records within the data file were active.
The size of each data record is 512 8-bit addressable
bytes. Each data element is represented in 32-bit floating
point format which reduces to 128 elements/record. The data
elements represent the attributes and favorability values for
the associated grid cell and intermediate and final evaluation
results for the latest evaluation calculation. (See Table I
for record format and Reference #3, Appendix B, for element
values associated with the attributes.)
1.5 Data Input
1.5.1 Host-Rock Independent Attributes
The majority of the host-rock independent attributes of the
screening area were established by digitizing area maps which
identified region boundaries of attribute values. The Applicon
designer selected all of those grid points within a particular
region and invoked UCMD #12 to assign an appropriate numeric
value to the appropriate data element within each record
associated with the selected grid cells. Example: Figure 1
depicts the Applicon display prior to invoking UCMD #12 to set
the volcanism potential attribute for Zone 4.
In special cases where the attributes were calculated
(e.g., weapons seismic potential) a set of inclined contours
4
TABLE I
DATA BASE RECORD FORMAT
Element Position
1 - 25
1
2
3
4
5
6
7
8
9 .
10
11
12
13
14
15
16
17
18
19
20
Description
Host-rock independent attributes
No data
Volcanic potential
Air pollution potential
Permitting difficulties
No data
Bed attitude
Fault density
Fault trend
Age of faulting
Natural seismic potential
Weapons seismic potential
Erosion potential
Resource potential
Groundwater development potential
Groundwater flux
Groundwater flow direction
Thickness of unsaturated zone.
Flood potential
Terrain ruggedness
No data
5
Element Position
21
22
23
24
25
26 - 30
31 - 55
56 - 60
61 - 72
61
62
63
64
65
66
67
68
69
70
71
Description
Sensitive floral species
Sensitive faunal species
Revegetation potential
Known cultural resources
Potential cultural resources
Additional output registers for overallevaluation results
Favorability assignments correspondingto attribute values in data elements1-25
Output registers for overall evaluationresults
Host-rock existence
. 0 specific host-rock does not existat this grid cell location
= 1 specific host-rock exists at thisgrid cell location
Granite
Chocolate Mountain
Argillite
Carbonate
Upper nonwelded tuff
Calico Hills
Topopah Springs
Ammonia tanks
Alluvium
Crater flat
Dome Mountain Lava
6
Element Position
72
73 - 76
73
74
75
76
77 - 86
77
78
79
80
e1
82
83
84
85
86
87
88
89 - 128
89
90
Description
Basalt
Saved intermediate results of latestlevel 1 objective evaluation calculation
Containment
Isolation
Construction and operation
Environmental impacts
Saved intermediate results of latestlevel 2 objective evaluation calculation
Disruptive process (containment)
Disruptive events H
Nuclide migration (isolation)
Adverse changes
Surface facilities (construction &operations)
Subsurface facilities (construction &operations)
Transportation (construction &operations)
Biotic systems (environment)
Abiotic systems (environment)
socioeconomic systems (environment)
Institutional factors
Cultural resources N
Saved intermediate results of latestlevel 3 objective evaluation calculation
Chemical processes
Mechanical processes
7
Element Position
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Description
Seismic
Erosional
Volcanic
Human intrusion
Miscellaneous
Groundwater flow
Nuclide retardation
Host-rock thickness
Volatile pathways
Tectonic
Climatic
Geomorphic
Human induced
Miscellaneous
Seismic hazards
Monitoring costs
Foundation conditions
Wind hazards
Flood hazards
Construction resources
Seismic hazards
Flood hazards
Mining conditions
Host-rock geometry
Host-rock homogeneity
8
Element Position
116
117
lie
119
120
121
122
123
124
125
126
127
128
Description
Waste package acceptance
Terrain factors
Distance to existing routes
Sensitive species
Surface features O
Water quality
Air quality
Local economics
Lifestyles
Private land use
State issues
Federal requirements
Archaeologic and historic sites
9
FIGURE 1. VOLCANISM POTENTIAL INPUT CONTOURS
10
was prepared whose x and y values corresponded to the grid
locations of the screening area and the z - values corresponded
to the attribute values. Figure 2 depicts the Applicon display
of these contours in an isometric view. These contours are
selected and the user calls upon UCMD #10 to set the specified
element to the appropriate value depending upon the z-value of
the grid point associated with the data record.
1.5.2 Host-Rock Dependent Attributes
The host-rock dependent attribute values are applicable to
a specific host rock: therefore, those attributes are dependent
not only upon which host-rock is being evaluated, but also upon
whether that host-rock exists at the specific grid location.
The data base does not contain the attribute values for each
host rock, but it does contain an element for each host rock
which indicates whether or not that rock exists at the
associated grid location (refer to Table I ). The attribute
values are not found-within the data base, rather the
favorability values are contained in data statements within the
evaluation programs, UCMD's 15, 17, 19, 26, 27, 28, and 29.
The host-rock indicators were established using the same method
described in section 1.5.1.
1.6 Favorability Functions
In order to normalize the various domains of the
attributes, favorability values in the range of 0 - 10 were
assigned to each attribute by means of a mapping function which
was generated by the user at the graphics station. Figure 3
shows the mapping function which was applied to the
11
N-
FIOU 2. EApo~s S Istli pOTE"NTIAL INCLINED
Co"OO
1 0.
60 /
/ jI I I I5.5 '0.5
F I-GURE 3.
AIR POLLUTION POTENTIALFAVORABILITY CURVE
13LIB RXAWI
air pollution potential. UCMD *14 would then be called upon to
map the attribute value found in element #3 to its
corresponding favorability value described by this curve and
assign that value to element #33 within each record. The
evaluation functions would then use these normalized attribute
values as the input to their calculations. In addition to
normalizing the attribute values, this operational approach
allowed the project user to incorporate subjective assessment
of the impact of an attribute value upon the overall
evaluation. This assessment could then be modified without
altering the attribute's absolute value.
1.7 Output
1.7.1 General
The calculated results of the evaluation functions are
stored within each grid cell record for later retrieval for
further processing or display. The method for displaying these
results is to call upon UCMD *11 which will 1) retrieve the
specified element which contains the evaluation results within
each grid record, and 2) produce an inclined contour surface of
the points associated with each data record whose z-value
corresponds with the value of the specified element. These
inclined contour surfaces generated by UCMD #11 can represent
not only a 3-dimensional model of the evaluation results but
also of any of the 128 elements (attributes. favorabilities.
intermediate results. etc.) within the data records.
14
Whenever this 3-dimensional model of grid values resides at
an interactive graphics station, it may be interrogated in
order to list the value of specific grid locations (Figure 4).
It may also be interrogated to display the grid locations where
the element values fall within a specified range (Figure 5).
This is the added dimension that an Interactive Graphics
Information System offers the user: that is. the ability to
capture the actual values within the graphics representation of
the data.
In addition to the inclined contours, UCMD #11 also lists
the high and low values, arithmetic average, and standard
deviation of the specified element values (Figure 6) and
produces a histogram which represents the number of occurrences
of element values within specific value ranges (Figure 7).
This latter function is also performed by UCMD 16 which has the
additional facility of allowing for non-uniform intervals along
the abscissa of the generated histogram.
1.7.2 Host-Rock DeDendent Evaluations
While performing the host-rock dependent evaluation. UCMD's
17 and 27 produce a symbol which identifies the host-rock with
the highest calculated evaluation rating at each grid
location. Figure 8 shows the symbols and the host rocks which
they identify. Figure 9 gives an example of the results of a
typical evaluation of the host-rock dependent attributes. In
addition to the host-rock symbols UCMD's 17 and 27 also list
the evaluation results for each host-rock (Figure 10).
15
r l i l- --
ol tenyA
-J z /: 3-- M ME
I Id
0
N
0
I L
LO,
I IFIGURE 4.
RETRIEVED COORDINATES OF SELECTED GRID
16
X-ff a l >20<60
>0<20
I
1*
FIGURE 5.INCLINED CONTOURS FOR VALUES
SELECTED THRESHOLDABOVE
17
LOW
24.898 1
HIGH
91.7783
AVERAGE
62.72 1 2
SIGMA
1 7.5747
Figure 8.
Example of UCMD 11 Statistical Display
200
1 80-
1 60-
1 40
1 20
1 00
80
60-
40 -Jib20
0 T0 0 0 0 0 0 00 0 1 o o o0 oO00
FIGURE 7.EVALUATION VALUE HISTOGRAM
19
D GRANITE
A CHOCOLATE MOUNTAIN
0 ARGILLITE
<> CARBONATE
t UPPER NONWELOEO TUFF
A CALICO HILLS
@ TOPOPAH SPRINGS
¢ AMMONIA TANKS
mai ALLUVIUM
A CRATER FLAT
(2) DOME MOUNTAIN LAVA
4) BASALT
FIGURE 8. HOST ROCK SYMBOLS
20
. . . . . . . .A AI M. IEA
&A -
I IRAE AkAIJ-A �Vlv,
�Lla&r!n
0�,��aAAAAA
k 1 MM
--- - - - - -cm)I j -, " la
'4
d s~~- - - - - - - - - - - -A
IUl I Mfl .ftPvf %_ J !!LEr~ n iir I ll
AAA4plAAAXXiA A AAAA A AA & A A A A A A A A7KAk A I
1U111 / TI U I! I l IVIIm
9 fi fi 2 2( b~~~ I A b A9 F A9 k 9 9 t 9 9 9 9 9 ! ^ 9 fi 9 9 9 k 9 9 t 2 @ k >I ~n I ~q !
9 f~~i Z iff99 9A9v99
% i A\ A I AA A �AMPM'rA&/N4NMVh...AXi aA I lx A AX AN AX AX AX AN1
-inn"4 1 :na DnI I A . .U . .V .M I L 1
LNA\IA NIA k* . r_. ),_.*X X
LA/ ai l WNAA\
hAAMAI&AM11NiA
AujiliJrvk AIsalbal
AA0
Ir I x . r . . _ <
......... , ......I...........
[m ml "11111111111111111u
I
1111111 1111111111111 1i 1 [i 1 i :11 : w114 1 v 14 vh1 iI''''It' 1111111111............ ................... ........ _,, ,, = , ~~- I,,, =.,
HOST ROCK RESUIS MOST HIGHLYBLOCKS SHOW GRROCKS OCCUR IN
FIGURE 9.LTS SHOWING WHI
RATED AT EACHID CELLS WHERE
SCREENING.
CHGRNO
ROCK TYPEID CELL.
HOST
21
Host Rock Value
Granite
Chocolate Mountain
Argillite
Carbonate
Upper Nonwelded Tuff
Calico Hills
Topopah Springs
Ammonia Tanks
Alluvium
Crater Flat
Dome Mountain Lava
Basalt
3 1.283
1 5.253
33.8 1 2
1 6.258
22.877
30.962
1 8.91 2
1 5.795
1 8.627
27.898
2 2.350
20.118
Figure 10.
Host Rock Evaluation Values
22
2.0 Evaluation Algorithms
The algorithms for obtaining the quantitative evaluation
are based upon the equations described in pages 52-59 of
SAND82-0550 (reference # 3) which are repeated herein. The
reader is referred to the previous section in the same report
(pages 37-52) for more detail regarding the relationships among
attributes. favorabilities. and objectives, and the general
rating process.
2.1 General Equation for Rating Process
The process for calculating ratings, R. for each half-mile
square cell of the base map can be summarized as follows:
m / nR, * £ 3i (1)
i=1 j=1 )
where
m is the total number of level 3 objectives
n is the total number of attributes
i is the level 3 objective number
J is the attribute index
F is the favorability value for the jth attribute at
the grid cell in question
thWij is the weight of the j attribute applied to the
ith objective. This is obtained by
Wi Wiw -
23
where w . is the percentage of influence (x 100) that
the jth attribute has in determining the evaluation of the
ith objective.
n
E Wij = 100
j:1
W. = W! WI W'
where W; is the level-I weighting factor applied to the
ith attribute...
Wi is the level-2 factor, and
Wi is the level-3 factor.
Thus, equation 1 becomes
m /n
R = E (E F W!W".W!I'w) (la)
This is the actual equation implemented by UCMD's 19 and 17.
Because weights assigned to attributes and objectives are
integers between 1 and 100 rather than decimals (e.g.. a weight
of 55 percent is assigned a value of 55 rather than 0.55), the
total possible rating score is 1 x 109.
24
This is obtained by
10 (favocability value of attributes)
times 100 (sum of weights for attributes in a given column
of the objective-attribute matrix)
times 100 (sum of weights for level 3 objectives)
times 100 (sum of weights for level 2 objectives)
times 100 (sum of weights for level 1 objectives)
equals 1 x 10'.
For convenience, the resulting rating for locations and
host-rocks are each divided by 10,000 at the end of the summing
process so all ratings are scaled to a maximum combined value
of 100.000. These large rating numbers are used primarily to
allow their extensive manipulation in the computer system and
do not imply that the ratings are meaningful to six significant
digits.
2.2 Variations of the General Equation
The interactive capabilities of the AGS CRT terminals
permit the sensitivity of screening results to various
assumptions about the weights and favorability graphs to be
easily investigated.
The method by which various weighting assumptions were
investigated was to assign all the weight to selected subsets
of objectives or attributes. This allows assessments of which
combinations of objectives or attributes are responsible for
high and low ratings of different locations and host-rocks in
the screening area. The results of these variations are
25
discussed in Reference *3, Chapter 3. but they are mentioned
here because different sets of weights affect the maximum
possible value of the ratings.
For example, if a particular calculation is restricted to
the containment and isolation objectives by assigning zero
weights to other upper-level objectives, the maximum possible
evaluation value is lowered from 100.000 to an amount
proportional to the combined weight of the containment and
isolation objectives. Because each set of assumptions produces
different maximum possible rating values, a means of
normalizing all evaluations to a maximum rating of 100.000 was
developed. This involves modifying Equation (1) to
R - [E Fj[wj/(F i)Xj [IE w/(F i)X (2)
mWj E Wii (2a)
i=l
where x is an integer exponent of F and other symbols in
Equation (2) and (2a) are the same as in Equation (1). If the
exponent. x. is zero, the maximum possible rating. R. divided
by 10,000 is 100.000 because (F.)0 is 1 and Equation (2)
becomes
26
R = [ z (FPWj) [ ( (W)3)
This, rather than Equation (1). was used in UCMD's 27 and 29 as
the nominal case for calculations because of its independent
normalizing effect on both location and host-rock ratings.
Equation (2) was developed at Lawrence Livermore National
Laboratories by R. C. Carlson, because of its properties when
the exponent of FJ is an integer greater than zero. In this
case the effective weight of an attribute is increased as its
favorability approaches zero. If the favorability value for
attribute. J. at a given attribute-objective matrix
intersection, ij, is very low, the ratings of the geographical
grid cells or host rocks with these low favorabilities are
0depressed relative to the nominal evaluations using (Fl)
If the favorability is zero, the weight_ is infinite, the
total rating is zero, and the zero favorability acts as an
exclusionary condition.
UCMD's 26 and 28 implement another variation of Equation
(1):
m
YR 'E (r )2(,.)2 (4)kink
27
where
is the variance of ratings for each grid cell or
host-rock due to the variances of weights for
individual objectives;
n
ri F . aijFj. (5)
j=l
or the rating value associated with lower-level
objective, i, and applicable attributes. j:
aij is the weight of the jth attribute with respect
to the ith objective: and
ai is the standard deviation of the weight of the
ith lower-level objective.
By definition a X (Y) 1/2. R is the standard
deviation of the rating for each grid cell or host-rock arising
from different assumptions by different individuals about the
proper weights for various performance objectives. Thus. (R)
provides a measure of confidence in the ratings as a function
of a reasonable range for the weights assigned to performance
objectives.
Another software application (UCMD 12) allows one set of
ratings for grid cells or host-rocks to be added to. subtracted
from, multiplied or divided by another. For example. the
maximum host-rock score at each grid cell can be added to
28
location ratings to obtain a favorability map of locations
including host-rock ratings. The results of Equation (2) with
an exponent greater than zero can be divided by results with an
exponent of zero to show where low favorability attributes have
the largest effect on the ratings. Similarly, the results of
Equation (4) can be divided by those of Equation (2) (exponent
= 0) to determine the relative rather than the absolute
uncertainty due to variance of the objective weights. Such
capabilities allow detailed investigation of the sensitivity of
the results to many assumptions inherent in the analytical
method.
3.0 Software Description
In order to focus attention to the project activities, the
software described herein will be that which is directly
applicable to the screening activity. The sections of software
which are necessary for the AGS graphics file interface will be
identified in the program listing, but will not be addressed in
the narrative. Please refer to reference #1 for any-
information concerning the Applicon FORTRAN interface utilities.
Figure 11 depicts the-data flow between the processes
required for the screening-evaluation software system. The
-format for this diagram is similar to that used for structured
system analysis and as such does not depict any logic
processing or control information.
29
DDATA BASE DATA BASE
ATTRIBUTE \VALUES /FVOR-
ABILITY ATTRIOUTE
T T RI B UTE 10 VALUESA LUE S
~~~~~~~~ ~~~~~~~GRAPHICS.ESTABL IG MANALYSE DATA
FAVORABILITY RESULTS & aVALUES REVIEU
FAVORIPILITY CURVES
FIGURE 11.SCREENING ACTIVITY DATA FLOW DIAGRAM
3.1 Data Files
3.1.1. KNWSI Attribute Data Base
The entire screening-evaluation software system revolves
around the NNWSI Attribute Data Base file which is maintained
and accessed through 12 independent software modules on the
Applicon interactive graphics system. This file is defined as
a direct-access file of 1514 active records with each record
position mapped to a specific grid location within the
screening area. Each of the 128 data elements within a record
corresponds to either an attribute value, favorability value.
and are the intermediate or final results of the latest
evaluation calculation (See Table I). Therefore, it is
possible to access a specific attribute value for a specific
grid location with one direct-access read of the file and with
the appropriate element pointer corresponding to the desired
value. In actual implementation, however, the requested record
number corresponds to the coordinate location of an associated
graphics grid-cell identified by the user. Thus, it is
possible to interactively identify any subset of grid locations
and request display of any of the stored values at the graphics
work station. This may be accomplished via a combination of
the inherent graphics capabilities of the Applicon system and
of the software utilities developed for this project.
3.1.2 Favorability Curves
Since the actual evaluations are performed using the
favorability values rather than the attribute values, the
31
curves used to map the attributes into favorability values must
be considered as part of the data base. These curves are
stored graphically within an AGS graphics file and are separate
from the NNWSI Attribute. Data Base. They are maintained in
case the values for a subset of attributes is changed
necessitating a change in the associated favorability values.
3.1.3 Obiective Tree Data Base
The objective weightings are stored as text data within an
AGS graphics file and may be accessed via the graphics. -
workstation. Figure 12 displays the manner in which a typical
level-l objective tree is viewed at a workstation. The number
above the box which surrounds the description of each objective
is the weight which will be applied to that objective for the
current evaluation and may be accessed and modified through
interactive methods (see reference *2) or through UCMD 18.
Typically whenever the weights are established and the
evaluations are completed, the results are analyzed by
generating corresponding inclined contours of the screening
area using UCMD 11. The contours are stored in the same
graphics file with its input. therefore, one would be able to
access and identify the input for and the output of an
evaluation scheme by reviewing a single graphics file.
3.2 Source Code
The FORTRAN source code listings (Appendix C) have been
edited so that they contain only the portions which pertain to
32
0o0
:<<<<<<<<<< >>>>>>?>>>>>
PROVIDE SAFE, EFFECTIVEIADIDACTIVE WASTE DISPOSAL
c<<<<<<<<<< >>>>>>>>>>>>
I
w.
3 ) 34 26 9
ENVIRONMENTAL IMPACTSRADIONUCLIDE CONTAINMENT RADIONUCLIDE ISOLATIONCONSTRUCTION, OPERATIONS,
8 DECOMMISSIONING
FIGURE 12. LEVEL 1 OBJECTIVE TREE
the screening applications. The Applicon graphics-interface
portions of the listing have been removed in order to
concentrate the reader's attention to the evaluation algorithms.
34
Appendix A
References
1. AGS/661-! FORTRAN Interface User's Manual, Document No.
A-20514, Burlington. Massachusetts: Applicon Incorporated,
Publications Services, (June 1980).
2. AGS/880 User's Guide. Document No. A-20090, Burlington.
Massachusetts: Applicon Incorporated, Publications
Services. Vols. I, II and III.
3. Sinnock. S. and J. A. Fernandez. "Summary and Conclusions
of the NNWSI Area-to-Location Screening Activity," NVO-247.
Sandia National Laboratories, August 1982.
4. Sinnock, S.. and J. A. Fernandez. "Location Performance
Objectives for the NNWSI Area-to-Locati-on Screening.",
SAND82-0837, 1983.
5. Sinnock. S., J. A. Fernandez. and W. S. Twenhofel.
"Attribute and Associated Favorability Graphs for the NNWSI
Area-to-Location Screening Activity." SAND82-0838. 1983.
A-1
APPENDIX B
FUNCTIONS AND PARAMETERS OF NNWSI SCREENING ACTIVITY SOFTWARE
UCHD 10
Modifies the specified element of all data base records such that theelement value corresponds to the Z-value of the selected set of inclinedcontours which overlay the screening area.
UCHD 10 id
id - id # of specific data element to be set
jCMD, 11
Generates a set of inclined contours of the screening area whichcorresponds to a specified element within the attribute data base,builds a histogram of occurrences of element values for display on theinteractive graphics system, and lists the high, low, and arithmeticaverage values and the standard deviation of the element values.
UCHD 11 id scale
id - id # of specific data element which willdetermine z-value of inclined contour
scale - (optional) scale factor to control'the scaling ofthe z-value of the inclined contour (default-i.)
UCMD 12
Modifies specified elements of those data base records which correspondto selected areas of the graphics representation of the screening area.The modifications are user-specified operations on one or two of theexisting elements in each record (e.g., element #7 a element #2 dividedby element #3).
UCMD 12 Id value
id - Id # of data element to be modified
value - value to which the data element will be set
UCMD 12 id value oper
id - id t of data element to be modified
value - value of the operand
oper - operator ADD - add operand to data elementSUB - subtract operand from data elementKUL - multiply data element by operandDIV - divide data element by operand
B-1
UCmD 12 id id2 oper
id - id # of data element D1
id2 - Id # of data element 12
oper - operator MOV - replace data element #1 withdata element #2
EXC - exchange data elements #1 and #2
UCMD 12 id id2 oper id3
id - id v of data element D1
id2 - Id v of data element #2
id3 - Id 1 of data element 13
oper - operator... replace data elementoperation on data element #2 by
ADD - iduid2+id3SUB - id-1d2-Wd3MUL - id-id2*id3DIV - idmid2/id3
#1 with the results of thedata element #3
UCHD 14
Assigns a favorability value to an attribute element In all records bymapping the attribute value to a favorability vs. attribute curve whichis maintained by the user through interactive graphics.
UCMD 14 id id2 cid
id
id2
cid
- id I of attribute data element
- id # of favorability data element
- id name of favorability curve in drawing file
UCMD 15
Performs the absolute evaluation function for a theoretical record whereall attributes have a value of 10 and returns the largest possible valuefor the existing objective weightings.
UCMD 15
The following input parameters are supplied by the user as prompted bythe program.
- specific host-rock to be evaluated.- specific branches of the objective tree to be
re-evaluated.
The results will be displayed at the graphics work station.
B-2
UCUD 16
Builds a histogram of occurrences of element values for display on theinteractive graphics system and lists the high, low, and arithmeticaverage values and the standard deviation of the element values.
UCMD 16
- The following input parameters are supplied by the user as prompted bythe program.
- id # (1-128) of the data element in the data fileto be scanned for interval counts
- interval levels in ascending order. (Up to 25levels may be specified.)
- THe high, low, and average values will be listed at the graphics workstation.
UCMD 17
Performs the absolute evaluation functions using only the host-dependentattributes and adds a symbol to the site drawing at each elementposition which corresponds to the existing candidate host rock with thehighest evaluation. This evaluation value is then added to thespecified host-independent evaluation at each grid element to achieve atotal evaluation.
UCHD 17
- The following input parameters are supplied by the user as prompted bythe program.
- the register number of the correspondinghost-rock independent evaluation to which thehost-rock dependent evaluation will be added.
UCHD 18
Alters the objective tree weighting parameters and theattribute/objective matrix according to the user's keyboard responses.
UCMD 18
- Input is supplied by the user as prompted by the program.
UCMD 19
Performs the absolute evaluation function for the host-independentattributes and, if specified, for the host-dependent attributes for onehost rock. The evaluation results are stored within the element recordfor later retrieval or display.
B-3
UCHD 19
The following input parameters are supplied by the user as prompted bythe program.
- specific host-rock to be evaluated.- specific branches of the objective tree to be
re-evaluated.- lowest level of objective tree to be re-evaluated.- specific register to save the final results of
the evaluation.
UCHD 26
Evaluates the variance of the absolute evaluation function due tovariance of the individual objective weighting. The evaluation isperformed on the host-independent attributes for all candidate hostrocks and then sorted in order of descending variance. A symbol isadded to the site drawing which corresponds to the existing candidatehost rock with the highest variance. This variance is then added to thespecified host independent variance (UCMD 28) at each element to achievea total variance.
UCHD 26
- The following input parameters are supplied by the user as prompted bythe program.
- the register number of the correspondinghost-rock independent variance to which thehost-rock Independent variance will be added.
UCMD 27
Performs the same function as UCMD 17 using the normalized evaluationequations.
UCMD 27
- The following input parameters are supplied by the user as prompted bythe program.
- the register number of the correspondinghost-rock independent evaluation to which thehost-rock independent evaluation will be added.
- the favorability exponent to apply to thenormalization function.
UCMD 28
Evaluates the variance of the absolute evaluation function due to thevariance of the individual objective weightings. The evaluation isperformed for the host-independent attributes and, if specified, for thehost-dependent attributes for one host rock. The variance value isstored within the element record for later retrieval or display.
B-4
UCMD 28
- The following input parameters are supplied by the user as prompted bythe program.
- specific host-rock to be evaluated.- specific register to save the final results of
the evaluation.- the favorability exponent to apply to the
normalization function.
UCHD 29
Performs the same function as UCMD 19 using the normalized evaluationequations.
UCHD 29
- The following input parameters are supplied by the user as prompted bythe program.
- specific host-rock to be evaluated.- specific branches of the objective tree to be
re-evaluated.- specific register to save the final results of
the evaluation.- the favorability exponent to apply to the
normalization function.
B-5
APPENDIX C
SOURCE CODE LISTINGS
CC UCMD 10CC SETS UP GRID VALUES FROM INCLINED CONTOURCC MODIFIES THE SPECIFIED ELEMENT OF ALL DATA BASE RECORDS SUCHC THAT THE ELEMENT VALUE CORRESPONDS TO THE Z-VALUE OF THEC SELECTED SET OF INCLINED CONTOURS WHICH OVERLAY THEC SCREENING AREA.CC*** '~*******************************************************************
CC VARIABLESCC ARG - RETRIEVED ARGUMENT CHARACTER STRING FROM COMMAND LINEC DELIM - DELILMITER CHARACTER BETWEEN ARGUMENTS IN COMMAND LINEC I - COLUMN POSITION WITHIN THE GRID CELL MATRIXC ID - THE ELEMENT POSITION OF THE ATTRIBUTE VALUE WHICH ISC TO BE MODIFIEDC J - ROW POSITION WITHIN THE GRID CELL MATRIXC NCHAR - THE NUMBER OF CHARACTERS IN THE ARGUMENT STRINGC RECNUM - THE RECORD POSITION WITHIN THE DATA FILE CORRESPONDINGC TO A PARTICULAR GRID CELLC RDATA - RECORD BUFFER OF DATA FILEC RZ - THE INTERPOLATED Z-VALUE AT THE GRID CELL LOCATIONC BETWEEN TWO VERTICIES OF AN INCLINED CONTOURC X - THE X-COORDINATE OF A RETRIEVED GRAPHCS VERTEXC Y _ Y - -
C Z - z -,C Xi - X-COORDINATE. OF CLOSEST INCLINED COUNTOUR VERTEX WESTC OF PRESENT GRID CELLC X2 - X-COORDINATE OF CLOSEST INCLINED COUNTOUR VERTEX EASTC OF PRESENT GRID CELLC Zi - Z-COORDINATE OF CLOSEST INCLINED COUNTOUR VERTEX WESTC OF PRESENT GRID CELLC Z2 - Z-COORDINATE OF CLOSEST INCLINED COUNTOUR VERTEX EASTC OF PRESENT GRID CELLC XX - COMPUTED X-COORDINATE OF GRID CELLC
C-1
CC CONSTANTSCC FILNAM - "GCDATA.NNWSI" CHARACTER STRING ARRAYC SEMI - ';" CHARACTER STRINGC STARTX - 349810 FT STATE PLANE X-COORD OF THE SOUTHWESTC GRID CELLC STARTY - 683615 FT STATE PLANE Y-COORD OF THE SOUTHWESTC GRID CELLC DELTAX - 2640 FT X-DISTANCE BETWEEN ADJACENT GRID CELLSC DELTA! - 2640 FT YCC SUBROUTINE CALLSCC GETARG - RETRIEVE ARGUMENT LIST FROM COMMAND LINEC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF - READ/WRITE DATA BASE RECORDCC GRAPHICS FILE DESCRIPTIONCC MUST CONTAIN THE GRAPHICS REPRESENTATION OF SELECTED INCLINEDC CONTOURSC
CBYTE ARG(34),DELIM,SEMI,FILNAM(12)
CREAL RZRDATA(128)
CINTEGER NCHARRECNUM
CDATA SEMI/lH;/DATA STARTX, STARTY,DELTAX,DELTAY,ID
+ /549810.,683615., 2640., 2640., 1/DATA FILNAM/lHG,IIHC,IHD,lHA,IHT,1HA,1H..,IHN,1HN,lHWIHS,IHI/
CC ......... INITIALIZECC .........GET ARGUMENTS FROM COMMAND LINEC
CALL GETARG (ARGNCHAR,DELIM)IF (DELIM.EQ.SEMI) GO TO 10
C-2
CC ......... GET DATA FILE ELEMENT POSITIONC
CALL GETARG (ARG,NCHAR,DELIM)ID-IDCODE (ARGNCHAR)
C10 CALL MYOPEN (FILNAM,12,2)
CC ........ GET EXISTING DATAC
20***Applicon Graphics routine to sequentially retrieve the next***inclined contour within the graphics file.
CC ........ SET UP GRID VALUESCC .... *..GET FIRST TWO COORDINATESC
***Applicon Graphics routine to sequentially retrieve a vertex within***the present inclined contour.
J-(Y-STARTY)/DELTAY+1.XlmXZl-Z
***Applicon Graphics routine to sequentially retrieve a vertex within***the present inclined contour.
X2-KZ2=Z
CC ........ LOOP ON XC
DO 200 I-1,42CC. ....... COMPUTE LOCATION OF NEXT GRID POINTC
XX-(I-1)*DELTAX+STARTX50 IF (XX.GT.X2) GO TO 100
IF (XX.LT.Xl) GO TO 200CC ........ INTERPOLATEC
RZ-Zl+(XX-Xl)/(X2-Xl)*(Z2-Zl)+.5RECNUM-(J-1)*42+1CALL RWBUFF(O,RECNUM,RDATA)RDATA(ID)-RZCALL RWBUFF(2,RECNUM,RDATA)GO TO 200
C-3
CC........ GET NEXT POINT ON INCLINED CONTOURC
100 Xi-X2Z1-Z2
***Applicon Graphics routine to sequentially retrieve a vertex within***the present inclined contour.
IF (CSO.EQ.O.) GO TO 20X2-XZ2-ZGO TO 50
200 CONTINUEGO TO 20
CC.... ... TERMINATEC8600 CALL RWBUFF (2,RECNUMRDATA)
CALL MYCLOSSTOP *UCMD 100
CEND
C-4
CCCCC
UCMD 11
ADD INCLINED CONTOUR FROM GRID VALUES
C ADDS INCLINED CONTOURS OF THE SCREENING AREA WHICH CORRESPONDSC TO A SPECIFIED ELEMENT WITHIN THE ATTRIBUTE DATA BASE, BUILDS AC HISTOGRAM OF OCCURRENCES OF ELEMENT VALUES FOR DISPLAY ON THEC INTERACTIVE GRAPHICS SYSTEM, AND LISTS THE HIGH, LOW, ANDC ARITHMETIC AVERAGE VALUES AND THE STANDARD DEVIATION OF THEC ELEMENT VALUES.C
CC VARIABLESC :
ARGAVERAGEDELTADELIMHIGH-HIST
IID
JLOWNCHARNUMLEVNUMRECOUTBNDNXPSCALERECNUM
RDATASIGMASumSUMSQ
XiYz
- RETRIEVED ARGUMENT CHARACTER STRING FROM COMMAND LINE- ARITHMETIC AVERAGE OF ATTRIBUTE OR EVALUATION VALUE-,SIZE OF HISTOGRAM INCREMENT- DELIMITER CHARACTER BETWEEN ARGUMENTS IN COMMAND LINE- HIGHEST ATTRIBUTE OR EVALUATION VALUE ENCOUNTERED- ARRAY OF OCCURANCES OF VALUES WITHIN DEFINED
INCREMENTS - USED FOR BUILDING HISTOGRAM- COLUMN POSITION WITHIN THE GRID CELL MATRIX- THE ELEMENT POSITION OF THE ATTRIBUTE VALUE WHICH IS
TO BE MODIFIED- ROW POSITION WITHIN THE GRID CELL MATRIX- LOWEST ATTRIBUTE OR EVALUATION VALUE ENCOUNTERED- THE NUMBER OF CHARACTERS IN THE ARGUMENT STRING- I OF INCREMENTS IN HISTOGRAM- I OF RECORDS TO APPLY TO STATISTICS- OUT OF BOUNDS FLAG SET BY ERROR ROUTINE- I OF COLUMNS IN GRID MATRIX FOR THIS ROW- SCALE FACTOR TO APPLY TO Z-COORDINATE OF CONTOUR- THE RECORD POSITION WITHIN THE DATA FILE CORRESPONDING
TO A PARTICULAR GRID CELL- RECORD BUFFER OF DATA FILE- THE SIGMA OF THE ATTRIBUTE OR EVALUATION VALUES- THE SUM OF THE ATTRIBUTE OR EVALUATION VALUES- THE SUM OF THE SQUARES OF THE ATTRIBUTE OR EVALUATION
VALUES- THE X-COORDINATE OF A RETRIEVED GRAPHCS VERTEX_ Y "
_ z * .
C-5
cC CONSTANTSCC FILNAM - 'GCDATA.NNWSI' CHARACTER STRING ARRAYC INDEF - 100000 OCTAL INDICATING INVALID INTERGER INPUTC NULL - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC NY - 41 - I OF ROWS OF GRID MATRIXC SEMI - ";" CHARACTER STRINGC STARTX - 549810 FT STATE PLANE X-COORD OF THE SOUTHWESTC GRID CELLC STARTY - 683615 FT STATE PLANE Y-COORD OF THE SOUTHWESTC GRID CELLC DELTAX - 2640 FT X-DISTANCE 3*TWEEN ADJACENT GRID CELLSC DELTAY - 2640 FT YCC SUBROUTINE CALLSC ---- _ …_
C DISPLY - APPLICON GRAPHICS ROUTINE TO LIST TO TERMINALC GETARG - RETRIEVE ARGUMENT LIST FROM COMMAND LINEC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC FDCODE - DECODE CHARACTER STRING TO FLOATING POINT VARIABLEC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RDBUFF - READ DATA BASE RECORDCC SYSTEM FUNCTIONSC ___ _
C ABS - FLOATING POINT ABSOLUTE VALUEC SQRT - FLOATING POINT SQUARE ROOT FUNCTIONCC GRAPHICS FILE DESCRIPTIONCC WILL PRODUCE POLYARCS CORRESPONDING TO THE INCLINED CONTOURSC OF THE IDENTIFIED ATRRIBUTE OR EVALUATION RESULTS AND TO TEEC HISTOGRAM REPRESENTING THE NUMBER OF OCCURANCES OF VALUES INC SPECIFIED RANGESC
CBYTE ARG(61),DELIM,SEHIFILNAM(12)
CREAL DELTAHIST(100),HIGHLOW,AVERAG
CINTEGER IWANT,IGOT,NCHAR,GC,RECNUMOUTBND,INDEFINTEGER NUMLEV,NUMREC
C-6
CDATA SEMI, NULL, INDEF
+ / lH;,l.E-38,"100000/DATA HIGH, LOW+ /-1.E38,1.E38/DATA FILNAM/lEG,IHC,IHD,lHA,lHT,lHA,lH.,lHN,lEN,lHWlHS,lHl/DATA STARTX, STARTY,DELTAX,DELTAY,ID,NXNY,PSCALE
+ /549810.,683615., 2640., 2640., 1,39,41, 1./CC. ...... *INITIALIZEC
OUTBND-.FALSE.RECNUH-1
CC... ... *GET ARGUMENTC
CALL GETARG (ARG,NCHAR,DELIM)IF (DELIM.EQ.SEMI) GO TO 100CALL GETARG (ARG,NCHAR,DELIM)ID-IDCODE (ARG,NCHAR)IF (ID.EQ.INDEF) GO TO 8890IF (DELIM.EQ.SEMI) GO TO 100CALL GETARG (ARG,NCHAR,DELIM)PSCALE=FDCODE (ARG,NCHAR)IF (PSCALE.EQ.NULL) GO TO 8890IF (DELIM.EQ.SEMI) GO TO 100CALL GET4RG (ARG,NCHARDELIM)DELTA-FDCODE (ARG,NCHAR)IF (DELTA.EQ.NULL) GO TO 8890IF (DELTA.LE.O.) GO TO 100IF (DELTA.GT.100000.) DELTA-100000.IF (DELTA.LT.5.) DELTA-5.NUMLEV-100000./DELTA-1.IF (NUMLEV.GT.99) NUMLEV-99
100 CALL MYOPEN (FILNAM,12,1)CC ....... LOOP ON ROW & COLUMN IN GRID CELL MATRIXC
Y-STARTYDO 300 J-1,NY
CIF (J.GT.24) NX-34RECNUM-42*(J-l)+l
C***Applicon Graphics routine to start a new inclined countour line
X-STARTX
C-7
CC ......... GET DATAC
DO 200 T-1,NXCALL RDBUFF (RECNUM,RDATA)NUMREC-NUMREC+1Z-RDATA(ID)IF (Z.NE.NULL) Z-Z*PSCALE
CC ....... SCAN FOR STATISTICSC
110 IF (RDATA(ID).GT.HIGH) HIGH-RDATA(ID)IF (RDATA(ID).LT.LOW) LOW-RDATA(ID)SUMwSUM+RDATA( ID)SUMSQ-SUMSQ+RDATA( ID) *RDATA( ID)
CC.. ..... INCRE4MENT LEVEL COUNTER FOR HISTOGRAMC
IF (DELTA.LE.O.) GO TO 140DO 120 II-1,NUMLEVIF (Z.LT.II*DELTA) GO TO 130
120 CONTINUEC
HIST(NUMLEV+1)-HIST(NUMLEV+1)+1.GO TO 140
C130 HIST(II)-HIST(II)+1.140 IF (ABS(Z).GT.8380000.) GO TO 8801150***Applicon Graphics routine to add a vertex to inclined contour line
X-X+DELTAX200 CONTINUE
Y-Y+DELTAY300 CONTINUE
CC ......... OUTPUT SCANNED DATAC
CALL DISPLY+(00 LOW HIGH AVERAGE SIGMA*+,61)
AVERAG-SUM/NUKRECSIGMA-SQRT((SUMSQ-2 *AVERAG*SUM+NUMREC*AVERAG*AVERAG)/NUMREC)ENCODE (61,9100,ARG) LOW,HIGH,AVERAG,SIGMACALL DISPLY (ARG,61)
C-8
CC. A.......DD HISTOGRAM TO GRAPHICSC
IF (DELTA.LE.O.) GO TO 8600CALL RAHDR (LINHDR)XI0.Z*O.Y-HIST(1)*500.
***Applicon Graphics routine to add a vertex to histogramDO 4000 1-1,NUMLEVX-DELTA*IY-HIST(I)*500.
***Applicon Graphics routine to add a vertex to histogramY-HIST(1+1)*500.
***Applicon Graphics routine to add a vertex to histogram4000 CONTINUE
1-100000.***Applicon Graphics routine to add a vertex to histogram
CC..... TERKINATEC
8600 CALL MYCLOS8890 STOP UCMD ll
CC......ERROR MESSAGESC
8801 Z-KULLIF (OUTBND.EQ..TRUE.) GO TO 150OUTBND-.TRUE.CALL DISPLY ("**WARNING.-VALUE OUT OF BOUNDS..SET TO NULL8,43)GO TO 150
CC.. .oa..FORMATSC
9100 FORMAT (10,4E1S.6)END
C-9
cC UCMD 12CC MODIFIES DATA RECORD OF SELECTED CELLCC MODIFIES SPECIFIED ELEMENTS OF SPECIFIC DATA BASE RECORDSC WHICH CORRESPOND TO SELECTED AREAS OF THE GRAPHICSC REPRESENTATION OF THE SCREENING AREA. THE MODIFICATIONS AREC USER-SPECIFIED OPERATIONS ON ONE OR TWO OF THE EXISTINGC ELEMENTS IN EACH RECORDC EXAMPLE: ELEMENT 17 - ELEMENT #2 DIVIDED BY ELEMENT 13C
CC VARIABLESCC ARG - RETRIEVED ARGUMENT CHARACTER STRING FROM COMMAND LINEC DELIM - DELILMITER CHARACTER BETWEEN ARGUMENTS IN COMMAND LINEC ID - THE ELEMENT POSITION OF THE ATTRIBUTE VALUE WHICH ISC TO BE MODIFIEDC IDATA - INTEGER EQUIVALENT OF THE RDATA ARRAYC IDTWO - ELEMENT POSITION OF THE FIRST ARGUMENT IN THE ACTIONC CLAUSEC IDTHRE - ELEMENT POSITION OF THE SECONDE ARGUMENT IN THE ACTIONC CLAUSEC LSTARG - CHARACTER STRING TO LIST ARGUMENT STRING AT TERMINALC NCHAR - THE NUMBER OF CHARACTERS IN THE ARGUMENT STRINGC OPER - THE OPERATOR RETRIEVED FROM THE ACTION CLAUSEC PARSE - ACTION CODE PARSED FROM INPUT ARGUMENT LISTC RECNUM - THE RECORD POSITION WITHIN THE DATA FILE CORRESPONDINGC TO A PARTICULAR GRID CELLC RDATA - RECORD BUFFER OF DATA FILEC VALUE - THE LITERAL ARGUMENT RETRIEVED FROM ACTION CLAUSECC CONSTANTSC _ _ _
C ADD - 'ADD" CHARACTER STRING - ADDITION OPERATIONC BLANK - - " CHARACTER STRINGC DIV - "DIV" CHARACTER STRING - DIVISION OPERATIONC EXC - 'EXC" CHARACTER STRING - EXCHANGE OPERATIONC FILNAX "GCDATA.NNWSI" CHARACTER STRING ARRAYC FINDEF - 1.E-38 INDICATION INVALID FLOATING POINT INPUTC INDEF - 100000 OCTAL INDICATION INVALID INTEGER INPUTC MOV - "MoV" CHARACTER STRING - REPLACE OPERATIONC MUL - "MUL" CHARACTER STRING - MULTIPLICATION OPERATIONC NULL - "NULL" CHARACTER STRING - SPECIAL NULL VALUEC SEMI - ";" CHARACTER STRINGC SET - 'SET" CHARACTER STRING - ASSIGN OPERATIONC SUB - "SUB' CHARACTER STRING - SUBTRACTION OPERATIONC
CC SUBROUTINE CALLSC …-C DISPLY - APPLICON GRAPHICS ROUTINE TO LIST TO TERMINALC GETARG - RETRIEVE ARGUMENT LIST FROM COMMAND LINEC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF - READ/WRITE DATA BASE RECORDCC GRAPHICS FILE DESCRIPTIONC ---- …
C MUST CONTAIN THE GRAPHICS REPRESENTATION OF SELECTED INCLINEDC CONTOURSC
CINTEGER PARSEIDTWO,IDTHRERECNUMINDEF
CREAL OPER,SET,MOV,EXH,ADD,SUBMUL,DIV,NULL,FINDEF
CBYTE DELIM,SEMI,ARG(34),LSTARG(36),BLANK,FILNAM(12)
CEQUIVALENCE (RDATA(l),IDATA(l)),(ARG(l),OPER)
+ ,(LSTARG(3),ARG(1))C
DATA SEMIPARSE,IDTHRE,LSTARG(2),BLANK+ lu1;, 1, O. 1H , 1HDATA SET, MOV, EXC, ADD, SUB, MUL, DIV+ /3HSET,3HMOV,3kiEXC,3HADD,3HSUB,3HMUL,3HDIV/DATA FILNAM/IHG,lRC,lHD,IHA,lHT,lHA,lH.,lHN,lHN,lHW,lHS,lHI/DATA NULL/4HNULL/DATA INDEF,FINDEF
+ /"1000001,.E-38/CC....... ;.INITIALIZEC
RECNUM-OCC.... .o..GET ARGUMENTSCC..*.*...GET ELEMENT IDC
CALL GETARG (ARG,NCHAR,DELIM)IF (DELIM.EQ.SEMI) GO TO 8901CALL GETARG (ARG,NCHAR,DELIM)ID-IDCODE(ARG,NCHAR)IF (ID.EQ.INDEF) GO TO 8904IF (ID.LE.O) GO TO 8904IF (DELIM.EQ.SEMI) GO TO 8902
C-ll
CC.. ..... GET VALUEC
CALL GETARG (ARGNCHARDELIM)IF (OPER.EQ.NULL) GO TO 5VALUK-FDCODE(ARG,NCHAR)IF (VALUE.EQ.FINDEF) GO TO 8890GO TO 6
CC...N....dULL VALUEC
5 VALUE =1.E-386 IF (DELIM.EQ.SEMI) GO TO 100
CALL GETARG (ARG,NC HARDELIM)CC........ SET PARSE CODE FROM OPERATIONC
ARG(4)-BLANKIF (OPER.NE.SET) GO TO 12PARSE-1GO TO 100
12 IF (OPER.NE.MOV) GO TO 13PARSE-2IDTWO-VALUEIF (IDTWO.LE.O) GO TO 8904GO TO 100
13 IF (OPER.NE.EXC) GO TO 14PARSE-3IIDTWO-VALUEIF (IDTWO.LE.O) GO TO 8904GO TO 100
14 IF (OPER.NE.ADD) GO TO 15PARSE-4GO TO 50
15 IF (OPER.NE.SUB) GO TO 16PARSE=5GO TO 50
16 IF (OPER.NE.MUL) GO TO 17PARSE-6GO TO 50
17 IF (OPER.NE.DIV) GO TO 8903PARSE-7
C-12
CC ........ CHECK FOR THIRD IDC
50 IF (DELIM.EQ.SEMI) GO TO 100CALL GETARG (ARG,NCHARDELIM)IDTWO-VALUEIF (IDTWO.LE.O) GO TO 8904IDTHRE-IDCODE(ARG,NCHAR)IF (IDTHRE.EQ.INDEF) GO TO 8904IF (IDTHRE.LE.O) GO TO 8904
CCo..*... LOAD DATA RECORD AND PERFORM OPERATIONC
100 Applicon Graphics routine to sequentially retrieve inclinedcontours
CCALL MYOPEN (FILNAM,12,2)
C200 Applicon Graphics routine to sequentially retrieve verticies
RECNUH-RECNUM+1IF (SELECT.EQ..FALSE) GO TO 200CALL RWEBUFF (ORECNUM,IDATA)GO TO (1100,1200,1300,1400,1500,1600,1700) PARSE
CC SET1100 RDATA(ID)-VALUE
GO TO 3000C MOVE1200 RDATA(ID)-RDATA(IDTWO)
GO TO 3000C EXCHANGE1300 TEMP-RDATA(ID)
RDATA(ID)-RDATA(IDTWO)RDATA(IDTWO)-TEMPGO TO 3000
C ADD1400 IF (IDTHRE.LE.O) GO TO 1450
RDATA( ID)-RDATA(IDTWO)+RDATA(IDTHRE)GO TO 3000
1450 RDATA(ID)-RDATA(ID)+VALUEGO TO 3000
C SUBTRACT1500 IF (IDTHRE.LE.0) GO TO 1550
RDATA( ID)-RDATA(IDTWO)-RDATA(IDTHRE)GO TO 3000
1550 RDATA(ID)-RDATA(ID)-VALUEGO TO 3000
C-1 3
C1600 IF (IDTHRE.LE.0) GO TO 1650
RDATA(ID)-RDATA(IDTWO)*RDATA(IDTHRE)GO TO 3000
1650 RDATA(ID)-RDATA(ID)*VALUEGO TO 3000
C1700 IF (IDTHRE.LE.0) GO TO 1750
RDATA(ID)-RDATA(IDTWO)/RDATA(IDTHRE)GO TO 3000
1750 RDATA(ID)-RDATA(ID)/VALUECC .........MODIFY DATA RECORDC3000 CALL RWBUFF (2,RECNUM,IDATA)
GO TO 200CC... ..... TERMINATEC8800 CALL RWBUFF (0,RECNUM,IDATA)
CALL RWBUFF (2,RECNUM,IDATA)CALL MYCLOS
8890 STOP °UCMD 12°C
MULTIPLY
DIVIDE
C.... ..... ERROR MESSAGESC8901 CALL DISPLY (- ***ERROR. NO IP SPECIFIED°,27)
GO TO 88908902 CALL DISPLY (° ***ERROR...NO VALUE SPECIFIED0,30)
GO TO 88908903 CALL DISPLY (° ***ERRORI . ILLEGAL OPERATOR: °,30)
CALL DISPLY (LSTARG,NCHAR+2)GO TO 8890
8904 CALL DISPLY (° ***ERROR...ILLEGAL ID: 0,24)
CALL DISPLY (LSTARG,NCHAR+2)GO TO 8890
8905 CALL DISPLY (° ***ERROR...GC POINTS NOT LOADED°,32)GO TO 8890END
C-14
CC UCMD 14CC MAPS ATTRIBUTE INTO FAVORABILITY NUMBER FROM FAVORABILITY CURVECC ASSIGNS A FAVORABLIITY VALUE TO AN ATTRIBUTE ELEMENT IN ALLC RECORDS BY MAPPING THE ATTRIBUTE VALUE TO A FAVORABILITY VS.C ATTRIBUTE CURVE WHICH IS MAINTAINED BY THE USER THROUGHC INTERACTIVE GRAPHICSC
CC VARIABLESCC ARG - RETRIEVED ARGUMENT CHARACTER STRING FROM COMMAND LINEC BIAS - BIAS APPLIED FOR MAPPING ATTRIBUTE VALUES TO THEC GRAPHICS FAVORABILITY CURVEC DELIM - DELIMITER CHARACTER BETWEEN ARGUMENTS IN COMMAND LINEC HIGH - VALUE OF UPPER BOUNDARY OF FAVORABILITY CURVEC IDONE - RECORD ELEMENT POSITION OF THE SPECIFIED ATTRIBUTEC IDTWO - RESPECTIVE FAVORABILITYC IGCI - COLUMN POSITION WITHIN THE GRID CELL MATRIXC IGCJ - ROW POSITION WITHIN THE GRID CELL MATRIXC LL - THE RECORD POSITION WITHIN THE DATA FILE CORRESPONDINGC TO A PARTICULAR GRID CELLC LOW - VALUE OF LOWER BOUNDARY OF FAVORABILITY CURVEC NCHAR - THE NUMBER OF CHARACTERS IN THE ARGUMENT STRINGC NCRD - I OF COORDINATE PAIRS IN FAVORABILITY CURVEC NX - I OF COLUMNS IN GRID MATRIX FOR THIS ROWC RDATA - RECORD BUFFER OF DATA FILEC SAVE - MATRIX OF FAVORABILITY CURVE VERTICIESC SF - SCALE FACTOR MAPPING ATTRIBUTE VALUES TO THE GRAPHICSC FAVORABILITY CURVECC CONSTANTSCC FILNAM - 'GCDATA.NNWSI" CHARACTER STRING ARRAYC INDEF - 100000 OCTAL INDICATING INVALID INTERGER INPUTC NULL - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC NY - 41-# OF OWS OF GRID MATRIXC SEMI - ";' CHARACTER STRINGC
C-15
CC SUBROUTINE CALLSC _________C DISPLY - AGS ROUTINE TO LIST OUTPUT TO TERMINALC GETARG - RETRIEVE ARGUMENT LIST FROM COMMAND LINEC FDCODE - DECODE CHARACTER STRING TO FLOATING POINT VARIABLEC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC KEYBRD - AGS ROUTINE TO ACCEPT INPUT FROM KEYBOARDC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF - READ/WRITE DATA BASE RECORDCCC GRAPHICS FILE DESCRIPTIONC ------- _…
C MUST HAVE PROPERLY FORMATTED AND IDENTIFIED FAVORABILITY CURVESC GRPHICALLY REPRESENTED IN THE DRAWING FILEC
CBYTE ARG(34),DELIM,SEMIFILNAM(12)
CINTEGER IDONE,IDTWO,INDEF
CREAL HIGHLOW,SF,BIAS,RDATA(250),NULL,SAVE(2,100)
CDATA SEMI,BLANK
+ / IH;, 1H /DATA HIGR,LOW,NULL/3*1.E-38/,INDEF/ 100000/DATA FILNAM/IHG,lHC,lHD,IHAlHT,lHA,lH.,lHNlHN,lHW,lHS,lHlI/
CC...... .. INITIALIZECC...... .*GET ARGUMENTSCC..... .. GET ELEMENT POSITION OF ATTRIBUTEC
CALL GETARG (ARGNCHAR,DELIM)IF (DELIM.EQ.SEMI) CO TO 100CALL GETARG (ARG,NCHAR,DELTM)IDONE-IDCODE(ARG,NCHAR)IF (IDONE.EQ.TNDEF) GO TO 8810IF (DELIM.EQ.SEMI) GO TO 200
CC ........GET ELEMENT POSITION OF RESPECTIVE FAVORABILITYC
CALL GETARG (ARG,NCRARDELIM)IDTWO-IDCODE(ARG,NCHAR)IF (IDTWO.EQ.INDEF,) GO TO 8810IF (DELIM.EQ.SEMI) GO TO 300
C-16
CC...... GET FAVORABILITY CURVE IDENTIFIERC
CALL GETARG (ARG,NCHARDELIM)* Applicon Graphics routine to identify graphics component
GO TO 600CC ......... INTERACTIVE ARGUMENTS IF ARGUMENT IS MISSING IN COMMAND LINECC. ... **.*GET ELEMENT POSITION OF ATTRIBUTEC
100 CALL DISPLY (-OENTER ATTRIBUTE ID:°,20)CALL KEYBRD (ARG,7)IDONE-IDCODE(ARC,7)IF (IDONE.EQ.INDEF) GO TO 8810
CC G........ET ELEMENT POSITION OF RESPECTIVE FAVORABILITYC
200 CALL DISPLY (-OENTER FAVORABILITY ID:',23)CALL KEYBRD (ARG,7)IDTWO-IDCODE(ARG,7)IF (IDTWO.EQ.INDEF) GO TO 8810
CCG.....*9* ET FAVORABILITY CURVE IDENTIFIERC
300 CALL DISPLY (OENTER CID OF FAVORABILITY CURVE:*,33)CALL KEYBRD (ARG,12)
** Applicon routines to identify graphics componentCC... ..... GET FAVORABILITY CURVEC
600*** Applicon Graphics routines to retrieve favoability curve from*** graphics file
CC.........SET UP SCALE AND BIAS FROM BOUNDARIESC
900** Applicon Graphics routines to retrieve graphics text which* describe the boundaries of the favorability curve (HIGH & LOW)
1200 SF (HIGH-LOW)/52800.BIAS-LOW
CC.. ..... MAP ATTRIBUTE TO FAVORABILITYC
CALL WYOPEN (FILNAM,12,2)C
NX-39
C-17
CC ......... LOOP ON I OF ROWS IN GRID MATRIXC
DO 2010 IGCJ-1,41IF (IGCJ.GT.24) NX-34
CC .........LOOP ON # OF COLUMNS IN GRID MATRIXC
DO 2000 IGCI-1,NXLL-IGCI+42*(IGCJ-1)CALL RWBUFF (O,LL,RDATA)X-(RDATA(IDONE)-BIAS)/SF
CC ........ BOUND ATTRIBUTE BY FAVORABILITY CURVE COORDINATESC
DO 1400 1-2,NCRDIF (X.GE.SAVE(lI-1).AND.X.LE.SAVE(l,I)) GO TO 1700
1400 CONTINUEGO TO 8905
CC........ INTERPOLATE FAVORABILITYC1700 RDATA(IDTWO)=(SAVE(2,I-1)+(SAVE(2,I)-SAVE(2,I-1))*(X-SAVE(1,I-1))
+ /(SAVE(1,I)-SAVE(1,I-1)))/5280.CALL RWBUFF (2,LLRDATA)
2000 CONTINUE2010 CONTINUE
CC.. .. TERMINATEC8800 CALL RWBUFF (0,2184,RDATA)
CALL MYCLOS8810 STOP *UCMD 14-
CC .. ERROR MESSAGESC8901 CALL DISPLY (-O***ERROR...CID INPUTI,22)
GO TO 88108902 CALL DISPLY (0***ERROR...NO FAVORABILITY CURVE1-,34)
GO TO 88108903 CALL DISPLY (0-***ERROR...BOUNDARY VALUES1,28)
GO TO 88108904 CALL DISPLY (-O***ERROR...NO GC DATA RECORD!.,30)
GO TO 88108905 CALL DISPLY (*O***ERROR...ATTRIBUTE OUTSIDE BOUNDARIES1-,40)
CALL RWBUFF (0,2184,RDATA)GO TO 8800END
C-18
CC UCMD 15CC NNWSI EVALUATION FUNCTION (FIND LARGEST POSSIBLE VALUE)CC PERFORMS THE ABSOLUTE EVALUATION FUNCTION FOR A THEORETICALC RECORD WHERE ALL ATTRIBUTES FAVORABILITIES HAVE A VALUE OF 10.C RETURNS THE LARGEST POSSIBLE VALUE FOR THE EXISTING OBJECTIVEC WEIGHTINGS.CC************************~**************************************CC UCMD 15 is similar to UCMD 19 except that it does not read theC data file but rather assigns the largest possible favorabilityC to every attribute and performs the evaluation using the currentC objective tree configuration.CC Since the source code for the two programs is so similar, UCMD 15C is not listed here and the reader is asked to refer to theC UCMD 19 listing.C
C-19
CC UCMD 16CC ADDS HISTOGRAM TO DRAWING FROM SPECIFIED ELEMENT # IN DATA FILECC BUILDS A HISTOGRAM OF OCCURRENCES OF ELEMENT VALUES FOR DISPLAYC ON THE INTERACTIVE GRAPHICS SYSTEM AND LISTS THE HIGH, LOW, ANDC ARITHMETIC AVERAGE VALUES AND THE STANDARD DEVIATION OF THEC ELEMENT VALUESC
CC VARIABLESC _C ARG - RETRIEVED ARGUMENT CHARACTER STRING FROM COMMAND LINEC AVERAGE - ARITHMETIC AVERAGE OF ATTRIBUTE OR EVALUATION VALUEC DELIM - DELIMITER CHARACTER BETWEEN ARGUMENTS IN COMMAND LINEC HIGH - HIGHEST ATTRIBUTE OR EVALUATION VALUE ENCOUNTEREDC HIST - ARRAY OF OCCURANCES OF VALUES WITHIN DEFINEDC INCREMENTS - USED FOR BUILDING HISTOGRAMC IX - ROW POSITION WITHIN THE GRID CELL MATRIXC IY - COLUMN POSITION WITHIN THE GRID CELL MATRIXC ID - THE ELEMENT POSITION OF THE ATTRIBUTE VALUE WHICH ISC TO BE MODIFIEDC LOW - LOWEST ATTRIBUTE OR EVALUATION VALUE ENCOUNTEREDC NCRAR - THE NUMBER OF CHARACTERS IN THE ARGUMENT STRINGC NUMLEV - I OF INCREMENTS IN HISTOGRAMC NUMREC - I OF RECORDS TO APPLY TO STATISTICSC NX - I OF COLUMNS IN GRID MATRIX FOR THIS ROWC RECNUM - THE RECORD POSITION WITHIN THE DATA FILE CORRESPONDINGC TO A PARTICULAR GRID CELLC RDATA - RECORD BUFFER OF DATA FILEC SIGMA - THE SIGMA OF THE ATTRIBUTE OR EVALUATION VALUESC SUM - THE SUM OF THE ATTRIBUTE OR EVALUATION VALUESC SUMSQ - THE SUM OF THE SQUARES OF THE ATTRIBUTE OR EVALUATIONC VALUESC X - THE X-COORDINATE OF A RETRIEVED GRAPHCS VERTEXC Y _ Y e
C Z - ZCC CONSTANTSCC FILNAM - 'GCDATA.NNWSI' CHARACTER STRING ARRAYC FINDEP - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC INDEF - 100000 OCTAL INDICATING INVALID INTERGER INPUTC NULL - ' ' CHARACTER STRINGC NY - 41 - # OF ROWS OF GRID MATRIXC SEMI - ";" CHARACTER STRINGC
C-20
cC SUBROUTINE CALLSCC GETARG - RETRIEVE ARGUMENT LIST FROM COMMAND LINEC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC FDCODE - DECODE CHARACTER STRING TO FLOATING POINT VARIABLEC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RDBUFF - READ DATA BASE RECORDCC SYSTEM FUNCTIONSCC SQRT - FLOATING POINT SQUARE ROOT FUNCTIONCC GRAPHICS FILE DESCRIPTIONCC WILL PRODUCE A POLYARC CORRESPONDING TO THE HISTOGRAMC REPRESENTING THE NUMBER OF OCCURANCES OF VALUES INC THE IDENTIFIED ATRRIBUTE OR EVALUATION RESULTSC
CINTEGER RECNUM,INDEF,NUMLEV
CREAL NULL,FINDEFREAL SCANLOWHIGH,AVERAG
CBYTE DELIM,SEMIARG(61),LSTARG(36),BLANK,FILNAM(12),YES
CREAL RDATA(250),VALUE,LEVS(25),HIST(26)
CINTEGER IDATA(SOO),ID,NCHAR
CEQUIVALENCE (RDATA(l),IDATA(l)),(ARG(l),OPER)+ ,(LSTARG(3),ARG(1))
CDATA SEHILSTARG(2),BLANK
+ / H; 1H , 1HDATA FILNAM/lHG,lHC,1HDlHA,lHT,lHA,lH.,lHN,lHN,lBW,liSlHI/DATA NULL/4HNULL/DATA INDEF,FINDEF, LOW, HIGH,AVERAGYES+ /1OOOOO, 1l.E-38,1.E38,-l.E38, O.,lHY/
C-21
CC . INITIALIZECC ......... USER MUST IDENTIFY ELEMENT I IN DATA FILEC
10 CALL DISPLY (OENTER DATA ID NUMBER: *,23)CALL KEYBRD (ARG,3)ID-IDCODE (ARG,3)IF (ID.EQ.INDEF) GO TO 10IF (ID.GT.128) GO TO 10IF (ID.LE.O) GO TO 10
CC .USER MUST IDENTIFY THE INCREMENT BREAKPOINTS FOR THE HISTOGRAMC
I-1CALL DISPLY
+("OENTER LEVELS ONE AT A TIME IN ASCENDING ORDER: [C/R WHEN DONE]@+,63)
CALL DISPLY (* *,1)20 CALL KEYBRD (ARG,10)
CALL DISPLY (- *,1)LEVS(I)-FDCODE (ARC,10)IF (LEVS(I).LE.O) GO TO 30IF (LEVS(I).EQ.FINDEF) GO TO 20IF (LEVS(I).GT.100000.) GO TO 201-1+1IF (I.GT.25) GO TO 30GO TO 20
30 NUMLEV-I-1CC .........USER IS GIVEN A CHANCE TO REDO INCREMENTSC
C
C
CALL DISPLY (QOIS THE ABOVE INFORMATION CORRECT? [Y/NJ *,41)CALL KEYBRD (ARGQ,)IF (ARG(l).NE.YES) GO TO 10
100 CALL MYOPEN (FILNAM,12,1)
NX-39CC........ LOOP ON GRID CELL MATRIXC
DO 3200 IY-1,41IF (IY.GT.24) NX-34DO 3100 IX-1,NX
CC. ....... READ RECORD I CORRESPONDING TO GRID CELL MATRIX ELEMENTC
RECNUM-42*(IY-1)+IXNUMREC-NUMREC+1CALL RWBUFF (ORECNUM,IDATA)
C-22
CC... UPDATE STATISTICS AND SUMMATIONSC1800 IF (RDATA(ID).GT.dIGH) HIGH-RDATA(ID)
IF (RDATA(ID).LT.LOW) LOW-RDATA(ID)SUK-SUM+RDATA(ID)SUMSQ-SUMSQ+RDATA(ID)*RDATA(ID)
CC TINCREHENT LEVEL COUNTERC
DO 2000 I-1,NUMLEVIF (RDATA(ID).LT.LEVS(I)) GO TO 2100
2000 CONTINUEC
HIST(NUMLEV+1)-HIST(NUMLEV+1)+1.GO TO 3100
C2100 HIST(I)-HIST(I)+1.
C3000 CONTINUE3100 CONTINUE3200 CONTINUE
CC ........ OUTPUT SCANNED DATAC
CALL DISPLY+(-O LOW HIGH AVERAGE SIGMA+,61)AVERAG-SUM/NUMRECSIGMA-SQRT((SUMSQ-2*AVERAG*SUM+NUMREC*AVERAG*AVERAG)/NUMREC)ENCODE (61,9100,ARGY LOWHIGH,AVERAG,SIGMACALL DISPLY (ARG,61)
CC .........ADD HISTOGRAMC
Y-HIST(1)*500.***Applicon Graphics routine
DO 4000 I-1,NUMLEVX-LEVS(I)Y-HIST(I)*500.
***Applicon Graphics routineY-HIST(1+1)*500.
***Applicon Graphics routine4000 CONIINUE
X-100000.***Applicon Graphics routine
C
to add a vertex to histogram
to add a vertex to histogram
to add a vertex to histogram
to add a vertex to histogram
8810 RECNUM-2184CALL RWBUFF (O,RECNUHIDATA)CALL MYCLOS
8890 STOP *UCMD 22e
C-23
CC...... .ERROR MESSAGESC8901 CALL DISPLY ( ***ERROR ... NO ID SPECIFIED-,27)
GO TO 88908902 CALL DISPLY ( ***ERROR..NO VALUE SPECIFIED*,30)
GO TO 88908903 CALL DISPLY ( ***ERROR...ILLEGAL OPERATOR: *,30)
CALL DISPLY (LSTARG,NCHAR+2)GO TO 8890
8904 CALL DISPLY (a ***ERROR...ILLEGAL ID: -,24)CALL DISPLY (LSTARGNCHAR+2)GO TO 8890
8905 CALL DISPLY (a ***ERROR...GC POINTS NOT LOADED-,32)GO TO 8890
CC...... **-FORMATSC9100 FORMAT (1H0,4E15.6)
END
C-24
CC UCMD 17CC NNWSI EVALUATION FUNCTION - FOR BEST HOST ROCKCC PERFORMS THE ABSOLUTE EVALUATION FUCNCTIONS USING ONLY THE HOSTC DEPENDENT ATTRIBUTES AND ADDS A SYSBOL TO THE SITE DRAWING ATC EACH ELEMENT POSITION WHICH CORRESPONDS TO THE EXISTINGC CANDIDATE HOST ROCK WITH THE HIGHEST EVALUATION. THISC EVALUATION VALUE IS THEN ADDED TO THE SPECIFIED HOST-INDEPENDENTC EVALUATION AT EACH GRID ELEMENT TO ACHIEVE A TOTAL EVALUATION.C
CC VARIABLESCC AOMAT - MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEC ATTB - ARRAY OF FAVORABILITY VALUESC BUFFER - KEYBOARD INPUT BUFFERC BUFOUT - TERMINAL OUTPUT BUFFERC EVAL - ARRAY OF ALL INTERMEDIATE EVALUATION VALUES WHICH AREC SAVED IN EACH GRID CELL RECORDC EVALI - SUBSET OF INTERMEDIATE EVALUATION VALUES (LEVEL-l)C EVAL2 - (LEVEL-2)C EVAL3 - - (LEVEL-3)C FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC FRSTL3 - POINTER TO FIRST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC KID - ARRAY OF HOST ROCK IDENTIFIERSC HSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESC HSTEVL - ARRARY OF CALCULATED HOST EVALUATIONSC IGC - POINTER TO GRID CELL RECORD IC IGCI - " COLUMNC IGCJ - ROWC IH - POINTER TO HOST ROCK ARRAYSC INP - ENCODE INTERGER FROM KEYBOARD INPUTC JB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)C KB - " . (LEVEL-3)C KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUTC LASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC LASTL3 - POINTER TO LAST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC NUHLEV - I OF BRANCHES OF OBJECTIVE TREE TO EVALUATEC NX - I OF GRIDCELL COLUMNSC NY _ " ROWS
C-25
CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
OBJLEVRDATAREGNUMI
RUNIDWEIGHTWGHTL1WGHTL2WGHTL3
ARRAY OF LEVEL-1 OBJECTIVE BRANCHES TO BE EVALUATEDARRAY OF GRID CELL RECORD ELEMENTSELEMENT # IN WHICH TO STORE EVALUATION RESULTSFOR EACH GRID CELL RECORDCHARACTER ARRAY TO IDENTIFY PRESENT CALCULATIONARRAY OF ALL OBJECTIVE WEIGHTSSUBSET ARRAY OF OBJECTIVE WEIGHTS (LEVEL-1)
(LEVEL-2)- (LEVEL-3)
CONSTANTS
ALLFILNAMINDEFNULLPNTL2PNTL3YES
"ALL " CHARACTER STRING"GCDATA.NNWSI" CHARACTER STRING ARRAY100000 OCTAL INDICATING INVALID INTEGER INPUT1.E-38 INDICATING INVALID FLOATING POINT INPUTARRAY OF.POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTS
LEVEL-3 "
- "Y' CHARACTER STRING
SUBROUTINE CALLS
DISPLY - AGS ROUTINE...DISPLAY CHARACTER STRING AT TERMINALIDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEKEYBRD - AGS ROUTINE.. .ACCEPT CHARACTER STRING FROM KEYBOARDMYCLOS - CLOSE DATA BASE FILEMYOPEN - OPEN DATA BASE FILERWBUF1 - READ/WRITE DATA BASE RECORD
C GRAPHICS FILE DESCRIPTIONC ________ _ _ _______
C MUST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2 ,LASTL2,FRSTL3 ,LASTL3 ,HID( 12) ,INDEF ,NUMLEV ,OBJLEV(5)INTEGER REGNUMNX,NY,INP,ERROR,IGCJIGCT,IGC
CREAL EVAL(56),EVAL1(4),EVAL2(12),EVAL3(40),HSTEVL(12)REAL RDATA(128),ATTB(25),HSTATT(9,12),KEYWRD,ALL
CBYTE PNTL2(5),PNTL3(15),AOMAT(9,49),WEIGHT(69)BYTE IDATXT(884),BUFFER(80),WGHTL1(5),WGHTL2(15),WGHTL3(49)BYTE FILNAM(12),RUNID(80),BUFOUT(20),YES
C-26
C
C
EQUIVALENCE (RLDATA(31),ATTB(l)),(IDATXT(l),RDATA(l))+ ,(BUFFER(1),KEYWRD)EQUIVALENCE (WEIGHT( 1),WGHTL1(1)),(WEIGHT( 6),WGHTL2(1))+ ,(WEIGHT(21),WGHTL3(l))EQUIVALENCE (RDATA(73),EVAL(l)),'EVAL(l),EVALI(l))
+ ,(EVAL ( 5),EVAL2(1)),(EVAL(17),EVAL3(1))
DATA FILNAM/lHG,lHC,1ED,lHA,lHT,lEA,lH.,lHN,lEN,lHW,lHS,lHI/DATA PNTL212,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA INDEF,NX,NY, ALL+ /-100000,39,41,4HALL/DATA YES+ /lHY/DATA OEBJ EVl1,2,3,4,5/DATA HID/1,2,3,4,5,6,7,8,9,10,11,12/DATA HSTATT/10.0, 2.5, 7.5,10.0,10.0,10.0, 2.0, 2.5, 4.0
, 8.0, 5.0,10.0,10.0, 7.0, 1.0, 2.0, 6.5, 1.0, 8.0,10.0, 5.0, 2.5, 1.0,10.0,10.0, 2.5,10.0,10.0, 5.0,10.0,10.0,10.0, 1.0, 2.0, 0.0, 1.0, 3.0,10.0, 5.0, 2.5, 2.5, 8.0, 2.0, 9.5, 2.5-, 3.0,10.0, 5.0, 2.5, 0.0,10.0,10.0,10.0, 9.0, 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 5.0, 2.5,8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 6.5, 1.0,3.0,10.0, 5.0, 2.5, 2.5, 5.0, 2.0,10.0, 2.5,8.0, 5.0,10.0,10.0, 5.0, 8.0, 4.0, 8.0, 4.0,8.0, 2.5, 7.5,10.0, 4.0, 8.0, 2.0, 2.5, 1.0,8.0, 2.5, 7.5,16.0, 6.0, 5.0, 2.0, 2.5, 2.5/
CC..... INITIALIZECC..... USER MUST IDENTIFY INPUT REGISTER NUMBER OF CORRESPONDINGC..... HOST INDEPENDENT EVALUATIONSC
30 CALL DISPLY (-OENTER INPUT REGISTER NUMBER (26-30 OR 56-60):*,46)CALLKEYBRD (BUFFER,2)RECNUM-IDCODE(BUFFER,2)IF (RECNUH.EQ.INDEF) CO TO 30IF (REGNUM.LT.26.OR.RECNUM.GT.6O) CO TO 30IF (REGNUM.LT.56.AND.REGNUH.GT.30) GO TO 30
C-27
CC.. .. SEARCH ACTIVITY DRAWING TO FIND WEIGHTSC
C Applicon Graphics System requiered code to extract theC ojective weights and the attribute/objective matrix from theC active graphics file previously identified by the user
CC ......... LOOP ON HOST ROCKC
DO 1600 IH-1,12CC........ BEGIN HOST ROCK EVALUATIONC
LASTL2-0LASTL3-0
CC... ....*LOOP ON LEVEL 1C
DO 1500 1-1,4IF (WGHTLl(I).EQ.O) GO TO 1500FRSTL2-PNTL2(I-l)+lIF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(T)EVALl(I)-O.
CC .........LOOP ON LEVEL 2C
DO 1400 J-FRSTL2,LASTL2IF (WGHTL2(J).EQ.O) GO TO 1400FRSTL3-PNTL3(J-l)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)EVAL2(J)-O.
CC ......... LOOP ON LEVEL 3C
DO 1300 K-FRSTL3,LASTL3IF (WGHTL3(K).EQ.O) GO TO 1300EVAL3(K)-0.
C-28
CC ...... LOOP ON HOST-DEPENDENT ATTRIBUTESC
DO 1100 L-l,9IF (AOMAT(LK).NE.O) EVAL3(K)-EVAL3(K)+ +HSTATT(LIH)*AOKAT(LK)
1100 CONTINUE1200 EVAL2(J)-EVAL2(J)+EVAL3(K)*WGHTL3(K)
C1300 CONTINUE
C1301 EVAL1(I)-EVAL1(I)+EVAL2(J)*WGHTL2(J)
C1400 CONTINUE
CC1500 CONTINUE
C1501 HSTEVL(IH)-O.
DO 1510 1-1,41510 HSTEVL(IH)-HSTEVL(IH)+EVAL1(I)*WGHTLI(I)
HSTEVL(IH)-HSTEVL(IH)/10000.C1600 CONTINUE
CC. ...... *LIST EVALUATIONS'C
CALL DISPLY (*lHR VALUE',13)DO 1700 1-1,12IU-HSTEVL(I)/10.IL-HSTEVL(I)-10.*IUENCODE (13,9104,BUFFER) I,IU,ILBUFFER(l)-32CALL DISPLY (e *,1)CALL DISPLY (BUFFER,13)
1700 CONTINUE
C-29
CC .SORT HOST ROCKS BY DESCENDING EVALUATION VALUEC
DO 2300 I-2,12DO 2000 J-1,I-1IF (HSTEVL(I).GT.HSTEVL(J)) GO TO 2100
2000 CONTINUEGO TO 2300
2100 TEMP=HSTEVL(I)ITEMP-HID(I)DO 2200 K-I,J+1,-1HSTEVL(X)-HSTEVL(K-1)HID(K)-HID(K-1)
2200 CONTINUEHSTEVL(J)-TEMPHID(J)-ITEMP
2300 CONTINUECC ......... EVALUATE USING BEST HOST ROCK WHICH EXISTS AT GRID LOCATIONC
CALL MYOPEN (FILNAM,12,2)CC ......... LOOP ON GRID CELLC
DO 3400 IGCJ-1,NYIF (IGCJ.GT.24) NX.34DO 3300 IGCI-1,NXIGC=IGCI+42*(IGCJ-1)CALL RWBUFF (O,IGCRDATA)
CC ......... FIND HIGHEST RANKING HOST ROCK WHICH EXISTS AT THIS GRIDC
DO 3000 I-1,12J-HID(I)IF (RDATA(J+60).GT..5) GO TO 3100
3000 CONTINUEGO TO 3200
3100***Applicon Graphics routine to add cell corresponding to***Host Rock ID
3200 RDATA(60)-RDATA(REGNUM)+HSTEVL(I)CALL RWBUFF(1,IGCRDATA)
3300 CONTINUE3400 CONTINUE
CC .........TERMINATEC8800 IGC-2184
CALL RWBUFF (O,IGCRDATA)CALL MYCLOS
8890 STOP OUCMD 170
C-30
CC. ....... ERROR MESSAGESC8901 CALL DISPLY (0O***BAD C
BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)GO TO 100
8902 BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)ERROR-1GO TO 100
8904 CALL DISPLY (0***NO Ai. GO TO 8890
CCo.o...*FORMATSC
ID: ,12)
iO MATRIX RECORDI',25)
9101910291039104C.
FORMAT (- *)FORMAT (C ,13)FORMAT (C BRANCH V,12)FORMAT (T3,19,11)
END
C-31
CC UCMD 18CC ALTER OBJECTIVE WEIGHTSCC ALTERS THE OBJECTIVE TREE WEIGHTING PARAMETERS AND THEC ATTRIBUTE/OBJECTIVE MATRIX ACCORDING TO THE USER-S KEYBOARDC INPUTC
CC VARIABLESC _
C AOMAT - MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEC ATTB - ARRAY OF FAVORABILITY VALUESC BUFFER - KEYBOARD OUTPUT BUFFERC BUFIN - TERMINAL OUTPUT BUFFERC CPOINT - CHARACTER POSITION OF NEXT ARGUMENT IN KEYBOARD BUFFERC FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC PRSTL3 - POINTER TO FIRST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC HSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESC IGC - POINTER TO GRID CELL RECORD tC IGCI - " COLUMNC IGCJ - - " ROWC JB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)C KB - " " (LEVEL-3)C KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUTC LASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC LASTL3 - POINTER TO LAST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC NUMLEV - # OF BRANCHES OF OBJECTIVE TREE TO EVALUATEC OBJLEV - ARRAY OF LEVEL-1 OBJECTIVE BRANCHES TO BE EVALUATEDC RDATA - ARRAY OF GRID CELL RECORD ELEMENTSC WEIGHT - ARRAY OF ALL OBJECTIVE WEIGHTSC WGHTL1 - SUBSET ARRAY OF OBJECTIVE WEIGHTS (LEVEL-1)C WGHTL2 - " - (LEVEL-2)C WGHTL3 - -" (LEVEL-3)CC CONSTANTSCC PNTL2 - ARRAY OF POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTSC PNTL3 - - LEVEL-3C
C-32
CC SUBROUTINE CALLSC _
C DISPLY - AGS ROUTINE ... DISPLAY CHARACTER STRING AT TERMINALC KEYBRD - AGS ROUTINE ... ACCEPT CHARACTER STRING FROM KEYBOARDC NUMBIN - RETRIEVE AND DECODE NEXT ARGUMENT IN KEYBOARD BUFFERCC GRAPHICS FILE DESCRIPTIONC ---
C MUST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2,LASTL2,FRSTL3,LASTL3,NUMLEVINTEGER OBJLEV,CPOINT
CREAL RDATA(128),ATTB(25),NULLKEYWRD,ALL
CBYTE PNTL2(5),PNTL3(15),AOMAT(34,49),WGHTID(69),WEIGHT(69)BYTE BUFFER(900),WGHTL1(5),WGHTL2(15),WGHTL3(49)BYTE BUFIN(20)
CEQUIVALENCE (AOMAT(ll),IDATXT(l)),(RDATA(31),ATTB(1))
+ ,(BUFFER(1),KEYWRD)EQUIVALENCE (WEIGHT( 1),WGHTL1(1)),(WEIGHT( 6),WGHTL2(1))+ ,(WEIGHT(21),WGHTL3(1))
CDATA PNTL2/2,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA WGHTID/2,3,4,5,6+ ,10,20,30,40,50,60,70,80,90,100,110,120,67,68,69+ ,11,12,21,22,23,24,25,31,32,33,34,41,42,43,44,45+ ,51,52,53,54,55,56,61,62,63,64,65,66,71,72,81+ ,91,92,93,101,102,103,111,112,121+ ,13,14,15,16,17,18,19,26,27/
CC... I..**TNITIALIZEC
NUMLEV-4
C-33
CC .SEARCH ACTIVITY DRAWING TO FIND WEIGHTSC
C Applicon Graphics System required code to extract theC objective weights and the attribute/objective matrix from theC active graphics file previously identified by the user
CC. ... *..LIST WEIGHTSC
BUFFER(1)-32CC .........LOOP ON LEVEL 1C
DO 880 I-1,4FRSTL2-PNTL2(I-1)+lIF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(I)
750 ENCODE (4,9101,BUFFER(2))BUFFER(2)-32ENCODE (4,9102,BUFFER(6)) WGHTL1(I)BUFFER(6)-32ENCODE (11,9103,BUFIN) ICALL DISPLY (BUFINll)CALL DISPLY (BUFFER,9)J8-6
C-34
CC .........LOOP ON LEVEL 2C
DO 800 J-FRSTL2,LASTL2FRSTL3-PNTL3(J-1)+lIF (J.EQ.1) FRSTL3-1LASTL3-PIITL3(J)ENCODE (4,9102,BUFFER(JB)) WGHTL2(J)BUFFER(JB)'32
CDO 780 K-FRSTL3,LASTL3JB-JB+4ENCODE (4,9101,BUFFER(JB))BUFFER(JB)p32
780 CONTINUEC
800 CONTINUEJB'JB-1CALL DISPLY (BUFFERJB)KB-6
CC ..... * ...LOOP ON LEVEL 3C
FRSTL3-PNTL3(FRSTL2-1)+1IF (FRSTL2.EQ.1) FRSTL3-1LASTL3-PNTL3(LASTL2)
CDO 820 K-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(KB))BUFFER(KB)-32
820 KB-KB+4KB-KB-1CALL DISPLY (BUFFERKB)CALL DISPLY (- -,l)
WGHTL3(K)
CC..... * .LOOP ON ATTRIBUTEIOBJECTIVE MATRIXC
DO 860 L-1,34ENCODE (4,9102,BUFFER(2)) LBUFFER(2)-32LB-6DO 840 M-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(LB)) AOMAT(L,M)BUFFER(LB)'32
840 LB-LB+4LB-LB-1CALL DISPLY (BUFFERLB)
860 CONTINUE
C-35
CC......... ALL WEIGHTS FOR THIS MAJOR BRANCH HAS BEEN LISTED ON ONEC..... ...TERMINAL PAGE ... DO YOU WANT TO CHANGE ANY OF THE WEIGHTS?C
CALL DISPLY+( ENTER OBJECTIVE LEVEL,(POSITIONt),(ATTRIBUTEt),AND VALUE:*+,58)CALL KEYBRD (BUFIN,20)CPOINT-1CALL NUMBIN (BUFIN,CPOINT,OBJLEV,1)
CC.... ....IF YOU ARE FINISHED WITH THIS PAGE ... GO TO THE NEXT ONEC
IF (OBJLEV.EQ.0) GO TO 880CC ........ LEVEL 1 CHANGEC
IF (OBJLEV.NE.1) GO TO 900CALL NUNBIN (BUFIN,CPOINTITEMP,1)WGHTL1(I)-ITEMPGO TO 750
CC......... LEVEL 2 CHANGEC
900 IF (OBJLEV.NE.2) GO TO 1000CALL NUMBIN (BUFINCPOINTJ,1)J-FRSTL2+J-1CALL NUMBIN (BUFIN,CPOINT,ITEXP,1)WGHTL2(J)-ITEMPGO TO 750
CC......... LEVEL 3 CHANGEC1000 IF (OBJLEV.NE.3) GO TO 1100
CALL NUMBIN (BUFIN,CPOINTK,1)K-FRSTL3+K-1CALL NUMBIN (BUFIN,CPOINTITEMP,1)WGHTL3(K)-ITEMPGO TO 750
CC........ ATTRIBUTE/OBJECTIVE MATRIX CHANGEC1100 IF (OBJLEV.N2.4) GO TO 750
CALL NUMBIN (BUFIN,CPOINTM,1)M-FRSTL3+M-1CALL NUMBIN (BUFINCPOINT,L,1)CALL NUMBIN (BUFINCPOINTITEMP,1)AOMAT(L,M)-ITEMPGO TO 750
C880 CONTINUE
C-36
CC........ REPLACE OBJECTIVE WEIGHTSC
C Applicon Graphics System code to replace the modifiedC objective weights in the active graphics file
C***,************************************** ***** *** ******* ****** ***
CC.... .... TERMINATEC8800 CONTINUE8890 STOP OUCMD 18-
CC.e.e....ERROR MESSAGESC8901 CALL DISPLY (*O***BAD CID:-,12)
BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)GO TO 100
8902 BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)ERROR-1GO TO 100
8904 CALL DISPLY (0***NO A/O MATRIX RECORDI,25)GO TO 8890
CC. .. ... FORMATSC
9101910291039104
C
FORMAT ( Q )FORMAT ( *,13)FORMAT (-1BRANCH PI12)FORMAT (14)
END
C-37
CC UCMD 19CC NNWSI EVALUATION FUNCTIONCC PERFORMS THE ABSOLUTE EVALUATAION FUNCTION FOR THE HOST-C INDEPENDENT ATTRIBUTES AND, IF SPECIFIED, FOR THE HOST-C DEPENDENT ATTRIBUTES FOR ONE HOST ROCK. THE EVALUATION RESULTSC ARE STORED WITHIN THE ELEMENT RECORD FOR LATER RETRIEVAL ORC DISPLAY.C
CC VARIABLESCC AOMAT - MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEC ATTB - ARRAY OF FAVORABILITY VALUESC BUFFER - KEYBOARD INPUT BUFFERC BUFOUT - TERMINAL OUTPUT BUFFERC EVAL - ARRAY OF ALL INTERMEDIATE EVALUATION VALUES WHICH AREC SAVED IN EACH GRID CELL RECORDC EVALl - SUBSET OF INTERMEDIATE EVALUATION VALUES (LEVEL-1)C EVAL2 - - (LEVEL-2)C EVAL3 - - " (LEVEL-3)C FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCH 'C FRSTL3 - POINTER TO FIRST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC HID - DESIRED HOST ROCK IDC HSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESC IGC - POINTER TO GRID CELL RECORD IC IGCI - COLUMNC IGCJ - " ROWC INP - ENCODE INTERGER FROM KEYBOARD INPUTC JB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)C KB - . (LEVEL-3)C KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUTC LASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC LASTL3 - POINTER TO LAST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC NUMLEV - v OF BRANCHES OF OBJECTIVE TREE TO EVALUATEC NX - I OF GRIDCELL COLUMNSC NY - - ROWSC OBJLEV - ARRAY OF LEVEL-1 OBJECTIVE BRANCHES TO BE EVALUATEDC RDATA - ARRAY OF GRID CELL RECORD ELEMENTSC REGNUM - ELEMENT # IN WHICH TO STORE EVALUATION RESULTSC FOR EACH GRID CELL RECORDC RUNID - CHARACTER ARRAY TO IDENTIFY PRESENT CALCULATION
C-38
C WEIGHT - ARRAY OF ALL OBJECTIVE WEIGHTSC WGRTLI - SUBSET ARRAY OF OBJECTIVE WEIGHTS (LEVEL-1)C WGHTL2 - - n (LEVEL-2)C WGHTL3 - n * (LEVEL-3)CC CONSTANTSC -_
C ALL - 'ALL " CHARACTER STRINGC FILNAM - 'GCDATA.NMWSI' CHARACTER STRING ARRAYC INDEF - 100000 OCTAL INDICATING INVALID INTEGER INPUTC NULL - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC PNTL2 - ARRAY OF POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTSC PNTL3 - - LEVEL-3C YES - "Y' CHARACTER STRINGCC SUBROUTINE CALLSC -- …--------
C DISPLY - AGS ROUTINE.. DISPLAY CHARACTER STRING AT TERMINALC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC KEYBRD - AGS ROUTINE... ACCEPT CHARACTER STRING FROM KEYBOARDC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF - READ/WRITE DATA BASE RECORDCC GRAPHICS FILE DESCRIPTIONC ---- ____ _…
C MUST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2,LASTL2,FRSTL3,LASTL3,HID,INDEF,NUMLEV,OBJLEV(5)INTEGER REGNUM,NX,NY,INP,IGCJ,IGCI,IGC
CREAL EVAL(56),EVAL1(4),EVAL2(12),EVAL3(40)REAL RDATA(128),ATTB(25),HSTATT(9,12),NULL,KEYWRDALL
CBYTE PNTL2(5),PNTL3(15),AOMAT(34,49),WEIGHT(69)BYTE IDATXT(1666),BUFFER(80),WGHTL1(5),WGHTL2(15),WGHTL3(49)BYTE FILNAM(12),RUNID(80),BUFOUT(20),YES
CEQUIVALENCE (RDATA(31),ATTB(l))+ ,(BUFFER(1),KEYWRD)EQUIVALENCE (WEIGHT( 1),WGHTL1(1)),(WEIGHT( 6),WGHTL2(1))+ ,(WEIGHT(21),WGHTL3(1))EQUIVALENCE (RDATA(73),EVAL(l)),(EVAL(l),EVALI(l))+ (EVAL ( 5),EVAL2(1)),(EVAL(17),EVAL3(1))
C-39
-
CDATA FILNAM/1RG,IHC,lHD,IHA,lHT,lHA,lH.,IHN,lHN,lHW,IHS,lHI/DATA PNTL2/2,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA NULL,HID, INDEF,NX,NY, ALL
+ /1.E-38, 1,-100000,39,41,4HALL /DATA YES
+ /IHY/DATA OBJLEV/1,2,3,4,5/DATA HSTATT/10.0, 2.5, 7.5,10.0,10.0,10.0, 2.0, 2.5, 4.0
+ , 8.0, 5.0,10.0,10.0, 7.0, 1.0, 2.0, 6.5, 1.0+ , 8.0,10.0, 5.0, 2.5, 1.0,10.0,10.0, 2.5,10.0+ ,10.0, 5.0,10.0,10.0,10.0, 1.0, 2.0, 0.0, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 8.0, 2.0, 9.5, 2.5+ , 3.0,10.0, 5.0, 2.5, 0.0,10.0,10.0,10.0, 9.0+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 5.0, 2.5+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 6.5, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 5.0, 2.0,10.0, 2.5+ , 8.0, 5.0,10.0,10.0, 5.0, 8.0, 4.0, 8.0, 4.0+ , 8.0, 2.5, 7.5,10.0, 4.0, 8.0, 2.0, 2.5, 1.0+ , 8.0, 2.5, 7.5,10.0, 6.0, 5.0, 2.0, 2.5, 2.5/
CC......... INITIALIZECCC ...... GIVE USER OPPORTUNITY TO IDENTIFY A HOST ROCKC
10 CALL DISPLY (OENTER HOST ROCK ID (1-12):',27)CALL KZYBRD (BUFFER,2)HID-IDCODE (BUFFER,2)IF (KID.EQ.INDEF) GO TO 10IF (HID.LT.0.OR.HID.GT.12) GO TO 10
CC.....,.GIVE USER OPPORTUNITY TO EVALUATE ONLY A SUBSET OF THEC ........ FOUR MAJOR BRANCHESC
CALL DISPLY (-OENTER OBJECTIVE BRANCH (1-4 OR ALL):,37)22 CALL XEYBRD (BUFFER,4)
IF (KEYWRD.EQ.ALL) GO TO 24INP-IDCODE(BUFFER,4)IF (INP.EQ.0) GO TO 28IF (INP.EQ.INDEF) GO TO 22IF (INP.LT.1.OR.INP.GT.4) GO TO 8903NUMLEV-NUHLEV+1OBJLEV(NUMLEV)-INPGO TO 22
C24 NUMLEV-428 IF (NUMLEV.EQ.0) GO TO 8890
C-40
CC ......... USER MUST IDENTIFY AN OUTPUT REGISTER TO STORE THE FINALC ......... RESULTS FOR LATER DISPLAYC
30 CALL DISPLY (OENTER OUTPUT REGISTER NUMBER (26-30 OR 56-60): ,47)CALL KEYBRD (BUFFER,2)REGNUM-IDCODE(BUFFER,2)IF (REGNUM.EQ.INDEF) GO TO 30IF (REGNUM.LT.26.OR.REGNUM.GT.60) GO TO 30IF (REGNUM.LT.56.AND.REGNUM.GT.30) GO TO 30
CC ........ USER MUST IDENTIFY THE LOWEST DEPTH OF CHANGES IN OBJECTIVEC.. ..... WEIGHTS IN ORDER TO AVOID DUPLICATE PROCESSING.C
40 CALL DISPLY (-OENTER LOWEST LEVEL OF CHANGE (1-4):-,36)CALL KEYBRD (BUFFER,1)LEVCHG-IDCODE(BUFFER,1)IF (LEVCHG.EQ.INDEF) GO TO 40IF (LEVCHG.LT.l.OR.LEVCHG.GT.4) GO TO 40
CC . .SEARCH ACTIVITY DRAWING TO FIND WEIGHTSC
C APPLICON GRAPHICS SYSTEM REQUIRED CODE TO EXTRACT THEC OBJECTIVE WEIGHTS AND THE ATTRIBUTE/OBJECTIVE MATRIX FROM THEC ACTIVE GRAPHICS FILE PREVIOUSLY IDENTIFIED BY THE USER
CC.. ... LIST WEIGHTS TO VERIFY THE VALUESC
RUNID(l)-49BUFFER(1)-32CALL DISPLY ("OENTER RUN IDENTIFIER: ,23)CALL KEYBRD (RUNID(2),79)
C-41
CC.. .. 0..LOOP ON LEVEL IC
CC .
C
C
DO 880 1-1,4FRSTL2-PNTL2(1-l)+1IF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(I)ENCODE (4,9101,BUFFER(2))BUFFER(2)-32ENCODE (4,9102,BUFFER(6))BUFFER(6)-32CALL DISPLY (RUNID,80)CALL DISPLY (* *,1)ENCODE (11,9103,BUFOUT) ICALL DISPLY (BUFOUT,11)CALL DISPLY (BUFFER,9)JB-6
WGHTL1(I)
...... LOOP ON LEVEL 2
DO 800 J-FRSTL2,LASTL2FRSTL3-PNTL3(J-1)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)ENCODE (4,9102,BUFFER(JB))BUFFER(JB)-32
WGHTL2(J)
DO 780 K-FRSTL3,LASTL3JB-JB+4ENCODE (4,9101,BUFFER(JB))BUFFER(JB)-32
780 CONTINUEC
800 CONTINUEJB-JB-1CALL DISPLY (BUFFER,JB)R3-6
CC.... ....LOOP ON LEVEL 3C
FRSTL3-PNTL3(FRSTL2-1)+1IF (FRSTL2.EQ.1) FRSTL3-1LASTL3-PNTL3(LASTL2)
CDO 820 K-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(KB))BUFFER(KB)-32
820 KB-K3+4KB3=K-lCALL DISPLY (BUFFER,KB)CALL DISPLY (1H ,1)
WGRTL3(K)
C-42
CC.....o.LOOP ON ATTRIBUTE/OBJECTIVE MATRIXC
C
DO 860 L-1,34ENCODE (4,9102,BUFFER(2)) LBUFFER(2)'32LB-6Do 840 M-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(LB)) AOMAT(L,M)BUFFER(LB)'32
840 LB'LB+4LB-LB-1CALL DISPLY (BUFFERLB)
860 CONTINUE
CALL KEYBRD (BUFFER,l)880 CONTINUE
CC.. ..... AFTER LIStING WEIGHTS, GIVE USER AN OPPORTUNITY TO ABORTC
CALL DISPLY (-lDO YOU WISH TO CONTINUE? (Y/N) *,32)CALL KEYBRD (BUFFER,1)IF (BUFFER(1).NE.YES) GO TO 8890
CC.o.. * .OPEN THE ATTRIBUTE DATA BASE AND BEGIN EVALUATIONC
CALL MYOPEN (FILNAM,12,2)CC. ...... LOOP ON GRID CELLSC
DO 1610 IGCJ-1,NYIF (IGCJ.GT.24) NX-34DO 1600 IGCI-1,NXIGC'IGCI+42*(IGCJ-1)CALL RWBUFF (OIGC,RDATA)
C-43
C
CLASTL2mOLASTL3-0
EVALUATION
CC. ....... LOOP ON LEVEL 1C
C
IF (LEVCHG.EQ.1) GO TO 1501DO 1500 Iil-,NUMLEVIlOBJLEV(II)IF (WGHTL1(I).EQ.O) GO TO 1500FRSTL2-PNTL2(1-1)+1IF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(I)EVALl(I)-O.
C..*... .. LOOP ON LEVEL 2C
DO 1400 J-FRSTL2,LASTL2IF (LEVCHG.EQ.2) GO TO 1301IF (WGHTL2(J).EQ.O) GO TO 1400FRSTL3-PNTL3(J-1)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)EVAL2(J)-O.
CC... ... .LOOP ON LEVEL 3C
DO 1300 R-FRSTL3,LASTL3IF (LEVCHG.EQ.3) GO TO 1200IF (WGaTL3(X).EQ.0) GO TO 1300EVAL3(K)-O.
CC......... LOOP ON ATTRIBUTESC
DO 1000 L-1,25IF (AOMAT(L,X).NE.0) EVAL3(t)-EVAL3(K)+ATTB(L)*AOMAT(L,K)
1000 CONTINUEIF (HID.EQ.O) GO TO 1200IF (RDATA(60+RID).LT.1) GO TO 1200
C-44
CC......... LOOP ON HOST-DEPENDENT ATTRIBUTESC
DO 1100 Lil,9IF (AOMAT(L+25,K).NE.O) EVAL3(K)-EVAL3(K)
+ HSTATT(LHID)*AOMAT(L+25,K)1100 CONTINUE1200 EVAL2(J)-EVAL2(J)+EVAL3(K)*WGHTL3(K)
C1300 CONTINUE
C1301 EVALL(I)-EVAL1(l)+EVAL2(J)*WGHTL2(J)
C1400 CONTINUE
CC
1500 CONTINUEC.C... ....EVALUATION COMPLETE FOR THIS GRID CELL...STORE FINAL RESULTSC.*... ...IN THE APPROPRIATE REGISTER WITHIN THE RECORD AND WRITE THEC.*..*.*..RECORD TO MASS STORAGE DEVICEC1501 RDATA(REGNUM)-O.
DO 1510 1-1,41510 RDATA(REGNUM)-RDATA(REGNUM)+EVAL1(I)*WGHTL1(1)
RDATA(REGNUM)-RDATA(REGNUM)/10000.CALL RWBUFF (2,IGCRDATA)
C1600 CONTINUE1610 CONTINUE
CC ........ TERMINATEC8800 IGC-2184
CALL RWBUFF (OIGCRDATA)CALL MYCLOS
8890 STOP "UCMD 19*CC...... R.FORMATSC9101 FORMAT (9102 FORMAT ( ,13)9103 FORMAT ( BRANCH #1-2)
CEND
C-45
CCCCCCCCCCcCCCc
UCMD 26
NNWSI EVALUATION FUNCTION - VARIANCE FOR BEST HOST ROCK
EVALUATES THE VARIANCE OF THE ABSOLUTE EVALUATION FUNCTION DUETO VARIANCE OF THE INDIVIDUAL OBJECTIVE WEIGHTINGS. THEEVALUATION IS PERFORMED ON THE HOST-DEPENDENT ATTRIBUTES FORALL CANDIDATE HOST ROCKS AND THEN SORTED IN ORDER OFDESCENDING VARIANCE. A SYMBOLIS ADDED TO THE SITE DRAWING WHICHCORRESPONDS TO THE EXISTING CANDIDATE HOST ROCK WITH THE HIGHESTVARIANCE. THIS VARIANCE IS THEN ADDED TO THE SPECIFIED HOSTINDEPENDENT VARIANCE (UCMD 28) AT EACH ELEMENT TO ACHIEVE ATOTAL VARIANCE.
CCCCCCCCCC'CCCCCCCCCCCCCCCCCCCCCC
VARIABLES
AOMATATTBBUFFERBUFOUTEVAL
MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEARRAY OF FAVORABILITY VALUESKEYBOARD INPUT BUFFERTERMINAL OUTPUT BUFFERARRAY OF ALL INTERMEDIATE EVALUATION VALUES WHICH ARESAVED IN EACH GRID CELL RECORD
0
EVAL2 - - - (LEVEL-2)EVAL3 - - (LEVEL-3)FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-1 BRANCHFRSTL3 - POINTER TO FIRST LEVEL-3 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-2 BRANCHHID - DESIRED HOST ROCK IDHSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESHSTEVL - ARRAY OF CALCULATED HOST EVALUATIONSIGC - POINTER TO GRID CELL RECORD #IGCI - - COLUMNIGCJ - - ROWINP - ENCODE INTERGER FROM KEYBOARD INPUTJB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)KB - - - " (LEVEL-3)
KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUTLASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-1 BRANCHLASTL3 - POINTER TO LAST LEVEL-3 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-2 BRANCHNUMLEV - F OF BRANCHES OF OBJECTIVE TREE TO EVALUATENX - I OF GRIDCELL COLUMNSNY _ ROWS
C-46
C RDATA - ARRAY OF GRID CELL RECORD ELEMENTSC REGNUM - ELEMENT # IN WHICH TO STORE EVALUATION RESULTSC FOR EACH GRID CELL RECORDC RUNID - CHARACTER ARRAY TO IDENTIFY PRESENT CALCULATIONC SIGMA2 - ARRAY OF VARIANCES OF THE OBJECTIVE WEIGHTINGSC WEIGHT - ARRAY OF ALL OBJECTIVE WEIGHTSC WGHTL3 - ARRAY OF PREDEFINED STANDARD DEVIATIONS OF THEC OBJECTIVE WEIGHTINGSCC CONSTANTSCC ALL - "ALL ' CHARACTER STRINGC FILNAK - GCDATA.NNWSI" CHARACTER STRING ARRAYC INDEF - 100000 OCTAL INDICATING INVALID INTEGER INPUTC NULL - l.E-38 INDICATING INVALID FLOATING POINT INPUTC PNTL2 - ARRAY OF POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTSC PNTL3 - - LEVEL-3C YES - 'Y" CHARACTER STRINGCC SUBROUTINE CALLSC - …-_--------
C DISPLY - AGS ROUTINE ... DISPLAY CHARACTER STRING AT TERMINALC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC KEYBRD - AGS ROUTINE ... ACCEPT CHARACTER STRING FROM KEYBOARDC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF - READ/WRITE DATA BASE RECORDCC GRAPHICS FILE DESCRIPTIONC - -- …_---
C MUST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2,LASTL2,FRSTL3,LASTL3,HID(12),INDEF,NUMLEVINTEGER REGNUMNX,NYINP,ERROR,IGCJ,IGCI,IGC
CREAL EVAL(56),EVAL1(4),EVAL2(12),EVAL3(40),HSTEVL(12)REAL RDATA(128),ATTB(25),HSTATT(9,12),NULL,KEYWRDPALLREAL SIGMA2(40)
CBYTE PNTL2(5),PNTL3(15),AOMAT(9,49),WEIGHT(69)BYTE IDATXT(884),BUFFER(80),WGHTL1(5),WGHTL2(15),WGHTL3(49)BYTE FILNAM(12),RUNID(80),BUFOUT(20),YES
C-47
cEQUIVALENCE (RDATA(31),ATTB(l)),(IDATXT(l),RDATA(l))+ ,(BUFFER(1),KEXYWRD)EQUIVALENCE (WEIGHT( 1),WGHTLl(l)),(WEIGRT( 6),WGHTL2(1))+ ,(WEIGHT(21),WGHTL3(1))EQUIVALENCE (RDATA(73),EVAL(l)),(EVAL(l),EVAL1(1))
+ ,(EVAL ( 5),EVAL2(1)),(EVAL(17),EVAL3(1))C
DATA FILNAN/IHG,1HC,lHD,IIA,lHT,IHA,lH.,lHE,1HN,1HW,1HS,lHI/DATA PNTL2/2,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA NULL, INDEF,NX,NY, ALL+ /1.E-38,"100000,39,41,4HAlL /DATA YES
+ /lHy/DATA HID/1,2,3,4,5,6,7,8,9,10,11,12/
CDATA HSTATT/10.0, 2.5, 7.5,10.0,10.0,10.0, 2.0, 2.5, 4.0
+ , 8.0, 5.0,10.0,10.0, 7.0, 1.0, 2.0, 6.5, 1.0+ , 8.0,10.0, 5.0, 2.5, 1.0,10.0,10.0, 2.5,10.0+ ,10.0, 5.0,10.0,10.0,10.0, 1.0, 2.0, 0.0, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 8.0, 2.0, 9.5, 2.5+ , 3.0,10.0, 5.0, 2.5, 0.0,10.0,10.0,10.0, 9.0+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 5.0, 2.5+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 6.5, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 5.0, 2.0,10.0, 2.5+ , 8.0, 5.0,10.0,10.0, 5.0, 8.0, 4.0, 8.0, 4.0+ , 8.0, 2.5, 7.5,10.0, 4.0, 8.0, 2.0, 2.5, 1.0+ , 8.0, 2.5, 7.5,10.0, 6.0, 5.0, 2.0, 2.5, 2.5/DATA WGHTL3/59,36,24,29,13,18,7+ ,37,49,36,19,23,15,17,25,4+ ,12,12,17,6,12,9,15,22,27,17,11,14,46,22+ ,15,4,7,5,8,8,4,9,8,13,9*0/
CC ........ INITIALIZECC....... CALCULATE VARIANCESC
DO 20 1=1,4020 SIGMA2(I)-1000000.*WGHTL3(I)*WGHTL3(I)
CC .... ****USER MUST IDENTIFY REGISTER I OF THE RESULTS OF THEC......... CORRESPONDING HOST-INDEPENDENT VARIANCE CALUCULATIONSC
30 CALL DISPLY (OENTER INPUT REGISTER NUMBER (26-30 OR 56-60):,46)CALL KEYBRD (BUFFER,2)REGNUM-IDCODE(BUFFER,2)IF (REGNUM.EQ.INDEF) GO TO 30IF (REGNUM.LT.26.OR.REGNUM.GT.60) GO TO 30IF (REGNUM.LT.56.AND.REGNUM.GT.30) GO TO 30
C-48
CC. .... .SEARCH ACTIVITY DRAWING TO FIND WEIGHTSC
C Applicon Graphics System required code to extract theC attribute/objective matrix from theC active graphics file previously identified by the user
C.** * * * ' **LOOP ON HOST ROCKC
DO 1600 IH-1,12C
Ja1EVAL2(J)OO.
CC...*D...OBEGIN EVALUATIONCCC...... LOOP ON LEVEL 3C
DO 1300 K-1,40IF (WGHTL3(K).EQ.O) GO TO 1300EVAL3(K)-0.
CC..o..** oLOOP ON HOST-DEPENDENT ATTRIBUTESC
DO 1100 L-1,9IF (AOMAT(LK).NE.O) EVAL3(K)-EVAL3(K)
+ +HSTATT(L,IH)*AOMAT(L,K)1100 CONTINUE
C-49
CC..... ...SUM THE VARIANCESC1200 EVAL2(J)-EVAL2(J)+EVAL3(X)*SIGNA2(X)*EVAL3(X)
C1300 CONTINUE
C1301 CONTINUE
C1400 CONTINUE
CC1500 CONTINUE
C1501 HSTEVL(IH)-0.
HSTEVL(IR)-SQRT(EVAL2(J))/10000.C1600 CONTINUE
CC.... ..... LIST EVALUATIONSC
CALL DISPLY (-LHR VALUE°,13)DO 1700 1-1,12IU-HSTEVL(I) /10.IL-STElVL(I)-10. *IUENCODE (13,9104,BUFFER) IIUILBUFFER(l)-32CALL DISPLY ( -,1)CALL DISPLY (BUFFER, 13)
1700 CONTINUECC... ....SORT HOST ROCKS BY DESCENDINGC
EVALUATION VALUE
DO 2300 I-2,12DO 2000 J-1,I-1IF (HSTEVL(I).GT.HSTEVL(J))
2000 CONTINUEGO TO 2300
2100 TEMP-HSTEVL(I)ITEMP-HID(I)DO 2200 XI-,J+I,-1HSTEVL(R)-HSTEVL(K-1)HID(R)-HID(K-1)
2200 CONTINUEHSTEVL (J) -TEMIPHID(J)-ITEMP
2300 CONTINUE
GO TO 2100
C-50
CC... .... EVALUATE USING BEST HOST ROCK WHICH EXISTS AT GRID LOCATIONC
CALL MYOPEN (FILNAM,12,2)CC..... *..LOOP ON GRID CELLC
DO 3400 IGCJ-1,NYIF (IGCJ.GT.24) NX-34DO 3300 IGCI-1,NXIGC-IGCI+42*(IGCJ-1)CALL RWBUFF (OIGC,RDATA)
CC..F.....IND HIGHEST RANKING HOST ROCK WHICH EXISTS AT THIS GRIDC
DO 3000 1-1,12J-HID(I)IF (RDATA(J+60).GT..5) GO To 3100
3000 CONTINUEGO TO 3200
3100***Applicon Graphics routine to add cell corresponding to***Host Rock ID
3200 RDATA(60)-RDATA(REGNUM)+HSTEVL(I)CALL RWBUFF(1,IGC,RDATA)
3300 CONTINUE3400 CONTINUE
CCo.... TERMINATEC
8800 IGC-2184CALL RWBUFF (O,IGCRDATA)CALL MYCLOS
8890 STOP "UCMD 26eCC .... .*ERROR MESSAGESC8901 CALL DISPLY (0O***BAD CID:',12)
BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)GO TO 100
8902 BUFFERt1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)ERROR-1GO TO 100
8904 CALL DISPLY (00***NO A/O MATRIX RECORD! ,25)GO TO 8890
C-51
CC. .. FORMATSC9101 FORMAT (° °)
9102 FORMAT (° °,13)9103 FORMAT (° BRANCH #,I2)9104 FORMAT (13,19,11)
CEND
C-52
CC UCMD 27CC NORMALIZED NNWSI EVALUATION FUNCTION - FOR BEST HOST ROCKCC PERFORMS THE SAME FUNCTION AS UCMD 17 USING THE NORMALIZEDC EVALUATION EQUATIONS.C
CC UCMD 27 is patterned after UCMD 17 except that it uses theC normalized favorability functions found in UCMD 29. Since theC source code for this program is so similar to UCMD 17, theC reader is asked to refer to the latter listing for codingC details.C
C-53
CC UCMD 28CC PROPAGATION OF VARIANCECC EVALUATES THE VARIANCE OF THE ABSOLUTE EVALUATION FUNCTION DUEC TO THE VARIANCE OF THE INDIVIDUAL OBJECTIVE WEIGHTINGS. THEC EVALUATION IS PERFORMED FOR THE HOST-INDEPENDENT ATTRIBUTES AND,C IF SPECIFIED, FOR THE HOST-DEPENDENT ATTRIBUTES FOR ONE ROSTC ROCK. THE VARIANCE VALUE IS STORED WITHIN THE ELEMENT RECORDC FOR LATER RETRIEVAL OR DISPLAY.C
CC VARIABLESCC AOMAT - MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEC ATTB - ARRAY OF FAVORABILITY VALUESC BUFFER - KEYBOARD INPUT BUFFERC BUFOUT - TERMINAL OUTPUT BUFFERC EVAL - ARRAY OF ALL INTERMEDIATE EVALUATION VALUES WHICH AREC SAVED IN EACH GRID CELL RECORDC EVAL2 - - - - (LEVEL-2)C EVAL3 - - (LEVEL-3)C FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC FRSTL3 - POINTER TO FIRST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC HID - DESIRED HOST ROCK IDC HSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESC IGC - POINTER TO GRID CELL RECORD IC IGCI - - " COLUMNC IGCJ - - ROWC JB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)C KB - " (LEVEL-3)C KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUTC LASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FORC PRESENT LEVEL-1 BRANCHC LASTL3 - POINTER TO LAST LEVEL-3 OBJECTIVE WEIGHT FORC PRESENT LEVEL-2 BRANCHC NUMLEV - I OF BRANCHES OF OBJECTIVE TREE TO EVALUATEC NX - I OF GRIDCELL COLUMNSC NY - - - ROWSC OBJLEV - ARRAY OF LEVEL-1 OBJECTIVE BRANCHES TO BE EVALUATEDC RDATA - ARRAY OF GRID CELL RECORD ELEMENTSC REGNUM - ELEMENT I IN WHICH TO STORE EVALUATION RESULTSC FOR EACH GRID CELL RECORDC RUNID - CHARACTER ARRAY TO IDENTIFY PRESENT CALCULATION
C-54
C SIGMA2 - ARRAY OF VARIANCES OF THE OBJECTIVE WEIGHTINGSC WEIGHT - ARRAY OF ALL OBJECTIVE WEIGHTSC WGHTL3 - ARAit OF PREDEFINED STANDARD DEVIATIONS OF THEC OBJECTIVE WEIGHTINGSCC CONSTANTSCC ALL - 'ALL - CHARACTER STRINGC FILNAM - "GCDATA.NNWSI" CHARACTER STRING ARRAYC INDEF - 1OOOOO'OCTAL' INDICATING INVALID INTEGER INPUTC NULL - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC PNTL2 - ARRAY OF POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTSC PNTL3 - " LEVEL-3C YES - 'Y" CHARACTER STRINGCC SUBROUTINE CALLSC - ----C DISPLY - AGS ROUTINE..ODISPLAY CHARACTER STRING AT TERMINALC IDCODE - DECODE CHARACTER STRING TO INTEGER VARIABLEC KEYBRD - AGS ROUTINE ... IACCEPT CHARACTER STRING FROM KEYBOARDC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFF ' READ/WRITE DATA BASE RECORDCC SYSTEM FUNCTIONSCC SQRT ' FLOATING POINT'SQUARE ROOTCC GRAPHICS FILE DESCRIPTIONCC KMST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2,LASTL2,FRSTL3,LASTL3,HID,INDEF NUHLEV,OBJLEV(5)INTEGER REGNUMNXNY,ERROR,IGOT,IGCJ,IGCIIGC
CREAL EVAL(56),EVALl(4),EVAL2(12) ,EVAL3(40)REAL RDATA(128),ATTB(25),HSTATT(9,12),NULLKEYWRDALL'REAL SIGHA2(40)
CBYTE PNTh2(5),PNTL3(15),AOMAT(34,49),WGHTID(69),WEIGHT(69)BYTE BUFFER(80),WGHTL1(5),WGHTL2(15) ,WGHTL3(49)BYTE FILNAM(12),RUNID(80),BUFOUT(20),YES
C-55
CEQUIVALENCE (AOMAT(1,1),IDATXT(1)),(RDATA(31),ATT3(1))
+ ,(BUFFER(1),KEYWRD)EQUIVALENCE (WEIGHT( 1),WGHTL1(1)),(WEIGHT( 6),WGHTL2(1))
+ ,(WEIGHT(21),WGHTL3(1))EQUIVALENCE (RDATA(73),EVAL(1)),(EVAL(1),EVAL1(1))
+ ,(EVAL ( 5),EVAL2(1)),(EVAL(17),EVAL3(1))C
DATA FILNAM/lHG,lHC,1HD,lHA,lHT,UIA,1H.,lHN,1HN,1HW,1HS,IHI/DATA PNTL2/2,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA NULL,HID, INDEF,NX,NY, ALL+ /1.E-38, 1,"100000,39,41,4HALL /DATA YES
+ /lay/DATA ERROR,AOMFLG/2*O/DATA OBJLEV/1,2,3,4,5/DATA HSTATT/10.0, 2.5, 7.5,10.0,10.0,10.0, 2.0, 2.5, 4.0
+ , 8.0, 5.0,10.0,10.0, 7.0, 1.0, 2.0, 6.5, 1.0+ , 8.0,10.0, 5.0, 2.5, 1.0,10.0,10.0, 2.5,10.0+ ,10.0, 5.0,10.0,10.0,10.0, 1.0, 2.0, 0.0, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 8.0, 2.0, 9.5, 2.5+ , 3.0,10.0, 5.0, 2.5, 0.0,10.0,10.0,10.0, 9.0+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 5.0, 2.5+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 6.5, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 5.0, 2.0,10.0, 2.5+ , 8.0, 5.0,10.0,10.0, 5.0, 8.0, 4.0, 8.0, 4.0.+ , 8.0, 2.5, 7.5,10.0, 4.0, 8.0, 2.0, 2.5, 1.0+ , 8.0, 2.5, 7.5,10.0, 6.0, 5.0, 2.0, 2.5, 2.5/DATA WGHTL3/59,36,24,29,13,18,7
+ ,37,49,36,19,23,15,17,25,4+ ,12,12,17,6,12,9,15,22,27,17,11,14,46,22+ ,15,4,7,5,8,8,4,9,8,13,9*0/
CC......... INITIALIZEcC ....... GIVE USER OPPORTUNITY TO IDENTIFY A HOST ROCKc
10 CALL DISPLY (OENTER HOST ROCK ID (1-12):,27)CALL KEYBRD (BUFFER,2)HID-IDCODE (BUFFER,2)IF (HID.EQ.INDEF) GO TO 10IF (HID.LT.O.OR.HID.GT.12) GO TO 10
CC......... CALCULATE & NORMALIZE VARIANCESC
DO 20 I=1,4020 SIGHA2(I)-1000000.*WGHTL3(1)*WGHTL3(I)
c24 NUMLEV-428 IF (NUKLEV.EQ.0) GO TO 8890
C-56
CC..o.. ... USER MUST IDENTIFY AN OUTPUT REFISTER TO STORE THE FINALC ...... RESULTS FOR LATER DISPLAYC
30 CALL DISPLY (*OENTER OUTPUT REGISTER NUMBER (26-30 OR 56-60):',47)CALL KEYBRD (BUFFER,2)REGNUM-IDCODE(BUFFER,2)IF (REGNUM.EQ.INDEF) GO TO 30IF (REGNUM.LT.26.OR.REGNUM.GT.60) GO TO 30IF (REGNUM.LT.56.AND.REGNUM.GT.30) GO TO 30
CC..*.**....SEARCH ACTIVITY DRAWING TO FIND WEIGHTSC
CCC
Applicon Graphics System required code to extract thethe attribute/objective matrix from the -active graphics file previously identified by the user.. . . . . . . . . . . . . . . . . . . . . . . . . . . I . . . . . . . . . . . .s ̂Ass
.XXXXXXXXXXXXXXXXXXXXX
CC. ... *..LIST WEIGHTSC
RUNID(1)-49BUFFER(1)-32CALL DISPLY (*OENTER RUN IDENTIFIER: *023)CALL KEYBRD (RUNID(2),79)
CC... .....LOOP ON LEVEL 1C
DO 880 1-1,4FRSTL2-PNTL2(1-1)+lIF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(1)ENCODE (4,9101,BUFFER(2))BUFFER(2)-32ENCODE (4,9102,BUFFER(6))BUFFER(6)-32CALL DISPLY (RUNID,80)CALL DISPLY (* 6,1)ENCODE (l1,9103,BUFOUT) ICALL DISPLY (BUFOUT,11)CALL DISPLY (BUFFER,9)JB-6
WGHTLl(I)
C-57
CC......... LOOP ON LEVEL 2C
DO 800 J-FRSTL2,LASTL2FRSTL3-PNTL3(J-l)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)ENCODE (4,9102,BUFFER(JB)) WGHTL2(J)BUFFER(JB)-32
CDO 780 K-FRSTL3,LASTL3JB-JB+4ENCODE (4,9101,BUFFER(JB))BUFFER(JB)-32
780 CONTINUEC
800 CONTINUEJB-JB-1CALL DISPLY (BUFFER,JB)XB-6
CC. ...... LOOP ON LEVEL 3C
FRSTL3-PNTL3(FRSTL2-1)+lIF (FRSTL2.EQ.1) FRSTL3-1LASTL3-PNTL3(LASTL2)
CDO 820 K-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(KB))BUFFER(KB)-32
820 KB-1B+4KB-KB-1CALL DISPLY (BUFFER,KB)CALL DISPLY (IH ,1)
WGHTL3(K)
CC....C
..... LOOP ON ATTRIBUTE/OBJECTIVE MATRIX
DO 860 L-1,34ENCODE (4,9102,BUFFER(2)) LBUFFER(2)-32LB-6DO 840 M-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(LB)) AOMAT(L,X)BUFFER(LB)-32
840 LB-LB+4LB-LB-1CALL DISPLY (BUFFER,LB)
860 CONTINUEC
CALL KEYBRD (BUFFER,1)880 CONTINUE
C-58
cC........ AFTER LISTING WEIGHTS, GIVE USER AN OPPORTUNITY TO ABORTC
CALL DISPLY (11DO YOU WISH TO CONTINUE? (YN) ,32)CALL KEYBRD (BUFFER,1)IF (BUFFER(1).NE.YES) GO TO 8890
CCALL MYOPEN (FILNAM,12,2)
CC......o..LOOP ON GRID CELLSC
DO 1610 IGCJ-1,NYIF (IGCJ.GT.24) NX-34DO 1600 IGCI-1,NXIGC-IGCI+42*(IGCJ-1)CALL RWBUFF (O,IGC,RDATA)J-1EVAL2(J)-O.
CC. .... LOOP ON LEVEL 3C
DO 1300 K-1,40IF (WGHTL3(K).EQ.O) GO TO 1300EVAL3(K)-O.
CC.........LOOP ON ATTRIBUTESC
DO 1000 L-1,25IF (AOMAT(L,K).NE.O) EVAL3(K)-EVAL3(K)+ATTB(L)*AOMAT(LK)
1000 CONTINUEIF (HID.EQ.O) GO TO 1200IF (RDATA(60+HID).LT.1) GO TO 1200
CCooeeoo *.LOOP ON HOST-DEPENDENT ATTRIBUTESC
DO 1100 L-1,9IF (AONAT(L+25,K).NE.0) EVAL3(K)-EVAL3(K)+ +HSTATT(L,HID)*AOMAT(L+25,K)
1100 CONTINUE
C-59
CC.. . SUM THE VARIANCESC1200 EVAL2(J)-EVAL2(J)+EVAL3(1)*EVAL3(R)*SIGMA2(X)
C1300 CONTINUE
C1301 CONTINUE
C1400 CONTINUE
CC1500 CONTINUE
C1501 RDATA(REGNUM)-O.
CC .o.... .CALCULATE AND RECORD STANDARD DEVIATIONC
RDATA(REGNUt)-SQRT(EVAL2(J))/10000.CALL RIBUFF (2,IGC,RDATA)
C1600 CONTINUE1610 CONTINUE
CCooose....TERMINATEC8800 IGC-2184
CALL RWBUPF (O,IGC,RDATA)CALL MYCLOS
8890 STOP *UCMD 28*ICC..o.....ERROR MESSAGESC8901 CALL DISPLY (00***BAD CID:-,12)
BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUPFER,2)GO TO 100
8902 BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER,2)ERROR-1GO TO 100
8904 CALL DISPLY (-0***NO A/O MATRIX RECORDI,25)GO TO 8890
CC P.ooe*.FORXATSC
9101 FORMAT (- 0)
9102 FORMAT ( *,13)9103 FORMAT ( BRANCH #P,12)
CEND
C-60
cCCccCCCCCc
UCMD 29
NORMALIZED NNWSI EVALUATION FUNCTION
PERFORMS THE SAVE FUNCTION AS UCMD 19 USING THE NORMALIZEDEVALUATION EQUATIONS DESCRIBED BY R.C. CARLSON, LAWRENCELIVERMORE NATIONAL LABORATORIES, IN HIS PAPER TITLED'AN ALGORITHM FOR EMPHASIZING ATTRIBUTES WITH LOW FAVORABILITYVALUES IN DECISION ANALYSIS PROGRAMS-, AUGUST 20, 1981.
VARIABLES
i
AOM&T - MATRIX OF ATTRIBUTE INFLUENCE ON OBJECTIVEATTB - ARRAY OF'FAVORABILITY VALUESBUFFER - KEYBOARD INPUT BUFFERBUFOUT - TERMINAL OUTPUT BUFFERDEN - SUMMATION OF DENOMINATOR FOR NORMALIZED FAVORABILITY*FRSTL2 - POINTER TO FIRST LEVEL-2 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-1 BRANCH.FRSTL3 - POINTER TO'FIRST LEVEL-3 OBJECTIVE WEIGHT FOR
PRESENT LEVEL-2 BRANCHHID - DESIRED HOST ROCK IDHSTATT - MATRIX OF HOST ROCK VS ATTRIBUTE FAVORABILITY VALUESIGC - POINTER TO GRID CELL RECORD -IGCI - " -COLUMNIGCJ - -' : . ROWINP -'ENCODE INTERGER FROM KEYBOARD INPUT*JB - PRESENT POSITION OF OUTPUT BUFFER (LEVEL-2)KB - (LEVEL-3)KEYWRD - FIRST 4 CHARACTERS OF KEYBOARD INPUT -
LASTL2 - POINTER TO LAST LEVEL-2 OBJECTIVE WEIGHT FORPRESENT LEVEL-1 BRANCH
LASTL3 - POINTER'TO LAST LEVEL-3 OBJECTIVE WEIGHT FORPRESENT LEVEL-2 BRANCH
HEXP- - NORMALIZED WEIGHTING EXPONENTNUV - SUMMATION OF NUMERATOR'OF NORMALIZED FAVORABILITYNUMLEV - I OF BRANCHES OF OBJECTIVE TREE TO EVALUATEEX - I OF GRIDCELL COLUMNSNY _ ROWSRDATA - ARRAY OF GRID CELL RECORD ELEMENTSREGNUM - ELEMENT # IN WHICH TO STORE EVALUATION RESULTS
FOR EACH GRID CELL RECORDRUNID - CHARACTER ARRAY TO IDENTIFY PRESENT CALCULATION
C-61
C TW - ARRAY OF TOTAL OBJECTIVE WEIGHTS ON EACH ATTRIBUTEC WEIGHT - ARRAY OF ALL OBJECTIVE WEIGHTSC WGHTLI - SUBSET ARRAY OF OBJECTIVE WEIGHTS (LEVEL-1)C WGHTL2 - - " " (LEVEL-2)C WGHTL3 - " " - (LEVEL-3)CC CONSTANTSC - -
C ALL - "ALL "CHARACTER STRINGC PILNAM* - 'GCDATA.NNWSI" CHARACTER STRING ARRAYC INDZF - 100000 OCTAL INDICATING INVALID INTEGER INPUTC NULL - 1.E-38 INDICATING INVALID FLOATING POINT INPUTC PNTL2 - ARRAY OF POINTERS TO FIRST LEVEL-2 OBJECTIVE WEIGHTSC PNTL3 - " LEVEL-3C YES - 'Y" CHARACTER STRINGCC SUBROUTINE CALLSCC DISPLY - AGS ROUTINE.....DISPLAY CHARACTER STRING AT TERMINALC IDCODZ - DECODE CHARACTER STRING TO INTEGER VARIABLEC KEYBRD - AGS ROUTINE .. .ACCEPT CHARACTER STRING PROM KEYBOARDC MYCLOS - CLOSE DATA BASE FILEC MYOPEN - OPEN DATA BASE FILEC RWBUFP - READIWRITE DATA BASE RECORDCC GRAPHICS FILE DESCRIPTIONCC MUST CONTAIN THE GRAPHICS REPRESENTATION OF THE OBJECTIVE TREEC WITH THE APPROPRIATE WEIGHTS LISTED IN THEIR RESPECTIVE TEXTC RECORDS AND THE ATTRIBUTE OBJECTIVE MATRIX LOADED INTO THEC PROPER DATA RECORD.C
CINTEGER FRSTL2,LASTL2,FRSTL3,LASTL3 HIDINDEFNUMLEVINTEGER REGNUH,NX,NY,INP,ERRORIGCJIGCI,IGC,MEXP
CREAL RDATA(128),ATTB(25),HSTATT(9,12),NULL,KEYWRDALLREAL NUNDENTW(34),DID2
CBYTE PNTL2(5),PNTL3(15),AOMAT(34,49),WEIGHT(69)BYTE IDATXT(I666),BUFFER(80),WGHTL1(5),WGHTL2(15),WGHTL3(49) -
BYTE FILNAM(12),RUNID(O),BUFOUT(20),YESC
EQUIVALENCE (AOMAT(ll),IDATXT(l)),(RDATA(31),ATTB(l))+ ,(BUFFER(1),KEYWRD)EQUIVALENCE (WEIGHT( 1),WGHTLl(l)),(WEIGHT( 6),WGHTL2(1))
+ ,(WEIGHT(21),WGHTL3(l))
C-62
CDATA FILNAM/IHG,1HC,IHD,lHA,lHT,lHA,tH.,lEN,lN,IHW,lS,lRl/DATA PNTL2/2,4,7,12,15/DATA PNTL3/2,7,11,16,22,28,30,31,34,37,39,40,42,46,49/DATA NULL,RID, INDEF,NX,NY, ALL
+ I1.E-38, 1,"100000,39,41,4HALL /
DATA YES+ /1HY/
CDATA HSTATT/10.0, 2.5, 7.5,10.0,10.0,10.0, 2.0, 2.5, 4.0
+ , 8.0, 5.0,10.0,10.0, 7.0, 1.0, 2.0, 6.5, 1.0+ , 8.0,10.0, 5.0, 2.5, 1.0,10.0,10.0, 2.5,10.0+ ,10.0, 5.0,10..0,10.0,10.0, 1.0, 2.0, 0.0, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 8;0, 2.0, 9.5, 2.5+ , 3.0,10.0, 5.0, 2.5, 0.0,10.0,10.0,10.0, .9.0 -+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 5.0, 2.5+ , 8.0, 5.0,10.0,10.0, 8.5, 1.0, 2.0, 6.5, 1.0+ , 3.0,10.0, 5.0, 2.5, 2.5, 5.0, 2.0,10.0, 2.5+ , 8.0, 5.0,10.0,10.0, 5.0, 8.0, 4.0, 8.0, 4.0+ , 8.0, 2.5, 7.5,10.0, 4.0, 8.0, 2.0, 2.5, 1.0+ , 8.0, 2.5, 7.5,10.0, 6.0, 5.0, 2.0, 2.5, 2.5/
CC......... INITIALIZECC ... ooo.GIVE USER OPPORTUNITY TO IDENTIFY A HOST ROCKC
10 CALL DISPLY (°OENTER HOST ROCK ID (1-12):,27)-CALL KEYBRD (BUFFER,2)HID'IDCODE (BUFFER,2)IF (HID.EQ.INDEF) GO TO 10IF (RID.LT.0.OR.HID.GT.12) GO TO io
CC.. .... USER WJST IDENTIFY A NORMALIZING EXPONENTC
15 CALL DISPLY (-OENTER FAVORABILITY EXPONENT: *,30)CALL KEYBRD (BUFFER,2)MEXP-IDCODE (BUFFER,2)IF (MEXP.EQ.INDEF) GO TO 15
CC.oooe.o..GIVE USER OPPORTUNITY TO EVALUATE ONLY A SUBSET OF THE FOURC. .... IMAJOR BRANCHESC
CALL DISPLY (*OENTER OBJECTIVE BRANCH (1-4 OR ALL):,37)22 CALL KEYBRD (BUFFER,4)
IF (KEYWRD.EQ.ALL) GO TO 24INP-IDCODE(BUFFER,4)IF (IKP.EQ.O) GO TO 28IF (INP.EQ.INDEF) Go TO 22IF (INP.LT.I.OR.INP.GT.4) GO TO 8903NUMLEV-NUMLEV+1OBJLEV(NUMLEV)-INPGO TO 22
C-63
C24 NUMLEV-428 IF (NUHLEV.EQ.0) GO TO 8890
CC. ..... USER MUST IDENTIFY AN OUTPUT REGISTER TO STOREC ....... RESULTS FOR LATER DISPLAYC
30 CALL DISPLY (OENTER OUTPUT REGISTER NUMBER (26-30CALL ZEYBRD (BUFFER,2)REGNUM-IDCODE(BUFFER,2)IF (REGNUM.EQ.INDEF) GO TO 30IF (REGNUX.LT.26.OR.REGNUM.GT.60) GO TO 30IF (REGNUH.LT.56.AND.REGNUH.GT.30) GO TO 30
C IC ..... *.SEARCH ACTIVITY DRAWING TO FIND WEIGHTS
THE FINAL
OR 56-60):,47)
C Applicon Graphics System required code to extract theC objective weights and the attribute/objective matrix from theC active graphics file previously identified by the user
CCo..*....LIST WEIGHTSC
RUNID(1)-49BUFFER(l)-32CALL DISPLY (OOENTER RUN IDENTIFIER: *,23)CALL KEYBRD (RUNID(2),79)
CC.. ..... LOOP ON LEVEL 1C
DO 880 1-1,4FRST$2-PNTL2(1-1)l1IF(I.EQ.1) FRSTL2-1LASTL2-PNTLZ(I)ENCODE (4,9101,BUFFER(2))BUFFER(2)-32ENCODE (4,9102,BUFFER(6))BUPFER(6)-32CALL DISPLY (RUNID,80)CALL DISPLY (* *,I)ENCODE (11,9103,BUFOUT) ICALL DISPLY (BUFOUT,U)CALL DISPLY (BUFFER,9)JB-6
WGHTL1 (I)
C-64
CC...... .*LOOP ON LEVEL 2C
DO 800 J'FRSTL2,LASTL2FRSTL3-PNTL3(J-1)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)ENCODE (4,9102,BUFFER(JB)) WGHTL2(J)BUFFER(JB)-32
CDO 780 K-FRSTL3,LASTL3JB-JB+4ENCODE (4,9101,WUFFER(JB))BUFFER(JB)-32
780 CONTINUEC
800 CONTINUEJB-JB-1CALL DISPLY (BUFFER,JB)KB-6
CC .......LOOP ON LEVEL 3C
FRSTL3-PNTL3(FRSTL2-1)+1IF (FRSTL2.EQ.1) FRSTL3-1LASTL3-PNTL3(LASTL2)
CDO 820 K-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(KB)) WGHTL3(K)BUFFER(KB)-32
820 KB-KB+4KB-KB-1CALL DISPLY (BUFFER,KB)CALL DISPLY (1 ,1)
CC........LOOP ON ATTRIBUTE/OBJECTIVE MATRIXC
DO 860 L-1,34ENCODE (4,9102,BUFFER(2)) LBUFFER(2)-32LB=6DO 840 M-FRSTL3,LASTL3ENCODE (4,9102,BUFFER(LB)) AOMAT(LM)BUFFER(LB)u32-
840 LB-LB+4LB-LB-1CALL DISPLY (BUFFER,LB)
860 CONTINUEC
CALL KEYBRD (BUFFER,1)880 CONTINUE
C-65
CC ..... o.AFTER LISTING WEIGHTS, GIVE USER AN OPPORTUNITY TO ABORTC
CALL DISPLY (1DO YOU WISH TO CONTINUE? (YIN) ',32)CALL KEYBRD (BUFFER,1)IF (BUFFER(1).NE.YES) GO TO 8890
CCC.........BEGIN EVALUATION ... FIND TOTAL WEIGHTS FOR ALL OBJECTIVES ONC. . . . . . .. . . .. . . . . ... EACH ATTRIBUTEC
LASTL2-0LASTL3-0DO 990 1-1,34
990 TW(I)-O.CC...o. LOOP ON LEVEL 1C
DO 1500 11-1,NUMLEVI-OBJLEV(II)IF (WGHTLhI().EQ.0) GO TO 1500FRSTLZ-PNTL2(I-I)+lIF (I.EQ.1) FRSTL2-1LASTL2-PNTL2(I)
CC ....*,LOOP ON LEVEL 2C
DO 1400 J-FRSTL2,LASTL2IF (WGETL2(J).EQ.0) GO TO 1400FRSTL3-PNTL3(J-1)+lIF (J.EQ.1) FRSTL3-1LASTL3-PNTL3(J)EVAL2(J)-O.
CC .9...LOOP ON LEVEL 3C
DO 1300 K-FRSTL3,LASTL3IF (WGHTL3(X).EQ.0) GO TO 1300EVAL3(x)-O.
CC.........LOOP ON ATTRIBUTESC
DO 1000 L-1,25TEXP-AOMAT(L,K)TW(L)=TW(L)+TEMP*WGHTL3(X)*WGHTL2(J)*WGHTL1(I)
1000 CONTINUEIF (HID.EQ.0) GO TO 1200
C-66
cC..o .**LOOP ON HOST-DEPEKDENT ATTRIBUTESC
DO 1100 L-26,34TEMP-AOMAT(L,K3)TW(L)-TW(L)+TEMP*WGETL3(K)*WGHTL2 (J)*wGHTLI(I)
1100 CONTINUE1200 CONTINUE
C1300 CONTINUE
C1301 CONTINUE
C1400 CONTINUE
cC1500 CONTINUE
C1501 CONTINUE
CCALL MYOPEN (FILNAM,12,2)
CC ....... .LOOP ON GRID CELLS..... .APPLY TOTAL OBJECTIVE WEIGHTS TO EACH-C .. . .s.s. .*. . . . ... .ATTRIBUTEC
DO 1610 IGCJIl,NYIF (IGCJ.GT.24) NX-34DO 1600 IGCI-1,NXIGC-ICCI+42*(IGCJ-1)CALL RWBUFF (O,IGC,RDATA)
CC....... EVALUATE HOST INDEPENDENT ATTRIBUTESC
NUH-O.DEN-O.
c2000 Do 2300 1-1,26
TEMP-ATTB(I)D2-1.IF (TEMP.GT..5) GO TO 2050IF (MEXP.EQ.0) GO TO 2250TENP-.5
2050 D141./TEMPIF (MEXP.EQ.O) GO TO 2200DO 2100 J-1,MEXP
2100 DlDl*TEMPD2-DL*TEMP
2200 NUM-NUH+TW(I)/D12250 DEN-DEN+TW(I)/D2
C2300 CONTINUE
C-67
CIF (HID.EQ.O) GO TO 2700IF (RDATA(60+HID).LT.1) GO TO 2700
CCo*..9*...EVALUATE HOSTROCK ATTRIBUTESC
DO 2600 1-26,34D2-1.IF (USTATT(I-25,HID).GT.O)IF (M XP.EQ.O) GO TO 2550GO TO 2900
2350 Dl-1./HSTATT(I-25,EID)IF (MXP.EQ.O) GO TO 2500DO 2400 J-1,MEXP
2400 DI=Dl*HSTATT(I-25,HID)D2-D1*HSTATT(I-25,HID)
2500 NUM-NUH+TW(I)/Dl2550 DEN-DEN+TW(I) /D2
C
GO TO 2350
2600 CONTINUEC2700 RDATA(REGNUM)-NUM/DEN*10000.
GO TO 3000CC..o. .ZERO FAVORABILITYC2900 RDATA(REGNUM)-O.
C3000 CONTINUE
C
CCALL RWBUFF (2,IGC,RDATA)
1600 CONTINUE1610 CONTINUE
CC.***.TlRMINATEC8800 IGC-2184
CALL RWBUFF (OIGC,RDATA)CALL MYCLOS
8890 STOP *UCMD 29-
C-68
CC ... **-ERROR MESSAGESC
8901 CALL DISPLY (O***BAD CID:',12)BUFFER(1)-32BUFFER(2)-CIDTKt48CALL DISPLY (BUFFER,2)GO TO 100
8902 BUFFER(1)-32BUFFER(2)-CIDTK+48CALL DISPLY (BUFFER.2)ERROR-1GO TO 100
8903 CALL DISPLY (*O***IMPROPER LEVEL:",19)GO TO 22
8904 CALL DISPLY (0O***NO A/0 MATRIX RECORDI,25)GO TO 8890
CCo.. .... FORMATSC
910191029103
C
FORMAT (°FORMAT (-FORMAT (e
* )
0,13)BRANCH f*,12)
END
C-69
DISTRIBUTION:DOE/TIC-4500, UC-70
J. W. Bennett (RW-20)Acting Associate DirectorGeologic Repository DeploymentU. S. Department of EnergyWashington, D. C. 20545
Ralph Stein (RW-21)Acting Deputy Associate DirectorGeologic Repository-DeploymentU. S. Department of EnergyWashington, D. C. 20545
J. G. Vlahakis (RW-21)-Geologic Repository Deployment,U. S. Department of EnergyWashington, D. C. 20545
C. R. Cooley (RW-24)Acting DirectorGeosciences & Technology DivisionGeologic Repository DeploymentU. S. Department of EnergyWashington, D. C. 20545
M. W. Frei (RW-23)Acting DirectorEngineering & Licensing DivisionGeologic Repository.-DeploymentU. S. Department of EnergyWashington, D. C. 20545
J. J. Fiore (RW-22)Acting DirectorProgram Management DivisionGeologic Repository DeploymentU. S. Department of EnergyWashington, O.'C.-20545
E. S. Burton (RW-25)Acting DirectorSiting DivisionGeologic Repository DeploymentU. S. Department of EnergyForrestal BuildingWashington, D. C. 20585
C. H. George (RW-3)Geologic Repository DeploymentU. S. Department of EnergyWashington, D. C. 20545
T. P. Longo (RW-22)Geologic Repository DeploymentU. S. Department of EnerqyWashington, D. C. 20545
Cy Klingsberg (RW-24)Geologic Repository DeploymentU. S. Department of EnergyWashington, D. C. 20545
J. E. Shaheen (RW-25)-Geologic Repository DeploymentU. S. Department of EnergyForrestal BuildingWashington, D. C. 20585
Chief, High-Level Waste Technical- Development BranchDivision of Waste ManagementU. S. Nuclear Regulatory CommissionWashington, D. C. 20555
NTS Project ManagerHigh-Level Waste TechnicalDevelopment Branch
Division of Waste ManagementU. S. Nuclear Regulatory CommissionWashington, D. C. 20555
Document Control CenterDivision of Waste ManagementU. S. Nuclear Regulatory CommissionWashington, D. C. 20555
J. 0. Neff, Program ManagerNational Waste TerminalStorage Program Office
U. S. Department of Energy505 King AvenueColumbus, OH 43201
N. E. CarterBattelleOffice of Nuclear Waste Isolation505 King AvenueColumbus, OH 43201
S. A. Mann, ManagerCrystalline Rock Project OfficeU. S. Department of Energy9800 S. Cass AvenueArgonne, IL 60439
-2-
ONWI Library (5)BattelleOffice of Nuclear Waste505 King AvenueColumbus, OH 43201
Isolation
0. L. Olson, Project ManagerBasalt Waste Lsolation Project OfficeU. S. Department of EnergyRichland Operations OfficePost Office Box 550Richland, WA 99352
E. B. AshRockwell International AtomicsRockwell Hanford OperationsRichland, WA 99352
A. A. Metry, Program ManagerRoy F. Weston, Inc.2301 Research Blvd., 3rd FloorRockville, MD 20850
G. TomslcUtah Dept. of CommunityEconomic Development
Room 6290, State Office Bldg.Salt Lake City, UT 89114
P. J. Iverson, Deputy DirectorDepartment of MineralsState of Nevada400 West King StreetCarson City, NV 89710
R. R. Loux, Jr.Department of MineralsState of Nevada400 West King StreetCarson City, NV 89710
K. Street, Jr.Lawrence Livermore National
LaboratoryPost Office Box 808Mail Stop L-209Livermore, CA 94550
L. D. Ramspott (3)Technical Project OfficerLawrence Livermore National
LaboratoryPost Office Box 808Mail Stop L-204Livermore, CA 94550
D. C. HoffmanLos Alamos National LaboratoryPost Office Box 1663Mail Stop E-515Los Alamos, NM 87545
D. T. Oakley (3)Technical Project OfficerLos Alamos National LaboratoryPost Office Box 1663Mail Stop F-671Los Alamos, NM 87545
P. L. AamodtLos Alamos National LaboratoryPost Office Box 14100Las Vegas, NV 89114
R. W. LynchSandia National LaaboratoriesPost Office Box 5800Organization 6300Albuquerque, NM 87185
T. 0. Hunter (4)Technical Project OfficerSandia National LaboratoriesPost Office Box 5800Organization 6310Albuquerque, NM 87185
A. R. Hakl, ManagerWestin house Electric CorportationWaste technology Services DivisionNevada OperationsPost Office Box 708Mail Stop 703Mercury, NV 89203
-3-
W. W. Dudley, Jr. (3)Technical Project OfficerU. S. Geological SurveyPost Office Box 25046Mail Stop 418Federal CenterDenver, CO 80225
M. E. Spaeth (3)Technical Project OfficerScience Applications, Inc.2769 South Highland DriveLas Vegas, NV 89109
D. L. Vieth, Director (6)Waste Management Project OfficeU. S. Department of EnergyPost Office Box 14100Las Vegas, NV 89114
J. A. Cross, ManagerLas Vegas BranchFenix & Scisson, Inc.Post Office Box 15408Las Vegas, NV 89114
W. S. Twenhofel820 Estes StreetLakewood, CO 80215
60006311631163126313314131518214
E.L.M.F.J.L.W.M.
H.W.W.W.R.J.L.A.
BecknerScullySharp (5)BinghamTillersonErickson (5)Garner 13)Pound
D. F. Miller, DirectorOffice of Public AffairsU. S. Department of EnergyPost Office Box 14100Las Vegas, NV 89114
D. A. Kowack (14).U. S. Department of EnergyPost Office Box 14100Las Vegas, NV 89114
B. W. Church, DirectorHealth Physics DivisionU. S. Department of EnergyPost Office Box 14100Las Vegas, NV 89114
A. E. Gurrola, General ManagerEnergy Support DivisionHolmes & Narver, Inc.Post Office Box 14340Las Vegas, NV 89114
H. D. CunninghamGeneral ManagerReynolds Electrical &
Engineering Co., Inc.Post Office Box 14400Mail Stop 555Las Vegas, NV 89114