NBS TECHNICAL NOTE 829

U.S. DEPARTMENT OF COMMERCE/ National Bureau of Standards

Multicommodity

Network Plotting

via Program NETPLT
NATIONAL BUREAU OF STANDARDS

The National Bureau of Standards 1 was established by an act of Congress March 3, 1901. The Bureau's overall goal is to strengthen and advance the Nation's science and technology

and facilitate their effective application for public benefit. To this end, the Bureau conducts

research and provides: (1) a basis for the Nation's physical measurement system, (2) scientific and technological services for industry and government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety. The Bureau consists of the Institute for Basic Standards, the Institute for Materials Research, the Institute for Applied Technology,

the Institute for Computer Sciences and Technology, and the Office for Information Programs.

THE INSTITUTE FOR BASIC STANDARDS provides the central basis within the United

States of a complete and consistent system of physical measurement; coordinates that system

with measurement systems of other nations; and furnishes essential services leading to accurate and uniform physical measurements throughout the Nation's scientific community, industry, and commerce. The Institute consists of a Center for Radiation Research, an Office of Measurement Services and the following divisions: Applied Mathematics — Electricity — Mechanics — Heat — Optical Physics — Nuclear

Sciences 2 — Applied Radiation 2 — Quantum Electronics 3 — Electromagnetics 3 — Time

and Frequency 3 — Laboratory Astrophysics s — Cryogenics \

THE INSTITUTE FOR MATERIALS RESEARCH conducts materials research leading to improved methods of measurement, standards, and data on the properties of well-characterized

materials needed by industry, commerce, educational institutions, and Government; provides

advisory and research services to other Government agencies; and develops, produces, and

distributes standard reference materials. The Institute consists of the Office of Standard

Reference Materials and the following divisions: Analytical Chemistry — Polymers — Metallurgy — Inorganic Materials — Reactor

Radiation — Physical Chemistry.

THE INSTITUTE FOR APPLIED TECHNOLOGY provides technical services to promote

the use of available technology and to facilitate technological innovation in industry and Government; cooperates with public and private organizations leading to the development of

technological standards (including mandatory safety standards), codes and methods of test; and provides technical advice and services to Government agencies upon request. The Institute consists of a Center for Building Technology and the following divisions and offices: Engineering and Product Standards — Weights and Measures — Invention and Innovation — Product Evaluation Technology — Electronic Technology — Technical Analysis — Measurement Engineering — Structures, Materials, and Life Safety * — Building

Environment * — Technical Evaluation and Application * — Fire Technology.

THE INSTITUTE FOR COMPUTER SCIENCES AND TECHNOLOGY conducts research and provides technical services designed to aid Government agencies in improving cost effec- tiveness in the conduct of their programs through the selection, acquisition, and effective

utilization of automatic data processing equipment; and serves as the principal focus within

the executive branch for the development of Federal standards for automatic data processing

equipment, techniques, and computer languages. The Institute consists of the following

divisions: Computer Services — Systems and Software — Computer Systems Engineering — Information Technology.

THE OFFICE FOR INFORMATION PROGRAMS promotes optimum dissemination and

accessibility of scientific information generated within NBS and other agencies of the Federal Government; promotes the development of the National Standard Reference Data System and

a system of information analysis centers dealing with the broader aspects of the National Measurement System; provides appropriate services to ensure that the NBS staff has optimum

accessibility to the scientific information of the world. The Office consists of the following

organizational units: Office of Standard Reference Data — Office of Information Activities — Office of Technical

Publications — Library — Office of International Relations.

1 Headquarters and Laboratories at Gaithersburg, Maryland, unless otherwise noted; mailing address Washington, D.C. 20234.

* Part of the Center for Radiation Research.

3 Located at Boulder, Colorado 80302.

* Part of the Center for Building Technology.
Bureau ot Standards

197*

Multicommodity Network Plotting

via Program NETPLT

Zella G. Ruthberg, Gloria R. Bolotsky,

and

William Slater, Jr.

Systems and Software Division

Institute for Computer Sciences and Technology

M . 5 • National Bureau of Standards

Washington, D.C. 20234

^'TecW'flaJ nofe ha, ?<?^

Sponsored by the Defense Communications Agency

Director, DCEC, Attention R-150

1860 Wienie Avenue

Reston, Virginia 22090

-*f&£i,

U.S. DEPARTMENT OF COMMERCE, Frederick B. Dent, Secretary

NATIONAL BUREAU OF STANDARDS, Richard W. Roberts, Director

Issued June 1974
Library of Congress Catalog Card Number: 74-6000 74

National Bureau of Standards Technical Note 829

Nat. Bur. Stand. (U.S.), Tech. Note 829, 67 pages (June 1974)

CODEN: NBTNAE

U.S. GOVERNMENT PRINTING OFFICE

WASHINGTON: 1974

For sale by the Superintendent of Documents, U.S. Government Printing Office, Washington, D.C. 20402 (Order by SD Catalog No. 03.46:829). Price $1.10
PREFACE

This report is being written to satisfy the documentation requirements for transmitting to the Defense Communications Agency a plotting software package developed by NBS

for their particular needs. It includes a User's Manual in

Part I and a Programmer' s Manual in Part II. It was felt

that the applicability of this program to plotting any network makes it suitable for more general distribution.

111
TABLE OF CONTENTS

Page

PREFACE fi£

PART I USER'S MANUAL 1

1.0 General Description 1

1.1 Purpose of the User's Manual 1

1.2 Project Background 1

2.0 System Summary 2

2.1 System Factors 2

2.2 Rationale of NETPLT 3

2.2.1 Plotting the Network 3

2.2.2 Plotting the Multiple Command Data ... 3

2.3 Options of NETPLT

2.4 Performance Experience H

2.4.1 Sparsely Connected Network H

2.4.2 Densely Connected Network 12

2.5 The Data Base 12

2.6 Preprocessing 12

2.7 Inputs and Outputs, General 13

2.7.1 Submitting a Run 13

2.7.2 Requesting a Plot 13

3.0 Inputs and Outputs, Specific 13

3.1 The Data Deck ' 13

3.1.1 Set One. . 13

3.1.2 Set Two IS

3.2 NETPLT Outputs 19

3.2.1 The Computer Printout 19

3.3 CalComp Output. 19

PART II PROGRAM MAINTENANCE MANUAL 21

1.0 General Description 21

1 . 1 Purpose 21

iv
1.2 The Basic Algorithms 21

2.0 System Description 24

2.1 CalComp Subroutines Used 24

2.1.1 PLOT 27

2.1.2 SYMBOL 27

2.1.3 NUMBER 27

2.1.4 CIRCLE 27

2.2 Variables and Arrays in NETPLT 27

2.2.1 MAIN 27

2.2.2 BORDER 31

2.2.3 PLTARC . . 32

2.3 Components of NETPLT 34

2.3.1 MAIN 34

2.3.2 BORDER 35

2.3.3 PLTARC 35

3.0 Input/Output Description 35

References 35

APPENDIX A Sample Printout From NETPLT

APPENDIX B Sample Plots from NETPLT

APPENDIX C Computer Listing of NETPLT

APPENDIX D Computer Listing of Preprocessing Sorts
LIST OF FIGURES

Fi gure No . Page

1 Ambiguity of Straight Lines for Links 4

2 The Two Circles for Node Pair 1-2 that

Subtend Angle 6 4

3a Possible Orientations for an Arc Having a Radius R 5

3b Relation of Downward and Upward Arcs to Angle a . 5

4 Primary and Secondary Arcs Between Nodes

1 and 2 — Downward Arc Plot 6

5a Downward Arc Plot of Network in Figure 5b

(Type 2 Plot) 7 5b Upward Arc Plot of Network in Figure 5a

(Type 2 Plot) 8

6 Plot Type 1 - Network Plus Subscribers 10

7 Deck for a Run of NETPLT 14

8 The Data Deck • 15

9a The Data Deck Card Content 16

9b The Data Deck Card Contents (cont'd.) 17

10a Geometry for Primary Arcs (Downward) 22

10b Geometry for Primary Arcs (Upward) 23

11 Geometry for Secondary Arcs (Downward) 25

12 The Four Possible Ways to Start Drawing

Multiple Arcs 26

VI
MULTICOMMODITY NETWORK PLOTTING

VIA PROGRAM NETPLT

Zella G. Ruthberg, Gloria R. Bolotsky , William Slater, Jr. **

ABSTRACT

In the design and operation of complex networks , it is

often an advantage to obtain a visual representation that

readily allows for a quick appraisal of the network's cur- rent configuration or of its changed appearance due to

variations of its nodes and links. The program NETPLT

enables a user to plot the two leading characteristics of

any multi commodity network: 1) nodes and links and 2) the

multiple source-sink structure (multicommodity property)

The unique feature of NETPLT is its unambiguous planar

representation of links. NETPLT uses an arc of a circle,

instead of the usual straight line, to represent a con- nector between a node pair (link)

Key Words: Communication network; multicommodity network;

network; network display; plotting algorithm; plotting

program.

PART I USER'S MANUAL

1.0 GENERAL DESCRIPTION

1.1 Purpose of the User's Manual

The objective of this User's Manual is to provide the user with

the information necessary to effectively use the NETPLT program.

1.2 Project Background

The Defense Communications Agency is concerned with various national

and world-wide communications networks consisting of rate centers or switches (nodes) and their communication lines (links) . In the design

and operation of such complex networks it is often an advantage to obtain a visual representation that readily allows for a quick appraisal

of the network' s current configuration or of its changed appearance due

to variations of its nodes and links. Such a need arose in a survivability study* being done for this agency at the National Bureau of

Standards. The program NETPLT enables a user to plot the two leading

* The results of this study will be published by the National Bureau of

Standards in a future Technical Note.

**Formerly summer student employee. Now with the Peace Corps.

1
characteristics of any multicommodity* network: 1) its nodes and links,

and 2) the multiple source-sink structure imposed by the multiple

command data** existing in the network. Within the resolution of the

plot size used, the .resulting network drawing is unambiguous . The

manner of illustrating the multiple source-sink information on the network plot is also unambiguous but loses its definition if this data is

too dense on any one plot. One must adjust the size of the plot to

assure that clarity is not lost. (See Part II , Program Maintenance

Manual for algorithms used.)

2.0 SYSTEM SUMMARY

2.1 System Factors

The program NETPLT contains 417 FORTRAN IV statements and has been

run on the UNIVAC 1108 at NBS as well as compiled on an IBM 370/155 at

the Defense Communication Agency's DCEC facility, Derey Building, Reston,

Virginia. It utilizes approximately 6800 words for the program code

and the common blocks. It has been designed to accommodate a network

of up to 900 nodes and an unrestricted number of links. If the number

of nodes is to exceed 900, the five node-related arrays (see PART II,

2.2.1, variables 2, 3, 31, 47, 48) must have their dimensions corre- spondingly increased. The program expects the system to contain the CalComp software package and utilizes its subroutines PLOT, SYMBOL, NUMBER,

and CIRCLE (See Part II, 2.1).

In any one run, the computer used generates a plot-tape that is

compatible with its CalComp plotter. This tape drives the plotter in

an off-line mode. The plotter at NBS is the CalComp 763, a machine

having a continuous roll of 30" width paper. It can accommodate narrower

paper widths, if desired. This plotter provides the operator with the

option of manually selecting the pen color for any plot. The most com- monly used colors are black, red, blue, and green, but others are available.

The program NETPLT can be used on other size CalComp plotter models

such as the larger 718 with a 72" x 54" flatbed since the plotter dimensions are parameters of the program. If another model CalComp is used,

its software calls should be checked to assure that the computer installation has not varied their parameter meanings

.

* A multicommodity network has two sets of node sets, S=s 1 , ...s and

T=t n , ... t , such that the node set pair [s ., t .] is associated

1 q J J with the transfer in the network of a distinct commodity j from

sources s . to sinks t .. See [1] , pg. 2, for more precise definitions

in the subject area.

** In a military communications network each commander has a distinct

commodity, his command' s messages , and a distinct set of subordinates.

The network connection nodes (homings) of each commander and his subordinates determine the sets of source and sink nodes for that command

(commodity)

.

2
2.2 Rationale of NETPLT

2.2.1 Plotting the Network : The network is specified by its nodes

(rate centers or switches) and its links (connected node pairs). The

information needed by the program to uniquely locate a node on a plot

is an identification code and a pair of x, y coordinates on some kind

of rectangular grid. Link locations are then uniquely specified by a node code pair. However, the planar representation of such a link can be ambiguous when straight lines are used for such node pair connectors

(see Figure 1) . The program NETPLT eliminates this problem of ambiguity

by using an arc of a circle as the planar representation of a connector

between a node pair.

The uniqueness of this representation stems from the following con- siderations. The straight line drawn between a node pair can be con- sidered as the chord of a circle subtending an angle <5 at the circle's

center (see Figure 2) . For each node pair and angle 6 there are two

and only two circles possible. To reduce this number of possible arcs from two to one, the program was designed to draw all arcs with either

a 'downward' or an 'upward' curvature. An arc has a 'downward' curvature when the radius to its center forms an angle with the horizontal

ranging from greater than 0° through 180°. It has an 'upward' curvature

when that angle ranges from greater than 180° through 360° (see Figure

3a) . Figure 3b illustrates the range of arcs in a downward and an upward arc plot in relation to the angle a. Note that the angle a of

the arc's chord with the horizontal covers the first and fourth quadrants of the plane for downward arcs and the second and third quadrants

for upward arcs. The overlap at the boundary between these two regions

in the plane was resolved by assigning a = + 90° to the downward arc plots and a = -90° to the upward arc plots. A downward arc plot always

draws the arc a in Figure 2 while an upward arc plot draws arc b. Figure

5 shows a simple network drawn first with downward arcs and then with

upward arcs. Additional links between a given node pair are drawn by

increasing the angle 6 and thus changing the circle used. The limiting

arc is the semicircle whose diameter is the chord drawn between the

two nodes in question (see Figure 4) . For reasons of resolution, a fixed interval between multiple links is specified in the program. This

limits the number of multiple links that can be drawn. The network plot

begins to lose some of its clarity if many widely separated node pairs

are highly interconnected. (See PART II, 1.2 for the description of the

geome try used.)

2.2.2 Plotting the Multiple Command Data : Since a network drawing

can be expected to be a somewhat complex figure in itself, it was decided

to indicate the multiple command information by means of points located

alongside the border and connected via straight lines to the relevant

network nodes. That is, each commander and each of his subordinates is

represented by a point outside the network plot border. This point is

then connected via straight lines to the network nodes that are its

homings. Note that the program allows for up to five connection nodes
Is this a picture of:

a) Link 1-3 and '1-2

b) or Link 1-2 and 2-3

c) or Link 2-3 and 1-3

d) or Link 1-2 and 2-3 and 1-3

Figure 1. Ambiguity of Straight Lines for Links

chord

Figure 2. The Two Circles for Node Pair 1-2 that Subtend Angle 6,
arc b

270'

Figure 3a.

Downward Arcs : 0° < Ta < 180°

Upward Arcs: l80°<T

b £360o

Possible Orientations For an Arc Having a Radius R,

Radius Points Down for "Downward Arcs.

Radius Point Up for "Upward" Arcs.

a = T -90'

Upward Arc

Downward Arc /' 90° < a < 270°

-90°<aQ

<90° b ~

Figure 3b. Relation of Downward and Upward Arcs to Angle a.

5
arc 4

arc

Figure 4. Primary and Secondary Arcs Between Nodes 1 and 2

Downward Arc Plot
TEST NETWORK—DOWNWARD ARCS

Figure 5a. Downward Arc Plot of Network

in Figure 5b. (Type 2 Plot)
TEST NETWORK—UPWARD ARCS

Figure 5b. Upward Arc Plot of Network

in Figure 5a. (Type 2 Plot)
per subscriber (commander or subordinate) . A commander code number and

a subordinate code number are used as a label near these exterior border

points to inform the user as to which subscriber is involved (see Figure

6).

In order to minimize the lengths of these lines from the border

into the network, a sort was evolved which locates these border points

as closely as possible to their corresponding network nodes. This sort

also distributes the subscriber points evenly around the border using

this minimum distance concept. (See Appendix D for listing.

)

2.3 Options of NETPLT

This program allows the user two basic plot options:

1) Draw the network and its subscriber (commander/subordinate)

data on one sheet

or 2) Draw the network on one sheet and its subscriber information

on one or more additional transparent overlays.

This second option is itself split into two options where either

a) All subscriber information is plotted on a single overlay

or b) Subscriber information for five commanders at a time is plotted

on a single overlay.

By properly setting up the data deck, the 2a option can be used to plot

only commander homings (connection nodes) and the 2b option to plot

only subordinate homings (connection nodes) . Note that for any one

set of plots, all subscriber information is sorted at one time around

the border so that each subscriber is assigned a unique location. (See

Appendix D for the listing of this pre-sort.) This allows overlays

to be viewed together as well as separately.

Some further general options are:

3) The plotter dimensions are parameters that can be changed

by the user.

4) The dimensions of the total plot are parameters that can

be varied by the user within the constraints of the plotter

dimensions . Note that all plots in a single run have the

same size, however.

5) The content of the heading on each plot must be composed by

the user. (See PART I, 3.1.2, card 4.)
Symliols

1) Network has 18 nodes, 30 links.

2) Command 3 enters at nodes 15 and 18.

His Subordinate 5 exits at nodes 4,

9, and 12.

3) Command 4 enters at nodes 16 and 17.

His subordinate 7 exits at node 5.

Figure 6. Plot Type 1 - Network Plus Subscribers

10
The program also contains the following four network options:

6) A downward or upward arc plot must be specified by the user.

7) One of the two symbols* provided by the program must be

specified by the user to mark each network node's position.

8) A single arc or multiple arcs must be specified for each

network link.

9) The node x, y coordinates may be in any units providing they

are all in the same units. The program converts these to

inches on the plotting paper.

2.4 Performance Experience

Following numerous test plots, the program has thus far been

applied to two large networks: 1) a fictitious, sparsely** connected,

844 node, 1059 link network having 23 commanders with a total of 57

entries and 634 exits (comparable to national networks used by DCA) and

2) an 86 node, 761 link version of the world-wide Autovon network. The

model 763 CalComp Plotter was used to generate plots on 60" x 30"

sheets (paper or transparent matte triacetate)

.

2.4.1 Sparsely Connected Network : The fictitious sparsely con- nected national network was plotted on one sheet of matte triacetate,

the commander structure on a second sheet of the same, and the subordinate structure on five subsequent sheets of that same material

.

The network was drawn in black ink, the commander plot in red ink, and

the subordinate plot in blue ink since this plotter allows the operator

a manual choice of pen colors before executing a plot. The nodes of

the network were pre-sorted (see PART I, 2.6) monotonically increasing

on x and alternately increasing and decreasing on y (for speedier

plotting) and then given a sequential integer identification code

(1 to 844) . Ordinary nodes used one symbol while homing nodes used a second one. The links were pre-sorted so that the pen traced continuous

paths through the network when drawing the links. Whenever a path

terminated, the pen backtracked in a raised position to the last node

with an untraced branch. This node was then chosen as the new starting

point. (See Appendix D for listing of the sort.)

The input units for node data were on a 12 x 9 grid while the

actual plot was on a 48" x 27" grid on the paper. Also the commanders

* The two symbols used by the program are * and ^> . ** The number of links in a network of n nodes can vary from a minimum

of (n-1) to a maximum of n'n~ ' • A measure of the sparseness of a network is the ratio # of links/'# of nodes. If this number is in

the vicinity of 1 to 2 the network is considered sparsely connected.

11
and their subordinates were identified by an integer code. The entire

set of plots required several hours for execution on the CalComp plotter.

The computer run that generated the plot tape used about two minutes

cpu time on the UNIVAC 1108 (EXEC II) . (See Figure Bl for the network

and some of its overlays .)

2.4.2 Densely Connected Network : The denser Autovon network re- quired a few modifications to accommodate its idiosyncracies . Since

there were three types of nodes, provision was made to increase the

number of node symbols available to the program from two to three. Also,

since the node identification code was alphabetic, this information was read and printed alphanumerically rather than in integer mode. Finally,

since the links in this highly connected network were all of a multiple

type', coding was added that printed this multiplicity number at the

center of each arc. The data for this application was pre-processed so

as to check for a connected network and for faulty or duplicate link

entries. The network nodes and links were then presorted in the same

manner as the sparse network of 2.4.1 for speedier plotting. In this

case, however, the input node data was converted from a latitude,

longitude grid to a 60" x 27" plot on the paper. (See Figure B2 for

this network.)

2.5 The Data Base

The bulk of the data for a run consists of the node set, the link

set, and the subscriber set. The node set, which contains one card per

node, has on that card the node identification code, the x, y coordinates of that node, and the type. (See PART I, 3.1.2, card 5.) The

link set, which also has one card per link, contains the link's two

incident node identification codes and its multiplicity.* (See PART I,

3.1.2, card 6) The subscriber set has two cards per subscriber (comm

mander or subordinate) with the first card containing the number of

homings and the second card containing the node identification codes

of these homings. (See PART I, 3.1.2, cards 10 and 11.)

2.6 Preprocessing

The program plots the node set, the link set, and the subscriber

set in the order in which they are read in. Hence, for speedier plotting, each of these sets of data is preprocessed via an appropriate

sort. The nodes are sorted in narrow bands of monotonically increasing

x values with the y values alternately increasing and decreasing in

successive bands. The links are sorted into continuous chains through

the network. Whenever a chain reaches an end point, the next chain

starts with the last traced node with an untraced branch. The subscriber data for a run is sorted to minimize the distance from the

border points to its homings. These are then spaced evenly around the

* The multiplicity of a link is the number of distinct connectors

between its two incident nodes.

12
border with a minimum distance required between subscriber locations

for best resolution. Since the natural distribution of the points

around the border is in general uneven, manual adjustments are made

before the subscribers are given their final coordinate values. (See

Appendix D for the sort listings.)

2.7 Inputs and Outputs, General

2.7.1 Submitting a Run : The FORTRAN IV program must be submitted

with the proper system control cards for the computer being used and

with the appropriate data deck. Figure 7 shows the run deck and Figure

8 the data deck. The output of such a run is a printout of the network

data (See Appendix A) and a plot-tape for the CalComp plotter. The

program can readily be put on tape or disc if this offers advantages

in its use.

2.7.2 Requesting a Plot : The format for requesting the off-line

plot by the CalComp plotter varies from installation to installation.

However, the most pertinent information that may be needed is the

plot-tape identification code, the size and type paper needed, the

color pen desired for each plot, the number of plots on the plot- tape,

and an estimate of the time required for the plot.

3.0 INPUTS AND OUTPUTS, SPECIFIC

3.1 The Data Deck

The data deck consists of two basic sets of cards with the second

set repeated for each plot in the run. Figure 8 shows a schematic

drawing of a data deck and the following describes it in detail. The

formats of the individual card types are shown in Figure 9 and their

contents are described below.

3.1.1 Set One : This set contains information common to the four

types of plots.

Card 1 : Contains the number of nodes, the number of links, and

the kind of curvature (up or down) desired. (See ICURV

in PART II, 2.2.1.) If a run contains only subscriber

plots, one can set the number of links and the curvature

parameter to 0.

Card 2 : Contains the number of plots, the length (in inches)

of the x and y axes, the length (in input units)* of

the x and y axes, the length (in inches) of the x and y

plotter paper dimensions.

* The program allows for the use of any input units derived from a rectangular coordinate system.

13
/ System Control Cords

Figure 7. Deck for a Run of NETPLT.

14
Set

Two

y/ Repeot Cards 4-20 as Required for Successive Plots

20 Same as Card 1

1

19 Same as Card 10

18 No. of Subscribers on Bottom Border

Same as Card 1

1

Same as Card 10

No. of Subscribers on Right Border

14 Same as Card 1

1

Same as Card 10

12 No. of Subscribers on Top Border

Homing I D s

flO Commander ID, Subordinate ID,x &y coords, No. of Homings

9 No. of Subscribers on Left Border

Up to Five Commander ID s

No. of Subscribers on Plot

6 Node 1 ID, Node 2 ID, Multiplicity of Link (Link Doto )

5 Node ID, x 8 y coordinate, Node Type (Node Doto)

Notc: Cards 5, 6, 7, 9-20 are generated by the preprocessing routines,

Figure 8. The Data Deck,

15
Card I

Col

1 5 6 IO ii IB n n n n n n n n n n n NODES LINKS ICURV

(15) (15) (15)

Card 2

1 5 II 15 21 25 31 35 41 45 51 55 61 65

n nnn-n nnn-n nnn- n nnn-n nnn-n nnn-n

NPLOT xaxts YAXIS SCALEX SCALEY PLOTX PLOTY

(15) (F5'l) (F5-I) (F5-I) (F5-I) (F5-f) (F5-I)

Card 3

Col

15 16 n 20 21 n LPTYPE(I) LPTYPE(2) LPTYPE(3) etc. (15) (15) (15)

25 [Can have one to nine fields filled]

Card 4

Col

HEAD

(I2A6)

("May use any characters. Can start with blanks!

[Use 3 cards, excluding col. 73-80. J

72

Card 5

Col

1 5 36 40 41 ' n n n n n nnn n nnn n NODE N (I) UNITX(I) UNITY(I)

(15) (F5-I) ( F5- 1

)

45 60

nt

NTYPE

(ID

[I card per node]

Card 6

Col

6 K> ii 15 n n n n n n n n n n IP1 IP2

(15) (15)

64

n 66n IFLAG

(12)

[I card per link]

Card 7

Col

I 5 n n n n n NSUBS

(15)

Figure 9a. The Data Deck Card Content

16
Card 8

Col

1 5 6 10 III IS 16 20 21 25

n n n n n nnnnn nnnn n nn n n n n n n n n NCD (1) NCD(2HNCD(3) NCD (4) NCD(5)

(15) (15) (15) (15) (15)

[Can have one to five fields filled]

Card 9

Col

nnnnn

Card 10

Col

1 5 6 10, 36 45 46 55 56 60 nn n n n n n nnn nnnn.nnnnn nnnn.nnnpn n NCMD NSUB XUNIT YUNIT NHOME

(15) (15) (FI0.5) (FI0.5) (15)

Card l

Col

1 5 n n n n n6 10 n n n n nII I5|I6 20

nnnnn nnnnn 21 25 nnnnn

NHMU) NHM(2) NHM(3) 1 NHM(4) NHM(5)

(15) (15) (15) (15) (15)

[Can have one to five fields filled]

Cards 12, 13, 14; 15, 16, 17; and 18, 19, 20 repeat cards 9, 10, 11.

Note: Each field on the card contains its column range, its integer content

(denoted by n's), its variable name, and its format. All numbers arc right justified. The values possible for any n are blank, 0, 1, 2, .. 9. Decimal numbers have the decimal point shown.

Figure 9b. The Data Deck Card Contents (cont'd.)

17
Card 3 : Contains the types of plots in the run. (See LPTYPE

in Part II, 2.2.1.)

3.1.2 Set Two : This set consists of the specific information

needed for each plot. Not all card types appear for each type plot

(LPTYPE) . Therefore, each card now described has a note indicating

the plot type.

Card 4 : (For all plot types.) Contains the heading for the plot.

It can he in alphanumeric form and consists of a maximum

of 216 characters on 3 cards, 72 characters per card.

These 216 characters are centered at the top of the plot.

Card 5 : (For the first plot in the run only.) Contains the node

data, one card per node. Each card carries the node

identification code, the x coordinate (in input units),

the y coordinate (in input units) , and the node type.

(See NTYPE in PART II, 2.2.1.)

Card 6 : (For plot types 1 or 2 only.) Contains the link data, one card per link. Each card consists of the identification code of node 1, the identification code of node 2,

and the multiplicity of the link.

Card 7 : (For plot types 1, 3, or 4 only.) Contains the number

of subscribers for the current plot.

Card 8 : (For plot type 4 only.) Contains the identification code

numbers of up to five commanders for a plot.

Card 9 : (For plot types 1, 3, or 4 only.) Contains the number of

subscriber points along the left border, starting at

the lower left corner and ending at the upper left corner.

Cards 10 and 11 : (For plot types 1, 3, or 4.) Contain the subscriber data, one pair of cards 10 and 11 per subscriber

on left border.

Card 10 : Contains the commander identification code, the subordinate identification code, the x and y coordinates

(in inches) of the subscriber points, and the number

of homings.

Card 11 : Contains the identification codes of the homings for the

subscriber in Card 10.

Cards 12, 13, and 14 : Repeat cards 9, 10, and 11 for subscribers

along the top border, from left to right.

Cards 15, 16, and 17 : Repeat cards 9, 10, and 11 for subscribers

along the right border, from top to bottom.

18
Cards 18, 19, and 20 : Repeat cards 9, 10, and 11 for subscribers

along the bottom border, from right to left.

The data for the first plot in a run contains the appropriate card

types selected from 1 to 20 and always includes node data (card 5)

.

The data for successive plots in a run contain the appropriate card

types from 4 to 20, omitting the node and link data (cards 5 and 6).

3.2 NETPLT Outputs

The outputs of the NETPLT program consist of the computer printout, the plot-tape for the CalComp plotter, and the plots drawn by the

CalComp plotter.

3.2.1 The Computer Printout : The computer printout always contains a network heading and a node table. For plot types 1 or 2 , the

link table appears next. Finally, for plot types 1, 3 or 4, the subscriber table appears. Note that each subscriber plot in a run has its

own heading and this heading precedes the subscriber table in the printout. See Appendix A for sample.

The node table contains a line of printout for each node. On this

line, from left to right, are the node identification code number, its

x and y coordinates in input units, its x and y coordinates in inches,

and its type (NTYPE) . Type O is an ordinary node while type 1 is a homing node. (See Appendix A.l for sample printout.)

The link table contains a line of printout for each link. On this

line, from left to right, are the link identification code number, its

node 1 code number, its node 2 code number, the multiplicity of that

link, and the number of links plotted. Whenever a secondary link is

plotted between two nodes, an additional line of printout appears, preceding the primary link line in the table. It lists the link counter,

starting at one, and its angles PHI, Tl , and T2. (See PART II, 2.2.3

for definitions .) This secondary link printout is included for checking purposes since these angles can be hand calculated. (See Appendix

A. 2 for sample printout.

)

Each subscriber table contains a heading (unless the plot is of

type 1) and a line of information per subscriber. On this line is the

commander code number, the subordinate code number, the x and y

coordinates (in input units) of the border node representing it, these

same coordinates in inches, the number of homings, and the code numbers

of these homings (one to five of them allowed) . (See Appendix A. 3 for

sample printout.)

3.3 CalComp Output

The plot tape contains the instructions for the CalComp plotter

and must be submitted for plotting according to the installation'

s

19
procedures. (See PART I, 2.7.2.) Each plot proceeds with the placement

of the heading at the top and the drawing of a border with the specified

dimensions. Tic marks are drawn at half input unit intervals with their

integer numerical values drawn at the whole input unit intervals. The

specific plot, which can he one of four types, is then drawn. Type 1

plots the network and all subscribers on one sheet, type 2 plots only

the network on the sheet, type 3 plots only subscribers (or commanders)

on one sheet, and type 4 plots subscribers or subordinates , up to five

commands at a time. Finally, each plot has an appropriate key to the

node symbols on that plot in the upper left corner of the paper. For

examples of the plots, see Figures 5 and 6 and Appendix B. For further

details about the key, see Part II, 2.3.1.

20
PART II PROGRAM MAINTENANCE MANUAL

1.0 GENERAL DESCRIPTION

1 . 1 Purpose

The objective of this manual is to provide maintenance programmer

personnel with the information necessary to effectively maintain or modify the program NETPLT.

1.2 The Basic Algorithms

Peripheral calculations such as the conversion factors in the x

and y directions from node coordinates to inches, the drawing of the

border, and the annotation for the border and key to symbols , are straightforward and require little explanation. However, the heart of

this program is based on some circle geometry which is more involved

and will now be discussed. As mentioned in PART I, 2.2.1, every link

can be represented by the arc of one of two circles. Figure 10

shows the geometry applicable to both the downward and upward arc cases,

Note that x-, and x~ are chosen so that Xj ^_ x~ for all downward arcs and Xj _£ x2 for all upward arcs.

The range for angle 6 found most suitable in tests was 30° to 60°

,

but the value finally used in the two large networks was 60°. The information needed by the CIRCLE routine in CalComp software is 3 7 (the angle with the horizontal of node 1's circle radius), $2 (the angle

with the horizontal of node 2's circle radius), and R (the radius of

the circle whose arc is being drawn). These quantities are calculated

as follows

Y = J

(1.2.1)

oj = 90° - y (1.2.2)

~~ v (x

2

- xj z + (y2

-y

2

) 2 d.2.3)

. yry2 a = arc sin (downward arcs) (1.2.4.1)

J-i U

2 ~ y

l a = arc sin +180° (upward (1.2.4.2)

arcs)

R = o

,-

(1.2.5)

2 cos OJ

3 7 = a + co (1.2.6)

®2 =

®1 + 6 (1-2.7)

Note that the case x = x is made unique by arbitrarily assigning

a = + 90° to downward arc plots and a = - 90° to the upward arc plots.

21
Figure 10a. Geometry for Primary Arcs (Downward)

22
Figure 10b. Geometry for Primary Arcs (Upward)

23
Secondary arcs are drawn using the geometry of Figure 11. The

value chosen for D, the distance between arcs, was set at .1 inches for

reasonable resolution. The quantities needed by the CalComp CIRCLE

routine for the secondary arc are GL, 6 , and R . The equations used

are.

m = j

* tan ^

(1.2.8)

n = D + m (1.2.9)

(1.2.10)

(1.2.11)

*R

2

n

1 + ¥

2 • n

*

-- arc sin L

2 - R

2

°1 = g

2

+ Y

- 4) (1.2.12)

Q

2 = ©1 + 2 (f) (1.2.13)

It should be noted that all trigonometric function subroutines using

these angles require them in radians while the CalComp Routine calls

use degrees. The program does the proper conversion where necessary.

A flag (IDIR) is introduced to indicate the direction, clockwise

or counter clockwise , for drawing an arc. Thus, the plotter pen will

draw a series of arcs — multiple arcs or arcs in a path — with a minimum amount of movement. (See Figure 12.)

2.0 SYSTEM DESCRIPTION

2.1 CalComp Subroutines Used

The program NETPLT uses four subroutines , PLOT, SYMBOL, NUMBER,

and CIRCLE, from the CalComp software package. A brief description of

these routines will be given here, but more detailed information can be found in references [2] and [3]

.

2

t 2. 2 * Using Figure 11, we can see that R = (t±) + (R - n) . Solving

for R yields equations 1.2.10.

2 2

24
Figure 11. Geometry for Secondary Arcs (Downward)

(Note: For upward arcs reverse points

1 and 2 as in Figure 10b.)
x, > x.

IDIR=-I

IDIR= + I

Figure 12. The Four Possible Ways to Start Drawing Multiple Arcs.

Draw Arc 1 and Then Arc 2.

26
2.1.1 PLOT : This routine converts all plotting data to hardware

codes for a pen plotter and handles all output to the tape or controller.

It buffers and controls the output without user intervention.

2.1.2 SYMBOL : This routine writes alphanumeric text and special

symbols anywhere and at any angle desired on the plot.

2.1.3 NUMBER : This routine writes computer values on the plot

in a format (integer or decimal) chosen by the user.

2.1.4 CIRCLE : This routine draws a circle, arc, or spiral

starting at a given point on the plot. *

2.2 Variables and Arrays in NETPLT

The following is an alphabetical listing by program segment of all

the significant variables that appear in each segment. Note that the

standard word type convention has been followed where all words are

real except those beginning with letters I to N. Those variables and

arrays which store data from the data deck are followed by the word

Data. Also, array names are always followed by their dimensions

.

2.2.1 MAIN :

(1) BUFF (1100) - an array used as a buffer by the CalComp routine

PLOT to block the information going out on the plot tape.

(2) COORDX (900) - an array used to store the x coordinate, in

inches, of the nodes in the network.

(3) COORDY (900) - an array used to store the y coordinate , in

inches, of the nodes in the network.

(4) CX - the x conversion factor for transforming a node's

input x coordinate into inches on the plot paper. In common block BRDR.

(5) CY - the y conversion factor for transforming a node's

input y coordinate into inches on the plot paper. In common block BRDR.

(6) PEG - the angle 6 subtended by the arc drawn between two

network nodes. Presently set to 60°.

(7) DI_ - a parameter used by the CIRCLE subroutine to indicate

that a solid arc (DI=0.0) or a dashed arc (1)1=0.5) is to

be drawn. In common block ARC.

* A modified version of CIRCLE which takes two thirds of the time has

been written. See reference [2], pg. 7. 27
(8) FP_ - a floating point version of the commander identification

number. This form is needed by subroutine NUMBER.

(9) FPN - a floating point representation of an integer needed

by subroutine NUMBER. (Same purpose as FP.)

(10) FRN - same as FPN.

(11) HEAD (36) - the array that stores the heading for a plot.

In common block BRDR. Data.

(12) HT_ - the height of the input unit integers around the border,

the commander and subordinate code numbers around the border,

and the node code numbers in the network plot. Presently set

at .1. In common block BRDR.

(13) ICURV - the flag for indicating a downward arc (ICURV=1) or

an upward arc (ICURV=2) network plot. In common block ARC.

Data.

(14) IFLAG - stores the number of multiple links between a network node pair. In common block ARC. Data.

(15) IFLG - a flag used in the program to draw multiple homing

links (links from a subscriber to his network nodes) with

a minimum amount of lifting of the pen.

(16) IPl - the node code number for a link's first node. Data.

(17) IP

2

- the node code number for a link's second node or the

code number of a homing node. Data.

(18) IREAD - the logical unit number for the computer input

read device. Presently set to 5.

(19) ITYPE - the type of the plot currently being done. Same

meaning as contents of LPTYPE . Can have values 1, 2, 3, or 4.

(20) IWRITE - the logical unit number for the computer system's

output print device. Presently set to 6 . In common block

ARC.

(21) K - the number of subscriber points along one edge of the

border. Obtained from pre-sorting the data. Data.

(22) L - the symbol code for a network node or a subscriber point

being drawn on the plot. The plotter has twelve similarly

drawn symbols available if others are preferred.

(23) LINKS - the number of links in the network plot. Data.

28
(24) LL(

5

) - an array containing the symbol code for a subscriber

node along the border of an ITYPE=4 plot. Presently set to

0, 1, 2, 6, 10. This symbol code may change with the installation.

(25) LPTYPE (9 ) - an array containing the type of each plot in the

run. A run is limited to nine plots. Data.

LPTYPE-1 <=> plot network plus subscribers on the border.

LPTYPE=2 <=> plot network only.

LPTYPE-3 <=> plot an overlay with all subscribers or commanders

only on border. All commands use the same symbol.

LPTYPE=4 <=> plot an overlay with at most five commanders and/

or subordinates on the border. Each command

uses a distinct symbol.

(26) N_ - the number of the edge along which subscribers are being

plotted.

(27) NCD(5) - an array storing the five commander code numbers for

plot of ITYPE=4. Data.

(28) NCMD - the code number of the command for the current

subscriber. Data.

(29) NHM (5) - an array storing the network node code numbers of

the homings for a subscriber. Data.

(30) NHOME - the number of homings for a subscriber. Data.

(31) NODEN (900) - the sequential code numbers of the network nodes.

Data.

(32) NODES - the number of nodes in the network plot. Data.

(33) NOPLT - the number of multiple links plotted between a network node pair. In common block ARC.

(34) NPL - the number of plots to be drawn in the run. Same as NPLOT.

(35) NPLOT - the number of plots to be drawn in the run. Data.

(36) NSUB - the code number of the current subordinate being plotted.

If NSUB=0 , the border point refers to a commander entry. Data.

(37) NSUBS - the total number of subscribers in the current run. Data.

29
(38) NSUM - a word accumulating the number of subscribers plotted.

After all plots in the run are drawn, NSUM should equal NSUBS

.

(39) NTYPE - the type of a network node. Data.

N TYPE=0<=> an ordinary node.

NTYPE=1<=> a subscriber homing node.

(40) PLOTX - the x dimension of the plotter or the size paper

used (in inches) . Data.

(41) PLOTY - the y dimension of the plotter or the size paper

used (in inches) . Data.

(42) POINT - the x coordinate of the starting point of the

plot's heading.

(43) PY - the y coordinate of the starting point of the plot's

heading.

(44) SCALEX - the length of the plot's x axis in input units.

Data.

(45) SCALEY - the length of the plot's y axis in input units.

Data.

(46) TEMP - a temporary storage location.

(47) TIC - the height of the tic marks along the border. Presently

set to .5 inches. In common block BRDR.

(48) UNITX(900) - the x coordinate of the network nodes in input

units. Data.

(49) UNITY (900 ) - the y coordinate of the network nodes in input

uni ts . Data.

(50) XAXIS - the length of the plot's desired x-axis , in inches.

In common block BRDR.

(51) XCOORD - a word used to store a node's x coordinate for use by subroutine SYMBOL.

(52) XII - the x coordinate, in inches, of the lower left corner

of the border for a plot.

(53) XIPl - the x coordinate , in inches, of node 1 for a link. Used

for network links or subscriber links. In common block ARC.

30
(54) XIP

2

- the x coordinate, in inches, of node 2 for a link.

Used for network links or subscriber links. In common block

ARC.

(55) XL - the length assigned to a heading (3 cards of 216

characters)

.

(56) XUNIT - the x coordinate , in input units, of a subscriber

point along the border. Data.

(57) XX - the x coordinate, in inches, of the commander and subordinate code number. Used for plotting purposes.

(58) YAXIS - length, in inches, of the plot's desired y-axis. In common block BRDR.

(59) YCOORD - a word used to store a node's y coordinate for use by subroutine SYMBOL.

(60) YII - the y coordinate, in inches, of the lower left corner of

the border for a plot.

(61) YIP1 - the y coordinate, in inches, of node 1 for a link.

Used for network links or subscriber links. In common block

ARC.

(62) YIP

2

- the y coordinate, in inches, of node 2 for a link. Used

for network links or subscriber links. In common block ARC.

(63) YJ - the y coordinate, in inches, for the code number of a subordinate. Used by subroutine NUMBER.

(64) YUNIT - the y coordinate, in input units, of a subscriber point

along the border. Data.

(65) YY - either the y coordinate, in inches, of the code number

of a commander , or the y coordinate of the words in the

plot's key to the symbols. Used by subroutine SYMBOL.

2.2.2 BORDER

(1) CX_ - same as in 2.2.1.

(2) CY_ - same as in 2.2.1.

(3) DIF - the difference, in inches, between the specified

XAXIS or YAXIS and the nearest integer number of input

data units that fit into XAXIS or YAXIS.

31
(4) FPN - a floating point representation of the tic mark

integer along the border. Needed by subroutine NUMBER.

( 5) HEAD (36) - same as in 2.2.1.

(6) HT_ - same as in 2.2.1.

(7) K - the nearest integer number of input data units in

XAXIS or YAXIS.

(8) S - the number of inches along the x or y axis that contain the integer number of input data units along that

axis

.

(9) TIC - same as 2.2.1.

(10) X_ - used most often as the x coordinate , in inches , for

the drawing of the border.

(11) XAXIS - same as 2.2.1.

(12) XX - used most often as the x coordinate, in inches , of

the tic mark integer to be drawn.

(13) Y - used most often as the Y coordinate , in inches, for

the drawing of the border.

(14) YAXIS - same as 2.2.1.

(15) YY - used most often as the Y coordinate, in inches, of the

tic mark integer to be drawn.

2.2.3 PLTARC : (See Figures 10 and 11.)

(1) A_ - the angle a made by a link's chord with the horizontal.

In degrees

.

(2) AM - the maximum distance m, along a radius, between a primary link's chord and its arc. (See Figure 11.)

(3) AN - the maximum distance n, along a radius, between a secondary link's chord and its arc. (See Figure 11.)

(4) Bl_ - the angle 3w formed by the primary circle's radius

to node 1 and the horizontal.

(5) B2_ - the angle $

y

, formed by the primary circle's radius

to node 2 and the horizontal.

32
(6) P_ - the distance between a primary arc and its secondary arc,

(7) PEG - the angle 6 subtended by the arc drawn between nodes

1 and 2.

(8) DI_ - same as in 2.2.1.

(9) PIST - the length L of the chord between nodes 1 and 2.

(10) PIST2 - one-half of the length L.

(11) GAMA - half of the angle 6 , in degrees. Penoted by y in

Figure 10.

(12) GAMAR - the angle y in radians.

(13) ICURV - same as 2.2.1.

(14) IPIR - a flag for drawing secondary arcs more efficiently.

IPIR=1<=> draw arc clockwise from node 2 to node 1.

IPIR= -!<=> draw arc counter clockwise from node 1 to node 2,

(15) IFLAG - same as in 2.2.1.

(16) INP - a counter for the number of secondary links drawn.

(17) IWRITE - same as in 2.2.1.

(18) NOPLT - same as in 2.2.1.

(19) OMEG - the angle co which, when added to angle a, yields

angle 3 , . In degrees

.

(20) OMEGR - the angle co in radians.

(21) PHI - the angle <$>, which is half the subtended angle for

secondary arc. Analogous to y.

(22) R - the radius of the circle upon which a primary arc

is drawn.

(23) R2_ - the radius of the circle upon which a secondary arc

is being drawn.

(24) TEMP - a temporary storage location.

(25) Tl - the angle 6 , formed by the secondary circle's radius

to node 1 and the horizontal. Analogous to $ .

33
(26) T2_ - the angle &2 , formed by the secondary circle's radius

to node 2 and the horizoi

(27) XIPl - same as in 2.2.1.

to node 2 and the horizontal. Analogous to |3 ?

.

(28) XIP

2

- same as in 2.2.1.

2.3 Components of NETPLT

2.3.1 MAIN : The two initial read statements establish the size of

the network (number of nodes and links) , the type of arcs chosen

(upward or downward) , the number of plots for the run, the length of the

x and y axis in inches and input data units , and the x and y dimensions of the plotter paper. The program then sets up a scale factor

for each dimension and initializes the location of the plotter pen in

the lower left corner of the paper. Next, the types of the plots are read into an array LPTYPE. The DO 100 loop then draws each of the

plots, branching within itself for each type.

For all four type plots, the heading is read and written on the

run's printout. Then subroutine BORDER is called in to draw the border.

(See 2.3.2.) In the DO 10 loop, the node data, consisting of the node

code number, its x and y coordinates, and its node type is read. The

program then plots the node symbols with their identification codes

above them, for types 1 and 2, and, for all type plots, writes the node

table in the printout. Plot types 1 and 2 then go into the link plotting phase. The DO 20 loop reads in the link node pairs and their

multiplicity number, calls on PLTARC to plot the arcs, and writes the

link table in the printout.

At this point, plot types 1, 3, and 4 go on to draw subscribers

.

For the subscriber plotting, the individual plot's number of subscribers

is read, and then, for type 4, commander code numbers are read in.

Then, for each of the four edges of the border, the number of subscribers

along that border edge is read from one card; the commander code number,

subordinate code number, subscriber node x and y coordinates, and the

number of homings are read from a second card; the code number for each

commander/subordinate node is drawn (using the convention that a subordinate code number of zero means the node is a commander) ; the subscriber homing nodes are read from a third card; and the straight line

connectors between subscriber points on the border and homings are drawn.

The second and third cards are repeated for each subscriber along the

border edge. During this part of the program the subscriber data is

also written into a table for the printout.

For all type plots the heading is drawn across the top and a key to

the symbols is drawn in the upper left corner of the paper. For type

1 and 2 plots the symbols for an ordinary network node and a homing node

are shown in the key; for types 1 and 3 the explanation of the border

34
node symbol is given in the key lower down on the paper; and finally,

for type 4 the explanation of the border point symbols and their cor- relation to commanders is given still further down on the paper. The

entries in the key are spread down the page so that they can be read

when several transparent plots are viewed together . (See Appendix B

figures for samples of this key.)

2.3.2 BORDER : This subroutine draws the border for a plot, starting in the lower left corner and proceeding continuously along the

lower, the right, the top, and the left edges. Tic marks are drawn

at half integers and numbers added at the whole integers. The input

Data units are used for the scale.

2.3.3 PLTARC : This routine does all the network arc plotting.

The crucial information that it needs is the flag for upward or downward

arcs (ICURV) , and the coordinates of nodes 1 and 2. For downward arcs,

XIPl must he greater than XIP2 while for upward arcs XIPl must be less

than XIP2. The program examines the coordinates and may interchange

them to assure that this is the case. The tie for the equality case

is broken by arbitrarily assigning a = +90° to downward arc plots and

a = -90° to upward arc plots. The flag IDIR is always initially set

so that counterclockwise arcs are drawn from node 1 to node 2 and clockwise arcs from node 2 to node 1. The length of the link's chord (DIST)

,

and the quantities GAMA, OMEG , OMEGR , DIST2, and R are then calculated.

The proper values of A, Bl , and B2 for upward or downward arcs is then

obtained and the clockwise or counterclockwise arc drawn.

If secondary arcs are to be drawn, the counter NOPLT is initiated

to 1, the quantity AM is calculated, and the proper R2 , PHI, Tl and

T2 obtained. These values appear in the link table in the printout

and then the clockwise or counterclockwise secondary arc is drawn.

IDIR is alternated between 1 and -1 so that secondary arcs are drawn

without lifting the pen. The drawing of secondary arcs ceases when

all multiple arcs are drawn or the last arc is as close as possible to

the semicircle.

3.0 INPUT/OUTPUT DESCRIPTION

The inputs, outputs, and data deck have been described in full in

PART I and will not be described here. Figure 9 shows the data deck

card formats while Figures 7 and 8 show the run deck and data deck,

respectively

35
REFERENCES

[1] Ruthberg , Z. G. , Bellmore , M. , User's Manual for

Program DFENSE , NBS Report 10821, January 1972.

[2] Ruthberg, Z. G. , Bolotsky , G. R. , Programmer'

s

Manual for the ONC Map Plotting Program SIPLOT

,

NBS Report 10619, October 1971.

[3] CalComp Software Reference Manual, California

Computer Products, Inc., Anaheim, California 92803,

February 1968.

36
APPENDIX A. SAMPLE PRINTOUT I- KOM NETPLT

A.l Node Table INITIAL NETUOKK

COORi) I N ATES OF MODE INITIAL InChES NODEN UNITx ( I 1 UNITY) 1 ) COPRDX (

COORDY ( I

)

type

I .0 . 7 .0 2. 1 i 2 . 1 .9 . 4 2 7

3 .2 .7 .8 2 1 H .4 .9 1 .6 2 7 5 .5 1.2 2.0 3 6 9 .6 1 .6 2.4 4 a 8 , 6 1 .H 2.4 4, 2

7 .6 1 .3 2.4 3 9

6 ,6 .8 2.4 2 4 10 . 7 . 8 2.8 2 4

I I .7 1 .0 2.8 3 12 .7 1 .3 2.8 3 9 13 .7 1 .9 2.3 5 7 1 15 ,8 1 .0 3.2 3 14 .8 • 8 3.2 2 4 16 . 9 1 .0 3.6 3 18 1 ,° 1 .4 4.0 4 2 17 1 .0 1 .2 4.0 3 6 19 1 .

1 1 .3 4.4 3 9 20 1 .

1 1 .5 4.4 4 5 21 1 .

1 1 .6 4.4 4 8 1 25 I ,2 1 . 3 4.8 3 9 24 I .2 1 .2 4.8 3 6 23 1 .2 .8 4.8 2 4 1 22 1 .2 .7 4.8 2 1 26 1 .3 . 7 5.2 2 1 27 1 . 4 .7 5.6 2 1 20 1 .5 . 7 6.0 2 1 29 1 .5 1-1 6.0 3 3 30 1 .5 1 .2 6.0 3 6 31 1 .6 3. 1 6. 4 9 3 32 1 ,? . 6 6.8 1 3 33 1 . 7 . 9 6.8 2 7 34 1 . 7 1-5 6.8 4 5 35 1 . 7 2.4 6.8 7 2 36 1 . ^ 3.2 6.8 9 6 44 1 .8 3. 1 7.2 9 3 43 1 .8 2.9 7.2 8 7 42 1 .8 2.5 7.2 7 5 41 1 .8 2.2 7.2 6 6 40 1 .8 1 .o 7.2 4 8 39 1 . d . 7 7.2 2 1 a 38 1 .8 . 4 7.2 1 2 37 1 . 8 . 1 7.2 3 45 1 . 9 • 6 7.6 2 4 46 1 . 9 . 9 7.6 2 7 47 1 . 9 z.u 7.6 6 48 1 . 9 3.0 7.6 9 49 1 .1 3.3 7.6 9 9 50 1 . 9 3.5 7.6 10 5 51 2.0 2.5 8.0 7 5 52 2. 1 . 1 8.4 3 53 2. 1 2.5 6.4 7 5 54 2. 1 2.7 8.4 8 1 55 2. 1 2.8 8.4 a 4 1 56 2. 1 3.3 8.4 9 9 60 2.2 6.2 8.8 18 6 59 2.2 3.3 8.8 9 9 1 58 2.2 1 .2 8.8 3 6 57 2.2 .8 8.8 2 4 1 61 2.3 1.3 9.2 3 9 1 62 2.3 3.4 9.2 10 2 63 2.3 5. 1 9.2 1 5 3 1 64 2.3 6.2 9.2 ia 6 65 2.3 6.3 9.2 18 9 1 66 2.1 3.0 9.6 9 1 67 2.5 3.0 10.0 9 1 68 2.5 3.6 10.0 10 8 69 2.5 3.7 10.0 1 1 1 1 70 2.5 4.2 10.0 12 6 1 75 2.6 4.4 10. 4 1 3 2 1 74 2.6 4.3 10.4 12 9 1 73 2.6 4.2 10.4 1 2 6 1 72 2.6 3.7 10.4 1 1 1 71 2.6 3.6 10,4 10 8

A-l
A. 2 Link Table

NO OF N OF LINK LlN^S LINKS PLO-fTED INDEX NODE 1 NO "E 2

_ IFLAG NOPlT

1

1 2 7 3 3 2

H

H H 5

5 5 8

6 8 7

7 1 2

e 12 6

9 12 1 3 10 12 17

i l 17 1 9

1 2 19 23

13 23 2H

1 H 2H 1H 15 1 1 c 16 in 1 1 17 i i 1

i e 1

1

20

19 20 17 20 20 22

21 22 1 9 22 22 2 1 23 22 31

2H 31 33

1 67. 1832 s

9 . 3870 | 9H

.

35h 1 25 3h HI 2 2 26 M HO

27 HO H7 28 HO 5 3 29 53 5h

30 SH 55

31 55 39

32 39 35

33 39 51 3t 55 38 35 38 62

36 62 H9

37 H9 56

38 56 Hfl 39 HP 36 to H8 37

HI 37 31 M2 56 50

H3 56 58

HI 58 62

M5 62 66

Hi 66 75

H7 75 68

«e 6B 69 H9 69 75 50 '5 80

51 «0 69 52 69 79

53 7 9 8.8 5H 88 89 55 89 7H 56 7H 80

57 80 1 02 58 102 91 59 9q 8H 60 8H 82

61 82 73

62 73 70

63 70 72

6H 72 73 65 73 Hi 66 81 72

67 70 7 1 68 71 63

69 82 86

70 86 62

71 86 85

72 85 BB

73 88 87

7H 87 79 75 «8 |0i

76 1 OH 126

A-2
A.

3

Command Table

1 1 T I k i

• E T • Oil . C U| HANDS

C-CSUP I'M Tx t

1 1 I'M tV , I 1 COl'RoX t 1 ) C R U y [ 1 1 NHo*E HO* INGS

zc -. 125" S • 239* -.5000 15.6924 2 63 123

1 9 u 3.2967 9. 1667 1 3 . 1 868 27.5C0Q 2 ,44 122 23 c 3.46*0 4.1667 13.6758 27.5000 2 153 147

f c 3.6M 1

2

9. 1667 1^.5649 2 7 . S (., 2 163 161

t c 4.3J03 9.1667 17.3210 27.500c 5 316 161 296 1 ofi 116

1 7 t.67 1*" 9.1667 1 8 ,69V

1

27

.

SqOO 2 243 252

6 4.u^* 9. 1667 24.2114 2 7.5000 2 41 1 4|2

3 6.74 19 9.1667 26.96 76 27 .SOUP 4 339 442 560 452

! 3 D 6.9,11 9.1667 27.6566 27 .brjUO 2 4 45 48 1 4 c 7.GI-C3 9.1667 28.001

1

27.5000 2 450 449

2 7 . b l 7 1 9.1667 30.0682 27.5600 5 60S 566 585 Sb4 57 1

1 ) ft. 895

1

9. 1667 35.58^5 27.5000 5 6U5 566 565 584 571

7 9.7C64 9.1667 39.0257 27.5oCo 2 7 1 2 7 10 . 16 1 2.

i

2 50 6.4679 4 8 . 5 C u 19,4038 2 764 765

;? 12. 125C 1 . 4 c F 4 6 . 5 C r n 1 3.2025 2 638 624

i 12. 1?5C 1.1I5C 1 8 , 5 G 4.245c 2 781 772

it ».1 3 b1 -.1667 37.7416 -.501.0 2 679 666

9 9.2*31 -.1667 37.C526 -,500c 2 679 668

1? 6.4209 -.1667 25 . 6634 - . 50G0 2 44 1 440

i 1 6.3347 -. 1667 25.3389 -.5000 2 426 4 1 9

1 6 H.S2*C -. 1667 18. 1010 -.5000 2 231 250

1C 3.4924 -.1667 13.9698 -.5000 2 1 7 1 1 70

1 4 c 3 . 2 J

4 | -. 1 667 12.9362 -.5000 2 127 1 30
A. 4 Subordinate Table

I fi I T I A u NETWORK SUBORDINATES

CMDSUB UNITx(I) UNITYc I

)

COORDX ( I ) COOROY ( I

NHOME HOM ings

3 I -, 1250 1 .0966 -.5000 3.2697 2 33 29

3 2 -. 1250 2.5895 -.5000 7.7685 2 76 90

5 25 -. 1250 2.8192 -.5000 8.4575 3 1 70 47

3 35 - 1250 3. 1637 -.5000 9.49 10 2 39 35

3 3 - 1250 3.6527 -.5000 1 1 .5582 2 127 130

5 31 - 125C 4.0824 -.5000 12.2472 2 38 48

4 1 - 1250 1.3121 -.500-0 12.9362 2 38 48

2 1 - 1250 4 . 4269 -.5CGC 13.2e08 2 36 48

3 4 -. 12 5 4 . 6566 -.5000 13.9696 2 66 67

5 2* - 1250 5.9196 -.5000 17.7 b 9s 3 1 70 194

5 22 - 12 S 6.0347 -.5000 18. 1040 3 1 70 194

5 23 - 1250 6. 1 495 -.5000 18,4 S 86 3 1 70 194

5 2 - 1250 7. 6421 -.5000 22.9273 2 1 12 122

5 21 - 1250 8.1016 -.5000 24.3o54 2 65 97

3 5 0238 9.1667 .0951 27 .5000 2 98 1 32

5 20 2*22 9. 16 6 7 1 . 1286 27.5000 2 124 125

6 32 1 3157 9. 16 6 7 5,2629 27.5000 2 1 47 153

2 2 1 teBo 9. 16*7 5.95 19 27.5000 2 147 153

4 2 1 574 1 9. 1667 6.2964 27.5000 2 147 153

5 12 1 6325 9 . 16 6 7 7,3300 27.5000 2 157 1 38

5 1 6 2 2 6 3l 9. 1 667 9.0526 27.5QO0 2 1 16 1 94

5 17 2 3493 9.1667 9.397 1 27.5000 2 1 16 1 94

5 1 2 5215 9. 1 667 ,0.0861 27.5000 2 163 161

6 3 2, 6938 9. 1667 10.7752 27.5000 2 1 94 1 19

3 7 3 0383 9. 1667 12. 1532 27.5000 2 178 179

5 1 3 3 9B57 9.1667 1 5 . 9 4 3 c. 27.5000 2 216 1 98

3 6 4 5025 9.1667 1B.01C1 27.5000 2 222 223

4 3 4 Sp86 9 . 1 667 18,3546 27.5000 2 241 242

2 3 4 7*09 9.1667 19.U436 27.5000 2 241 242

& 33 5 1 9 3 9. 1667 20.0772 27.5000 2 241 242

3 1 1 5 3*38 9.1667 21 .1552 27.5000 2 264 278

5. 19 5 7945 9. 1 667 23.1776 27.500P 2 292 311

3 12 6 3974 9. 1 667 25.5695 27.5000 2 393 394

3 1 4 6 5696 9. 1667 26.2785 27.5000 2 4 1 3 392

3 IS 6 6558 9.1667 26.6230 27.5000 2 4 1 5 107

3 13 7 3448 9.1667 2'. 3792 27.5Q00 2 H 1 4 12

5 10 7 4309 9.1667 29.7237 27.5000 2 4 1 1 112

5 B 7 9477 9. 1667 31 .79 U 8 27.5000 1 442

5 3b 6 2061 9.1667 32.8244 27.5000 2 450 419

2 5 8 29*2 9. 1 667 33.1669 27.5000 2 450 4 49

3 24 B 6367 9.1667 ;h . 5470 27.5000 2 46 1 162

3 22 9 23'7 9. 1667 36. 9586 27.50CO 2 460 501

3 23 9 498O 9.(667 37.9922 27 .5000 2 480 539

3 25 9 5012 9.1667 38.3367 27.5QOO 2 503 525

5 9 9 9 7 67 9. 1667 39,7148 27 .5000 1 560

s 4 27^2 9.1667 4 1 , 0928 27 .50Cc 5 605 586 5d5

2 6 4455 9,1667 4 1 , 7fl 1 9 27.5000 2 605 562

4 5 61 77 9.1667 42,4709 27.5000 2 605 582

b 36 D .70^9 9. 1667 42.8154 27 .5000 2 605 582

3 26 1 C484 9. 1667 44 . 1935 27.5000 2 675 71 1 3 3

1* 1 5652 9, 1 667 46, 2606 2 7 . b C 2 764 765

5 1 1 1 7374 9.1667 46.9 497 27.5000 2 764 765

3 33 2 1250 8.5351 4 8.5000 2b.60bl 2 e25 790

3 32 2, 12SC 6.Q7S7 48,5:00 24.227 1 2 808 807

5 2B 2, 1250 7.3B67 48 , 5000 22. 1600 3 839 825 826

5 26 2, 1250 7.2718 46 ,5000 21.8J54 3 839 B25 826

5 27 2 1250 7.1570 4 8 . 5 n c 21 .1709 3 839 825 826

5 30 2, 1 2 SC 6.8 124 48

boOO 20.1373 2 825 839

3 3D 2 12SC 5.7789 4B , 5000 1 7.3367 2 823 B24

3 31 2, 1250 5.664 1 48 , 5000 16. 9922 2 823 b21

5. 37 2, 1250 5.2047 48,5000 15.6 14) 2 839 B37

2 7 2 1250 5.0899 4 8 , 5 15.2696 2 839 837

4 6 2 1?5C 4.9750 46 , 5000 14.9251 2 839 B37

3 29 2 1250 4.7453 46.5000 1 4 .2360 2 822 81 1 5 29 2, 125C 4.0563 48.5000 12.1 669 2 b25 744

1 4 2 1?5C 3.94 15 48,5000 11.8244 2 820 827

2 2 1?S0 3.8266 1 8 . 5 1 1 .4799 2 820 827

B 2 1250 3.7116 18.5000 11.1 353 2 B20 B27

20 2, 1250 3.5969 IB , 5000 10.7908 2 820 827

1 9 2 1250 3.4821 48 , SOGC 10.1163 2 72 1 733

7 2, 1250 3.3673 48,5000 10.1018 2 635 829

21 2 1250 3.2521 48,5000 9.7573 2 746 737

4 2, 1250 3. 1376 48,5000 9.1127 2 832 8 18

1 ft 2 1250 3.0227 48,5000 9.06B2 2 802 603

1 2 1250 2.9079 4B. 5000 6.7237 2 746 7 36

3 26 2 1250 2.7931 48.5000 6.3792 2 736 746

1 9 2 1250 2.1485 46 . 5000 7.3156 2 736 744

A-4
APPENDIX B SAMPLE PLOTS FROM NETPLT

B-l
TEST NETWORK CQrmfiNDS

KEY TO SYMBOLS 9 NETWORK

o ORDINARY NODE * HOMING NODE

BORDER

Nl COMMANDER NO. * LOCATION

3 4 5

Fig. Bl Sparsely Connected Network (DCA) with Commander Overlay

(Section of full drawing)

B-2
TEST NETWORK-AUTOVON

KEY TO SYMBOLS 27 NETWORK

ORDINARY NODE

HOMING NODE

UNKNOWN

26 27 28 29 30 31

Fig. B2 Densely Connected Network (Autovon)

(Section of full drawing)

B-3

APPENDIX C. COMPUTER LISTING OF NETPLT

000001 DIMENSION UNlTX(900),UNITY(900l,NODEN<900),HEAO(36),COORDX(900),

000002 IC00RDY(900!,nuFFUI00l,NHM(5|,LPTYPE(9),NCD(S),LL(S)

000003 COMMON/BRDR/XAXIS,YAXIS,TIC,HT,CX,CY,HEAD

4 COMMON/ARC/ ICURV,XIP|,XIP2,YIP|,YIP?,!FLAG,DEG,N0PLT,]WRITE,D1

000005 IREAD = 5 000006 IWRITE = 6 000007 C NODES >NUMP,ER OF NODES FOR NETWORK.

000008 C LINKS >NUMBER OF LINKS FOR NETWOPK. 000009 C ICURV SETS LINK TYPE. 1 MEANS DOWNWARD ARCS. 2 MEANS UPWARD ARCS. 000010 READ ( I READ , 1000 ) NODES .LINKS , ICURV

00001 I 1000 FORMAT (MIS) 000012 C VARIABLES IN NEXT READ STATEMENT = PLOT PARAMETERS.

000013 C NPLOT>NO. OF PLOTS FOR NETWORK AND ITS SUBSCRIBERS CI OR MORE}. 000014 C XAXIS=LENGTH OF X AXIS IN INCHES. 000015 C YAXIS=LENGTH OF Y AXIS IN INCHES. 000016 C SCALEX=LENGTH OF X AXIS IN DATA UNITS. 000017 C SCALEY=LENGTH OF Y AXIS IN DATA UNITS. 000018 C PLOTX=X DIMENSION OF PLOTTER. 000019 C PLOTY=Y DIMENSION OF PLOTTER. 000020 RE AD ( I READ , I 00 I 1 NPLOT , X A X I S , Y A X I S , S C A L E X , S C A L E Y , P L T X , P L 000021 1TY 000022 1001 FORMAT! I 5 , 6 ( S X , F 5 . 1 )

)

000023 C CALCULATE CONVERSION FACTORS CX, CY FOR AXES. 000024 CX = XAXIS/SCALEX

000025 CY = YAXIS/SCALEY

000026 CALL PLOTSIBHFF , 1000 ,7

)

000027 IFINPLOT ) S030.5030.18

000028 5030 WR I TE I IWRI TE ,5006

)

000029 5006 F0RMATM6H ERROR IN NPLOT.]

C00030 STOP

000031 18 NPL = NPLOT 000032 C LPTYPE=I MEANS PLOT NETWORK PLUS SUBSCRIBERS ON BORDER. 000033 C LPTYPE=2 MEANS PLOT NETWORK ONLY. 000034 C LPTYPE=3 MEANS PLOT AN OVERLAY WITH SUBSCRIBERS OR COMMANDERS ON 000035 C BORDER. 000036 C LPTYPE=4 MEANS PLOT AN OVFRLAY WITH 4 OR 5 COMMANDERS AND/OR 000037 C THEIR SUBORDINATES ON THE BORDER.

000038 READ(IREAD,I011)(LPTYPE(I),I=1,NPL)

000039 1011 FORMAT ( 1015) 000040 XI! = ( PLOTX-XAX IS ) /2 00001! YII= ( PL0TY-.8-YAX I S ) /?. 000042 TIC = ,05 000043 HT = .1 0000'!'! DO 100 LJ=I«NPL

000045 XI = XII 000046 Y I = Y I I 000047 CALL PLOT ( XI ,YI ,-3) 000048 READ (IREAD;200I) HEAD 000019 2001 FORMAT ((I2A61I 000050 WRITE ( IWR ITE ,8

)

00005 1 8 FORMAT ( 1H1 ) 000052 WRITE ( IWRI TE ,2001 ) HEAD 000053 ITYPE = LPTYPE(LJ)

000054 CALL BORDER

000055 C READ IN NODE NO. AND COORDINATES. CONVERT TO INCHES ON PLOTTER. 000056 IF (LJ-1 ) 33,33,34

000057 33 IF ( NODES ) 5 000,5000,3002

000058 5000 WRI TE ( I WR I TE ,5002

)

000059 5002 F0RMATC4IH DATA CARDS CONTAINING NODES IS IN ERROR.]

000060 STOP

000061 3002 WR I TE ( I WR I TE , 1

)

000062 1 FORMAT ( 20X , 1 9HC00RD I NATES OF N0DE/16X,SH I N I T I A L , 1 4 X , 6H I N C H E S / 2 X , 5 000063 1HN0DEN,4X,8HUNITX(I),2X,8HUNITY!I),2X,9HC00RDX(1),2X,9HC00RDY(1),2

000064 2X.5H TYPE) 000065 DO 10 1=1 .NODES 000066 C NTYPE=0 MEANS NODE IS ORDINARY. NTYPE=1 MEANS NODE IS A SU8SCRIB

000067 C ER HOMING. CENTRY OR EXIT]

000068 READ ( I READ , 1 002 ) NODEN ( I ) , UN I T X ( I ) , UN I T Y ( I ) , N

T

YPE 000069 1002 FORMAT ( I 5 , 30 X , 2F 5 . I , 1 4 X , I I ) 000070 COORDX(I) = UNITX(I)«CX

000071 COORDY(I) = UNITY(I)«CY

000072 XCOORD = COORDX(I)

000073 YCOORD = COORDY(I)

000074 IFMTYPE-2) 14,14,10

000075 14 IF(NTYPE) 11,12,11 000076 I 1 L = 1 I 000077 GO TO 13 000078 12 L * 5 000079 I 3 FPN = NOOEN ( I ) 000080 CALL SYMBOL I X COORD , YCOORD , HT , L , .,- 1 ) 000081 CALL NUMBER ( XCOORD-HT/2. , YCOORO + HT ,HT

,

FPN ,0. ,- 1)

C-l
000082 000083

000081

0OO0S5 000086

000087

000088 000089

000090

000091 000092

000093

000091

000095

000096

000097 000098

000099

000100

000101 000102

000103

000101 000105

000106

000107

000108

000109

0001 10 0001 I 1 0001 12 0001 13 0001 It 0001 15 0001 16 0001 17 0001 18 0001 19 000120

000121 000122

000123

000121

000125

000126

000127 000128

000129

000130

000131 000132

000133

000131 000135

000136

000137

000138

000139

0001 40 000111 000112 000113

000111

000115

000116

0001 17 000118 000119

000150

000151 000152

000153

000151

000155

000156

000157 000158

000159 000160

000161 000162

000163

000161

000165 000166

000167

000168

*RITE( I WR I TE ,2 ) NODEN I ! ) ,UNITX( I ) , UNITY! I ) ,COORDX( I ) .COORDY ( 1 ) ,NTY

1PE

2 F0RMAT(3X,I1,SX,F5.l,3X,F5.1,8X,F5.l,6X,F5.l,6X,Il)

10 CONTINUE

31 IF ( I TYPE-2 ) 35,35,36

35 DEG = 60. IFIL1NKS 13030,3030,3020

3030 WRITE ( IWRITE ,5003

)

5003 F0RMATC27H VALUES FOR LINKS IN ERROR.]

STOP

3020 WRITE ( IWRITE ,3)

3 FORMAT ( 1 H I , 26X ,5HN0 0F,2X,11HN0 OF L I NK S / 1 1 X , 1 3H LINKS ,3X,5

1 HL INKS ,2X , 1 I H PLOTTED / 2 X , 5 H

I

NDE X , 3 X , 6 H NOO E 1,2X,6HN0DE 2,3X,6HI 2FLAG ,3X,7HN0PLT ) DI = 0.0

00 20 1=1 ,LJNKS READ (IREAD.1003) I P I , I P 2 , I F L A G 1003 FORMAT ( 5X ,2I5,18X , 12)

X IP 1 = COORBX ( I P 1 I X IP2 = COORDX ( IP2) YIP1 = COORBY I IP1

)

Y IP2 = COORDY ( IP2

)

CALL PLTARC

WRITEI IWRITE, 4) I,IP1,IP2,IFLAG,N0PLT

1 F0RMAT(3X,I1,SX,I1,2X,I4,6X,I3,7X,I3)

20 CONTINUE

36 IFIITYPE-2) 3001,331,3001

C NSUBS > NUMBER OF SUBSCRIBERS IN NETWORK.

3001 READ! IREAD, 1008 ) NSUBS

1 008 FORMAT (215 1 IFINSUBS ) 2030,2030,3040

2030 WRITE ( IWRI TE ,5001

)

5001 F0RMATC29H VALUE FOR NSUBS IS IN ERROR. 3 STOP

3010 NSUM = IFLAG = I WRITE! IWRITE ,5)

5 F0RMAT(2X,6HCMDSUB,3X,8HUNITX( I ) .2X.8HUNITY I I ) ,2X,9HC00RDX( I ) ,2X,9

1 HCOORDY ( I

)

,2X,5HNH0ME,2X,7HH0MINGS)

IFIITYPE-3) 62,62,63

63 READ!IREAD,1007)(NCD(II),II=1,5)

1007 F0RMAT(5I5)

LL< 1 >=0 LL(2)=1

LL( 31=2 LL(D=6

LL.C5)«I0

62 L=l

I

01 = 0.5

DO 30 11=1,1

N = I I READ I I READ , 1001 ) K 1001 FORMATIIS)

NSUM « NSUM*K

00 10 J = I ,K READ( IREA0.I005) NCMD,NSUB,XUNIT,YUNIT,NHOME

1005 F0RMATI2I5, 25X, 2F10.5, 15) XCOORD = XUNIT'CX

YCOORD = YUNIT'CY

FPN = NCMD

FRN= NSUB IFIITYPE-3) 65,61,65

65 DO 60 IJ= 1 ,5 NC=NCD( IJ)

IF

(

NC-NCMD ) 60,6 1,60

61 L=LL I IJ) GO TO 61 60 CONTINUE

WRITE! IWRITE ,5007

)

5007 F0RMATI12H A C OMM A NDE

R

-SUBOR D I N A T E CARD IS IN ERROR.)

61 GO TO ( 1 1 , 12 , 13 ,14 ) ,N

11 XX = XC00RD-3«HT

YY = YCOORD

YJ = YY-HT-,05

GO TO 15

12 XX « XCOORDtHT/2.

YY = YC00RD*HT»2+.O5

YJ = YY-HT-,05

GO TO 15

13 XX = XCOORO*HT

YY = YCOORD

YJ « YY-HT-,05

GO TO 15

14 XX = XC00RD-HT/2.

YY = YC00RD-2»HT

YJ = YY-HT-,05

15 CALL SYMBOL! XCOORD, YCOORD ,HT ,L ,0. , -I

)
0001 69 000170

0001 71 000172

000173

000171 O00I7S

0001 7 6 0001 77 0001 78 000179 000180

000181

0001 8? 000183

000181 000185

0001 86 000187

0001 88 0001 89 000190

000191

0001 92 000193

0001 91 000195

000196

000197

000198

000 I 99 000200

000201 000202

000203

000201

000205

000206

000207 000208

000209 C002I0

00021 I 000212

000213 C002M

000215 000216

000217 000218

000219 000220

000221 000222

000223

000221

000225 000226

080227

000228 000229

000230

000231 000232

000233

000231 000235

000236

000237 000238

000239

000210

000211 000212

000213

000211

000215 000216

000217

000218

000219

5010

5005

89 335

CALL

CALL

IFLG READ

FORM

DO 5

X I P I Y 1 P I IP2 XIP2 YIP2

JFLG

IF ( 1 TEMP

XIP1 XIP2

TEMP

YIP1 YIP2

CALL CALL

CONT

WR I T 11 = 1. FORM

CONT

CONT

IF(N

WRI T FORM

IR DA CONT HEAD

XL = POIN

PY = CALL

KEY CALL

GO T YY = CALL

Y Y = CALL

CALL

YY = CALL CALL

1F( I YY = CALL

Y Y = CALL CALL

YY = CALL

CALL

GO T YY = CALL

DO 8

Y Y = NC = FP = [FIN CALL

CALL

Y Y = CALL

CALL

YY = LCALL

CALL CONT

XI = YI = CALL CALL

CONT

END

NUMBER(XX,YY,HT,FPN,0. ,-l ) NUMBER(XX,YJ,HT,FRN,0. ,-l )

( IREAD , I AT ( 515

1

I J = 1 = XCOOR

* YCOOR

NHM ( I J = COORD

= COORD

= - 1 • i r FLG-l I 5 = X IP 1 = XIP2

= TEMP

= Y I P | = YIP2

= TEMP

PLOT ( X I PLOT ( X I INUE

E ( I WRITE

NHOME ) AT <2X ,21

1 NUE

I NUE SUBS-NSU

E ( I WR ITE ATC69H T

T A CARDS

INUE

I NG216.. 1 2

T = ( XAX YAX IS+ 1 SYMBOL ( TO SYMBO SYMBOL ( (80>80

YAX IS-. SYMBOL ( YY-. 2 SYMBOL ( SYMBOL ( Y Y-. 2 SYMBOLf SYMBOL ( TYPE-218

YAXIS-. SYMBOL ( YY- . 2 SYMBOL ( SYMBOL ( YY-. 15» SYMBOL ( SYMBOL ( 335

YAX I S-l SYMBOL ( 9 I K = I ,5 YY-. 2 NCD (IK ) NC

C ) 90,89 NUMBER ( SYMBOL ( YY-. 1

5

SYMBOL ( SYMBOL ( YY- . 15 LL ( I K

)

SYMBOL ( SYMBOL (

1 NUE

XAX I S -Y I I PLOT ( X I PLOT (0

I NUE

006 I I NHM ( I ) , I = I .NHOMF )

, NHOME

D

)X ( IP2

)

Y [ IP2 LG1,55,55

PI i YIPI ,31 P2,Y IP2.2)

,6) NCMD,NSUB,XUNIT,YUNIT,XCOORD,YCOORD,NHOME,(NHM(I),

3, IF 10.1, IX, 13, 2X, 515)

M ) 5010 ,331 ,5010

,5005) HERE IS AN ERROR BETWEEN NSUBS AND NUMBER OF SUBSCRIBE

. 3

I S-XL ) /2 POINT, PY,. 125, HEAD, 0. ,216)

LS-3.0 , Y AX I S , . I 25 , I 1HKF Y TO S Y M B L S , . , 1 1

)

,82,831,1 TYPE

25-2.62S,YY,HT,7HNETWORK,0.,7)

-2.95,YY*HT/2,HT,5,0.,-1 ) -2.75,YY,HT,13H0RDINARY N0DE,0.,13)

-2.95,YY*HT/2,HT, 1 1 ,0. ,-1

)

-2.75,YY,HT, 1 1HH0MING NODE.O. , 1 1

)

2, 335,82

AS-2.5,YY,HT,6HB0RDER,0. ,6)

-3 .0 , Y Y ,HT , 2HN I ,0. , 2

)

-2.75,YY,HT,13HC0MMANDER NO . , . , 1 3

1

2-2.95,YY*HT/2,HT, 1 I ,0. ,-1 I -2.75,YY,HT,8HLOCATlnN,0. ,8)

.60 -2.5,YY,HT,6HB0R0ER,0. ,6)

3.0 , YY ,HT ,FP ,0 . , - 1 I 2.75,YY,HT, 13HC0MMANDER NO. ,0. , 13) 3.0.YY.HT ,2HN2 ,0. ,2

)

2.75,YY,HT,I5HSUB0RDINATE NO.,0.,15)

2.95,YY-fHT/2,HT,L,0. ,-1 I 2.75,YY,HT,8HLOCATlnN,0.,8)

Y I

, -3

)

0,0.0 ,999

)

00000 1 000002 000003

000001

SUBROUTINE BORDER COMMON/BRDR/XAXIS,YAXIS,T!C,HT,CX,CY,HFAD

BOTTOM X AXIS

X = 0.0

C-3
000005

000006

0C0007 000008

000009

0000 io coo'oi i 0000 1 2

C0001 3

00001 t

000015

00001 6 COOO 1 7

COOO 1 8

000019

000020

00002 1

000022 CC0023

000024 000025

000026

000027 000028

000029 000030

00003 1

000032

000033 00003M

000035

000036

000037 000038

000039 OOOOHO

COOOM 1 0000M2

000043

OOOOMM

0000M5 C000M6

0000M7 0OO0M8

0000*49 000050

0C0051 000052

000053

00005M 000055

000056

CC0057

C00058

000059 000060

00006 1

000062 000063

00006M 0000656 6 000067 C00068

000069 000070

C0007 I

000072

CC0073

00007M 000075

000076

000077

000078 C00079 000080

00008 1

000082 000083

000084 000085

000086 000087 000088

000089 000090

K = XAXIS/CX S = K.CX

DIF = XAX I S-5

DO 10 I = 1 »< DO 20 J = 1.2 X = X+CX /2 . CALL PLOT ( X ,0. ,2) CALL PLOT ( X ,-T IC ,2 )

CALL PLOT ( X ,0.0 , 3 )

20 CONTINUE

XX = X-HT/2.

FPN = X/CX Y Y = -2»T I C-HT

CALL NUMBER(XX,

Y

Y , HT , F P N , . , - 10 CALL PLOT! X ,0.0,3) IFIDIF .LE. 0. ) GO TO 31 CALL PLOT ( XAX 15 ,0.0 ,2)

31

X = XAX IS R I GHT Y AXIS Y = 0.0 K = YAXIS/CY S = K«CY

DIF = YAXIS-S

DO 30 I = 1 ,< DO MO J = 1,2 Y - Y+CY/2 . CALL PLOTIX.Y ,2) XX = X+TIC

CALL PLOT I XX , Y , 2 )

CALL PLOT ( X , Y ,3 )

MO CONTINUE

XX = X + 2»T IC FPN = Y/CY CALL NUMBER! XX ,Y ,HT,FPN,0. ,-1 30 CALL PLOT! X ,Y ,31 IFIDIF .LE. 0. ) GO TO 51 Y = Y AX I S

CALL PLOT ( X,Y ,21 TOP X AXIS

SI

K = XAXIS/CX Y = Y A X I S S = K«CX

DIF = XAX I S-S IFIDIF .LE. 0. ) GO TO 61 X = XAX I S-D I F

CALL PLOT ( X ,Y ,2) YY = Y*T I C

CALL PLOT IX, YY ,2) CALL PLOT I X ,Y ,3) 6 1 00 SO I = 1 ,K DO 60 J = 1.2 X = X-C X/2 CALL PLOT I X , Y ,2) Y Y = Y*T I C

CALL PLOT IX, YY ,2) CALL PLOTI X,Y,3)

60 CONTINUE

XX = X-HT/2

YY = Y+2»TIC

FPN = X/CX CALL NUMBER I XX ,YY ,HT ,FPN,0.

50 CALL PLOT I X ,Y ,3) X

'= O.C LEFT Y AXIS K = YAX IS/CY S = K «C Y

DIF = YAX I S-S IFIDIF .LE. 0.1 GO TO 81 Y = YAX1S-DIF

CALL PLOT I 0.0 , Y , 2 ) CALL PLOT l-T IC ,Y ,2 I CALL PLOT I0.O.Y.3) 8 1 DO 70 I = 1 ," DO 80 J = 1.2 Y = Y-CY/2

CALL PLOT I 0.0,

Y , 2 I CALL PLOTI-TIC.Y ,?) CALL PLOT 10.0 , Y , 3 )

80 CONT I NUE

FPN = Y/CY

XX = -2.TIC-HT

YY = Y-HT/2

CALL NUMBER(XX,YY,HT,FPN.O.

70 CALL PLOTIO. ,Y,31 RETURN

END

C-4
000001 SUBROUTINE PLTARC

000002 COMMON/ARC/ ICURV, XIPI, XIP2, YIPI, YIP ?',IFLAG,DEG, NOPLT, IWR|TE,DI 000003 C FLAG 1 I R = - I MEANS LINK IS DRAWN COUNTERCLOCKWISE FROM NODE 1 TO 000001 C NODE 2. 000005 C FLAG I D I R = I MEANS LINK IS DRAWN CLOCKWISE FROM NODE 2 TO NODE 1. 000006 IFIICURV-I) 7S0,2S0,1S0

000007 250 IF( XIPI -XIP? ) 765,270,275

000008 265 TEMP = XIPI 000009 XIPI = XIP2 000010 XIP2 - TEMP

00001 1 TEMP « Y I P

00001 2 YIP I = YIP2 000013 YIP2 = TEMP 0000 1

I D I R = I 000015 GO TO 280 000016 ISO !F( XIPI-XIP2 ) 175,170,165

000017 165 TEMP = XIPI 00001 8 X IP1 = X IP2 000019 XIP2 * TEMP 000020 TEMP = YIPI 000021 YIPI * YIP2 000022 YIP2 = TEMP 000023 IDIR * 1 000021 GO TO 280 000025 170 IF( YIP1-YIP2 ) 175,175,165

000026 175 IDIR « -I 000027 GO TO 280 000028 270 IF( YIPI-YIP2 ) 265,275,275

000029 275 IDIR = -I 000030 280 DIST = SORT ( ( X I P 1 -X I P2 ) • • 2+ I Y I P 1 - Y I P 2 ) • • 2

000031 IF(ICURV-I) 290,290,291 000032 291 A « ( AS.INI ( Y I P2-YIP I ) /DIST ) ) • 180./3. 1 1 IS 000033 GO TO 292 000031 290 A « ( ASINI (

IPI -Y IP2 ) /DIST ) ) • I 80. /3. 1 1 I 5 000035 292 GAMA = DEG/2. 000036 OMEG = 90.-6AMA

000037 OMEGR = OME 6 • 3 . 1 1 1 5/ I 80

000038 DIST2 = DIST/2. 000039 R * DIST2/C8SI0MEGR)

000010 IF(ICURV-l) 260,260,160

000011 160 Bl = A*OMEG+ I 80. 000012 GO TO 261 000013 260 Bl » A+OMEG

000011 261 B2 * BI+DEG 000015 IF ( IDIR-I (278,276,276

000016 276 CALL C IRCLE (

IP2 ,YIP2 ,B2,B I ,R ,R ,DI ) 000017 GO TO 279 000018 278 CALL C

RCLE ( X I P I , Y I P 1 , B I , B 2 , R , R , D I ) 000019 279 D = .10 000050 IND » IFLAG 000051 NOPLT = I 000052 IF( IND-1 1209,200,201

000053 201 INO = IND-1 000051 GAMAR = GAMA«3. I 1 I 5/ I 80. 000055 AM « DIST2»TAN ( GAMAR/2. I 000056 DO 295 JJ = I

IND 000057 IDIR = - 1 • I I

000058 AN = D*AM 000059 IFIAN-DIST2) 283,283,281 000060 283 R2 = (AN«»2 D I ST 2» • 2 ) / ( 2 . • AN I 000061 IF(R2-DIST2) 281,282,282

000062 282 PHI = ( AS I N ( DST2/R2 ) ) • 1 80 . / 3 . 1 1 I 5 000063 Tl = Bl+GAMA-PHI

000061 T2 = TI+2.»PHI

000065 WRITE ( IWRI TE ,6002) JJ,PHI,TI,T2

000066 6002 F0RMATI9X, I1,3FI0.1)

000067 GO TO 285 000068 281 NOPLT = JJ 000069 GO TO 200 000070 285 IF ( IDIR-1) 287,286,286

000071 286 CALL CRCLE ( X I P2 , Y I P2 , T 2 , T 1 , R 2 , R 2 , D I ) 000072 GO TO 288 000073 287 CALL C

RCLE ( X I P I , Y I P 1 , T I , T 2 , R2 , R2 , D I ) 000071 288 D = D*.10 000075 295 CONTINUE

000076 NOPLT * IND+I 000077 200 RETURN

000078 END

APPENDIX D. COMPUTER LISTING OF PREPROCESSING SORTS

common /mo/ vcooFntinooi . ycoorqi loom , num (ioooj.

1 ISPFC(inoO). NO" c S COMMON /LK/ I TRAMS ( 1 1 00 ) , IRrr(UQO), IDUP(U00)< IMP COMMON /CMDR/ ICO v ( 500 ) . TSUB ( 500 > • I HOME 1 ( 500

)

i IHOME2 ( 500 ) . NS COMMON /ECON/ IPSUBI500) .AVX(*O0> , AVY<500) . I70N?<500) , I7ONM500) < 1 IZO'HS(snu) > I7ONPI509) ' £ IHO"(5>. YL'"FT(?00). XTOP(200), YRITE(200>.

3 XBOTIV(PQO) . IPT. NCOMi MSCIPi IRLANK> IOIIT.L DIMENSION ICONNdU00)» ISTAT ( 1 ] 00

)

> ISTACK ( "00 > , IPNT(llOO).

1 MULN*S(linO)

I OUT = o REWIND PEADCU. NODES* (YCOO"D(D t XCOORPd), IBUFF.NUM ( I ) . 1=1. NODES)

PEADCOi IND.I IB"FF. IB'lFFr ITRANS(I). IRUFF, IRUFF, IRFC(I).

1 IBUFF. ILUP(I). MULMKSd), 1=1. IND) . PPINT is, (i, mu"( I) ,XCOORD(T) .YCOORDd) .T = l .NO^ES)

15 FOt<'"AT( 1 hi ' 23X. 'ORIGINAL *'OPE TABLE'//

1 2X> 'NO. 'i UX. ""ODF NO.'. ^X. 'X COORD.'. 3X. *Y COORD.',//

2 (IX, II+, 7X. 14. 7X, F6.1, ?X. F6.1)) PRINT 5 5 FORNiAT(iHl> 23X » 'ORIGINAL LTNK TABLE'//' PRINT 2ol PRINT 20?.i (I> NULNKS(I). IT^ANS'T). IPEC(I), IDUP(I), 1 = 1, IND)

C SORT NODES ON MINOR SORT Y ALTERNATING THE ORDER FOR SUCCESSIVE X'S.

C NODES ARE ASSUMED TO BE IN A^CFNDING SORT ORDER ON X AND Y.

J = 1

L~>80 TFMP = XCOORn(J)

no bin i=j, NODES

IhEG = 1 IP(XCOO!<n(I> ,

f |E. TE"D > GO T^ 520

510 CONTINUE

GO TO 530

520 TEMP = HCOOKPCIBEG)

po 540 I=IPEG, NODES

K = I IF(XCOO,<n(i) ,riE. TE''P) GO TO 550

^1+0 CONTINUE

J = K+l

GO TO 5

r_J. 550 J = K 551 IEND = J-l TFdFMD .EG. IBEG) GO TO 570

C INVERT RECORDS.

L = IPEG

554 M=IEND

TEMPI = XCOORD(IEND)

TEMP? = YCOOPD(IEND)

ITEMP = NUM (IEND) 553 XCOORPd-, > = XCOOPO(M-I)

YCOORO(M) = YCOORO(M-l)

NUM(^) = NU: M M-1>

a = M-l TF(M .LC. L) GO TO 55?

GO TO 553

552 YCOO"0(|_) = TEMPI

YCOO°n( L ) = TEMP2

NIIM(L) = I TEMP

I. = L + l IF(L .LT. IEND) GO To 55'* C ADJUST NODES IN LINK TABLE.

ITER" = IbEG + IEND

556 TO o^O 1=1. IND IFdTRANSd) .GE. IBEG. AND. ITRANSd) .LE. IEND) ITRANS(I) = TTERM1 ITRANS(I)

IFdRECd) ,GE.. IBEG. AND. IREC(T) .LE.IEMD) IREC d ) = ITERMIIREC(I)

*>50 CONTINUE

570 IP(J .G c . NODES) GO to 5"^0 GO TO 5c"

C TRACE NET W 0RK FOR REORDERING LINKS.

C r INU CONNECTIVITY OF NODES.

530 DO 30 1 = 1, IND

30 ISTAT(I) = 'OUT' DO 31 1=1, NODES

31 ICONNd) =
H00076 DO 32 1=1. IND 100077 J = ITRAMS(I) "00078 IF(J .GT. MODES) GO TO 1000 000079 ICONM(J) = ICONN(J) + 1 "00080 J = IRECd)

000081 IF(J .GT. NODES) GO TO 1000 000082 32 JCONN(J) = ICONN(J) * 1 000083 C COUNT NO. OF NODES WITH CONNECTIVITY.

000084 IJUMD = o 000085 DO 34 I = 1. MODES

000006 IF(1C0NN(I) .EQ. 1) TJUM" = MUMP + 1 "00087 34 CONTINUE

C00088 PRINT 105, IJUMP 000089 105 FORMAT^*, 15, 2X. "'ODES HAVE ZERO CONNECTIVITY.'/)

000090 ICNT = 000091 IP = 000092 IL = 000093 40 IFLAG = 000094 ICNT = ICNT + 1 000OQ5 C LOOK FOR A STARTING ' f IODE - CONNECTIVITY GREATER THAN 0. OU0096 DO 41 1= 1, NODES

0000^7 TF(ICONIKI) .EQ.O) GO TO 41 000098 J = I 000099 GO TO 42 000100 41 CONTINUE

"0U101 PRINT loft 000102 10ft FORMAT(2X, 'FPROR - NO TERMINAL NODE POUND. LINK PRESENT THAT HAS 000103 1 NOT BEEN TRACED.')

000104 PRINT 5u0, (I. ICONN(I), 1=1, NODES) "00105 c 00 FORMAT (7<5X» 15. ''X, 15))

10010ft STOP 000107 C STAKT TRACING TRFE. "00108 42 ID = TP + 1 "00109 TSTACK(IP) = J "00110 46 DO 43 1=1, IND 000111 IFdSTATd) .NE. 'OUT') SO TO 43 000112 IFdTRANS(I) .EQ. J) GO To 44 000113 IFdRECd) .NE. J) G" To 43 000114 K = ITRINSd)

C00115 ITRANS(I) = IRECd)

000116 IRECd) = K 000117 GO TO 45 100118 44 K = IREC(I) 000119 45 TSTAT(I) = 'IN' 100120 ICONN(J) = ICONN(J) - 1 000121 ICONN(K) = ICONNC) - 1 000122 J = K C00123 IL = IL + 1 100124 IPNTdL) = I 000125 GO TO 4i "U0126 43 CONTINUE

000127 C END OF A PATH REACHED. 000128 C TRACE BRANCH BACK'-'ARnS TO FIPST BPAMCHING NODE. "00129 47 J = ISTACKdP)

"U0I30 IFdCONN(J) .GT. 1) so T" 46 000131 IP = IP - 1 "00132 IFdP .LE. 0) GO TO 50 100133 GO TO 47 100134 C NETWORK IS COMPLETELY TRACED. SEE IF ThERF IS A DISCONNECTED SUBNETWORK! C00135 50 CONTINUE

"00136 C 50 PRINT 51. ICNT "00137 C 51 PORMATdHl. ?v, 'CONNECTED SUBNETWORK ', 13// 15X, 'LINK NO.*' 5Xt C00138 C 1 'TRANSMITTER', 5X, 'RECIVEP * //

)

"00139 NO = 000140 DO 52 1=1 . IND 000141 IF(ISTATd) .EG. 'OUT') IFLAG = 1 000142 IFdSTATd) .NE. 'IN') G"> TO ^2 000143 ISTAT(I) = 'USEU' 000144 NO = NO + I "00145 52 CONTINUE

000146 IFdFLAo .EQ. 1) GO TO 41 000147 51 FORMAT(2X. 'THERE ARE '.13, • SUBNETWORKS.*//)

100148 PRINT 51, ICNT 000149 C SORT LINKS TO RE PLOTTFD IN "AIN TABLE. 000150 9m DO 920 1=1, IL 000151 ITEMPT = ITRANS(I) "00152 ITEMPR = IRECd)

000153 ITEMPD = IDUP(I) 000154 ITEMPN = NULMKSd)

000155 J = IPNT( I) 000156 ITRANS(I) = ITRANS(J) 000157 IRECd) = IRFC(J) 000158 inUPd) = IDUP(J) 000159 NULNKSd) = NULNKS(J)
000160 TTRANS(J) = ITEMPT

000161 IREC(J) = ITFMPR 000162 IDUP(J) = ITEMPD 000163 NULNKS(J) = ITEMPN

00016H L = 1+1 000165 IF(L .GT. ID GO To 920 000166 DO 910 K=L> IL 000167 IFUPNT(K) .EQ. I) IPMT(K) = J 000168 930 CONTINUE

000169 920 CONTINUE

000170 I NX) = IL 000171 CALL SUBSRB

000172 C PRINT FINAL NOOE AND LINK TA^LE

000173 PRINT 30C> <I» NU"(I)r XCOORrM I ) , YCOORDl T ) . ISPFC ( I ) . 1 = 1 < NODES) 000174 300 F0RMAT(1H1>16X, 'FINAL NODE T'OLE'// ?X. 'NO,'» 000175 1 4X. 'NOnE NO.'. 5X. 'X COORD. •» 3X.'Y COORn. «, t 3X »• HOMING NODE'//

000176 2 (1X»I4,7X.I4.7X.F6.1.2X.F6.1. 18X.I1)

)

000177 PRINT 400 000178 "00 FORMATdHl. 43X, 'FINAL LINK TARLF'//) 000179 PRINT 201 000180 201 FORMATQ5X. 'LINK MO*. 12X. 'TRANSMITTING NODE'. ?3X. 000181 1 'RECEIVING NODE'' 24X. 'NO. OF LINKS'//) 000182 PRINT 202. ( I . NULNKS ( I ) . ITRAMS ( I ) . IREC ( I ) . IPUP ( T ) . 1 = 1

.

ImD) 000183 202 FORMAT((2X. 14. 1?X. 14. 19X» 14. 36X. 14, 35X, 14)) 000184 C WRITE(3. 960) (NU'UI). XCOORD(I). YCOORD ( T ) , TSPEC < I > . 1 . 1 = 1 . NODES) H00185 ^60 FORMAT ( 15 . 30X , 2F5.1, 14V, n, 15X, 1=;) 000186 WRITEC3. 970) (NULNKS(I). ITRAMS(I). IREC(I). inUP(I). I, 1=1. IND) 000187 970 FORMAT(3I5. 4«X. 12. 5X. 15) 000188 CALL SUri2 000189 STOP 000190 1000 PRINT 10fU, J 000191 1001 F0RMAT(2X. 'MODE '. T5. ' NOT FOUND IN NODE TABLE.') 000192 STOP 000193 FND

000001 SUBROUTINE SUBSRB

000002 COMMON /NO/ XCOORD ( 1000 ) . YCOORD ( 1000 ) . MUM (1000). 000003 1 ISPEC(inoO). NODES

000004 COMMON /CMDR/ ICOV ( 500 >> ISUB ( 500 >> IHOME1 < 500 )> IMOME? ( 500 > . NS 000005 COMMON /ECOH/ IPSUB

(

c 00) . AVX ( 500 ) . AVY (500 ) . IZON? (500) . I?ON4 (500)

.

000006 1 IZOM6(500) .IZON«(500)

.

000007 2 IH0M<5>. YLFFT(?00)> XTOPI200), YRITEI200). 000008 3 XBOTOM(200). IPT. NCOM, N5CPIB. TBLAMK. IOUT.L 000009 DIMENSION ITEMP2(?5>. IT ,r MP4<?5). ITFMP6(25). ITFMP8(25) 000010 DIMENSION NA»<ECD<?5) 000011 DATA/IBLANK/ 6H 000012 REAU (8). NS. ( ICOM ( I ) . ISUB ( I ) . BU^F . RUFF. THOME1 ( I ) .BUFF, PUFF. 000013 1 IH0«E2(T). RUFF. 1=1. NS) 000014 C TRANSLATE HOMINGS TO REOPDERFH SEQUENCE NO. FOR MODES. 000015 C MARK NODES THAT APE M0MIM6S

000016 DO 11 1=1. NODES

000017 11 ISPEC(I) = 000018 DO 1 1=1. NS 000019 J=IH0ME1(D

000020 DO 2 K=l» NODES

000021 IF(J .NE. NUM(K)) GO TO ? 000022 IHOMEKI) = K C00023 ISPEC(K) = 1 000024 GO TO 3 000025 2 CONTINUE

000026 WRITFdOUT. 1000) J 000027 1000 F0RMAT(2X.32HCANN0T ^INO TRANSLATION FOR NODE. T4) 000028 STOP 000029 3 J=IHOME2(D

000030 IF(J .EO. -1) GO TO 1 000031 DO <+ K = l, NODES

000032 IF(J .NE. NUM(K)) GO TO 4 000033 IHOME2H) = K 000034 ISPEC(K) = 1 000035 GO TO 1 C00036 4 CONTINUE

000037 WRITEdOUT. 1000) J 000038 STOP

000039 1 CONTINUE

000040 RETURN

000041 ENTRY SUB2 000042 C **********************************************************************

000043 C CONSTANTS FOR PLOT

D-3
000044

00001+5 0000^6

00001+7 000048

0000<+9 C 000050

000051

000052 000053

000054 000055 000056

000057

000058 000059

000060

000061 c 000062 c 000063 c 000064

000065

000066

000067

000068

000069 c 000070

000071 000072

000073

000074 000075

000076

000077

000078 000079

000080

000081 000082

000083

000084

000085

000086

000087

000088

000089

000090

000091 000092

000093

000094

000095 000096

000097 c 000098 000099

000100

000101 000102

000103

000104 000105

000106

000107 000108

000109

000110

000111 000112

000113" 000114

000115 000116

000117 000118

000119

000120

000121 000122

000123

000124 c 000125 c 000126 c 000127 c 000128 c 000129 c

XUNITS = 12.0 YUNITS = 9.0 XIN = 48.0

YIN = 27.0 BORDIN = 0.5 ********************************************************************** WRITEdOUT,340)

340 FORMATdHl. 36X . 'INITIAL SUPSCRIBER TABLE'/)

WRITE(IOUT»201)

201 FORMAT(7X, 'COMMANDER' .3X. 'SUBSCRIBER' ,12X. 'HOMEING l'.24Y,

1 'HOMEING 2'//)

WRITEdOUT»202> (I. ICOM(I). ISUB(I)i IHOMEld), IH0ME2 ( I

)

> 1=1, NS) 202 F0RMATd2X, 13. 4X. A3. 10X. A3. 17X. 14. 2PX, 14)) NAMEPT = MPS = NCOM = IBLANK NSCRIB = IBLANK

SET U° SUBSCRIBER TABLE WITH AV. X AND AV. Y VALUES OF HOMINGS AS THE REPRESENTATIVE POINTS. SET UP A TABLE WITH ALPHA NAMES OF COMMANDERS.

DO 10 1=1. NS

L = IHOMEKD

XI = XCOORD(L)

Yl = YCOORD(L)

IF(ICOMd) .EQ. NCOM) GO TO 5 NEW SUBSCRIBER

NCOM = ICOM(I) NAMEPT = NAMEPT + 1 NAMECOI NAMEPT) = NCOM

GO TO 6 5 IFdSUB(I) .EQ. NSCRIR) GO TO 7 6 NSCRIB = ISUBtl)

IF(NPS .EQ. 0) GO TO 8 AVX <NPS> = TX/CNT

AVY(NPS) = TY/CNT

8 NPS = NPS + 1 TX = 0.0

TY = 0.0 CNT =0.0

IPSUR(NPS) = I 7 TX = TX +• XI TY = TY + Yl CNT = CNT + 1.0 IF(IHOME2(I) .EQ. -1) GO TO 10

L = IH0ME2(D

XI = XCOORD(L)

Yl = YCOORD(L)

TX = TX + XI TY = TY + Yl CNT = CNT + 1.0

10 CONTINUE

AVX(NPS) = TX/CNT

AVY(NPS) = TY / CNT SORT SUBSCRIBER TABLE ON AV. X AND AV. Y VALUES

J = NPS - 1 DO 83 1=1.

J

LPT = IPSUB(I) TAVX = AVX(I) TAVY = AVYd)

K = 1 + 1 DO 84 L = K.NPS

IF(AVX(L) - TAVX) 85. 86. 84 86 IF(AVY(L) - TAVY) 85. 84. 84 85 TAVX2 = TAVX\

TAVY2 = TAVY ' LPT2 = LPT

TAVX = AVX(L) TAVY = AVY(L)

LPT = IPSUB(L)

AVX(L) = TAVX2

AVY(L) = TAVY2

IPSUB(L) = LPT2

84 CONTINUE IPSUBd) = LPT

AVX(I) = TAVX AVYd) = TAVY

83 CONTINUE

PRINT 2000. (I.IPSUBd). AVXd). AVYd). 1 = 1. NPS) 2000 FORMATdHl. 2X. 'POINTER To SUBSCRIBERS'. 2X. 'AVER. X'. 2X>

1 'AVER. Y'/ (3X"» I3.6X.I3.13X.F5.2. 3X. F5.2>> COLLECT SUBSCRIBERS IN APPROPRIATE ZONES. THE ZONE IS DETERMINED BY FINDING THE SHORTEST DISTANCE FROM THE SUBSCRIBER TO ITS AVERAGE HOMING POINT, ASSUMING THE SUBSCRIBER LIES

ON THE HORIZONTAL OR VERTICAL LINE WITH THE AVERAGE HOMING POINT. EQUATIONS FOR THE DIVIDING LINES IN THE CORNFRS ARE AS FALLOWS - BETWEEN ZONF 2 AND 70NF B -
000130 C X = Y OR Y = X "00131 C BETWEEN ZONE 2 AND ZONE 4 - 000132 C X = 27 - Y OR Y = -X + ?7 000133 C BETWEEN ZONE 4 AND ZONE 6 - C00134 C 48 - X = 27 - Y OR Y = X - 21 100135 C BETWEEN ZONE 6 AND ZONE P - "00136 C 48 - X = Y . OR Y = -X + 48 "00137 C NOTE - THE VARIABLES ARE MEASURED IN INCHES. 000138 OEUTA = XIN - YIN

r 00139 INPXUN = XIN / XUNITS

000110 IMPY'IN = TIN / YUNITS

000141 IZ2 = 000142 TZ4 = 000143 IZ6 = 000144 IZQ = 000145 C COMPUTE BOUNDARY VAL'IES for x ALONG SIDE BORDERS

000146 C THE MAX. VALUE = ONE HALF THE Y DIMENSION IN INCHES.

1(10117 XMAX = (YIN / 2) M XUNITS / XIN) 100148 XMIN = XUNITS - XMAX 000H9 DO 12 I=1»NPS

000150 IF(AVXtl) - XMAX) 13. 13> 14 "OulSl 13 IF(AVYU) - YUNITS/2) 15' 16. 16 "00152 C JOINTS FALL IN ZONE 3 OR ZONF 8. "00153 C OETE°^lNE THE LOCATION RELATIVE TO THE DIAGONAL.

100154 15 Y = AVX(I) * INPXUN 000155 IF(AVYU) * INPYUN - Y) 17, IP, 10

r 00156 17 IZ8 = IZ8 + 1 "00157 IZ0N3(IZ<>) = I 000158 GO TO 12 , r 0ul59 IP. 1^2 = 122 + 1 000160 TZON2(IZ2) = I 0PU161 GO TO 12 100162 C POINTS FALL IN ZONE 2 OR ZONF 4.

r 0rio3 C DETERMINE THE LOCATION RFLATIVE TO THE DIAGONAL.

r 00164 16 Y = YIN - AVX(I) * I"PXUN "00165 IF(AVY(I) * INPYUN - Y) 13, 1«, 20 "00166 • 20 IZ4 = IZ4 + 1 100167 IZ0N4IIZ4) = I "00168 GO TO 12 "00169 14 IF(AVXtl) - X«IN) 21, 28. 28 000170 21 IF(AVYU) - YUNITS / 2) 17, ?0, 20 "00171 28 IF(AVY(1) - YUNITS/21 33- 36. 36 000172 C POINTS FALL IN ZONE 6 OR ZONE 8. "00173 C DETERMINE THE LOCATION RELATIVE To THE DIAGONAL. O00174 33 Y = XIN - AVX(I) * INPXUN

)00175 IFCAVY(I) * INPYUN,- Y) 17. ^5. 35 "00176 35 IZ6 = IZ^ + I "00177 IZ0N6CIZ6) = I 000178 GO TO 12 "00179 C POINTS FALL IN ZONE U OR ZONF 6. "00130 C DETERMIr.r THE LOCATION RELATIVE TO THE DIAGONAL.

"U0181 36 Y = AVX(T) * INPXUN - DELTA "00102 IF(AVYII) * INPYUN - Yl 35. 35» ?0

f'00183 12 CONTINUE

"00134 410 FOHM^Tt (Q(4X. 13. 2X. 13))) "00185 C COMPUTE NORMAL DISTRIBUTION 'ROUND BORDER.

.

100186 TOTUIS = 2 * (YIN + XIN + 4* n 0PDlN) 100187 ni NT = IOTDIS / MPS

.00188 CY = YUNITS / YIN 000189 CX = XUNITS / XIN "00190

100191 "00192

.00193 900194

1001^5 PP0196 XLEFT = (-RORDIN) * CX "00197 YTOP =(YIN + BORClN) * CY 000198 XPITE =(XIN + ROR n IN> * CX

•"00199 YPOTOM ^(-PORDIN) * CY "00200 C COMPUTE COORDINATES FOR LEFT BORDER.

000201 CNSTNT = Y30TOM

"00202 CNT = O.n 000203 COORD = CNSTNT

"00204 37 IYL = IY1. + 1 000205 YLEFT(IYL) = COORD

"00206 CNT = C,NT + 1.0 000207 COORD = CNSTNT + CNT * DINTY

100208 IFfCOORD - YTO°) 37i 38. 38 000209 C COMPUTE COORDINATES FOR TOP BORDER.

000210 30 DIFF =<COCRD - YTOP) * CX/CY

"00211 CNSTNT = XLEFT + DIFF 000212 CNT = 0.0 000213 COORD = CNSTNT

C00214 39 IXT = IXT + J 000215 XTOP(IXT) = COORD

D-S

DINTX = DINT * CX IYL = IXT = IYR = DINTY = HINT * CY 1X6 = XLEFT = (-RORDIN)
000216 000217

000218

000219

000220

000221 000222

000223

000224

J00225 000226

000227

000228' 000229

000230

000231 000232

000233 00023f

000235

000236

000237

000238 000239

000240

000241 000242 000243

000244

000245

000246 000247

000248

000249

000250

000251 000252

000253

000254

000255

000256 000257

000258

000259

000260

000261 000262

000263 000264

000265

000266

000267 000268

000269

000270

000271 000272

000273

000274

000275

000276

000277

000278 000279

000280

000281 000282

000283

000284 000285

"00286

000287 000288

000289

000290

000291 000292

000293

000294 000295 000296

000297

0002^8 000299

000300

000301

40

41

42

43

44

52

53

55

3000

3001

3002

3003

CNT - CNT +1.0

COORD = CNSTNT + CNT * DINTX

IFCCOORD - XRITE) 39. 40f 40 COMPUTE COORDINATES FOR RIGHT BORDER. DIFF =(COORD - XRITE) * CY/CX

CNSTNT = YTOP - DIFF

CNT =0.0

COORD = CNSTNT

IYR = IYR + 1 YRITE(IYR) = COORD

CNT = CNT +1.0

COORD = CNSTNT - CNT * DINTY

IF (COORD - YBOTOM) 42 . 42. 41 COMPUTE COORDINATES FOR BOTTOM BORDER. DIFF =(YB0T0M - COORD) * CX/CY

CNSTNT = XRITE - DIFF

CNT = 0.0 COORD = CNSTNT

IXB = IXB + 1 XBOTOM(IXB) = COORD

CNT = CNT + 1.0 COORD = CNSTNT - CNT * DINTX IFfCOORD - XLEFT) 44. 44» 43 END OF SUBSCRIBER COORDINATES ASSIGNMENT.

IFCNPS .NE. (IYL+IXT+IYR+IXB)) IXB = IXB - 1 IF(NPS .NE. (IYL+IXT+IYR+IXB)) STOP FIND DEVIATIONS FROM NORM FOR EACH SIDE.

IDEV2 = IZ2 - IYL IDEV4 = IZ4 - IXT IDEV6 = IZ6 - IYR IDEV8 = IZ8 - IXB PRINT 52. IYL. IXT, TYR. IXB F0RMAT(2X» 'NORMAL DISTRIBUTION IS '. 415) PRINT 53. IDEV2»IDEV4.IDEV6» IDEVS FORM4T(2X» 'DEVIATIONS FROM NORM ARE '» 415) PRINT 55 » IZ2» IZ4» IZ6. IZ8 F0RMAT(2X» 'FIXED VALUES IN ZONES ARE »> 415) PUNCH CARDS FOR COMMANDERS

ASSIGN COMMANDER LOCATIONS CLOSEST TO THE AVERAGE HOMINGS

CALL SORT(IZON2» IZ2. 1) CALL SORT(IZON4» IZ4. 2) CALL S0RT(IZ0N6» IZ6. 3) CALL SORTIIZON8. IZ8. 4) FORMAT (2X.I3.2X.2A6.5X.2F10.2)

PRINT 3001 FORMATCO'. ?0Xr ' ZONE 2 - BFFORE ADJUSTING'/)

DO 3002 I = 1.IZ2 CALL PRECRD (Ir IZON?) PRINT 3000» I> NCOM. NSCRIB' AVX(L>> &VY(L> CONTINUE

PRINT 3003 FORMAT! '0' . DO 3004 I = 20X. 'ZONE 4 l'IZ4 CALL PRECRD (I. IZ0N4) PRINT 3000. I. NCOM. NSCRIB" AVX(L)

BFFORE ADJUSTING'/)

AVY(L ) 3004 CONTINUE

PRINT 3005

3005 FORMATCO'. 20X. 'ZONE 6 - BFFORE ADJUSTING'/)

DO 3006 I = 1.IZ6 CALL DRECRD (I. IZ0N6) PRINT 3000. I. NCOM. NSCIB. AVX(L). AVY(L) 3006 CONTINUE

PRINT 3007 3007 FORMATCO'. 20X. 'ZONE 8 - BEFORE ADJUSTING'/)

DO 3008 I = 1..IZ9 CALL PRECRD (I. IZONB) PRINT 3000. I. NCOM. NSCRIB. AVX<L>> AVY(L) 3008 CONTINUE

CALL PULC0MIIZON2. ITEMP2. 172. I°T2) CALL PULC0MUZ0N4. ITEMP4. IZ4. IPT4) CALL PULC0MIIZ0N6. ITEMP6, I?6. IPT6) CALL PULC0M(IZ0N8' ITEMPR. IZ8. IPT8) LEFT BORDER WRITEUOUT- 400)

WRITE(IOUT. 401) WRITEI3. 318) IPT2 LEAD = 1 422 ICNT =

L = ITEMP2ILEAD)

TAVY = AVY(L) LOOK FOR THE CLOSEST ASSTGNMFMT TO COMMANDEP

DO 413 1=1. IYL ' J = I IF(YLEFTd) - TAVY) 413. 415. 416 416 IF(J-l) 415. 415. 417

417 IFMYLEFT(I) - TAVY) - (TAVY - YLEFT(I-1>>> <*1S, 415. 418
000302

000.503 000304 000305

000306

000307

000303

000309

000310

C00311 000312 ^00313

000314 "00315 000316

000317

000318

000319

000320

">00321 000322 "00323

00032<* 000325

"0U326

000327 000328

"00329

000330

000331

000 332 "00333

00 334 "00335

"00336 "00337

000336 000339

000340 000341

000342 000343

C00344

418

413

415

420 419

421

432

426 427

428

423 4P5

43fl

429

431

442

436 437

438

433

435

440 439

J = 1-1 GO TO 415 CONTINUE IFU.fO.I .OR. J.EQ.TYL) GO T 419 TF(LE4D .6E. IPT2) GO TO 419 LOOK FOR A COMMANDER WItH A PlIPLTCATF AVFRAGF Y COORDINATE.

K = ITEMP2(LEA0 + 1> IP(TAVY - AVY(K)) 41°. 4?0» 410

ICNT = 1 J = J-l CALL PRLCRO (LEADf ITEMP")

WRITE<3.223) NCO'1. n^CRllt XI.FFT, YLFPT(J), TPT WRITE<3.318) (IHOM(I)i r=l»IPT) WRITE! I 01 IT. 40?) LFAD.I\'CO-".MSCPie>XLEFT.YLFFT(J> , AVX(L) . AVY(L)

1 UHOM<I>, 1 = 1, IPT) YLEFT(J) - LEAD = LFAD + 1 IFdCMT .EO. 0) GO T" 421 ICNT = J = J+2

GO TO 411 CALL PIJS"UP(YLFFT.IYL) IFIL^oo ,LE. IPT2) Go TO 4?2 TOP BORDER

WRIT="(IOUTi 403) WRITE (I OUT t 401) WRITE<3. 318) IPT4 LFAD = 1 ICNT =

L - ITEv»«t(LEAO) TAVX = AVX(L) LOOK FOR THE CLOSEST ASSTSNM^NT TO COMMANDER

OO 423 1=1. IXT

J = T TFlXTopd) _ TAVV) 423, "25. 426 IF(J-l) "25. 4?5. 42^ IF((XTOp(I) - TAVX) - (T<WX - XTOP(I- 1 ))) 405. 425. 428

J = J-l

GO TO 4i5 CONTINUE

IF(J.EQ.1 .OR. J.^Q.TXT) GO TO 4?° IFILEAD ,GE. IPT4) GO TO 429 LOOK FOR A COMMANDER WIT l -< A DUPLICATE AVFRAGF X COORDINATE.

V = TTF-io 4 (LFAD+1 ) IFfTAVX - AVX(K)) 42". 470. 1?°

ICNT = 1 J = J-l CALL PREOKD (LEAD' ITE'ipu) WRITE (3. 22 3) NCOW'NS^RIB.XTOPtJ) .YTOP.IP T WRITE(3,318) (IHO'MI), 1 = 1. IPT) WRITE(IOUT*402) L

r AD.!ICO-'.MSCRTB.XTOP(J) .YTOP.AVX(L) . AVY(L) .

I (IHOI"(I), 1 = 1. IPT) XTOP(J) = LEAD = LFAD + 1 IF (ICNT .EO. " To 43] ICNT =

J = J + 2 GO TO 42° CALL PUSHUp (XTOPjfilead .le.

^igi-it Rudder

write (iout. 4q4)

WRITEdOUT, "01) WRITE (3. 318) IPT* LEAD = I TCNT = C L = ITEMP6 (LEAD) TAVY = AVY(L) LOOK FOR THE CLOSEST ASSIGNMENT TO COMMANDER.

DO 433 1=1, IYR

J = T IF(YRITEd) - TAVY) u36. 435

IF(J-l) "35. 435. 43"7 IF( (YOITEl 1-1) - TAVY)

J = J-l GO TO 43 c CONTINUE IFU.E0.1 .OP. J.EO.IYR) GO to 4?9 IFILEAD .GE. IPT6) GO TO "39 LOOK FOk A COMMANDER WITH A ^UPLTCATF AVERAGE Y COORDINATE.

K = ITEMP6<LEAD + 1) IFtTAVY - AVY(K)) 43°. 440. "3"

ICNT = 1 J = J-l CALL PRECRD1LEAO. ITE"P6) WRITE (3. 223) NCOM.NSCRIB.XRITF. YRITE(J) .IPT

IVT) IPT4) GO TO 432

433 (TAVY-YPITEt I) )

)

47B, 4^5.43^
000388 C WRITE(3.318) (IHOM(I)f I=lrIPT) 000389 WRITE (IOUT, 402) LEAD.NCO-«>NSCPIB> XRITE, YRITE ( J) . AVX (L) ,AVY(L) "00390 1 (IHOM(i), 1=1, IPT) 000391 YPITE(J) = 000392 LEAD = LEAD + 1 "00393 IFCICMT .EO. 0) GO TO 441 000394 ' KNIT = C 000395 J = J+2 "00396 GO TO 43 Q "U0397 441 CALL PUSHUP ( YPITE > I

Y

D ) 000398 IFtLEAD .LE. IPT6) GO TO 442 000399 C noTTO" BORDEP

•"00400 WRITECIOUTi 405) 000401 WRITE ("ibUfi 401) "00402 C WRITE (3> 31«) IPT8 "00403 LEAD = 1 000404 45? ICNT = n "00405 L = ITEMP6 (LFAD) "004O6 TAVX = A"X(L) "00*07 C LOOK FOR THE CLOS r ST ASSIGNMENT TO CO MMANDEP

"00408 00 443 I=lrIXB "00409 J = T 000410 TFUROTO'HI) - TAVX) 446< 44^, 44^ "00411 446 IP(J-l) 445> 44b, W "00412 447 IF( (YROTOMd-1 ) - TAW) - ( TAVX-XROTOM ( I ) ) ) 448, 445, 445 500413 448 J=J-l 000414 GO TO 445 000415 443 CONTINUE

':004l6 445 IFCJ.EQ.1 .OR. J.EQ.IXR) GO TO 440 "00*17 IFILEAC .GE. TPT8) G^ TO 449 "0041R C LOOK, POR A COMMANDER WITH A OIJPLICATF AVERAGE X COORDINATE.

"00419 K = ITEMP6CLEAO+D

"00"20 TF(TAVX - AVX(K)) 44Q, 450, 449

"00421 450 TCNT = 1 000422 J = J-l 000423 44° CALL PRCCRD (LEAD, ITMPo)

"00424 C WRITE(3, 223) NCO'», NSCR 10 , XBOTOM ( J) , YROTOM , IPT

.'00425 C WRITEC3, 318) (IHOM<I>» I=lrIPT)

''0 0426 WRITE(H'HT,40?) LEAD , f 'CO' 1 ' NSCPIB , XBOTOM ( J ) , YROTOMr AVX ( L) rAVY(L) > "00427 1 (IHO'MI), 1=1, IPT) "00428 XROTO"i(j) = 000429 LEAD = LEAD + 1 "U0430 IFCICNT .EG. 0) G"> TO 451 "0U431 ICNT = "00432 J = J+2 000433 GO TO 440 "00*74 451 CALL PUSHUP (XBOTOM, IXB) "00435 IFILEAD .LE. IPT8) GO TO 452 000436 TFIIOEV2 .EQ. .AND. TDFV4 .FO. .AND. IDEV6 .EQ. .AMD. IDFVP 000437 1 .EO. 0) GO TO 200 "00438 C ROTATE AROUND CORNERS FOR NORMALIZING DISTRIBUTION OF SUBSCRIBERS.

000439 PRINT 25", I">FV2> IDFV4, IDEV6, TDEV8 000440 250 FORHAT(2X, 'START RO T ATriG CLOCKWISE'/ (4(2/, 14))) "00441 C ******************************************************************

"00442 C THIS SECTION IS PRESENTLY INTERACTIVE CAM RF PROGRAMMED TO RE AUTOMATIC.

C0044 3 J=^4

000444 CALL R0TATE(IZ0N8, IZ°, IZ'"N2,IZ2, J,4) 000445 IDEV8 = TUEVR - J "00446 IDEV? = IOEV2 + J 000447 J = 14 "00446 CALL R0TATECIZ0N4»IZ'i»IZON2rIZ2rJr4) "00449 IDEV4 = I0FV4 - J 000450 IDEV2 = IDEV? + J '00451 J = 14 "00452 CALL ROTATE ( IZ0N8 > IZ8 » IZ0N6 > T 7 6 , J , 2

)

"00453 IDEVA = ILEVF - J "00454 IOEV6 = IUEV6 + J "00455 J = 8 "00456 CALL R0TATEIIZON6, I?6, IZ^M4,T74, J, 1) "00*57 IDEV6 = IDEV' - J "00458 I0EV4 = IDEV4 + J "0U459 GO TO 205 "00460 C ******************************************************************

"00*61 IFCIDEV2 .LE. .OR. I0EV4 .GE. 0) GO TO 101 "00462 J = TDEV4 * (-1) "00463 IF(I"1PV2 ,LT. J) J = IOF.V2 "00464 CALL R0TATE(IZ0N2< I?2> IZON'i. 174, J, 1) 000465 IDEV2 = IDEV2 - J "00466 IDEV4 = IDEVU + J "00467 101 IFIIDEV4 .LE. .OR. IDEV6 .GE. 0) GO TO 102 000468 J = IDEV6 * (-1) "00469 IFCI0EV4 .LT. J) J=IDEV4

"00470 CALL ROTATE (IZ0N4, IZ4, IZ0t"6» IZ6» J, 2) 000471 IDEV4 = IOEV4 - J "00472 IDEV6 = IDEV6 * J 000473 102 IP(IDEV D .LE. .OR. IDEVP .GE. 0) GO TO 107

D-8
"004 74

>0U>»75

"00 431

100482

100483

"CO IKI 'U0'«85 noouat

7 100488

~oo r i89

"00'i-)0 000491 "0U492

100493

'00494 000495

?00496

1004-97 r00498

900499

'•OObOO

00 .01 100502 "J0513

900504

100505 "00606 "00^07

700508

'00509 °00610

00051] 000512

~0Ur>13

r 00514

r uu615

100->16 TP0M7

100518

)00519

100520

n 00j21 100522

T00523

100524 P0u525

"00526

"00527

"P0i2»j "00629

"00530 P00631 r00532

?00533

'100531* "0 0635

TO 0.-36 C00537

100538

100539

100540

?00541 000542

Ceu'i" 3 "00544

300545

546 100547

'J 00 54 8 :ou r -49 ""0550

100551 "0055?

1 00653

100 i>54 C00555 "00556

'00 1 57

"'•u

r -5*

''PO .59

l n-»

inn

105

me.

I 7

108

J - T^fV iFtmrvi

CALL "OT IGEVn =

T. I V> = IF( i J = t'WM

IF (inn/ , CALL POT

IOEV 1 = ToEv" =

tf< nrvj

I .EG. 0) PRINT 11 116 Fo,< 1T <. ooTF T|r S IF(1')FV,

J = IOE\, iF(iorv £ TALL R01 TDEV2 = IOEVa = IF( lory i J = IOEV intnr (/ * CALL ROT TPEV8 = IPEV6 = IF( I0FV6

J - TOF„ 'FlIO^Vo

CALL "Dl IHEV6 = inLvi = IF(IT7 V4

j = idev IFdHEVU

CALL POT TOEV4 = TDEV'P = IFdnrv^

1 200

C LAST AOJ PRINT 10 109 FORMAT (2 TF( IOEV?

TF(I'"> r V*

TF( nev6

TFdOFV.M

"1 C IF(IOEV2

i Tue.vi . 218 PRINT 11 117 FORMAT (2 STOP

TF( ( I'IFv J = IHEV

IF (J .EG CALL POT TDEV2 = TDEV4 =

call, pot

KIEV!* = IPEVfi = J = T"E\, CALL "'IT IPEV? - IPEV? = C„LL DOT TDEV° = TPEV6 = GO to ?u

if{ i r->F\,

.1 = T'iF IF (J .EO CALL «OT

IP.EV'l = TOE j 6 = CALL c O-\ IPEVn = nE»/i =

= I'F, CALL »OI IDEV4 r TPEV? = Call 9oi

TP-tV? =

< (-1

)

.LT. J) .1=1iiEV6 ATF(I70Ur,. p<i, T70ll»» 178. J. 3)

i . .. - J IlFV" + J

.I.E. 1 .Ok! I n L"? . r-F. 0) GO TO 10H

a * (-1

)

.LT. J) J=I^EV8

1TF (l?0'! n r '/Hi IZOf ?. 172- J. "> ICEVK - J TDEV2 • J ,eo. n .and. run/4 .fo. o .and. idfv6 .fq. n ,/\md. tdevp

bO TO 200

6. ir.FV2> IDFV4. I0EV6. TDEVP

v, 'POTATF SUHSC'IRERS COUNTF9CLOCK',. TS^ • / ( 4 ( ?X > T 4 ) ) ) I'LiSCPIBERS C ol INT r RCLOCK WIFE.

.LF. ."R. IOEV3 .OF. D On to IO ri \ * (-1

)

.LT. J) J=IoFV2

ATF(I70MP> 17?. T70N°-» I 7n » J» 3) TLEV2 - J ILEtf" + J

• LE. . n R. inr. 1 '^ .CF. p) go TO 1 OF

^ * (-1

)

.LT. J) .l=I'-FV8 ATECT70N8. I7f\, I?0Nf-» 176. J, 2) TL;EV" - J TDEV6 +J

• LF. . n R. IOE'"! . C F, n) r-,0 TO 117

4 » (-1

)

.LT. J) J=I'-FVo "TL(T 7 0;.|u> I"7 ^, rZON'i. IZ4. J. D

TL1 EV6 - J TDEV4 + J .LE. .OR. IOE''? .RE. 1) GO TO 10P

> * (-1 ) .LT. J) )ZI-'FVU

lUF(I70N4> 174. TZON?. 172. J. 4) TLEV4 - J TlvEV? + J .EO.I.ATIO. in,"V4.FO.0.AMD. TDFV6.E n . . AMO. IOEVR.Fo.O) GO Tri

IC.TMFMT 'A^GI'iS o. IOCV2. IO r V4. TnEV6, TOEVS

v.. 'LAST POTATIO'I BEGIMS'/(4(2X. 14)))

,PT. .AND. Iu r"V6 .LT. 0) r.r, tp IIP

.GT. .AND. ID^VP .LT. 0) CO TO 111 .CT. .'NO. IH r V2 .LT. 0) GO T" 11?

.GT. P .AND. TDC'V4 .LT. 0) GO TO 113

.E'J. .ANO. ID r"V4 .FO. .AND. TDFV6 .FQ. 1 .CD.

Fti. 0) GO TO 200

7, 172. IYL. 174. IXT. 176. IYR. TZ^ •ERROR ILL ''FviATiofiS SHOULH = 0' KB. NPS

. °I6)

110

1 20

HI

1?1

? + IDEV6) ."-IE. 1) go t ?13

? / 2

. P) GO TO 1-iQ ATEIT70N2' 172. TZON 1'. 174. J. D

IUEV2 - ) IDF.V4 + J

AT^ (170(14. 174, TZ0N6, 176. J. 2) TuFV" - J TNFV6 + J

2ATF(IZOM2' 172. I70IIP. 173. J. 3' IOEV? -J

Tl.FV" +J ATF(IZ0IJ a . 178. TZ0N6. 176, J, 2) TL r VP - J TLFV6 + J

4 * IDEV°1 ."F. P) GO TO ?ln 4/2

. i ) GO to 1->1 UFU70.T4. 174, TZ0N6, 176, J. 2) TUEV4 - J TCEV6 + ,1 ATEII70M6. K6. Tom;, izp. .1. 3> ILFV6 - J

IIjEVI + J

'iATFIT70N4. 174, T70N?, 172, J, u) TUEV4 - J TuFVP -t J ATEIT70N?, 172. T70N". 17", J> 3' TuEV? - J
000560 IOEV8 = IDEVfl + J 000561 GO TO 205 000562 11? IFUIDEV6 + TOEV2> ."E. 0) 60 TO 219 C00563 J = I1EV6 / 2 000564 TF(J .EG." 0) GO TO 1?? 000565 . CALL ROTATE ( I70N6 . 176- TZONP. 17°> J. 3) 000566 IHEV6 = IGEV6 -J 000567 IDEV3 = I0EV8 + J 000568 CALL ROTATE ( TZON8 ' 17". T70n?. 172. J. 4

• 000569 TOEV8 = TDEVP - J "00570 Ir>EV2 = I0EV? + J 000571 122 J - IDEv6 "00572 CALL ROTATE t TZ0N6 - I76> I70N4, 174. J. 1) 000573 IDEi/6 = T0EV6 - J 00057H I0EV4 = IUEV4 + J 000575 CALL ROTATE(I70N4. I 7 4. IZ0N2» 172. J. 4) 000576 I0EV4 = I0EV4 - J 000577 IDEV? = TDEV2 + J "00578 GO TO 205 000579 113 TF((IDEV8 + T n FV4) .ME. ") GO TO 21« "00580 J = I0EV8 / 2 000501 IF(J .E8. 0) GO TO 123 C00582 CALL ROTATE ( IZ0N8'" 178. T70N?. 172. J. 4) 000583 IPEV8 - TDEVP - J "00584 IOEV? = luEV? + J 00535 CALL ROT " TE ( IZ0N2 ' I 7 2» IZ0N4i IZ4i J. 1> "00586 I0EV2 = Tl/FV? - J "00587 IOEV4 = IDEV4 + J "00588 123 J = IOEvP "U0589 "ALL ROT*TE ( IZONB> I 7 «> T ZONf> 176. J. 2' "00590 IPEV8 = TUFVP - J 000591 IDEV6 = IDEV6 + J 000592 CALL POT 3TF(I 7 0N6. I 7 6. TZON", IZ4. J. 1) 000593 IPEV6 = TDEV6 - J "u0594 I0EV4 = TDEV4 + J 0CO595 GO TO 205 "00596 C SORT ALL ZONES F">R PRINTOUT

"00597 200 CALL SORT ( IZ0N2 . TZ2. 1) 000598 CALL SOxT ( I Z0N4 , TZ't. 2) "00599 CALL S0.iTUZ0N6» IZ6i 3) 000600 "ALL SOhT(IZ0M8. TZM. '») "00-jOl C FIND THE CO'-"-'ANDE°S TO H r PI.OTTEP ON THI^ CHART. 000602 THER^ WILL HF AT ''OST 5 COMMANDERS ANO T^FIP SU^ORDTNATF^ ON A CHART. "00o03 'iOSPFP = 5 "00604 MOCMOR = NAMFPT

"00605 T "

, = t "00*j06 ICHA^T = o OU0607 C FIND THF NO. OF C

l4 ARTS.

"00'-t08 NOCHRT = IjOO'PR / NO" Dr P "00d09 TREMOR = NOC"DR - NOSPER * NOCHRT

000610 IF(IRE«riP ,:|r. ) ijoohdj = NOCHRT + 1 "00511 C FI l n THE NO. OF SUBSCRIBERS nc R CHr^r

"00ol2 NOSPER = uOC" nn / NOCHRT

"00613 IRErOR = NOCMOR - NOSPER NOCHRT

000614 46" ICHART = 1CHAPT + 1 "'00615 IFdCHAUT .GT. NOCHRT) R^TUR^' "00616 IPEGT' 1 - IFND + 1 000ol7 TRW = IEND + MOS"ER "00618 TF(ICHA;T ,LF. IREMDR) IEND - IEND + 1 "0ut19 IFCIEMO .lc. NAME^T) 00 t 4=7 000620 PRINT 456, ( j/\\«EpT. ir-in 000621 456 FOR'-lAT(2X. 'FRROR.- NAME°T = • . I 3 . 2* .

• TE" n = '»T11 000622 STOP "00623 C PUNCH CARUS FOR L^FT BOR"EP

"00624 457 ICMT : < 000625 >JPITE(TOUT« 400) C00626 400 FORMAT (1H1 1 35X. MHLEFT BOR" r F//) "00u27 WRIT^ (IOUT. 401) "00626 u 01 ^OR.-iATITv, °HCO '•lV^ND'-R . 2Xi 1 1 MS' ID OROTMATF r RX. 8HX COOP".. 7X

"00629 1 OHY COO"U. .2X. • AV. X'rlXr'AV-. Y'. 8X. 7HH0-INGS/)

"00630 318 FOR,IAT( 3 Tb) 000631 00 2?o 1=1, 172 000632 CALL PPECRP (I. T ^OM?

"00633 DO 468 K - IBEGIN. IENH 000634 IFtNCOM .EO. NAMECD fK>) GO TO 455 "00635 458 CONTINUE "00536 GO TO 22" "00637 455 CONTINUE

"00633 TCNT = ICIiT + 1 "00639 C <RITE(3i 223) NCO"1 , "SCRTH. YLFFT, YLFFT(I). IP X "00640 '23 F0RMATI2X, A3. 2X . A3< 2^X, ?F10.5. 'X. T3) "00641 C WRITE(3i 318) (IHOM(J)» J=liIPT) 000642 ||RITF( IOUT • 402) I CmT .NCO". NSCRIb. XL rr T, YL^FT ( I) .AUX(L) .AVY(L)

000643 1 (IHOM<J)i J=1,IPT) "00644 402 F0RWAT(2X.I3.4XrA3»9v.A3. 10X.F10.5r6X,Fl".5.

"00645 1 2X'FS.2,lx.'r ^.2.^X.^( I4.2X) ) "00646 220 "ONTTNUE

D-10
000647

000648 000649

000650

000651 000652 000653

000654

000655

000656

000657

000658

000659

000660

000661 000662 000663

000660 000665

000666

000667

000668

000669

000670

000671 000672

000673

000674

000675

000676

000677

000678

000679

000680

000681 000682

000683

000684

000685

000686 000687

000688 000689

000690

000691 000692

000693

000694

000695

000696

000697

000698 000699

000700

000701 000702 000703

000704

000705 000706

TPT

WRITE (3. 318) ICNT PUNCH CARDS FOR TOP ROROFR

ICNT = WRITE (IOUT.403)

403 FORMATdHl. 36X. 1 OHTOP RORDFR//) WRITE (IOUTr 401) DO 224 1=1. IZ4 CALL PRECRDd* IZ0N4)

00 501 K = IBEGIN. IEND IFINCOM .EQ. NAMECD (K)) GO TO 502

501 CONTINUE

GO TO 224

502 CONTINUE

ICNT = ICNT + 1 WRITEI3. 223) NCOM, NSCRTR, XTOP(I). YTOP. WRITE(3. 318) (IHOM(J). J=1,IPT>

WRITEIIOUT.402) ICNT.NCO"* NSCRIR, XTOP(T). YTOP. AVX (L) . AVY (L >

.

1 (IHOM(J), Jrl.IPT)

224 CONTINUE

WRITE (3. 318) ICNT PUNCH CARDS FOR RIGHT BORDER

ICNT = WRITE (IOUT. 404) 404 FORMATdHl. 35X » 12HRIGHT RORTFR//) WRITE (IOUT. 401)

DO 225 1=1. IZ6 CALL PRECRDd. IZ0N6)

DO 503 K = IPFGIN. IEND IFfNCOM .EQ. NAMECD (K> ) GO TO 504

503 CONTINUE

GO TO 225

504 CONTINUE

ICNT = ICNT + 1 WRITE(3. 223) NCO". NSCRIR. XRITE. YPITEd). IPT WRITE(3. 318) (IHOM(J). J=1.IPT)

WRITE(IOUT.402) ICNT. NCOM, NSCRIB* XRITE. YRITF (I ) . AVX (L) . AVY (L )

.

1 (IHOM(J), J=1.IPT)

225 CONTINUE

WRITE (3. 318) ICNT PUNCH CARDS FOR BOTTOM BORDER

ICNT = 405 FORMATdHl. 34X. 1 3HR0TT0M BORDER//) WRITE (IOUT. 405) WRITE (IOUT. 401) DO 226 1=1. IZ8 CALL PRECRDd. IZ0N8) DO 505 K = IBEGIN' IEND IF(NCOM .EQ. NAMECD (K)) GO TO 506

505 CONTINUE

GO TO 226

506 CONTINUE

ICNT = ICNT + 1 WRITE(3. 223) NCOM. NSCRIB, XBOTOM(I). YPOTOM. TPT WRITE13. 318) (IHOM(J). J=1,IPT) WRITE (IOUT .402) ICNT. NCOM. NSCRIB. XBOTOM ( I ) . YROTOM. AVX (L) .AVY(L)

.

1 (IHOM(J), J=1,IPT)

226 CONTINUE

WRITE (3. 318) ICNT

GO TO 460 END

000001 000002 000003

000004

000005

000006 000007

000008

000009

000010

000011 000012

000013

000014

000015

000016

000017 000018 000019

000020

000021

SUBROUTINE PRECRDd* IZOM) COMMON /CMDR/ ICOM(500 ) . ISUB < 500 > . IHOME1 (500 ) . IHOME2 ( 500 > < NS COMMON /ECON/ IPSUB(500) *AVX(500> *AVY(500) *IZON2(500) *IZON4(500)

.

1 IZON6(500) »IZON8(500)*

2 1H0M(5). YLFFT(200)» XTOP(200)* YRITEI200)*

3 XBOTOM(200)» IPT* NCOM* NSCRIB. IBLAMK. IOMT.L DIMENSION IZON(200)

L = IZON(I)

LL = IPSUB(L) NCOM = ICOM(LL) NSCRIB = ISUB(LL)

IPT = 121 IPT = IPT + 1 IHOM(IPT) = IHOMEKLL)

IF(IHOME2(LL) .EQ. -1) RETURM

IPT = IPT + 1 IHOMdPT) = IHOME2(LD

LL = LL + 1 IFdCOM(LL) .EQ. NCOM .AND. ISUB<LL) .EQ. NSCRIR) GO TO 121 RETURN

END

D-ll
" 1 SUBROUTINE ROTATE ( IFROM. IPFR. ITO. IPTOr NO. IFLAG) 100002 DIMENSION IFROMdO), ITO(IO) 000003 CALL SORTdFROM, IPFR. IFLAG) "00004 DO 1 I = l»NO 000005 IPTO - I DTO + 1 » "00006 ITO(IPTO) = TFRO^dPFR)

C00007 1 IPFR = I°FR - 1 000008 RFTURN

00009 FND

"00.101 SUBROUTINE SORTdARRAYi tpta. IFLAG)

100002 COMMON /FCON/ IPSUB (500 ) » AVX (500) f AVY (500) "00103 DIMENSION IARRAY(TPTA)

"00004 C SORT IS DEPENDENT ON IFLAG "00005 C IF IFLAo = 1 - ASCENDING Y, ASCENDING X "00006 C IF IFLAG = 2 - ASCENDING X, ASCENDING Y "00007 C IF* IFLAG = 3 - DESCENDING Y. DESCFNDIMG * "00008 C IF IFLAG = 4 - DESCENDING Xi DFSCFNDING Y "00009 J = IPTA - 1 roOOlO TF(J .LC. 0) RETURN

"00011 no 1 1=1.

j

"00012 I" = lARPAY(I) "00013 TAVX = A\'X(IP) "00014 TAVY = AVY(IP)

(.00015 v '- 1 + 1 000016 DO 2 L=K » IPTA "00nl7 1PP = IARKAY(L) 000018 IF (IFLAG .HE. 1) GO TO I"' "00019 IF(AVY(IPP) - TAVY) *. 4. 2 <;ijOP20 4 IF(AVX(IPp) - TAVX) 3. 2» 2 ^00021 10 IFdFLAG .NE. 2) GO TO 20 "00022 IF(AVXdPp) - TAVX) 3. 5- 2 "00023 5 ir(AVYIIPP) - TAVY) 3. 2r 2 "00024 20 IFIIFLAG .ME. 3) "-0 to 30 "U0025 IF(AVY(I n P> - TAVY) 7> , 6. 3 "00026 6 IF(AVX(IPP) - TAVX) ">

, 2- 3 "00027 30 IFdFLAG .EO. 4) "0 TO 31 "00028 PRINT 32 "00029 32 FORMAK^X. «frroR IN FLAG TO SORT ROUTINr . VALU r MUST BE FROM 1 -4

.

'"00030 1 •/) "00031 STOP "00U32 31 IF(AVXdPP) - TAVX) ?t 7. 3 100033 7 IF(AVY(I"P) - TAVY) ? , 2> 3 . "00034 3 TAVX = aVX(IPP) "00035 TAVY = mVY(IPP) 000036 I ARRAY (L) = IP "00)37 IP = TPP 0OCO38 2 CONTINUE

"00039 lARkAY(I) = IP "00040 1 CONTINUE

000041 RETURN

000042 F*ID

ILWTOIH'it 1'IILl.U' U'U'II lit""' l'-'Z.r II I I COMMON /CN.DR/ ICOM ( snn ) . ISUB ( SCO ) »IH0ME1 < ^00 ) < IM0ME2 ( 500 > » NS COMMON /FCON/ IPSUB (500) r AVX (500) .AVY (500) , I70N2I500) . IZON4I500)

.

1 IZ0N6I500) .TZONn(500)

.

"00001 SUBROUTINE PULCO'1 (I70N. ITE»'". IPZ> ITT) "00002 "00003

"00004 "00005 2 IHOM(b). YLFFT(?00)» XTOP(200). YRITE(200).

100006 3 XBOTOM(?C0). IPT. NCOM, NSCTR. IBLANK. IOUT.L "00007 DIMENSION IZON(IO). TTEMP(IO) "00008 DATA/IBLANK/ 6H 000009 ITT = 000010 DO 1 1=1. IPZ "00011 L = IZOM(I) 000012 LL = IPSUB (L) 000013 IFdSNB(l.L) .NE.I^LANK) GO TO 1 "00014 TTT = ITT + 1 C00H5 ITEMP(ITT) = L 100016 IZON(I) = 000017 1 CONTINUE

"00018 CALL PUSHUP (IZON. I<V> 100019 RETURN

"00020 END
000001 SUBROUTINE PUSHUP (I70N. IPZ) 000002 DIMENSION IZON(IO) 000003 ICNT = 000001* DO 1 I=1»IPZ 000005 IF(IZONd)) 3» 2» 3 000006 2 ICNT = ICNT + 1 000007 GO TO 1 000008 3 IF(ICNT) 1. 1. 4 000009 4 IZON (I - ICNT) = IZONtI) 000010 1 CONTINUE

000011 IPZ = IPZ - ICNT 000012 RETURN

000013 END

4A IREV. 7-73)

S. DEPT. OF COMM. HJOGRAPHIC DATA

SHEET

PUBLK A riON OR RKPOR 1' NO. NBS TN-8292. Gov't Acce

No.

3. Recipient s Accession Nc

LE AND SUBTITLE

Multi commodity Network Plotting via Program NETPLT

5. Publ ii .it ion Dan June 1974

6. Performing Organization (ode

640.01

HOR(S1

Zella G. Ruthberg, Gloria R. Bolotsky , William Slater ,Jr.

8. Performing Organ. Report Nc

vFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

10. Project/Task/Work Unit No. 640.2456

11. Contract/Grant No. RO 72-78

>nsoring Organization Name and Complete Address (Street, City, State, ZIP)

Defense Communications Agency

13. Type of Report & Period Covered

Final

14. Sponsoring Agency Code

PPLEMENTARY NOTES

Library of Congress Catalog Card Number: 74-600074

STRACT (A 2 00- word or less factual summary of most significant information. If document includes a significant

biography or literature survey, mention it here.)

In the design and operation of complex networks , it is often an advantage

to obtain a visual representation that readily allows for a quick appraisal

of the network's current configuration or of its changed appearance due to

variations of its nodes and links. The program NETPLT enables a user to

plot the two leading characteristics of any multi commodity network:

(1) nodes and links and (2) the multiple source-sink structure (multicommodity property) . The unique feature of NETPLT is its unambiguous

planar representation of links. NETPLT uses an arc of a circle instead

of the usual straight line, to represent a connector between a node pair

(link) .

V WORDS (six to twelve entries; alphabetical order; capitalize only the first letter of the first key word unless a proper

le; separated by semicolons)

Communication network; multicommodity network; network; network display;

plotting algorithm; plotting program.

AILABILITY [X Unlimited

For Official Distribution. Do Not Release to NTIS

: Order From Sup. of Doc, U.S. Government Printing Office

1 Washington, D.C. 20402, SD Cat. No. C13 , 46:829

Order From National Technical Information Service (NTIS)

Springfield, Virginia 22151

19. SECURITY CLASS

(THIS REPORT)

UNCLASSIFIED

20. SECURITY CLASS

(THIS PAGE)

UNCLASSIFIED

21. NO. OF PAGES

67

22. Price $1.10

USCOMM-DC Z9042-P74 GOVERNMENT PRINTING OFFICE: 1974- MJ-U48:41

NBS TECHNICAL PUBLICATIONS

PERIODICALS JOURNAL OF RESEARCH reports National Bureau of Standards research and development in

physics, mathematics, and chemistry. Comprehensive

scientific papers give complete details of the work,

including laboratory data, experimental procedures,

and theoretical and mathematical analyses. Illustrated with photographs, drawings, and charts. Includes

listings of other NBS papers as issued.

Published in two sections, available separately:

• Physics and Chemistry (Section A)

Papers of interest primarily to scientists working in these fields. This section covers a broad range of physical and chemical research, with major emphasis on standards of physical measurement, fundamental

constants, and properties of matter. Issued six times

a year. Annual subscription: Domestic, $17.00; Foreign, $21.25.

• Mathematical Sciences (Section B)

Studies and compilations designed mainly for the mathematician and theoretical physicist. Topics in mathematical statistics, theory of experiment design,

numerical analysis, theoretical physics and chemistry,

logical design and programming of computers and

computer systems. Short numerical tables. Issued quarterly. Annual subscription: Domestic, $9.00; Foreign,

$11.25.

DIMENSIONS, NBS

The best single source of information concerning the Bureau's measurement, research, developmental, co- operative, and publication activities, this monthly

publication is designed for the layman and also for the industry-oriented individual whose daily work

involves intimate contact with science and technology —for engineers, chemists, physicists, research manag

ers, product-development managers, and company

executives. Annual subscription: Domestic, $6.50; Foreign, $8.25.

NONPERIODICALS Applied Mathematics Series. Mathematical tables, manuals, and studies. Building Science Series. Research results, test methods, and performance criteria of building materials, components, systems, and structures. Handbooks. Recommended codes of engineering

and industrial practice (including safety codes) de- veloped in cooperation with interested industries,

professional organizations, and regulatory bodies. Special Publications. Proceedings of NBS conferences, bibliographies, annual reports, wall charts,

pamphlets, etc. Monographs. Major contributions to the technical

literature on various subjects related to the Bureau's

scientific and technical activities. National Standard Reference Data Series.

NSRDS provides quantitative data on the physical

and chemical properties of materials, compiled from

the world's literature and critically evaluated. Product Standards. Provide requirements for sizes, types, quality, and methods for testing various industrial products. , These standards are developed co- operatively with interested Government and industry groups and provide the basis for common understanding of product characteristics for both buyers and

sellers. Their use is voluntary.

Technical Notes. This series consists of communications and reports (covering both other-agency and

NBS-sponsored work) of limited or transitory interest. Federal Information Processing Standards

Publications. This series is the official publication

within the Federal Government for information on

standards adopted and promulgated under the Public

Law 89-306, and Bureau of the Budget Circular A-86

entitled, Standardization of Data Elements and Codes

in Data Systems.

Consumer Information Series. Practical information, Based on NBS research and experience, cover- ing areas of interest to the consumer. Easily understandable language and illustrations provide useful background knowledge for shopping in today's tech- nological marketplace.

BIBLIOGRAPHIC SUBSCRIPTION SERVICES

The following current-awareness and literature-survey bibliographies are issued periodically by the Bureau:

Cryogenic Data Center Current Awareness Service (Publications and Reports of Interest in Cryogenics).

A literature survey issued weekly. Annual subscription: Domestic, $20.00; foreign, $25.00.

Liquefied Natural Gas. A literature survey issued quarterly. Annual subscription: $20.00. Superconducting Devices and Materials. A literature survey issued quarterly. Annual subscription: $20.00. Send subscription orders and remittances for the preceding bibliographic services to the U.S. Department

of Commerce, National Technical Information Service, Springfield, Va. 22151. Electromagnetic Metrology Current Awareness Service (Abstracts of Selected Articles on Measurement

Techniques and Standards of Electromagnetic Quantities from D-C to Millimeter-Wave Frequencies). Issued monthly. Annual subscription: $100.00 (Special rates for multi-subscriptions). Send subscription order and

remittance to the Electromagnetic Metrology Information Center, Electromagnetics Division, National Bureau

of Standards, Boulder, Colo. 80302. Order NBS publications (except Bibliographic Subscription Services)

from: Superintendent of Documents, Government Printing Office, Washington, D.C. 20402.
U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

Washington, D.C. 20234

OFFICIAL BUSINESS

Penalty for Private Use. $300

POSTAGE AND FEES PAID

U.S. DEPARTMENT OF COMMERCE COM-21 5

7^6-19lfe