NBS ^LIMIPAI

Mm I m. #^^^m I

Applications of a Time-Sharing Computer

in a Spectrochemistry Laboratory:

Optical Emission and X-ray Fluorescence

407

A** OF coA

Z9

»

\

'"!'/»

1*

V) o

^tAU Of *

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards
THE NATIONAL BUREAU OF STANDARDS

The National Bureau of Standards1 provides measurement and technical information services

essential to the efficiency and effectiveness of the work of the Nation's scientists and engineers. The

Bureau serves also as a focal point in the Federal Government for assuring maximum application of

the physical and engineering sciences to the advancement of technology in industry and commerce. To

accomplish this mission, the Bureau is organized into three institutes covering broad program areas of research and services: THE INSTITUTE FOR BASIC STANDARDS . . . provides the central basis within the United

States for a complete and consistent system of physical measurements, coordinates that system with the 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. This

Institute comprises a series of divisions, each serving a classical subject matter area: —Applied Mathematics—Electricity—Metrology—Mechanics—Heat—Atomic Physics—Physical

Chemistry—Radiation Physics-—Laboratory Astrophysics2—Radio Standards Laboratory,2 which

includes Radio Standards Physics and Radio Standards Engineering—Office of Standard Refer- ence Data. THE INSTITUTE FOR MATERIALS RESEARCH . . . conducts materials research and provides

associated materials services including mainly reference materials and data on the properties of materials. Beyond its direct interest to the Nation's scientists and engineers, this Institute yields services which are essential to the advancement of technology in industry and commerce. This Institute is or- ganized primarily by technical fields: —Analytical Chemistry—Metallurgy—Reactor Radiations—Polymers—Inorganic Materials—Cryogenics2—Office of Standard Reference Materials.

THE INSTITUTE FOR APPLIED TECHNOLOGY . . . provides technical services to promote the use of available technology and to facilitate technological innovation in industry and government. The

principal elements of this Institute are

:

—Building Research—Electronic Instrumentation—Technical Analysis—Center for Computer Sci- ences and Technology—Textile and Apparel Technology Center—Office of Weights and Measures —Office of Engineering Standards Services—Office of Invention and Innovation—Office of Vehicle

Systems Research—Clearinghouse for Federal Scientific and Technical Information3—Materials

Evaluation Laboratory—NBS/GSA Testing Laboratory.

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

20234.

2 Located at Boulder, Colorado, 80302.

3 Located at 5285 Port Royal Road, Springfield, Virginia 22151.
UNITED STATES DEPARTMENT OF COMMERCE

Alexander B. Trowbridge, Secretary

NATIONAL BUREAU OF STANDARDS • A. V. Astin, Director

NBS TECHNICAL NOTE 407

ISSUED FEBRUARY 1968

Applications of a Time-Sharing Computer

in a Spectrochemistry Laboratory:

Optical Emission and X-ray Fluorescence

Stanley D. Rasberry, Marvin Margoshes,

and Bourdon F. Scribner

Spectrochemical Analysis Section

Analytical Chemistry Division

Institute for Materials Research

NBS Technical Notes are designed to supplement the Bureau's regular publications program. They provide a means for making available scientific data that are of transient or limited interest. Technical Notes may be

listed or referred to in the open literature.

For sale by the Superintendent of Documents, Government Printing Office

Washington, D.C., 20402 - Price 40 cents

TABLE OP CONTENTS

PAGE

I. INTRODUCTION 1

II. THE COMPUTER SYSTEM 3

III. THE PROGRAMMING LANGUAGE AND SYSTEM COMMANDS . . 7

IV. THE INPUT STATEMENT 13

V. APPLICATIONS OF THE SYSTEM IN SPECTROCHEMISTRY . 15

VI. LIMITATIONS OP THE SYSTEM 20

VII. DISCUSSION 22

VIII. ACKNOWLEDGMENT 2 3

IX. REFERENCES 24

Appendix I. Basic Statements 25

Appendix II. Summary Description of Some Computer

Programs in the BASIC Language of

Interest to Other Spectrochemistry

Laboratories 26

KAISER 2 7

INTEN2 29

CODEBC and CFIT2 31

XRAY1 37

XRAY2 39

PLATE1 41

PLATE2 43

STAT 45

TEMPER and PROFIL 47

C0LS8 50

WRITE1, WRITE2, WRITE4 51

TIME 53

LIST OF FIGURES

FIGURE NO. PAGE

1. Block diagram of time-sharing computer

system 3

2. Teletype terminal for communication with

time-sharing computer 4

3. Example of use of the time-shared computer

system 12

in
APPLICATIONS OF A TIME-SHARING COMPUTER IN A

SPECTROCHEMISTRY LABORATORY:

OPTICAL EMISSION AND X-RAY FLUORESCENCE

Stanley D. Rasberry, Marvin Margoshes,

and Bourdon F. Scribner

Spectrochemical Analysis Section

Institute for Materials Research

National Bureau of Standards

Washington, D. C. 20234

ABSTRACT

A time-sharing computer system employing the Dartmouth

College Basic compiler has been in use in this laboratory

for more than two years , and it has been applied to both

routine and non-routine calculations. Descriptions are

given of the computer system and its associated programming

language and commands. Typical applications and advantages

and disadvantages of the system are discussed. An appendix

contains descriptions of 13 programs thought to be of interest to other optical and x-ray spectrochemistry laboratories.

Examples of input and output are given with each of these

programs

.

Key Words

:

Analytical chemistry, calculations, computers, emission

spectroscopy, programming, spectrochemical analysis, timesharing computer, x-ray spectroscopy.

iv
I. INTRODUCTION

The application of computers to data reduction and

handling in spectrochemical analysis has been shown (see,

for example, references [1], [2]) to provide significant

savings in time and cost in certain situations. In addition,

computer reduction of data may permit much more extensive

calculations to be made than are otherwise feasible. This

increased computation facility can give improved results

and can even make analyses possible which would otherwise

not be done by spectrochemical methods.

Until recently, a laboratory employing computers had

a choice limited to making use of a central computer

laboratory or installing a computer. The first option

often involves delays of as long as several hours between

submission of data and receipt of the results; such delays

are most objectionable when the analyses form a part of a control loop and during research on computing methods. The

second option provides for extremely rapid processing of

data, particularly when a spectrometer is attached directly

to a computer, but it requires a considerable capital

investment as well as maintenance costs.

Specialized central computers provided with multiple

remote terminals have become well known in the form of

reservation services such as those in use by airlines and

hotel chains, military systems like SAGE, the New York

Stock Exchange quotation system, and systems in stores to

handle orders, billing, and stock control. Generalpurpose, remote-terminal system, are a more recent

development (3, ^, 5, 6). With these systems, data can be

transmitted and output can be received at a terminal in

the laboratory, thus saving the time normally required to

carry this information to and from the computer laboratory.
The information may be processed by the central computer

system on a batch basis, or the system may employ timesharing or multiprocessing, either of which will give very

nearly as fast processing of data as if the user had his

own computer.

Several general-purpose, time-sharing systems are now

in operation. Some of these are owned by companies,

universities, and government laboratories for the use of

their own personnel. Other installations, called "computer

utilities," are operated by computer manufacturers and

service bureaus, and make the remote-terminal service

available to any user on a contract basis.

This report describes more than two years' experience

with a time-sharing system in a spectrochemical laboratory.

The system and its programming language and operation are

described, examples are given of some applications, and the

advantages and disadvantages of the system for spectrochemical applications are summarized. An appendix contains

descriptions of a number of programs which may be of use to

other spectrochemical laboratories.

The Spectrochemical Analysis Section has been making

use of computers for data reduction since 1955, and in 1956

it had installed the first digital spectrometer readout

providing data in a form suitable for input to a computer.

Until recently, computer applications in this laboratory

were restricted to the larger jobs, such as homogeneity

testing in the process of preparing standard reference

materials. With the availability of the time-sharing

service, computer use has been extended to many more

computation tasks, as is described in this report.
II. THE COMPUTER SYSTEM

Figure 1 is a block diagram of the computer system

discussed in this report. The system and software (5)

were developed at Dartmouth College by a group headed by

Professors John G. Kemeny and Thomas E. Kurtz. It makes

use of two computers, a master and a slave, a large disk

memory, a number of remote terminals, up to HO of which

can be served by the system simultaneously, and auxiliary

input-output devices and magnetic tape memory, all

commercially available equipment. The remote terminals

may be at any location that can be reached by goodquality telephone lines.

MASTER SLAVE

AUX.

I/O

/

/ STORAGE

MONITOR

DISK

(MEMORY)

Figure 1. Block diagram of time-sharing computer system.

The functions of the master computer are communication

with the terminals and control of the system. The calculations are done on the central processor unit (slave computer),

and the disk memory serves for temporary and permanent storage of programs, data, and other information. The contents

of the disk memory are copied daily onto a magnetic tape;

if the disk memory fails, it can be reloaded with information no more than one day old. The auxiliary input-output

devices are used for initial loading of the disk, and for

batch operation of the computer at night or during periods

of light use of the time-sharing system.
Figure 2 shows the remote terminal in this laboratory;

it is a standard teletypewriter (Teletype Model 33ASR) which

is rented from the local telephone company. Programs or

data may be entered on the keyboard or from a punched paper

tape which is fed into the tape reader. The punched paper

tapes may have been prepared in advance on the same teletypewriter, or they can be prepared automatically by suitable

readout equipment on instruments in the laboratory.

Figure 2 . Teletype terminal for communication

with time-sharing computer.

Information sent from the terminal to the master

computer is stored on the disk memory. When the operator

has transmitted all necessary information to the computer,

he types the command RUN. His program and data are then

placed in a queue for time on the central processor.

Each user who has typed RUN is allotted a few seconds of

time on the central processor. If this allotment of time

is not enough to finish the calculations, the partially

complete program is stored on the disk memory while other

users are given their turns, and it is then reentered into

the slave computer. This process is repeated as often as is
necessary to complete the calculations. The average program requires less than 10 seconds of computing time and is

completed by the computer In less than a minute, although

a longer time may be required for transmission of the results, depending on the length of the output.

The results of the calculations are also stored on the

disk memory, and they are then picked up by the master

computer and transmitted to the terminal. Printout starts

as soon as a part of the results is available, so that the

operator may well have received the first printout before

the calculations are complete. This makes it possible

for the operator to intervene in the calculations, as will

be described below.

With up to 40 users in contact with the system it might

seem that any one user must wait for a considerable time

for a calculation to be entered into the slave computer.

In practice, much more time is spent by each user in

entering information or receiving output than is required

for the calculations. Thus, only a few users require

calculations on the slave computer at any one time, and

the overall effect is to give each user nearly as rapid

response as if he had his own computer.

Programs need not be transmitted each time they are to

be used. Each program is assigned a name by the user, and

when it has been entered the first time the command SAVE

will cause the program to be stored permanently on the disk

memory. When the program is to be used again, it can be

called up by a simple sequence of commands. Material

stored on the disk can be removed by the command UNSAVE.

A stored program can be modified; the changes will not be

stored permanently unless the command SAVE is typed after

changes are made. Thus, the user can try various modifications without hazard to the stored program.
Saved programs are stored on the disk memory in the

BASIC language (see below) and are converted to binary machine language (compiled) each time they are run. The binary form of the program is stored temporarily on the disk

memory each time an incompletely processed program is moved

out of the slave computer to permit another user a turn.

Conversion of the program from BASIC to machine language on

each run makes possible frequent changes of the program.

The BASIC compiler in the system is efficient enough so

that even the longest program is compiled within a few

seconds, and the delay is hardly seen by the user.
III. THE PROGRAMMING LANGUAGE AND SYSTEM COMMANDS

One difficulty in the routine application of computers

has been the need for detailed instructions, or programs,

in binary form for the computer. In order to simplify

programming, a number of languages have been developed so

that the instructions can be written in letters and decimal

numbers, usually in a form resembling algebraic expressions

with the alphabetic characters arranged to resemble English

words. The computer makes use of a compiler program to

transform these programs into binary form.

The programming language most often employed for

scientific calculations has been FORTRAN, which has several

versions. While a number of scientists have learned to

write programs in FORTRAN, it is more common practice to

have the programs prepared by a professional programmer.

The scientist must explain his problem and perhaps a method

of solution to the programmer. This is sometimes difficult

in practice, and the use of a programmer introduces an

extra person between the scientist and his calculations.

Although it is often desirable to have the program written

by an experienced programmer, in many cases the scientist

can write it in less time and at a lower cost.

The time-sharing system described in this report uses

a programming language called BASIC, which was also developed at Dartmouth College (7). BASIC is a relatively

simple language, lacking the complexities of most other

programming languages while retaining their most essential

computation features. It has proven to be remarkably easy

to learn. With such an easily learned language, the

scientist can prepare his own programs and he can later

modify them to change the input format, the output format,

or the nature of the problem. Also, a computer program

provides a method of transferring exact information on
computational methods between scientists, provided that both

the sender and the receiver of the information know the same

programming language.

It is not the purpose of this report to describe the

BASIC language; complete information can be found elsewhere

(7). Appendix I illustrates the 17 types of statements which

make up this language and the 11 types of statements which

have been added for matrix algebra. Inspection of Appendix

I will show that the designations of the BASIC statements

are straightforward, making them easy to learn. For example,

the very important arithmetic assignment statement has the

form LET X = Y+Z; when the computer reaches this statement

it will replace any numerical value which may be stored in

a memory location assigned to the variable X with the sum of

the values of the variables Y and Z. It must be recognized

that the statement need not be an algebraic equality, but

may have such forms as LET X = X+l ; in this case, the value

stored for the variable X will be increased by one.

Each line of the program and of the data must begin

with a line number. The line numbers can be from to 99999

and need not be successive. If the lines are entered out

of order, the computer will rearrange them by line number.

If two or more lines are given the same number, only the

last to be entered will be retained. This feature of the

system permits easy correction or modification of a program

or data. To make such a change, the operator types the

number of the line to be changed followed by the new information. A line can be erased by typing only its number.

BASIC has 10 built-in functions, including geometric

functions (sine, cosine, tangent, arctangent), logarithm,

square root, etc. Thus, the statement LET X = LOG(Y) will

cause the variable X to be assigned a value equal to the

natural logarithm of the variable Y.

8
An important simplifying feature of BASIC is that the

programmer needs to pay little attention to the format of

the input data or of the output. Numbers can be of various

lengths (up to nine digits), with or without a decimal

point, or expressed as a number plus an exponent (5E-3 = 0.005). In input, numbers are separated by commas; spaces

may be added between numbers for neatness and for ease of

proofreading. However, the programmer need not specify in

the program the form and length of the input numbers, as in

FORTRAN. Output is limited to two formats. One allows for

up to five columns on a page, with 15 spaces per column,

while the other permits closer packing of the output numbers

but will not easily give neat columns of results. This

feature of BASIC is sometimes a disadvantage, since it may

be difficult or even impossible to get the output in the

desired form. Most often, however, the available formats

are adequate, and can be designated in a much simpler

manner than the output format in FORTRAN.

In addition to the programming statements, there are

several system commands which are used to control the

computer system from a terminal. The commands RUN

and STOP begin the running of a program and stop it before

the calculations are completed. A running program can

also be stopped by pressing the BREAK button on the teletypewriter. The command TAPE informs the master computer that

a program or data are to be transmitted through the tape

reader. The commands OLD and NEW indicate that the operator

wishes to move to a different program. The computer

replies by causing the teletypewriter to print OLD (or NEW)

PROBLEM NAME —, the operator replies with the name of the

next program he wishes to use. If he had typed OLD, the

computer will locate the stored program on the disk memory

and make a copy of it in the working area of the memory.

If the operator had typed NEW, the computer will prepare to
receive a new program and will then reply READY. A list of

stored programs can be received by typing the command

CATALOG.

No terminal can call up programs initially loaded

from another terminal; thus, interference from other

users is prevented. There is an area of memory called the

"library" which contains programs of general interest, such

as those for various types of statistical calculations.

These can be called up from any terminal by typing the name

of the program followed by three asterisks. Individual users

can modify these programs according to their own needs,

but cannot permanently alter the forms stored in the

"library." They can, however, save altered "library"

programs in their own areas of the memory. The ready

availability of such programs in the "library" has been

helpful to us; some of our programs are based on "library"

routines

.

The EDIT commands permit the operator to alter selected

portions of a saved program. For example, the command EDIT

DELETE followed by line numbers will selectively remove

portions of a program, leaving the rest untouched.

When the command RUN is typed, the computer will provide output if possible, or it may reply with one or more

error messages. Some error messages point out mistakes in

the program or data. For example, ILLEGAL FORMULA IN 590

informs the operator that line 590 of his program has a formula containing an error making it impossible for the

computer to carry out a calculation. Other error messages

indicate that a problem has arisen in a particular

calculation. One such message may be DIVISION BY ZERO IN

620, showing that the denominator of an equation in line

has the value of in this case. The computer will

assign the largest number it can to the result of this

10
calculation (about 6x10 ) and will continue the

calculation

.

Figure 3 illustrates the sequence of operations employed in entering a program and receiving output from it.

Transmissions from the computer other than the program

output have been underlined. The program in this illustration is TABLE, an example of a very short, but useful,

program. TABLE will generate a table of X as a function

of Y. The semicolon at the end of line suppresses the

carriage return and line feed so that the print statement

on line 10 will come on the same line of output. The print

statements on lines 20 and 40 cause blank lines in the output, making the form neater. Lines 50 to 90 constitute an

iterative loop which will, in this instance, cause the calculation and output to be made 10 times for 10 successive

values of Y. To use the program for any other function, the

operator changes only a few lines. In addition to generating

tables, the program can be used to find the value of Y for a given X, when the form of the function does not permit an

easy explicit solution. The operator can change line 50 in

successive passes to narrow down the region of Y values

searched. In the example, if it was desired to find the

value of Y for X = 0.5, the operator would, on the second

trial, change line 50 to

50 FOR Y = 60 TO 70 STEP 1.

With this procedure, the value of Y can be found to several

significant figures in a few minutes at the terminal.

11
HELLO

USER NUMBEK--M1 1 1V0 *** ON AT V : 12.

SYSTEM-- BASIC

NEli OR OLD--NEIr.

NEU PROBLEM NAME---TABLE

READY.

TAPE

READY.

PRINT "TABULATION JF : "t 10 PRINT "X=EXP<-MU X DEPTH/CO S( TH ETA) ) . " 15 PRINT "DEPTH=10 MICRONS* ABSORBER=FE* RADIATION=CU K 20 PRINT

30 PRINT "THETA"* "A"

m PRINT

50 FOR Y = TO 90 STEP 10

6k) LET T=Y/57. 29578

70 LET X=EXPC-31 1. 1*.001/COS(T>>

80 PRINT Y*X

90 NEXT Y 99 END

RUN

UAIT . TABLE 9: 13 CEIR 12/15/67

TABULATION OF : X=EXPt-MU X DEPTH/CO SC THETA] ] . DEPTri=lk) MICRONS* ABSORBER=FE* RADIATION=CU K .

THETA X

k) .732641

10 .729133

20 .718158

3k) .698216

40 .666235

50 .616322

60 .536762

IVj .402687

80 • 1667k-l

90

TIME: SECS.

BYE

*** dFF ftT 9: 14.

Figure 3. Example of use of the time-shared computer

system. Transmissions from the computer

other than program output are underlined.

12
IV. THE INPUT STATEMENT

In normal computer usage, the scientist submitting a program and data can exercise only those controls and

decisions that are built into the program. In the timesharing system, it is possible to cause the computer to

pause during the running of a program and wait for

additional instructions. This is done by including in the

program an INPUT instruction; when the computer reaches this

instruction it will stop the processing of the program and

move the compiled program and intermediate results to the

disk memory, print a question mark, and wait for the operator to enter additional information on the keyboard of

the teletypewriter. For example, a program might include

the following statements

:

510 PRINT "DO YOU WANT MORE OUTPUT, YES (1) OR NO (0)";

515 INPUT Q

520 IF Q=l THEN 530

525 STOP

530

When the computer reaches line 510, it will print the words

indicated, followed by a question mark, and then pause. If

the operator enters the number 0, the processing of the

program will be stopped at line 525. If the operator

enters the number 1, the statement in line 520 will cause

the computer to move over the STOP statement and go on to

additional calculations and/or output as indicated on lines

530, etc.

The INPUT statement can also be used to allow the

operator to select among several alternative branches built

into the program, based on his evaluation of output received

up to that point. Another use of the INPUT statement is to

allow the operator to select a desired value for a variable.

In these ways, the operator can work along with the computer

13
He can use his judgment to make decisions which could be

extremely difficult to write into a program, while the

machine rapidly performs the detailed mathematical

calculations. An example of this use of the computer system

is given below, in the discussion of the programs CODEBC

and CPIT2.

14
V. APPLICATIONS OP THE SYSTEM IN SPECTROCHEMISTRY

Several programs applicable to optical emission and

x-ray spectrometry are indicated by brief summaries and examples of input and output in Appendix II. We will consider

here a few examples of the programs in some detail. These

apply to (1) fitting analytical curves and reading out concentration results for samples, and (2) calculations required in photographic photometry.

Calculations normally done graphically are usually programmed for the computer by a curve fitting procedure. Such

a procedure is straightforward when the equation of the curve

is known. However, analytical curves from spectrographs and

spectrometers can have a variety of shapes, and must be

empirically fitted. In addition, not all of the analytical

data on the standards will necessarily fit on a smooth curve.

This can be caused by an erroneous reading for one of the

standards; when unusual materials are being analyzed, it may

be necessary to include some standards which are not well

characterized. When graphical methods are used, the analyst

applies his experience and educated judgment to decide on the

shape of the curve and whether any points are to be excluded.

It is extremely difficult to program the computer to perform

such judgments.

The programs CODEBC and CPIT2 perform the functions

of fitting analytical curves and reading out results for

samples. The computer makes least-square fits of polynomial

equations to the data for the standards, starting with the

first degree and continuing to as high as the eleventh

degree if there are enough data. At the option of the

operator, the program will fit either reading vs.

concentration or log reading vs. log concentration. The

first output of the program is a list of degree of polynomial

15
and, for each degree, an index of determination and the

standard error of Y. An INPUT statement causes the processing of the data to pause at this time, while the

operator decides what degree of polynomial is to be used.

When this information has been entered, the computer gives

the coefficients of the equation fitted to the data and, at

the option of the operator, a list of the following information on the standards: input intensities, input concentrations, calculated concentrations, and the absolute

and percent differences between the input and calculated

concentrations. The operator may decide, on the basis of

this information, that one or more of the standards do not

fit well on the curve; in this case the operator may interrupt the program, edit the input data, and restart the

program at the beginning. If the operator has not interrupted, the computer will convert each instrument reading

for each sample to a concentration. The two programs diverge at this point. Only CODEBC provides a list of concentrations found for each run on each sample. Both programs provide the average concentration found for each sample

(if there were two or more runs) and the standard deviation

(if there were three or more runs). CODEBC also has provision for receiving input data on the standards in terms

of concentration ratios, rather than concentrations. In

this case, the output for the samples includes both the

concentrations and the concentration ratios.

Another type of calculation that has normally been

carried out graphically is the conversion of microphotometer

readings on photographic plates to relative intensities.

Several functions of the microphotometer readings have been

devised in the past which give a nearly linear relation

between the function and the relative exposure, thus

simplifying the calibration process. The Seidel transform,

16
S = log (m - l) s where T is the transmittance, is most often

used and gives a nearly straight line for many but not all

photographic emulsions. Several other transforms have also

been developed. Some of these yield better results by

inclusion of an adjustable constant whose value is determined empirically or by calculation.

When a straight-line relation between a function of

the transmittance and the logarithm of the exposure can be

found, only the slope of the line needs to be known. Since

only relative intensities are normally measured, the

intercept of the line can be assigned any convenient value.

The process of emulsion calibration is thus reduced to

finding the slope of a line, rather than the more complex

procedure of fitting a curve.

The program KAISER has been developed to take advantage of this observation. It employs the Kaiser (8) transform: K = A log djr) + (1-A) log(^f - 1), where A is an adjustable constant. Kaiser derived an equation for finding the

proper value of A from transmittance values for two pairs of

lines of known relative exposures. The value of A found

from this equation has a large standard deviation, and the

program provides for the calculation of as many as 100 values

of this constant in order to arrive at a more reliable estimate from the average. When the best value of A has been

found, individual slopes are calculated from the pairs of

transmittance readings for two steps of the sector or filter.

An average slope and its standard deviation are then calculated, and any individual slopes differing from the average

by more than three times the standard deviation are rejected.

The output of the program includes values for A and for the

slope of the line, as well as statistical data on each.

The program also provides for checking of the input data

against the calculations, with rejection of "wild" data

17
that might affect the average values. The program includes

two INPUT statements to permit the operator to control the

amount of output

.

The values of A and the slope from KAISER form the

input to the program INTEN2, together with microphotometer

readings which are to be converted to relative intensities.

INTEN2 provides for a number of alternate calculations. For

example, a photographic plate may have been characterized

by a single calibration, or up to ten calibrations may have

been made for various wavelength intervals. If a step

sector or filter was used, it may have as many as six steps,

and the step factor may be two — as is most common in

this laboratory — or some other value. A background

correction may or may not be made. INTEN2 is written to

cover all of these alternatives. Furthermore, it is not

necessary for the operator to state explicitly which of

these alternatives applies. The computer will make this

decision from an inspection of the input data, using

information inherent in the data. For example, when both

line and background transmittance values are given to provide

for background correction, there will be twice as many input

numbers as when only transmittance values are given; any

number larger than 1000 must be a wavelength; a number

below ten may be a step number, but it cannot be the

transmittance of the background.

KAISER and INTEN2 combined would be too long a program

for this computer system, but only a small amount of data

must be carried over from the first program to the second.

In some cases, it is necessary to carry over much more

extensive data from one program to the next. The subroutines WRITE1, WRITE2, and WRITE4 provide for output of

one to four selected variables in the proper format for re18
entry into another program. The operator starts the tape

punch at a time indicated by the printed output of the

subroutine, and the data are thus recorded on tape.

The few examples given above and in Appendix II show

only applications of the computer system to routine

calculations. Except where operator judgment Is required,

as in CODEBC and CFIT2 , batch-loading computers would be

equally satisfactory in many cases. The time-sharing

computer is especially valuable for non-routine calculations

For these "odd jobs," the BASIC language permits very rapid

writing of programs, and time-sharing operation, because of

its rapid response, speeds up the process of debugging.

In this way, the computer system can take over many computations now performed more laboriously on desk calculators. Often, an operator can sit at the keyboard

and quickly evaluate the effect of changing a variable or

the form of an equation.

There are apparently no very large computer systems

now available to run programs in the BASIC language, so

that when very long programs or very extensive data are

available it will be necessary to write programs in some

other language such as FORTRAN. The time-sharing computer

system can be very helpful even in this case. Programs can

be written in BASIC and tested on the time-sharing system

with small batches of data in order to evaluate proposed

methods of calculation. When the methods have been worked

out in this way, a FORTRAN program can be prepared to

perform the same calculations. This method of programming

permits much faster development of new types of machine

calculation than would otherwise be possible.

19
VI. LIMITATIONS OF THE SYSTEM

The time-sharing system which is described in this

report is not a very large machine, and a major part of the

core of the computer is taken up by system programming.

Thus, there is only limited space available for programs

and data. The program and data combined cannot take up

more than about 6200 spaces (letters, numbers, etc.). Even

with a very short program, there can be no more than 1280

numbers in the data. These limitations restrict the use

of the system to relatively short problems, but in practice

these include most of the calculations required in a spectrochemical laboratory. At times, long calculations

can be divided into shorter segments, as was done for the

process of calibrating a photographic emulsion and converting microphotomet er readings to relative intensities.

A second disadvantage of this time-sharing system is

that the rate of data transmission is limited, by the

teletypewriter, to 10 characters per second. This is a serious disadvantage only when very large amounts of output

are required. In normal computer operation, it is the

usual practice to take as output all data which might

conceivably be of value, even though only a small fraction

of this is regularly required. In the time-sharing system

it is convenient to ask for only the essential output, since

additional PRINT statements can be added when more information is needed. In some cases, it has been convenient to

include INPUT statements in the programs to allow the

operator to control output easily.

These limitations are not inherent in time-sharing.

It is probable that larger machines, with improved systems

programming, will remove these difficulties in the near

future. There is, however, another limitation which is

inherent in time-sharing. Because time on the slave computer

20
is shared with other users, the time at the terminal will

always be much longer than the computation time. Most

programs require only a few seconds of time on the slave

computer, and for these time-sharing introduces no

difficulties. A few experimental programs have been run

which required a minute or more of time on the slave

computer, and which required five minutes or more of

terminal time. These probably do not represent an optimum

use of the system. Even so, the time-sharing system did

provide results in less time than would be needed to carry

the data to a central computer laboratory for processing

on a batch-loaded computer.

This limitation of time-sharing computer systems may

also be alleviated in the future by equipment-sharing computers, having the ability to carry out several calculations

simultaneously

.

21
VII. DISCUSSION

The material in this report can only suggest the

Impressive speed at which complex calculations can be

performed on the time-sharing computer system. The rapid

response of the system makes it possible to do jobs which

would be prohibitive by graphical or desk calculator

methods, or even with a machine in a central computer

laboratory. When an instrument is set up for an analysis,

it is possible to run a few standards and to do preliminary

calculations with the results thus obtained to determine

whether or not the analytical instrument is functioning

properly. The delay of up to several hours encountered in

most central computer laboratories would not be acceptable

for this purpose.

The rapid response and ease of programming characteristic of the time-sharing system make the use of the computer

attractive even for very small jobs, such as determining

the average and standard deviation of a series of numbers.

A few of the newer desk calculators, having multiple registers, can do such simple calculations as quickly as with

the time-sharing system, but the older single register calculators are significantly slower in such calculations.

The data input format for the time-sharing computer

system is somewhat different than for other computer systems,

since it requires that each line of data start with a line

number and the word DATA and that numbers be separated by

commas. This format can be supplied by automatic readouts.

22
An emission spectrometer and an x-ray spectrometer in our

laboratory are equipped with a completely automatic readout

which provides the data in printed form and on paper tape

with proper format for the time-sharing system. Switches

on the readout provide for suppression of the word DATA and

for replacing of the commas with spaces when other computer

systems are to be used for the calculations. In addition,

a microphotometer is equipped with a semi-automatic

readout which follows each number with a comma, but which

requires the operator to enter the line number and the word

DATA at the start of each line.

VIII. ACKNOWLEDGMENT

We thank Mr. Joseph M. Cameron and Mr. Joseph Hilsenrath

for helpful advice on the preparation of this report .

23
IX. REFERENCES

[1] Tunnicliff, D. D. and Weaver, J. R., Anal. Chem. 36.,

2318 (1964).

[2] Franke, H. , Post, K. , and Schmotz, W., Z. Anal. Chem.

212 , 269 (1965).

[3] Parkhill, D. P., "The Challenge of the Computer Utility,"

Addison-Wesley Publishing Co., Reading, Mass., 1966

.

[4] Pano , R. M. and Corbato, P. J., Scientific American 215

(3) , 12 8 (Sept. , 1966).

[5] Kurtz, T. and Loechner, K., Computers and Automation 1_4_ (10), 25 (1965).

[6] O'Sullivan, T. C, Datamation 13 (7), 3^ (1967).

[7] Dartmouth College Computation Center, "A Manual for

BASIC," Dartmouth Bookstore, Hanover, N. H., 1965.

[8] Kaiser, H., Spectrochim. Acta 3, 159 (1948).

[9] Natrella, M. G., "Experimental Statistics", NBS Handbook

91, U. S. Government Printing Office, Washington, D. C,

1963.

24
Appendix I. BASIC Statements

Example of Statement

LETX = Y + Z

READ A, B

DATA 50.5, 11, 5E3

PRINT XI, X2

GO TO 55

IF X = Y THEN 55

FOR I = 1 TO 50

NEXT I END

STOP

DEF FNA (X) = SQR (SIN (X) -1)

GOSUB 400

RETURN

DIM A (100)

REM THIS IS AN EXAMPLE

INPUT Z

RESTORE

Function

Arithmetic assignment statement. Read next two data points, and assign these values to variables A and B.

Input of data.

Print output; in this case the variables XI and X2.

Unconditional transfer of processing to statement on line 55. Transfer of processing to statement on line 55 if stated

condition is met. Repetitive computations as directed by statements between

FOR and NEXT.

Stop processing of program; END must be last statement in program. STOP may be used in body of program. Defines functions to be used later in program. Transfer processing to a subroutine starting on line 400.

Marks end of subroutine and return of processing to the line following the given GOSUB.

Sets aside space in memory; in this case for a list of up to 100 numbers assigned variable names A (1), A (2), etc. Remarks may be inserted in program to mark certain portions

or to contain information for users. Data input; see Section IV. Restore computer to start of data list; number used by next READ statement will be first on list.

MAT READ A (M,N)

MAT PRINT A

MATC=A+ B

MATC= A-B

MATC = A*B

MATC=ZER(M,N)

MATC = CON(M,N)

MATC = IDN(M)

MATC = TRN(A)

MATC= INV(A)

MATC=(K)*A

Matrix Statements

Read a matrix M rows by N columns.

Print a matrix.

Add two matrices.

Subtract two matrices.

Multiply two matrices.

Introduce a zero matrix.

Introduce a matrix of all ones. Introduce an identity matrix.

Transpose a matrix.

Invert a matrix.

Multiply a matrix by constant K.

Note: Vectors may be substituted for matrices; e.g. MAT READ A (M).

25
Appendix II. Summary Description of Some Computer Programs

in the BASIC Language of Interest to

Other Spectrochemistry Laboratories

Appendix II contains summaries of the nature of the

calculations and examples of input data and of output for

several programs written in this laboratory which are deemed

to be of interest to other spectroscopists . Listings of

the programs and Instructions for their use are available

on request to the authors of this Report

.

Statistical treatment of data are taken from NBS

Handbook 91, "Experimental Statistics" (9).

PROGRAM PAGE

KAISER 27

INTEN2 29

CODEBC and CFIT2 31

XRAY1 37

XRAY2 39

PLATE1 4!

PLATE2 43

STAT 45

TEMPER and PROFIL 47

C0LS8 50

WRITE1, WRITE2, and WRITE4 51

TIME 53

26
KAISER

KAISER is a program for calibration of photographic

emulsions from the percent transmission readings on lines

of known relative intensity, such as readings on lines

photographed through a step sector or filter. More detailed information on the method of calculation is given

in the text of this report

.

Example

The first number in line 900 controls an option, setting

the step factor equal to 2 and determining that lines from

to 100 percent transmission will be accepted. The second

number is the wavelength of calibration. Alternatively,

this line could have a format such as

900 DATA 0,3600,3,5,90.

In this case, the step factor would be 3 and the pairs of

light-dark readings would be used only if the percent

transmission for the dark line was larger than 5 and the

percent transmission for the light line less than 90.

Lines 901 to 909 contain pairs of light step—dark

step percent transmission readings. The final number, 0,

indicates the end of the data set.

In the example, the output has been truncated to save

space

.

27
900 DATA 1,3600

901 DATA 089.0,050.3,097.4,082.5,082.5,037.1,037.1,008.3,094.2*

902 DATA 068. 1* 068. 1* 022. 6* 022. 6* 004. 1* 090.8* 053. 6* 053. 6* 012. 7* 903 DATA 012.7*001.8*090.4*053.4,053.4,013.0,013.0,001.9,096.8,

904 DATA 081.4,081.4,037.8,037.8,006.9,090.7,050.9,050.9,011.6*

905 DATA 084.2,039.0,039.0,008.2,092.7,058.6,095.4,069.2,

9 06 DATA 089.8,053.3,09 4.2, 06 1 .8, 061 .8, 01 7. 2, 069.5,022.3, 022.3,

9 07 DATA 005.0,09 3.5,059.6,059.6,017.4, 017. 4,003.6, 092.6, 058-2*

908 DATA 058.2,015.3,056.8,014.4,014.4,003.5,070.4,021.7,

909 DATA 086.2,043.4,0

KAISER 16: 18 04/ 12/67

PLATE CALIBRATION BY FIT TO KAISER

UAVELENGTH= 3600 ANCSTROMS

PCT. T LIMITS: TO 100

NO. OF INPUT PAIRS= 36

NO. OF LIMIT REJECTS=

TRANSFORM

AVE. A

•138146

STD. DEV.

.169 76

S.D.CMEAN]

1.72365 E-2

SETS USED

97

3S

3

REJ.

AVE. SLOPE

•363719

STD. DEV.

1.98032 E-•2 S.D.CMEAN]

3.34736 E-3

FRS. USED

35

3S

1 REJ.

DO YOU IvANT SUMMARY OF SLOPE VS. PCT.T, YESCU OR NOC0371

RANGE OF LIGHT T VALUES

FROM TO NO. OF PRS.t AVE. SLOPE PCT. DEV

10 20 3 •36165 -. 568989

20 30 2 • 39 09 38 7.48345

30 40 3 •360449 -.899247

50 60 6 •356427 -2.0049 3

60 70 3 •361437 -.627402

70 80 1 • 3439 48 -5.43597

80 90 6 •3699 12 1.70249

90 100 1 1 •363247 .-. 129943

DO YOU WANT INDIVIDUAL SLOPES, YESC 1] OR NOC0:1? 1 LIGHT T DARK T LOU K HIGH K SLOPE

89 50. 3 -. 77557 3.67355 E-2 .370587

97. 4 82.5 - 1. 35462 -. 568845 • 38 3099

82. 5 37. 1 -.568845 .257092 . 364471

37. 1 8. 3 •257092 1.048 49 .380378

94.2 68. 1 - 1.0398 -.2608 07 .386437

68. 1 22.6 -.260807 .550002 . 371271

22.6 4. 1 . 550002 1.37155 .36642

90.8 53.6 -.85115 - 1. 65777 E-2 • 360 7 53-6 12.7 - 1.65777 E-2 .845359 .349248

12. 7 1.8 .845359 1.73793 .337262

90.4 53.4 -.833302 - 1. 33442 E-2 .367129

53. 4 13 - 1.334^2 E-2 • 833931 •355292

13 1.9 • 833931 1. 71407 .342027

96.8 8 1.4 - 1.2 7 422 -.540198 .4101 1

1

81.4 37.8 -. 540198 .244786 • 38 348 6 37.8 6.9 •244786 1. 13439 .338 38 6

90. 7 50.9 -.846625 2. 70395 E-2 .34456

50.9 11.6 2. 7039 5 E-2 .889392 . 349 08

84.2 39 -.6159 53 .223921 .358423

39 8.2 .223921 1.05416 •36258 1

28
INTEN2

INTEN2 is a program for conversion of percent transmission values to relative intensities, with provision for

correction for background and for step if needed. One to

ten sets of emulsion calibration functions from the program

KAISER may be entered, and either a standard (1:2) or nonstandard step sector or filter may have been used. The

program is written so that the machine will, by inspection

of the data, decide which of the many alternative calculations are required. The processor time and console time

are determined by the length of the data set.

Example

The first line of input data shown is the emulsion

calibration data for two wavelength ranges (for each, the

lower and upper wavelength, and the values of A and the slope

from KAISER). The number indicates the end of the list of

calibration data. The first number in line 901 is the wavelength at which the microphotometer reading was made. The

next number, 5 3 shows the number of readings at that wavelength. The program counts the number of data points until

it reaches the next number larger than 1000 (the next wavelength). Since there are five points for the five readings,

the program recognized that these must be sets of percent

transmission readings for the line. In line 902, there are

eight data points for four readings, and line 903 also has

twice as many data points as readings. In line 902, the

second data point is larger than 6, and the program uses

this information to determine that the data points in line

902 represent sets of readings on line and background. Similarly, the program determines that the data points in line

903 represent line percent transmission readings followed

by step numbers. Line 904 contains sixteen data points for

four readings, and the program recognizes that there are

29
four data points per reading so this must be a list of line

and background percent transmission readings, each followed

by a step number. The final data entry, 0, indicates the

end of the data block and stops processing.

V00 DATA 3000* 3590* .8* . 7* 3590* 4000* . 9* . 8*

901 DATA 3400*5*15*55*60*65*70

902 DATA 3500*4*55*90*60*91*65*92*15*90

9 03 DATA 3700*5*10*6*20*6*10*5*10*4*10*2

9 04 DATA 3800*4*10*6*90*6*10*3*90*6*20*2*80*3*10*2*80*5*0

INTEN2 14:59 04/14/67

RELATIVE INTENSITIES OF SPECTRAL LINES

t.AVELENGTH= 3400 ANGSTROMS

PERCENT T REL. INT

15 3.68854

55 1. 3589 3

60 1.25772

65 1. 16716

70 1.0845

KAV/ELENGTH= 3500 ANGSTROMS

LINE PCT. T BKGD. PCT. T LINE INT. BKGD. INT. CORR. INT.

55 90 1.35893 .779884 .579042

6k) 91 1.25772 .762544 .495172

65 92 1.16716 .744357 .422803

15 90 3.68854 .779884- 2.90866

WAVELENGTH= 3700 ANGSTROMS

PERCENT T STEP REL. INT.

10

20

10

10

10

i*AVELENCTH= 3800

LINE PCT. T S

10

10

20

10

TIME: 5 SECS.

30

6 6.25661

6 3.559 78

5 12.5132

4 25.0265

2 100. 106

ANGSTROMS

TEP LINE INT. BKGD. INT. CORR. IN

6 6.25661

3 50.0529

56.9565

2 100. 106

. 9 49 1 1 .9049 1 1 8.408 15

2. 10204

5.3517

49 . 1 48

4«. 5483

98.0038
CODEBC and CPIT2

CODEBC and CPIT2 are programs for converting intensity

ratios or other instrument readings to concentrations. The

programs fit least-square polynomial equations to data for

standards, starting with the first degree and continuing

as high as the eleventh degree if there are enough standards

Two statistical parameters, the index of determination and

the standard error of Y, are given for each degree of polynomial, and the operator selects the polynomial to be used

on the basis of this information. The equation is then

applied to the data on the standards to provide a comparison

between given and found concentrations. Finally, the

equation is applied to the data for the samples to convert

the instrument readings to concentrations.

Both programs provide for fitting either concentration

vs. instrument reading or log concentration vs. log instrument reading. CODEBC also provides for the use of the concentration ratio (variable internal standard) method. CFIT2

gives a briefer output than CODEBC, and this output is

often suitable as an analysis report.

Examples

CODEBC : The first number on line 900 is the number of

standards. The second number, 1, controls an option, giving

a log-log fit. If this number were 0, the fit would be

concentration vs. instrument reading. Data on the standards

are given on lines 901 and 902. For each standard, the

average instrument reading and the percent concentration

are given, in that order. Lines 903 and 904 contain data

on two samples. The information given for each is the

sample number, the number of runs, the percent content of

the internal standard element, and the individual readings.

The final number, 0, marks the end of the data block.

31
On the first run, the index of determination was lower

and the standard error of Y higher than expected. The operator chose a first-degree polynomial (straight line) and

to take complete output. He stopped the processing after

output of the data on the standards by pressing the "BREAK"

key. Comparison of the given and found concentrations shows,

that the second standard has a large positive percentage

difference, while for the other standards the percentage

differences are smaller and mostly negative. The operator

then changed lines 900 and 901 to delete the data for the

second standard, and ran the program a second time, giving

more satisfactory values for the index of determination

and the standard error of Y. Neither of these factors

improved after the first degree, so a straight-line fit

was selected. The fit to the standards was judged to be

satisfactory, and the computer then processed the data for

the samples.

CFIT2 : The initial data, for the standards, is arranged

in the same way as for CODEBC. The number 3, at the end of

line 902, is the number of runs per sample. The data on

lines 903-912 give, for each sample, the sample number and

three readings

.

When the program was run, the operator noted that the

two statistical parameters improved considerably going from

the first to the second degree, but showed little change

for higher degrees. Accordingly, he selected the second

degree. Inspection of the data for the standards shows that

the absolute difference between given and found concentrations

is small in all cases. The data for the samples were then

processed, giving the output shown.

32
Selection of Polynomial and Rejection of Standards

The selection of the polynomial is guided by the operator's judgement, and only some general rules can be given.

In most cases, it is preferable that the number of standards

be large compared to the number of coefficients in the

equation - normally, at least two standards per coefficient.

When a satisfactory fit is obtained, the index of determination will approach a value near 1, and the standard error

of Y will approach a fixed number. (The standard error of

Y will always be when the number of coefficients equals

the number of standards.) If neither statistical factor

shows a large improvement after the first degree, the first

degree polynomial should be selected. In some cases, the

two statistical parameters will show a sudden improvement

in going from degree N to degree N + 1 and only a small

change for higher degrees. The degree to be chosen is then

N + 1.

The output comparing the given and found concentrations

for the standards provides information for rejection of

standards which do not fit the curve properly. If standards

are to be rejected, the operator can stop processing of the

program by pressing the "BREAK" key on the teletypewriter.

The decision to reject may be based on absolute or percentage

differences. When concentration has been fitted vs. instrument reading, the absolute difference has been minimized,

in the least-squares fitting, and this is the criterion for

rejection. When a log-log fit has been made, the percentage

difference has been minimized, and it is the basis for

judgement. The level of difference requiring rejection of a standard depends on the precision expected in the analysis.

33
900

901

9 02

9 03

904

DATA

DATA

DATA

DATA

DATA

6* 1 409.5*1* 11* 633*. 634* 254. 5*. 387

154*. 178* 134.5*. 14* 923.5*4.59

9 182* 5*75.3* 147* 143* 146* 149* 148

9 18 3* 4*76.8*78 5*782*778*78 4

9 05 DATA

C0DE6C

DEGREE

12

3

4

5 UHAT DEGREE

DO YOU WANT

TERM

13:57 10/30/67

INDEX OF DETN STD ERROR OF Y

8 58 19 8 17817

825702

897868

897868

.234579

.265882

.260065

• 199074

DO YOU WANT TO USE? 1 COEFFICIENTS [ ID OR FULL

COEFFICIENT

HSTC2]?2

1

IN TEN RATIO

409. 5 633.

254. 5 154.

134.5

923.5

-4. 13739

1. 54412

CONC GIVEN

1. 11

• 634

.38 7

• 178

• 14

4.59

CONC FOUND

• 78 749 6

1.54283

• 37782

. 1739 44

. 1 4 1 1 29

2.76443

DIFF PCT DIFF

-.322504 -29.0544

.908831 143. 349

-9. 17962 E> 3 -2.372

-4.0561 1 E-3 -2.27871

1. 12935 E-3 .806675

- 1.82557 -39. 7728

STOP.

READY

900

901

RUN

WAIT.

DATA

DATA

5* 1 409 5* 1. 1 1* 254. 5* • 387

34
CODEBC

DEGREE

12

3

4

14:01 CEIR 10/30/67

INDEX OF DETN STD ERROR OF Y .997377

.996328

.9981 15

.9981 15

3.53085 E-2

4. 17762 E-2

2.99274 E-2

WHAT DEGREE DO YOU WANT TO USE? 1 DO YOU WANT COEFFICIENTS C 13 OR FULL LISTC23 72

ERM COEFFICIENT

-4.75698

1 1.8274

NTEN RATIO CONC GIVEN CONC FOUND DIFF PCT DIFF

409.5 1. 11 1.03907 -7.09 288 E-2 -6. 38998

254-5 .38 7 .43568 4.86797 E-2 12.5787

154. . 178 . 1739 76 -4.02379 E-3 -2.26055

134.5 . 14 . 1358 44 -4. 15555 E-3 -2.96825

923.5 4. 59 4.59251 2.51167 E-3 5.47204 E-2

RESULTS FOR SAMPLES

SAMPLE NO. INTEN RATIO

9 182 147.

9 182 143.

9 182 146.

9182 149

9 182 148

9 182 AVERAGE=

9 182 STD. DEV

9 183 78 5. 9 183 782.

9 183 778.

9183 78 4.

9 183 AVERAGE=

9183 STD. DEV

IME: 9 SECS.

CONCEN RATIO CONCENTRATION

. 159 798 . 120328

. 151941 . 1 14412

. 1578 17 . 1 18836

. 163793 . 123336

. 1 6 1 79 . 121828

. 1 59 028 . 119 748

4.54458 E-•3 3.42207 E-3

3.41268 2.62094

3.38889 2.60267

3.35728 2.57839

3.40474 2.61484

3.39 09 2.60421

2.44994 E-•2 1.88155 E-2

35
900 DATA

901 DATA

9 02 DATA

903 DATA

904 DATA

905 DATA

906 DATA

907 DATA

9 08 DATA

9 09 DATA

9 10 DATA

911 DATA

9 12 DATA

9 13 DATA

5*1075*0* 1654*. 5* 3764*2.5

59 40* 5* 9 602* 10* 3

221* 1620* 1620* 1641

222* 1660* 1664* 1664

223* 1714* 1704* 1689

224* 1723* 1723* 1711

225* 1645* 1647* 1656

226* 2250* 2265*2184

227* 229 0* 229 4* 229

228*2759* 2759*2765

229*5766*5714*5792

231* 1598* 1596* 1610

CFIT2 14:24 10/30/67

DEGREE INDEX OF DETN STD ERROR OF Y .995102

.99999 1 •999992

.999992

.401285

1.75589 E-2

1.60697 E-2

UriAT DEGREE DO YOU WANT TO USE? 2

TERM COEFFICIENT

-.842798

1 7. 40564 E- 4

2 4.0508 5 E- 8

NTEN. CONC. GIVEN CONC. FOUND DIFF. PCT. DIFF

1075 1.21821 E-4 1.21821 E-4 INFINITE

1654 .5 .49 29 16 -7.08 427 E-3 - 1. 41685

3764 2. 5 2.5186 1.85991 E-2 .743964

59 40 5 4.98544 - 1.45589 E-2 - . 29 1 1 78

9 602 10 10.0029 2.92218 E-3 2.92218 E-2

ANALYSES FOR UTECH AND EARLY -- ELEMENT: BI

SAMPLE NO. AVE. INT

221 1627

222 1662.67

223 1702. 33

224 1719

225 16 49.33

226 2233

227 229 1.33

228 2761

229 5757-33

231 1601.33

TIME: 7 SECS.

RESULTS FOR SAMPLES

AVE. CONC. STD. DEV. CONC.

.469336

. 500498

. 535285

. 5499 35

. 488836

1 . 1 29 2

1.06676

1.5107

4.76365

. 446969

NO. OF RUNS

1.05805 E-2 3

2.02139 E-3 3

1. 10527 E-2 3

6.09456 E-3 3

5. 12302 E-3 3

3.96715 E-2 3

2. 13884 E-3 3

3*34006 E-3 3

4.79 171 E-2 3

6.59 104 E-3 3

36
XRAY1

XRAY1 is a program for data analysis in testing proposed analytical methods, where all the data are from standard specimens and the calibration is presumed to be linear.

(The assumption of linearity may be under test.) A calibration slope, the ratio of percent concentration to intensity,

must be input and the average percent concentration for each

specimen is known a priori, the derived range of percent

concentration values being centered on this value.

A program option allows for a found concentration to be

printed for each measured intensity or for suppressing this

print out

.

The statistical methods used in this program are outlined in NBS Handbook 91. The program consists of 70 active

statements. Each set of data requires approximately 3 sec

processor time and 1 min console time.

Example

The data entry begins in line 801 with the following

parameters being input in the order given: print out option

(1 for percentage print out for each intensity, for no

print out); number of measurements per standard; four slopes;

specimen number; four known concentrations; a table, four

columns wide by as many rows as there are measurements,

which contains the measured intensities.

The data are in columns with each column being related

to an element. If fewer than four elements are being studied

the extra columns must be filled with zeros. In addition to

numerical input, column headings may be changed by adjusting

line 30.

If the labels are constant, several sets of data can be

entered at one time by adding additional sets of data to the

input. Line 450 must be adjusted to return control to the

37
proper read line (line 20 or 21) depending on whether the

print out option, the number of measurements per standard,

and the slopes change between data sets.

10

801 DATA 0* 4* .009 1* .0012* .0016*

602 DATA 14* 74.50* 0.001* 0.10* 0.

901 DATA 3366* 2781* 0143* 0467

9 02 DATA 339 5* 278 5* 0108* 0429

903 DATA 3519* 2855*0072* 409

904 DATA 3569* 2869* 0074* 0497

906 DATA 14* 74.50* 0.001* 0.10* 0.10

907 DATA 3366* 278 1* 0143* 0467

9 08 DATA 339 5* 278 5* 0108* 0429

909 DATA 3519* 2855* 0072* 409

9 10 DATA 3569* 2869* 0074* 0497

00017

XRAY1 15:09 04/14/67

ANALYSIS FOR 4 ELEMENTS FOR 4 RUNS ON SPECIMEN 14

ITEM AGKA

STATISTICAL ANALYSIS

AVE PCT 74.5

STD DEV PCT .885442

AVE INTEN 3462.25

STD DEV INTEN 9 7.3015

PCT COEF VAR 1. 188 51

MAX PCT

MIN PCT

RANGE PCT

75.4714

73.6241

1.8473

cusc 2NKA 2NKA

.001

5.51957

2822.5

45.9964

5519.57

E-2

• 1 5. 36318

99.25

33. 5199

53.6318

E-•2

. 1 6.67056

450. 5 39.238 6 6.67056

E-3

.0568

.0488

. 1056

. 17

. 0564

. 1 136

• 107905

.0929 45

.01496

ANALYSIS FOR 4 ELEMENTS FOR 4 RUNS ON SPECIMEN 14

ITEM AGKA CUSC 2NKA

STATISTICAL ANALYSIS

AVE PCT 74.5

STD DEV PCT .885442

AVE INTEN 3462.25

STD DEV INTEN 9 7.3015

PCT COEF VAR 1. 18851

MAX PCT

MIN PCT

RANGE PCT

75. 4714

73.62^1

1.8473

2NKA

. 001

5. 51957

2822.5

45.9964

5519. 57

E-2

. 1 5. 36318

99.25

33. 5199

53*6318

F-2

. 1 6.67056

450.5

39.2386

6.67056

E-3

.0568

• 0488

. 1056

. 17

.0564

. 1 136

. 107905

.092945

. 1 49 6

OUT OF DATA IN 21

TIME: 5 SECS.

38
XRAY2

XRAY2 is similar in structure to XRAY1 , but it has

a different purpose. XRAY2 computes statistics for intensities measured on unknown specimens. A calibration slope,

which is the ratio of percent concentration to intensity, is

input so that the standard deviation may be computed in

terms of percent concentration.

The statistical methods used in this program are outlined

in NBS Handbook 91. The program consists of 54 active statements. Each set of data requires approximately 2 sec processor time and 1 min console time.

Example

The data entry begins in line 899 with the following

parameters being input in the order given; four slopes;

specimen number; number of measurements per unknown; a table, four columns wide by as many rows as there are measurements, which contains the measured intensities.

The data are in columns with each column related to an

element. If fewer than four elements are being studied the

extra columns must be filled with zeros. In addition to

numerical input, column headings may be changed by adjusting

line 130.

If the labels are constant, several sets of data can

be entered at one time by adding additional sets of data to

the input. Line 310 must be adjusted to return control to

the proper line (12, 14, or 15) depending on what data are

common to all sets.

39
899 DATA .5* .5* . 5* . 5 900 DATA 76* 5 901 DATA 9* 7* 22* 7.6

9 02 DATA 10* 9* 22* 7.7

903 DATA 9* 8* 21* 7.8

9 04 DATA 11* 9* 23* 6.9

905 DATA 11* 7* 22* 6. 7 9 06 DATA 12* 9* 22* 6.9

907 DATA 1 1* 8* 22* 7. 1 9 08 DATA 11* 9* 22* 6.9

909 DATA 13* 7* 22* 7.7

9 10 DATA 13* 7* 22* 7.5

XRAY2 15 : 17 04/ 14/67

AVERAGES OF 5 INTENSITIES FOR 4 ELEMENTS FROM SPECIMEN 76 — UTH STATISTICAL ANALYSIS. TEST SAMPLE 1

ITEM A6KA SN/AC CUSC £NKA

AVERAGE 10

MAXIMUM 11 MINIMUM 9

RANGE 2

STD. DEV. 1 STD.DEV.OF PCT .5

PCT.COF. VAR. 10

.804242 22. 7.34

.9 23 7.8

.636364 21 6.7

.263636 2 1. 1

. 106551 •707107 .50299 1 5.32755 E-2 . 353553 .251496

13.2486 3.21412 6.85274

AVERAGES OF 5 INTENSITIES FOR 4 ELEMENTS FROM SPECIMEN 76

-- WITH STATISTICAL ANALYSIS. TEST SAMPLE 1 ITEM AGKA SN/AG CUSC £NKA

AVERAGE 12. .674476 22

MAXIMUM 13 .818182 22

MINIMUM 11 •538462 22

RANGE 2 .27972

STD. DEV'. 1 . 1 28 59

1

STD. DEV. OF PCT .5 6.42955 E-2

PCT.COF. VAF! • 8.33333 19.0653

7.22

7.7

6.9

.8

. 363318

. 181659

5.0321

OUT OF DATA IN 1 10

TIME: 3 SECS.

40
PLATE1

PLATE1 is a program for calibrating plating thickness

as a function of attenuation of x-ray fluorescent intensity.

Intensities are measured as a function of the time required

to reach a preset count, and are background corrected. The

program makes a linear least squares regression of plating

thickness as a function of the natural logarithm of the

corrected fluorescent intensity of the substrate material.

The statistical methods used in this program are outlined in NBS Handbook 91. The program consists of 9^

active statements. Each set of data requires approximately

5 sec processor time and 2 min console time.

Example

The data input begins in line 900 where the first number

is the mass absorption coefficient in the plating material

for the radiation of the substrate which is measured, followed

by the density of the plating material in g/cm , the preset

x-ray count, the counting time for an infinitely thick plating,

the counting time for the substrate with no plating, and

the number of time measurements per standard. In line 901 and

the following lines the thickness of a standard and the

measured times for that standard are input.

41
900 DATA 90.0* 8.90* 256000* 191.2* 10.94* 4

901 DATA 0* 10.87* 10.86* 10.88* 10.88* 0* 10.97* 11.00* 11.05*11.01

902 DATA .12* 20.78* 20.85* 20.77* £0. 77* .12* 20.98* 21.00* 21.08* 20.

903 DATA .26* 41.04* 41.16* 41.25* 41.19

904 DATA .26* 41.11* 40.86* 41.04* 40.98

905 DATA .37* 61.56* 61.64* 61. 28* 61.26

906 DATA .37* 62.24* 62.35* 62-11* 62.38

907 DATA .56* 109.61* 109.36* 109.63* 109.89

908 DATA .56* 111*50* HI. 38* 111.41* 111.34

909 DATA .76* 149.97* 149.62* 149.69* 148.89

910 DATA .76* 150.43* 149.69* 150.39* 150.37

911 DATA .85* 159.19* 158.89* 158.81* 158.41

9 12 DATA .8 5* 159.8 4* 159.72* 160.04* 159.82

PLATE1 16:05 04/22/67

COMPUTATIONS FOR PLATING THICKNESS CALIBRATION.

GIVEN THICKNESS COKR. I LN CORR I LNCCOR I/IOD MU FOR AVE <D 22206.7 10.008 .007 -63671.

3

21918.1 9.995 -.007 63426.5

.12 10973.3 9.303 -.698 .17

.12 10654.6 9.292 -.709 .179

.26 4880.74 8.493 - 1 . 509 .169

.26 4905.4 8.498 -L503 .167

.37 2828.13 7.947 -2.054 .144

.37 2772.23 7.927 -2.074 .15

• 56 996.382 6.904 -3.097 .142

.56 958.959 6.866 -3.136 .149

.76 372.988 5*922 -4.08 .126

.76 365.262 5.901 -4.101 .129

• 85 272.93 5. 609 -4.392 .107

.85 262.54 5. 57 -4.431 .111

LEAST SQUARES FIT OF DATA .

REGRESSION WITH THICKNESS AS THE INDEPENDENT VARIABLE •

LN INTENSITY = -5.23 [THICKNESS] + 9.913

STANDARD ERROR OF LN INTENSITY = .08 1

REGRESSION U TH LN INTENSITY AS THE INDEPENDENT VARIABLE

THICKNESS = -.191 § CLN INTENSITY] + 1.892

STANDARD ERROR OF THICKNESS = .016

TIME: 5 SECS.

42
PLATE

2

PLATE2 is a program for computing plating thickness

for measurements on unknown specimens, given a calibration

equation as found in PLATE1. As in PLATE1 , attenuation

of characteristic x-rays originating in the substrate is

the basis for measurement . Time to reach a preset count

level is the quantity input; several such measurements for

each unknown thickness are input. These quantities are

converted to counts per second, background corrected, and

averaged. The averaged value is substituted into the calibration equation found in PLATE1, and the determined thickness is printed out.

The statistical methods used in this program are outlined in NBS Handbook 91. The program consists of 33 active

statements. Each set of data requires approximately 1 sec

processor time and 1 min console time.

Example

The data entry begins in line 900 with the following

parameters being input in the order given: test number,

coefficient of the linear term, constant term, number of

time measurements per unknown, test level for the coefficient of variation of found thickness, the background in

cps , and the total number of counts taken in each measurement (preset count). In line 901 and the following lines

the identification number of the unknown specimen is input,

followed by the n time measurements for each.

43
900 DATA 75* -.192

901 DATA 2* 20.78*

902 DATA 4* 62.00*

903 DATA 6* 111.0*

904 DATA 8* 89*89*

1.903* 4* .8* 1499* 256000

21.00* 20.79* 20.80

62.31* 62. 13* 62.09

111.2* 111.3* 111.3

PLATE2 16:18 04/22/67

X-RAY THICKNESS DETERMINATIONS. 4 MEASUREMENTS PER UNKNOWN.

TEST NO. : 7 5 EQUATION : = -.192 CLN INTEN.] + 1.903

TEST LEVEL : COEFFICIENT OF VAR.= .8

UNKNOWN NO. THICKNESS PCT CV IF> .8 REMARKS

2 . 1201 .92

4 . 39 17 *

6 . 6188 *

8 . 5225 2-55

TIME: 1 SECS.

44
STAT

STAT is a program which computes the following statistics for each of one to eight columns of numbers: average,

maximum, minimum, range, standard deviation, 95% confidence

limits for the standard deviation, percent coefficient of

variation, and the 95% confidence limit for the lot mean.

The columns of numbers need not be related, but must all

have the same length.

An important feature of the program allows the operator

to cause the data to be subgrouped by changing four parameters

in one line of input. For example, a set of 80 data points

may have been obtained at five different times. The computations can be made for the total set of 80 data points

and for the original subsets of 16.

The statistical methods used in this program are outlined in NBS Handbook 91. The program consists of 119 statements. Running time for eight columns of 20 numbers is about

3 sec processor time and 2 min console time.

Example

The first number of the input, on line 899, controls an

option. In this case, the program will read in N columns,

each L long. Alternatively, if the first number was 1, the

program would read LxN table. Line 900 contains the following

data: number of columns, number of rox^s , number of rows to

be computed each time, B upper, B lower, Student's T. B and

T values may be found in NBS Handbook 91, PP • T34 and T5; if

either of these computations is not desired, zeroes may be

inserted. Lines 901 through 904 contain 4 columns of 8 numbers each. In the example given, the data have been subgrouped into groups of four. Calculations for the complete

set, without subgrouping, could be obtained by changing the

last four parameters on line 900.

45
899 DATA

900 DATA

901 DATA

9 02 DATA

903 DATA

4*8* 4* 3* 183* • 51 78* 3* 182

631* 634* 645* 652* 614* 632* 643* 622

555* 533* 544* 523* 533* 522* 541* 532

21 1*234*231*222*234*23 5*253*233

904 DATA 123*124*122*133*133*122*123*123

STAT 13:43 10/30/67

STATISTICAL ANALYSIS FDR 4 COLUMNS OF 4 NUMBERS

COL: 1 2 3

AVERAGE 640.5

MAXIMUM 6 52

MINIMUM 631

RANGE 21

538.75 224

555 234

523 21 1 32 23

ANALYSIS OF VARIANCE

STATISTICAL ANALYSIS FOR 4 COLUMNS OF 4 NUMBERS

COL: 1 2 3

AVERAGE 627

MAXIMUM 643

MINIMUM 614

RANGE 29

75 532

541

522

19

125.

133

122

11

STD. DEV. 9.74679 13.8173 10. 3441 5.06623

9 5 CONF U LIM 31.024 43.9803 32.9252 16* 1258

95 CONF L LIM 5.04689 7« 15458 5. 35616 2.62329

PCT COEF VAR 1.52175 2. 56469 4.60761 4.03684

T TEST... 95 PCT CONF INTERVAL FOR THE LOT M EAN . UPPER LIMIT 658.406 564. 134 243. 503 134.807

LOWER LIMIT 622.59 4 513. 366 205.497 1 16. 193

238.75 125

253 133

233 122

20 11

25

ANALYSIS OF VARIANCE

STD. DEV. 12. 5532 7.78888

9 5 CONF U LIM 39.9 569 24.792

9 5 CONF L LIM 6*50006 4.03308

PCT COEF VAR 1.99972 1.46408

T TEST... 9 5 PCT CONF INTERVAL FOR THE

UPPER LIMIT 650.812 546.309

LOWER LIM I

T

604.688 517.691

TIME: 5 SECS.

9. 53502

30. 35

4.93724

3.99373

LOT MEAN,

256-

221.

267

P33

5. 18813

16.5138

2.68641

/i. 14222

134.

1 15. 78 1 719

46
TEMPER and PROFIL

Both of these programs calculate plasma temperatures

from the relative intensities of spectral lines. They

differ only in the form of output. The temperature and

standard deviation of the temperature are found from the

slope and standard deviation of the slope of a least-squares

line fitted through log(I\ /gf) vs. E, where I is the relative intensity of a line, X is its wavelength, g is the

statistical weight of the line, f is the oscillator strength,

and E is the excitation energy. The procedure for the leastsquares fit is taken from NBS Handbook 91, Section 5-4.1.

For each value of E, a value of log(I\ /gf) is found

from the curve, and from this is calculated the standard

error of Y. Any point for which the difference between the

input and calculated values of this log ratio is greater

than twice the standard error of Y is rejected, and the line

is refitted to the remaining points.

Example of TEMPER

The first number in line 900 is the number of emission

lines used. This is followed by the following data for each

line: wavelength, excitation energy in Kaysers , and the

gf-value . In the example there are two sets of relative intensities, listed in the same order as the emission lines.

These two sets of emission intensities are identical except

that in the second set two intensity values have been

changed to demonstrate rejection of faulty data by the program.

Example of PROFIL

The first number in the data is the number of emission

lines used. This is followed by the following data for

each line: wavelength, excitation energy in Kaysers, and

the gf-value. In the example there are three sets of

47
relative intensities, listed in the same order as the

emission lines. In each case, the first number indicates

the position in the arc at which the measurements were made.

The first two sets are identical except that two intensities

have been changed in the second set to demonstrate rejection of faulty data by the program.

900 DATA 10*3278.3* 40426* .68* 3282. 3* 40330* . 59 * 3308. 8* 31 301* . 062

901 DATA 3318.0* 31 1 14, .072* 3329. 5* 31 1 14* .33* 3332. 1* 40027* • 9 1 902 DATA 3335.2*309 59**26* 3340. 3* 30837* • 19* 3343. 8* 31 1 14* . 062

903 DATA 3346. 7* 30959* .072

904 DATA 44.372* 33*716* 30.082* 40.456* 287-23* 70-666* 206.97

905 DATA 149.90* 31.669* 43*529

908 DATA 44.372*33.716*30.082*40.456*490

909 DATA 70.666*206.97*149.9*31.669*23.529

TEMPER 16:33

WAVELENGTH I 3278.

3

3282.3

3308.8

3318

3329.5

3332. 1 3335.2

3340.3

3343.8

3346.

7

04/ 12/67

ATIO ENERGY

12.3615 40426

12.3055 40330

13.2449 31301

13.3123 31 1 14

13.5069 31 114

12.4583 40027

13. 4703 309 59

13. 4684 30837

13.28 1 31 1 14

13. 3553 309 59

ENERGY

40426

40330

31301

31114

31114

40027

309 59

3 0837

31114

309 59

TEMP. IS 5731.39 +-342.694 DEGREES K, WAVELENGTH RATIO

3278*3 12.3615

3282.3 12.3055

3308.8 13.2449

3318 13.3123

3329.5 13.7388

3332. 1 12. 4583

3335.2 13.4703

3340.3 13.4684

3343.8 13.281

3346.7 13.0881

LINE AT 3329.5 A. OUT OF LIMITS.

LINE AT 3346.7 A. OUT OF LIMITS.

TEMP. IS 58*6.26 +-351.037 DEGREES K

OUT OF DATA IN 16fc

TIME: 3 SECS.

48
900 DATA

901 DATA

9 02 DATA

903 DATA

904 DATA

905 DATA

906 DATA

90 7 DATA

9 Lb DATA

9 09 DATA

10J 327b«

3318.

3335.

3346.

1.23* 44.

70. 44.

3* 40426*

0* 3 1 1 1 At 2* 309 59*

7* 309 59*

372* 33.

.68*

.072

.26*

.072

716*

3282.3* 40330* -59*

3329. 5* 311 14* .'33. 3340. 3* 30837* • 19*

666* 206. 97j

p. 34* 44.372* 33.716j

70.666* 206.97*

3.45* 51.663* 38.962j

83.86* 241-08;

3308.8* 31301* .062

3332. 1* 40027* .91

3343.8* 31114*. 06?

30. 082*

149.9 0* 30.08 2* 149.9*

34. 602*

186.27*

40. 456*

31.669*

40.456*

31 .669*

46. 774*

38. 152*

287.23

43. 529

49

23.529

341.99

49.375

PROFIL 16:42 04/ 12/67

SET NUMBER 12

ROSN.-MM

1.23

2.34

LINE AT 3329.5

LINE AT 3346.7

3.45

TEMP.-DEG. K T - IS

5731.39 5388.7

58*6.26 5495*22

ANGSTROMS REJECTED

ANGSTROMS REJECTED

5711.7 53*8.26

T + IS

6074.09

6197.3

6075. 15

STD. DEV.

342.694

351. 037

363. 446

OUT OF DATA IN 160

TIME: 3 SECS.

49
C0LS8

C0LS8 is a subroutine which will print out 6 to 8 neat

columns of tabular data. Exponential output is not allowed

for and the columns are 6 digits wide. Thus, no entry in

the table may be larger than 999999.

Example

In the example shown, the subroutine was appended to a program written to generate 8 columns of 10 numbers.

OLEX 16:29 4/ 22/67

20 40 60 80 100

m 80 120 160 200

60 120 180 240 300

80 160 240 320 400

\toto 200 300 400 500

120 240 360 48 600

140 280 420 560 700

160 320 48 640 800

180 360 540 720 900

200 400 600 8 00 1000

IMEl 2 SECS.

120

240

360

48

600

720

8 40

960

108

1200

140 160

28 320

420 48

560 640

700 8 00

8 40 960

98 1 120

1 120 128

1260 1440

1400 1600

50
WRITE1, WRITE2, and WRITE4

These subroutines are useful for having the results of

one program punched onto a paper tape formatted for quick

reentry as input data to another program.

Examples

In the example shown, the subroutines have been added

to the program TEMPER. In each case, the normal output of

TEMPER is followed by the output of the subroutine.

TEMPER 10: 09 04/24/67

WAVELENGTH RATIO ENERGY

3278.3 12.3579 40426

3282.3 12.2962 40330

33(48.8 13.2437 31301

3318 13. 3074 31 1 14

3329.

5

13.5065 31 1 14

3332. 1 12.4542 40027

3335.2 13. 4683 309 59

3340.

3

13. 4687 30837

3343.8 13.2855 31 1 14

3346.

7

13.35 30959

TEMP. IS 5706-39 +-341. 504 DEGREES

DATA INPUT TAPE BEGINS* TYPE 1* TURN ON TAPE* HIT RETURN.

? 1900 DATA 40426 > 40330 * 31301 > 31114

901 DATA 31114 * 40027 > 309 59 * 30837

902 DATA 31 1 14 > 309 59

TIME: 4 SECS.

51
TEMPER 10: 47 04/24/67

Ir.AVELENGTH RATIO ENERGY

3278.3 12.3615 40426

3282.3 12.3055 40330

3308.8 13-2449 31301

3318 13.3123 31114

3329.5 13- 5069 311 14

3332. 1 12.4583 40027

3335-2 13. 4703 309 59

3340.3 13. 4684 30837

3343.8 13.281 311 14

3346.7 13.3553 309 59

TEMP. IS 5731.39 +-342*694 DEGREES K,

DATA

? 1900

TAPE BEGINS* TYPE 1 * TURN ON TA

DATA 3278.3 > 12. 3615 » 40426

901 DATA 3282.3 > 12- 3055 » 40330

902 DATA 3308.8 * 13. 2449 » 31301

903 DATA 3318 » 13. 3123 3 31114

904 DATA 3329.

5

* 13. 5069 3 311 14

905 DATA 3332. 1 j 12. 4583 » 40027

906 DATA 3335.2 » 13. 4703 3 309 59

907 DATA 3340.

3

* 13. 468 4 3 30837

9 08 DATA 3343.8 * 13. 28 1 3 31114

9 09 DATA 3346.

7

* 13. 3553 3 309 59

TIME: 4 SECS.

40426

40330

31301

31114

31 1 14

40027

309 59

308 37

31114

309 59

TEMPER 10:3^ 04/24/67

WAVELENGTH RATIO ENERGY

3278.

3

12. 3615 40426

3282.3 12. 3055 40330

3308.8 13.2449 31301

3318 13.3123 31114

3329.5 13. 5069 31 1 14

3332. 1 12.4583 40027

3335.2 13.4703 309 59

3340.

3

13. 4684 30837

3343.8 13.28 1 31 1 14

3346.

7

13- 3553 309 59

TEMP. IS 5731. 39 +-342. 69 4 DEGREES

DATA OUTPUT TAPE BEGINS* TYPE 1* TURN ON TAPE, HIT RETURN,

? 1900 DATA 12.3615 3 40426 3 12. 3055 3 40330

901 DATA 13.2449 3 31301 3 13. 3123 3 31114

9 02 DATA 13.5069 3 31 1 14 3 12. 4583 3 40027

903 DATA 13.4703 3 309 59 3 13. 4684 3 30837

904 DATA 13.28 1 3 31114 3 13. 3553 3 309 59

•I ME: 4 SECS.

52
TIME

TIME is a program for computer terminal usage

accounting and housekeeping. It functions by accumulating

a block of usage data. The program accumulates the data

automatically by instructing the operator how to load and

save one line of data at the end of each use. Each

operator should call TIME and type RUN before signing off

the terminal. When a summary is desired type: "5 GO TO

130"; then type: RUN. At the beginning of each month the

data of the previous month should be run and then unloaded

by deleting all the data lines except 999-

Examples

Two examples are shown. The first shows entry of data

by an operator at the end of a use. He calls up the program,

types "RUN", and enters data according to the instructions

given by the output of the program. In the second example,

the operator types "5 GO TO 130" to skip over the first

part of the program, and then types run. The program then

summarizes the data that have been put in by individual

operators to show the usage of the system from the first

of the month.

53
OLD

OLD PROBLEM NAME- -TIME

READY.

RUN

TIME 16:58 64/12/67

TYPE A LINE OF DATA NUMBERED: 9 59 USING THIS FORMAT:

959 DATA 959 * OPERATOR NO... TIME ON* TIME OFF* DAY OF MONTH

IvHEN COMPLETE TYPE 'SAVE' AND SAY 'GOODBYE'. **** ALIAYS USE PROPER FORMAT ****

SSSS REMEMBER TO TYPE SAVE SSSS

TIME: 3 SECS.

959 DATA 959* 7* 1543* 1658* \2

SAVE

V.AIT. READY.

GOODEYE

*** OFF AT 16:58.

51
5 GO TO 130

RUN

V.A1T.

TIME 15:46 04/12/67

SUMMARY OF COMPUTER USAGE TO THE 12 TH DAY OF THE MONTH

NO. CONTACTS CONTACT HOURS CONTACTS/ l-.K DAY AV.HRS/CONT. PRED.HRS/MO

39 23.9333 3.9 .613675 50.26

USER NUMBER NO. CONTACTS CONTACT HOURS PCT. ALL HRS PRED.HRS/MO

10

1115

16

19

27

31

32

6. 06667 25- 3482 12.7/1

1.5 6.26741 3. 15

2.45 10.2368 5. 145

4.06667 16.99 16 8.54

1. 1 1667 d. 66574 ?. 3*

5

1.86667 7.79944 3.92

.266667 1. 1 1421 .56

5.75 24.0251 12.075

. 683333 2-85515 1.435

. 166667 • 696379 • 35

CHART OF DAILY USAGE

HOURS

DAY 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0>

+ + + + + + + + +

1 * 1.5

2 * 3 * A , A 4

* 3.2

5 * 2.3

6 # 4. /j 7

* 3.2

8 *

9 * 10 * 3.9

11 * 12 * 1 13 * 14 *P

STOP.

READY.

55

NBS TECHNICAL PUBLICATIONS

PERIODICALS

JOURNAL OF RESEARCH reports National

Bureau of Standards research and development in physics, mathematics, chemistry, and engineering.

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.

Published in three sections, available separately:

Physics and Chemistry

ipers of interest primarily to scientists working in lese fields. This section covers a broad range of

lysical and chemical research, with major emphasis

standards of physical measurement, fundamental

mstants, and properties of matter. Issued six times

year. Annual subscription: Domestic, 35.00; forjn, 36.00*. Mathematical Sciences

tudies and compilations designed mainly for the

ithematician and theoretical physicist. Topics in lathematical statistics, theory of experiment design,

lmerical analysis, theoretical physics and chemislogical design and programming of computers

id computer systems. Short numerical tables,

sued quarterly. Annual subscription: Domestic,

.25; foreign, 32.75*.

Engineering and Instrumentation

sporting results of interest chiefly to the engineer

id the applied scientist. This section includes many

: the new developments in instrumentation resulting am the Bureau's work in physical measurement,

ita processing, and development of test methods,

will also cover some of the work in acoustics,

pplied mechanics, building research, and cryogenic

igineering. Issued quarterly. Annual subscription:

Dmestic, 32.75; foreign, 33.50*.

TECHNICAL NEWS BULLETIN

le best single source of information concerning

Bureau's research, developmental, cooperative

id publication activities, this monthly publication

lesigned for the industry-oriented individual whose

lily work involves intimate contact with science

id technology

for engineers, chemists, physicists, search managers, product-development managers, and

xpany executives. Annual subscription: Domestic,

.50; foreign, 32.25*.

fference in price is due to extra cost of foreign mailing.

N0NPERI0DICALS

Applied Mathematics Series.

tables, manuals, and studies. Mathematical

Building Science Series. Research results, test methods, and performance criteria of building materials, components, systems, and structures. Handbooks. Recommended codes of engineer

and industrial practice (including safety codes) de- veloped in cooperation with interested industn

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 tl e physical

and chemical properties of materials, con oiled from

the world's literature and critically evalr ted.

Product Standards. Provide requirements for

sizes, types, quality and methods for testing various

industrial products. These standards are developed

cooperatively with interested Government and in- dustry 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. CLEARINGHOUSE

The Clearinghouse for Federal Scientific and

Technical Information, operated by NBS, supplies

unclassified information related to Governmentgenerated science and technology in defense, space, atomic energy, and other national programs. For

further information on Clearinghouse services, write:

Clearinghouse

U.S. Department of Commerce

Springfield, Virginia 22151

Order NBS publications from:

Superintendent of Documents

Government Printing Office Washington, D.C. 20402
United States

Government printing Office

DIVISION OF PUBLIC DOCUMENTS Washington, D.C. 20402

OFFICIAL BUSINESS

POSTAGE AND FEES PAID

U.S. GOVERNMENT PRINTING OFFICE