United States
Environmental Protection
Agency
Environmental Sciences Research
Laboratory
Research Triangle Park NC 27711
EPA-600/2-79-194
October 1979
Research and Development
Computer
Program for
Reducing  M
Spectra Data from
GC/MS Systems


-------
                 RESEARCH REPORTING SERIES


Research reports of the Office of Research and Development, U.S. Environmental
Protection Agency, have been grouped into nine series. These nine broad cate-
gories were established to facilitate further development and application of en-
vironmental technology. Elimination of traditional  grouping was consciously
planned to foster technology transfer and a maximum interface in related fields.
The nine series are:

    1. Environmental Health Effects Research

    2. Environmental Protection Technology

    3. Ecological Research

    4. Environmental Monitoring

    5. Socioeconomic Environmental Studies

    6. Scientific  and Technical Assessment Reports  (STAR)

    7. Interagency Energy-Environment Research and Development

    8. "Special"  Reports

    9. Miscellaneous Reports

This report has been assigned to the ENVIRONMENTAL PROTECTION TECH-
NOLOGY series. This series describes research performed to develop and dem-
onstrate  instrumentation, equipment, and methodology to repair or prevent en-
vironmental degradation from point and non-point sources of pollution. This work
provides the new or improved technology required for the control and treatment
of pollution sources to meet environmental quality standards.
This document is available to the public through the National Technical Informa-
tion Service, Springfield, Virginia 22161.

-------
                                               EPA-600/2-79-194
                                               October 1979
COMPUTER PROGRAM FOR REDUCING MASS SPECTRAL DATA
               FROM GC/MS SYSTEMS
                       by
                 David Rosenthal
           Research Triangle Institute
              Post Office Box 12194
  Research Triangle Park, North Carolina  27709
             Contract No. 68-02-2745
                 Project Officer

                  Kenneth Krost
   Atmospheric Chemistry and Physics Division
   Environmental Sciences Research Laboratory
  Research Triangle Park, North Carolina  27711
   ENVIRONMENTAL SCIENCES RESEARCH LABORATORY
       OFFICE OF RESEARCH AND DEVELOPMENT
      U.S. ENVIRONMENTAL PROTECTION AGENCY
  RESEARCH TRIANGLE PARK, NORTH CAROLINA  27711

-------
                                 DISCLAIMER

     This report has been reviewed by the Environmental Sciences Research
Laboratory, U.S. Environmental Protection Agency,  and approved for publica-
tion.  Approval does not signify that the contents necessarily reflect the
views and policies of the U. S. Environmental Protection Agency, nor does
mention of trade names or commercial products constitute endorsement or
recommendation for use.
                                    ii

-------
                                  ABSTRACT
     Existing computer programs for deconvoluting mass spectrometry data
derived from gas chromatography/mass spectrometry/computer systems were
evaluated, and the most efficient method was introduced unto an EPA UNIVAC
computer.  The program chosen was that reported by Rindfleisch and his co-
workers at Stanford University.  The accompanying program listing is included.
The Rindfleisch program was tested with both standard runs and environmental
samples.  Sample components were successfully identified by an independent
computer search program with an accuracy approaching 80%.

     This report was submitted in fulfillment of contract number 68-02-2745
by the Research Triangle Institute under the sponsorship of the U.S. Environ-
mental Protection Agency.  This report covers a period from September 2, 1977
to March 1, 1979, and work was completed as of March 1, 1979.
                                     iii

-------
                                    CONTENTS
Abstract	   iii
Figures	    vi
Tables	viii
Charts	    ix
Abbreviations  	     x
     1.   Introduction 	     1
     2.   Conclusions and Recommendations  	     3
     3.   Literature Search of Existing Deconvolution
          Methods  	     5
     4.   Implementation and Testing of CLEANUP	    24
     5.   Implementation of the CLEANUP Program
          on the UNIVAC Computer	    67
     6.   User Description of Program Operation  	    76
     7.   Delivery to EPA	    79
References	    80
Appendices
     A.  CLEANUP Source Listing  	    81
     B.  "Extraction of Mass Spectra Free of Background and
          Neighboring Component Contribution from Gas
          Chromatography Mass Spectrometry Data" 	   151
                                    v

-------
                                     FIGURES

Name                                                                  Page

  1  Schematic representation of 14 scan window for masses 40-450
       in core - a typical case	    9

  2  A typical singlet peak model for a given mass  "	   10

  3  Various types of situations which do not quality in
       histogram calculation  	   11

  4  Peak detection histograms for sample processing window
       of Figure 1	   12

  5  Statistics of TIC vs scan number	   13

  6  Example of background subtraction for model peak 	   15

  7  Peak model resolutions:  two possible situations 	   18

  8  Overall schematic of computer assisted qualitative
       analysis of GC/MS data	   27

  9  Five "raw" spectra used as input to CLEANUP	   32

 10  Resultant "cleaned-up" spectrum from Figure 9  	   33

 11  Preoleanup - A, postcleanup - B	   34

 12  TIC plot of brominated standards	   35

 13  Hardware TIC plot of GC/MS analysis of organics from coal
       pyrolysis	   39

 14  Typical precleanup of mass spectrum	   40

 15  Same spectrum after CLEANUP  	   40

 16  Chemist's Printout from CLEANUP	". .  .  .   44

 17  Total ion current plot from test run	   43

 18  Graphic representation of possible settings of NTH1RD   	   60

                                   vi

-------
19  Function of ITOM histogram window setting  	  61




20  Effects of linear error ratio  	  64




21  Effect of SATVAL on CLEANUP	66




22  Modules required for transfer of CLEANUP program to UNIVAC ...  68




23  Raw TIC of INCOS test data	71




24  Possible consequences of scan rate too rapid for CLEANUP ....  72




25  Chemist's printout of EPA test run generated at TUCC	73




26  Chemist's printout of EPA test run	74




27  Example of CLEANUP control cards for EPA UNIVAC  	  77
                                     vii

-------
                                    TABLES

Number                                                                Page

  1  Subroutines of CLEANUP by Function  	    20

  2  Results of Comparison of Cleanup with Brominated Standards
       Searched for 26,209 Standards 	    37

  3  Typical Printout for Identification of Coal Components
       (After CLEANUP) 	    41

  4  Comparison of Selected Spectra from Coal Gasification Sample
       Searched Before and After CLEANUP 	    43

  5  Description of Types of Samples Investigated to Test Out
       CLEANUP	    47

  6  Comparison of Manual US Computer Identification of GC-MS Run.  .    49

  7  CLEANUP Input Paramter Summary  	    58
                                     viii

-------
                                     CHARTS

Number                                                                Page

  1  Summary of Calling Structure and Subroutine Function 	   19

  2  Steps Involved in Processing of CLEANUP Test Data (1)
       Preparation for and Interface to CLEANUP Program 	   28

  3  Steps Involved in Processing of CLEANUP Test Data (2)
       Preparation for and Interface to Search Program  	   29

  4  Steps Involved in Processing of CLEANUP Test Data (3)

       Generation of Versatec MS Plots from CLEANUP Files 	   31
                                     IX

-------
                             ABBREVIATIONS

GC/MS          -    Gas Chromatography/Mass Spectrometry
TIC            -    Total Ion Current
A/D            -    Analog to Digital
MS             -    Mass Spectrometry
TUCC           -    Triangle University Computation Center
GC                  Gas Chromatograph(y)
R              -    Correlation Coefficient
H              -    Hit
M              -    Miss
I/O            -    Input/Output
                                 x

-------
                                    SECTION 1
                                  INTRODUCTION
     Gas Chromatography/Mass Spectrometry (GC/MS) is an analytical method
which has the potential capability of allowing the total automated identifi-
cation of a complex mixture of pollutants.  Implementation of such a technique
depends on the availability of two types of new technology.  The first, the
automatic acquisition and storage of fast scan low resolution mass spectro-
metry data, has been available for some time.  The first GC/MS system involv-
ing the continuous recording of mass spectral data from a mass spectrometer
operating in cyclic mode was first reported by Kites and Biemann in 1968.   At
the present time these systems are commercially produced by many manufac-
turers .
     The availability of computer programs for the analysis of this kind of
data is at present still very limited.  Although software development in this
field constitutes a very active research area (roughly 100 papers are pub-
lished yearly), very few integrated systems have yet been developed which are
generally useful.  This is in part due to the large variety of computer
types, each with its own individual characteristics, but more importantly due
to a general unavailability of broad based algorithms with an effective
philosophy of  approach.  As a result, the vast majority of mass spectral runs
are still being analyzed by hand.
     The problem of the development of a generalized system for data analysis
has two aspects.  The first is how to separate mathematically the raw mixed
spectra into well resolved components.  The second is to assign a chemical
structure to each resolved spectrum.  Several approaches have been tried
                                                                             2
concerning the second problem, and one based on the pioneering work of Grotch
had been successfully implemented and realized in the form of a library
search program now resident at the RTI Mass Spectrometry Facility prior to
this project.  The early results of this search program however, had not been
totally satisfactory, usually for the reason that the input spectra were not

-------
sufficiently "clear", to allow unique identification.   This problem was in
large part alleviated by combining the search algorithm with an appropriate
cleanup procedure.  The implementation of each of these two stages and their
effective combination turned out to enhance the capabilities of the entire
system.
     After a prototype system was developed which was  shown to be effective,
the CLEANUP programs which were developed were adapted to the EPA environment.
Since manipulation of large data bases are much more easily accomplished in a
large computer, it was felt that this process was best carried out by adapting
data acquired using EPA's INCOS data system and processing them on a large
computer.  This approach had the dual advantage of making the programming
effort much simpler, since core size limitations did complicate the programming,
and in addition the processing could be accomplished independently, thus freeing
the INCOS system to do other work.  Again, the fact that programs were written
in standard FORTRAN facilitated their transfer to the  EPA UNIVAC computer.
     Completion of the project by delivery of the program and its documentation
to the contracting agency, is effected with this report and the accompanying
listings (Appendix 1).

-------
                                    SECTION 2
                        CONCLUSIONS AND  RECOMMENDATIONS
     The work accomplished under this contract can be divided into four
parts:  (I) a literature search to determine the most effective algo-
rithm for deconvolution of mass spectra; (II) implementing that algo-
rithm on an existing computer and performing detailed tests of its
efficiency, both from a chemical and machine standpoint; (III) making
the program operational on the EPA UNIVAC computer installation using
for input a tape created using the INCOS data acquisition system; (IV)
making the necessary documentation and source code (Appendix 1) avail-
able to the contacting agency.
     Three techniques were considered in Phase I:  background subtrac-
tion, mass max analysis, and peak profile analysis.  The peak profile
analysis proposed in a recent article by Rindfleisch (Appendix 2) was
ultimately chosen because of its demonstrated effectiveness in existing
systems (the CLEANUP program) and because it incorporated the notions of
background subtraction and mass max analysis as a starting point.
     Once the Rindfleisch algorithm was chosen, the task of implementing
that algorithm on the TUCC 370 was undertaken.  First, a detailed study
of the published algorithm was made in order to gain a better under-
standing of what was involved and to determine if improvements were
necessary.  Next, a copy of the Rindfleisch program modified to run on
an IBM 370 was obtained through the cooperation of a group of chemists
at the NASA Ames Air Force Base.  This copy was then modified to run in
a batch environment at TUCC and was subjected to extensive testing, both
from a machine and chemical standpoint.  This included running the
program under the WATFIV compiler to insure program accuracy and machine
independence, followed by testing with data acquired by a VARIAN CH-7

-------
mass spectrometer.  The test data consisted of three brominated standards,
followed by fifteen runs involving a wide variety of environmental samples.
The RTI library search program was used throughout to evaluate the output from
CLEANUP.  The laboratory standards were all correctly identified and correct
identifications, approaching 80% were obtained on some environmental samples.
In addition, some of the CLEANUP input parameters were studied in order to
determine optimum settings.
     Phase III, making CLEANUP operational in the EPA environment, consisted of
three parts:  obtaining a successful run of INCOS test data supplied by EPA on
the TUCC 370, obtaining a successful run on the same data using a version of
CLEANUP adapted to run on the EPA UNIVAC computer, and finally verifying that
the output tape was compatible with the contracting agency's INCOS data acqui-
sition software and yielded plausible output spectra.
     This report, together with the accompanying listings and the installing of
CLEANUP on the UNIVAC comprise the completion of Phase IV of this project.
     It is now necessary to carry out a thorough testing of the programs to
determine what conditions and sets of parameters must be used to obtain optimal
results.  The principles used in developing the software are sound, however,
the programs need to be tuned to fit the acquisition conditions.  Some atten-
tion should be given to control studies using known mixtures, because these
give the best opportunity for evaluation of the system.  A statistical evalua-
tion of the results, especially when compared with other methods, would be very
profitable.

-------
                                    SECTION 3
               LITERATURE SEARCH OF EXISTING DECONVOLUTION METHODS
     Phase I of this contract consisted of a literature search to consider
available alternatives for the treatment of mass spectral mixtures, and thus
arrive at a best method for deconvolution.  Three general avanues of attack
were examined:  background subtraction, mass max, and peak profile analysis.
BACKGROUND SUBTRACTION
     The technique of background subtraction is basically as follows.  In its
simplest form, a spectrum from either an unknown GC run or some blank run is
chosen as a "background" spectrum.  This spectrum is then subtracted from the
unknowns within the run, and the resulting difference spectra are used for
mass spectral identification.
     In a slightly more refined version of the technique, the background
spectrum is determined manually by visual inspection of a raw total ion
current (TIC) plot, and in some instances several background spectra are
chosen for use in different ranges of the chromatogram.
     The difficulties associated with this approach are fairly obvious.
Background spectra are not constant, either qualitatively or quantitatively.
Thus, what constitutes the background in one section of the run may be very
different from that in another.  Additionally, background peaks arising from
contaminants such as column bleed change in intensity especially during
temperature programmed runs.
     Thus the question of how the background subtraction is to be carried out
is very difficult to answer.  Even the mechanics of the subtraction can be
done in a number of ways.  Several unsophisticated schemes exist in which the
background spectra are subtracted, peak for peak, from the raw digitized
unknown.  Invariably, some spectra are undercorrected, while in others, real
data is eliminated from the output, making identification very difficult,

-------
either by hand or by machine.  Human interpreters often prefer to look at raw
data over background subtracted, since they can learn to ignore certain peaks
without the removal of key unknown pe^'cs by a clumsy program.
     More sophisticated approaches have been tried wherein only a fraction of
the background spectrum is subtracted.  The problem of course, is to deter-
mine the proper size of the fraction.
     All in all the background subtraction approach was eliminated since it
is not sufficiently flexible, can give erroneous results, and lacks a way in
which a consistent algorithm can be proposed for automatic processing.
MASS MAX ANALYSIS
     A second and more sophisticated approach to mass spectral deconvolution
                                         3
has been taken by Biemann and co-workers.   This approach makes use of the
principle that when a compound elutes from a GC column and is analyzed by
continuous scan MS, the ions of each component show maximum intensity at some
mean elution time.
     The algorithm chosen, then, searches through each single ion trace for
points of maximum intensity.  The deconvoluted spectra are then defined as
that collection of ions which have shown an intensity maximum within a given
time window.
     This approach was designed to allow the separation of mixtures of un-
knowns which are not sufficiently resolved to show individual TIC peaks, but
which can be distinguished by the presence of single ion maxima which are not
influenced by other ions not present in that particular unknown.
     This idea is sound, and in fact, constitutes the first part of the
           4
Rindfleisch  procedure, described below.  The procedure is very rapid and has
actually been incorporated into other commerically available deconvolution
software systems.
     The program is deficient because it does not take into account a number
of facts.
     1.   If a given ion shows a maximum at one point, it does not by
          any means guarantee that this ion will not be present in the other
          component.

-------
     2.    If,  as often occurs, an ion is present in both components in approxi-
          mately equal amounts, the observed maximum may occur between the
          maxima of either component and be missed entirely by the system.
     3.    The technique does not take into account contributions from back-
          ground noise or column bleed, and treats each ion in an all or
          nothing manner, and therefore cannot get a proper estimate of the
          intensity of peaks which derive from more than one source.
The method seems to have some merit for the purpose of identifying the presence
of unresolved multiplets.  However, it cannot accurately predict the actual
spectra, and because of the deficiencies mentioned in the previous paragraphs,
sometimes fails entirely, showing specious peaks, or missing multiplets.
PEAK PROFILE ANALYSES
     The algorithm for the CLEANUP program herein described was originally due
                                          4
to Rindfleisch and co-workers at Stanford.   Their program was part of an
integrated GC/MS data reduction system which ran on a PDP-11/20.  Following is
a detailed description of the elements and mode of operation of this program.
This information was gathered from the published work on the subject as supple-
mented by our copy of the listings and other documentation.
     Raw spectra output from GC/MS systems differ from the library spectra of
pure components for at least three definable reasons.  CLEANUP attempts to
correct mathematically these spectra in three distinct ways, corresponding to
these known error sources.  These are 1) Background noise and column bleed, 2)
Signal saturation, 3) overlapping peaks.  We will call the three portions of
the program dealing with these problems Tasks 1, 2, and 3.
     Errors arise for the following reasons.  Superimposed on the eluant
spectrum there will always be a certain constant level of background noise, and
in addition other extraneous signals which normally rise slowly with increasing
column temperature due to the elution of some of the liquid phase of the column.
Task 1 is concerned with the distinction between the origin of these kinds of
signals.  Task 2 tries to reconstruct the actual intensity level of peaks which
are so strong that they have exceeded the range of the A/D converter.  This  is
the problem of peak saturation.  Task 3 is the reconstruction of peak intensi-
ties of two or more compounds which elute so closely to one another that their

-------
mass spectral peaks are intermixed.  The guiding principle which allows the
CLEANUP program to function is that it uses information both in advance and
after a particular scan to distinguish h^tween real peak unknown information
and extraneous data.  Such issues as column bleed detection, doublet reso-
lution, background detection, etc. are defined in the context of a region of
scans rather than a single scan.  The CLEANUP program makes use of fourteen MS
scans in core at any one time (Figure 1).  For tasks 1 and 2, only the seven
innermost scans are used.  For some details (e.g., background estimation), all
14 scans are needed.  For multiplet resolution, all 14 scans are used.  The
processing proceeds from the beginning of the run to the end in a single pass
always using 14 spectra.  The spectrum window in core is progressively updated
by the addition of one spectrum from one end and the dropping of one spectrum
from the other.
     The CLEANUP algorithm can be divided into stages from a programming point
of view.  The first stage is the examination of the spectral window and deter-
mine whether or not an eluant is present at all.  When a peak, or group of
peaks is detected, then tasks 1, 2, and 3 can be undertaken to improve the
quality of the raw data.  The detection process is accomplished as follows:
The program looks at a window seven scans wide as the input spectra move through
the fourteen spectrum window in core.  For each of the 411 masses in the seven
scan window  (each scan covers masses 40 to 450 the program does a primitive
check to see if the window contains a simple maximum (Figure 2).  As maxima are
detected, histogram of the frequency of "singlet" maxima is created.  Data are
ignored if there are any "lumps"  (indicating a doublet) or if peak saturation
is  observed anywhere in the window (Figure 3).  In addition to the histogram of
the number of occurrences of maxima (Figure 4), a record of a slightly modified
total ion current is kept (Figure 5), i..e, once a singlet maximum is detected,
a rudimentary approximation to column bleed and background is subtracted (cor-
responding to the lowest value in the 14 a.m.u. window), the ion current at the
maximum is estimated via interpolation, and the resulting ion current is added
into a peak amplitude record.  When an appropriate number of scans have passed
through the window  (the statistics are updated continuously) a decision is made
on  the basis of the number of maxima observed and the total amplitude of those
maxima whether an eluant is present.  It should be mentioned here that at this

-------
Peak Intensity
  fcO
                                                                     eluent  #2
                     Scan Nunsber
     12315
0 II 12 13 !«•
Figure 1.  Schematic representation of 14 scan window for Masses 40-450 in
                              core - a typical case.

-------
      Peak Intensity
Saturated  4
Value
            1   I   i  '«.


   I  ] • peak processing vindow
it  11 12 11 1*
                                                      Background level
                                                        be subtracted
                                                          Number
         Figure  2.   A typical singlet peak model for  a given mass,
                                       10

-------
Intensity
                                       Intensity
                        >« 11 u  u i$ean
              Saturation             Nusber
Insufficient Sharpness
                       Scar.
                       Susber
Intensity
                                       Intensity
               Doublet
         it  it la ii
Noise Spike
                         Number
         Figure 3.  Various types of  situations which do not  qualify  in
                               histogram calculation.
                                         11

-------
of model singlet
 maxima detected
2C .
15.
10 «
s .



1

1
-*-
1 *2 \ •• 's 6 7 8 » 1*0 U 12 I 3 » «•
                                                 Scan Nur.ber
 Figure 4.   Peak  detection histograms for sample processing window of
                             Figure 1.
                                 12

-------
Total Ion Current
Due to Singlet
Models with Back-
ground Subtracted
                    1   1
                 121
IB  11 12 11  Ik
                 Figure 5.  Statistics  of TIC vs.  scan number
                                           13

-------
point in the program the "sharpness" of each candidate peak is computed.  This
number is a numerical approximation of the theoretical expression

                            In
which is a measure of the relative steepness of each individual peak.  It is
to be noted that this number is independent of the height of the peak.  There
is a provision in the CLEANUP program for the rejection of peaks not meeting
a minimum sharpness threshold (Figure 3).  Noise spikes are eliminated by the
property of the steepness function which favors wider peaks over very narrow
ones.
     Once the presence of a peak is detected, the CLEANUP program begins its
real work, namely, the deconvolution of the peak mixtures and the accounting
for bleed, noise, etc.  The CLEANUP program assumes linear superposition of
ion currents due to different causes, i-e., at any given point in time the
total ion current can be represented as a simple sum of a background, column
bleed, and whatever eluants are present.  For the case of a singlet, the
total ion current for a given mass Y(t) may be represented as a sum of three
functions
               Y(t) = P(t) + dt + c,
when the term dt represents the contribution to column bleed, c represents
the contribution due to background noise, and P(t) is the peak contribution
due to the signal.  The problem lies in making an initial choice for the
function P(t).  The method used by CLEANUP is to examine the mass in the
window with the sharpest non-saturated singlet maximum.  This mass was stored
by the previous phase of the program.  The column bleed and background are
then subtracted out (see Figure 6).  Once the functional form of the model
peak for a given mass is known, the contribution to the ion current due to
the eluant compound at other masses can be computed via a least squares
process, i.e., for any given mass
                  Y(t) £ pp(t) + dt + c
                                     14

-------
Peak Intensity
                                Model Peak v/background and
                                Column Bleed
                                                   Background & Column Bleed
       1  2   3  *   5   €   7   •   «   10  11  12  U
                                       Model Peak with background subtracted
                                       to be used in Least Squares Fitting
                                                        Scan Number
            Figure 6.   Example of background subtraction for model peak.
                                      15

-------
Here Y(t) is the total signal for that mass, which is made up of a contribution
of the signal, column bleed, and background.  The aim is to minimize
                   D =   [Y(ti) - pP(ti) - dti - c]2
in the interval covered by the peak, subject to the conditions
                   6D = Q. 6D = Q; 6D = Q
                   6p      6d      6c
This is done by a standard method.   It is important to realize that p, d and
c are being varied in order to find the best possible match of three functions
of fixed form (the model function P, a line through the origin, and a constant)
to the given Function Y.  The idea is that for a given eluant, all peaks will
have the same functional form P(t) and that peaks of different masses corre-
sponding to that eluant differ only in relative amplitude - something which is
taken account for in the factor p in pP(t).  Once the model function P(t) is
determined for a mass that is relatively free of background noise, neighboring
eluents, column bleed, etc., a meaningful interpolation can be made for those
masses which are contaminated with noise and bleed, or which are saturated.  In
the case of saturated peaks, a routine is used which interpolates an approxima-
tion of the functional form of P(t) to obtain correct signal contributions for
saturated points based on the non-saturated points on the fringe of each peak.
     For doublet resolution, the model peak for the neighboring spectrum is
added to the approximating function.  Y(t) is then approximately by
               Y(t) £ pP(t) + rR(t) + dt + c
where R(t) is the model function for the second peak and r is its corresponding
parameter.  The idea is graphically illustrated for several cases in Figure 7.
     A diagram of the detailed subroutines of the CLEANUP program, along with
a short description of these function is shown in Chart 1 and Table 1.
SCOPE AND LIMITATIONS
     Some comments regarding the scope and limitations of the CLEANUP program
are in order.
                                     16

-------
Peak Intensity
                     Optimized Linear Combination of Model Functions
                           .Observed Doublet

                               Peak Model 01
        1  2  3   •>   S  t  7  I  1  10  11 12 11
                                  Peak Model 02
                                            Column Bleed
                                                  Background
                                                     Scan Number
Peak Intensity
                               Reconstructed Peak
                                Observed Saturated Peak Value
                                  Model Peak

                                              Column Bleed

                                              Background
                                                     Scan Number
        1  2  1  *  S  «  7  •  I it II 12 II  III

                       Saturated Singlet
 Figure 7.   Peak model resolutions:   two  possible situations.
                                    17

-------
                                                    >Inside Cleanup*




                                                           MAIN.
00
          cum
    :HT,         TLOC,        KETIGT,        OKKSET,        LKA1IKD
                                                                               OUTOAT-
PARDER,
                                                                                                   g
                       DETEKT
                             n
                                             NXTMAX,.    DETEKT.,   LKAPRT.,
                                                   1J          11         14
                                                      NEWTOP
                                                            10
                                                                         KAPUT,,       XTREM
                                                                                           ,,
                                                                                           In
SATI.SQ)7    BACLSQJB
                                     j      B1.EED2()
                                                     TlMKSK
                                                           |q
                           Chart 1.   Summary of calling  structure and subroutine function.

-------
                  TABLE 1.  SUBROUTINES OF CLEANUP BY FUNCTION
1.   MAIN
          is the root segment which calls all other routines.

2.   CUPRNT
          prints some debugging messages for MAIN.

3.   TLOC
          builds histograms for eluant detection, and selects the
          model peak for each compound.  A model peak is the singlet
          which is sharpest, and its mass fragmentogram is 9 spectra
          wide.  It is important to note that histograms contain "singlet"
          information, and we use  this information to detect eluants.

4.   GETHGT
          is called after a spectrum has been detected, and is the
          executive for building the cleaned up spectrum from the raw
          data.

5.   OFFSET
          is called only in the event that an overlapping situation arises,
          and  aligns the model peaks with respect to their modes in
          arrays GMN and HNU in anticipation of processing a doublet.

6.   LKAHED
          is called only if an eluant is detected.  It looks ahead to
          see  if another is present in the 14 spectrum window, and if so
          assigns  the model peak and sets the flag OVLAP.

 7.   OUTDAT
          prints report information for the run and writes the clean up
          spectra  to disk.

 8.   PARDIR
          is the operator communication subroutine.  It sets some para-
          meters which can be entered either from cards or from a ter-
          minal .

 9.   SETBUG
          does some initialization of output buffers, and reads in the
          first 13 spectra.

10.  NEWTOP
          finds the actual mode and the displacement of this mode from
          the  assumed mode as well as computing the integral  |dy|/y
          (rate) from a singlet peak profile.

                                    (continued)
                                       19

-------
                               TABLE 1 (continued)
11.  DETEKT
          examines histograms to determine if an eluant is present.
          The major criterion for an eluant to be detected is that its
          histogrammed total ion current be greater than MINTIC.

12.  TLPRNT
          prints some debugging messages for TLOC.

13.  NXTMAX
          builds histograms in the look ahead mode.  Due to core limi-
          tations, it can only look ahead 3 spectra, and in the extreme
          case, i..£., the 3rd spectrum ahead is determined to be an
          eluant, the determination is done with less information than
          its predecessors.  If 16 spectra are in core, NXTMAX can
          easily be set up to use exactly the same criteria as TLOC in
          building histograms.  Some heuristics have been put in TLOC
          and DETEKT to take care of the minimal cases.  This minimal
          situation occurs when a very weak eluant is found ahead, and
          then passed up when it becomes a primary candidate.

14.  LKAPRT
          prints some debugging message for LKAHED.

15.  KAPUT
          outputs to the line printer a short summary of the results of
          the programs processing.
16.  XTREM
          determines the minimum value and its subscript given an integer
          array and its length.

17.  SATLSQ
          processes saturated peaks, and tries to compute actual peak
          heights by taking the ratios of nonsaturated amplitudes in the
          saturated peak profile with their corresponding amplitudes in
          the model peak.

18.  BACLSQ
          does a least squares fit using the peak profile of a singlet,
          and a model peak to determine the singlets contribution to a'
          detected spectrum.

19.  TIMESF
          uses a parabolic interpolation to place a peak profile on the
          same time co-ordinate as the model peak for a detected elutant.

20.  BLEED
          fits a line to a peak profile and uses goodness of fit, and
          average value of Y, where Y=mx+b, to see if the profile is
          column bleed.
                                   (continued)
                                       20

-------
                               TABLE 1 (continued)
21.  SETGHY
          is called only in the event of a doublet situation, and
          decides whether or not a given peak profile will be passed
          through the doublet resolver.

22.  DUBLET
          is the doublet resolver, and does the least square fit of two
          model peaks, and a doublet peak profile and puts the second
          peak contribution in a different array.
                                       21

-------
     The construction of model peaks for an eluant depends on at least one mass
in the processing window having a well defined,  well resolved singlet.  This
requirement will not be satisfied if tvo eluants are within roughly one scan
time of each other,  or if there is an unsaturated peak for use as a model, i.e.
in extremely bad run conditions.
     Also the CLEANUP procedure breaks down in the case of interacting elutents
because the ion currents are not longer a simple sum.   This is an inherent
limitation of the linear reconstruction model.
     Finally, the program currently lacks the  capability of providing the user
with a visual TIC plot.  This is essential in  order to allow the user to
analyze the final results.
                                     22

-------
                                    SECTION 4
                      IMPLEMENTATION AND TESTING OF CLEANUP
     Phase II of the contract consisted of implementing a version of the
Rindfleisch program on the TUCC 370 and testing its performance.  This in-
volved obtaining an existing copy of CLEANUP and modifying it to run at TUCC,
developing support software to facilitate the analysis of CLEANUP output, and
extensive testing of CLEANUP on a variety of environmental samples.
INITIAL PROGRAM MANIPULATION
     The first step in implementation of the CLEANUP program was to obtain a
listing and initial documentation from the author.  This was achieved with
relatively little difficulty.  Dr. Rindfleisch and his colleagues were very
generous in providing us with full listings and some documentation of their
program.  Since these programs were designed to run on a PDP-11 computer,
they were written in a combination of PDP-11 assembler language and a PDP-11
version of Fortran, which would have made their translation into standard
Fortran a very difficult task.  We were informed by the Stanford group,
however, that another group of chemists at the NASA Ames Air Force Base had
been working on a Fortran implementation of the Rindfleisch program and we
were referred to that group.
     The Ames scientists were cooperative in forwarding their versions of the
Rindfleisch programs to us, however it was immediately clear when we received
tapes from them that there were large discrepancies between their programs
and a working system.  There were numerous errors in the program, indicating
that they had not been fully tested.
     After some additional conversations with the Ames group, an improved
version of their Rindfleisch program was sent to us which we began to use.
The new program had been chnaged, and some of the errors, detected previously
had been corrected.  This new program was then reorganized to make it opera-
tional in the TUCC environment.  The mode of inserting variable data and
                                     23

-------
options into the program was completely altered.   The original programs were
designed to operate interactively from a terminal, and the variables for each
run were introduced in a conversational mode.   If the results are not satis-
factory, then the parameters are changed and the  program re-run, etc.  This
process is continued until the operator is satisfied with the results, or
feels that no further improvements can be made.   Since in our environment
programs must be run in a batch process, it was necessary to proceed somewhat
differently.  A set of trial parameters were obtained from the program authors,
which were entered into the RTI program from cards.  The effect of the pro-
gram paramters on the output is discussed in 3.4.
     The main body of the program was debugged by the use of the WATFIV
compiler.  This compiler is useful, not only because of its very well docu-
mented error messages, but because the compiler,  by its nature, cannot operate
using special system subroutines.  This means that the entire program, if run
under WATFIV, is insured to be compatible with other computers running with
standard Fortran packages.  By this procedure, the entire program was de-
bugged and freed from a number of errors, particularly those relating to the
initialization of variables prior to their use, which in our experience, has
proven very difficult to trace down at later stages of program development.
SUPPORT SOFTWARE FOR CLEANUP
     After the program ran freely, it was necessary to test it on some typical
environmental data.  In order to do this, GC/MS data which previously had
been generated from environmental samples in the  RTI laboratory were adapted
to the CLEANUP program.  This required the writing of several sets of pro-
grams:  one translated raw mass spectral data into the input format required
by CLEANUP; a second translated the output data from CLEANUP into a format
required by the search program; a third set generated plot output from CLEAN-
UP on an in-house VERSATEC plotter.  A more detailed description of this
software follows.
RTI Search System Interfacing
     These programs accepted mass spectral data,  which had been acquired on a
Varian CH-7 mass spectrometer, and automatically selected spectra for introduc-
tion into a library search program.  Selection of specific spectra was carried

                                     24

-------
out by the analysis of the total ion current  (TIC) profile  of the GC run.  In
the case of spectra acquired using the Varian system, the TIC profile was
very easy to analyze numerically, because  the data system was designed to
acquire TIC information simultaneously with MS information  throughout the
course of the run.  By means of a multiplexer, the data  system acquired ca.
100 TIC points, which were received from an ion current  electrode placed at
the exit of the source of the  spectrometer, during each  MS  scan.  These TIC
points were recorded on the output tape in a  Varian  coded format and it was
possible to regenerate this TIC information in both  numeric and graphic form
from the original tape.
     Whereas most other GC/MS  computer systems generate  TIC data by the
summation of ion intensities for each mass spectrum  run  (software TIC), the
hardware TIC data is much richer in detail since it  produces ca. 100 points
per GC scan rather  than one in the software method.  This advantage is particu-
larly important when data are  being scanned relatively slowly as compared
with the TIC peak width.  The  TIC trace generated from the  data encoded on
the tape was very useful to evaluate the CLEANUP program, since CLEANUP does
not produce any visual record  of the GC run,  but simply  selects specific
peaks for subsequent evaluation, in our case  by means of library search.  We
compared the selection of spectra made by  analysis of the hardware TIC trace
with those spectra  chosen by CLEANUP.'  This approach was extremely useful in
the evaluation of the CLEANUP  program.  Figure 8 shows a schematic diagram of
the RTI data processing system.
     Splicing the CLEANUP program into te  RTI data processing system con-
sisted of two parts:  formatting the data  generated  by the  MS-7 GC/MS system
so that it could be read as input by CLEANUP  (Chart  2) and  formatting the
output generated by CLEANUP so that  it could  be used as  input to the RTI
library search program  (Chart  3).
     As these programs were being written, a  tape was prepared of a  standard
GC/MS run on the RTI MS-7 GC/MS  system and was hand  carried to TUCC.  After a
few trials, we were successful in  creating CLEANUP-compatible input  data,
getting CLEANUP to  run to completion on that  data, and  finally obtaining  a
successful run on that data with the RTI  search program.
                                     25

-------
                                                            TIC H.OT
 a-
VAKIAN
OKIGINAL

 »ATA
         LEGEND
    ^—_^  .DokKlt


    P"~]  - fiinad fUpon
    I      I ** RVtfVCn
    I	1
©
 *0
                 (1
                               62
                 ft5
                pn •-•
                *.!••••
                — ._..- —
                 16
             DISK PILES. EACH
             CONTAINING
             INDIVIDUAL
             CCMS HUNS.
     Figure 8.   Overall  schematic of computer assisted qualitative analysis
                                     of GC/MS data.
                                            26

-------
     Tllec Generated
                                                          Fretratus Involved
Tarlan data tape containing
raw output Iron CC/MS
                  Translates raw Varian data to
                  Fortran compatible forest
                                     VARIAN
                                      Ten.
Intermediate step, output
file £roa VARIAN
Output file of VARTRN in
CLIASUP cospatable Input
/oneat
                                    CLEAKtT
                                      Pgn.
                                                     VARTRX is an intermediate
                                                     vhich transforac  the output cf
                                                     VARTR.V into CLEA.NT? cospatable
                                                     input
                 CLEAXVP is the ctain proceising
                 progran which:
                   (1) Eliainatef column bleed
                       and background
                   (2) Reconstructs saturated peaks
                   O) Resolves mixed doublets
Output file of CLEANUP
containing resolved spectra
Chart 4:
Display of input and output
spectra on VERSATEC plotter
 CUA.VI;
Resolved
 Output
                  Chart 3:
                  Examination of results when
                  fed into RTI Search System
     Chart 2.   Steps involved in processing of CLEANUP  test data  (1)
                 Preparation for and  interface  to CLEANUP  program.
                                         27

-------
Input and Output
files for CLEANUP
{chart 1)
Sets in tens
levels of
unknowns into
appropriate
oetill bracket
Search library
containing sooe
26,000 co£s
Output of SEARCH used
by report generator
Tile of library
compound names
vhich are looked
up to generate
report
  LEVEL
 SETTING
INFORMA-
  TION
                                    SEARCH
                                      PCM
                                   UNKXOVCN
                                     NPUT
                   SEARCK\
                    PCM  \
                    BEST  7
5
f
REPORT
GENERATOR
SRCHTRN converts  the
output spectra frcr.
CLEANUP into SEARCH
compatible format

SEARCH searches through
a library (for each
unknown) and saves  the
best fits
                                        REPORT generates a
                                        "cheolsts printout" of
                                        the  results from search
                                [PRINTOUT
                                    or
                                IBEST MACHIKES-

                "Chenists Printout" of best choices for unknowns
       Chart 3.   Steps involved  in processing of  CLEANUP test data (2),
                   Preparation for and  interface to search program.
                                             28

-------
Plot Out for CLEANUP
     At this stage it was necessary  to  carry out  a critical  evaluation
of the results to determine  the  efficacy of the CLEANUP algorithm.
Although the CLEANUP program executed successfully,  preliminary  exami-
nation of the printed data for a few isolated cases indicated  that  the
initial parameters chosen were not ideal, and that although  the  program
seemed to recognize the presence of  individual components in the GC run,
the  output  spectra were not  yet  suitable for characterization  of the
unknown GC  component.   In order  to proceed in an  orderly manner, then,
it was felt that a method for displaying the results of CLEANUP  needed
to be developed. Software  to generate  plots from MS data have been
available for  some time, however, these programs  generate output in-
tended for  the university operated CALCOMP plotters which were entirely
too  slow to generate  the hundreds of plots needed in the course  of  this
 investigation.   An alternative approach of writing software  to generate
plots on an in-house  VERSATEC electrostatic plotter (several orders of
magnitude  faster than the CALCOMP incremental plotters) was  adopted.
 The  process consisted of two steps.   First a program at TUCC read the
 CLEANUP output spectra as  input and generated picture records  which were
 then written to tape.   The  tape was then hand carried to the RTI labora-
 tory and  read by a PDP-12 program which generated the actual plots.
 This method proved very economical,  since plots were generated at low
 costs (50c  per picture) and high speeds  (ca. 20/30 sec/plot).  In this
 fashion it  was possible to  generate up to 100 plots in an hour,  a task
 which would have tied up the TUCC network CALCOMP plotters for several
 days.  The  entire scheme for generating plots together with  already
 existing  software is  shown  in Chart 4 with sample output in  Figures 9-
 11.
 TEST RUNS WITH CLEANUP
Brominated  Standards
      A preliminary evaluation of the CLEANUP program using two GC/MS
runs was made.   The  first was a relatively simple mixture of a series of
                                        29

-------
Input end Output
spectra files used
by CLEANUP fgm.
Disk file consisting of
card iaages.  These control
cards contain Basses and
intensities for plotting
Disk file consisting of  a
•erics of pen locations  which
as a group, create a plotter
picture
Television acreenlike  aeries
ef "black and whit*" bits to
be intrepreted by the  Versatec
Thlj data act 5 en tape

Actual paperplot output of
•p«ctra in_VERSATEC:
CLEASVP
RESOLVED
 OUTPUT
 CARD
TMAGE
CONTROL
 DATA
noT^x^
OUTPUT or
CLEANUP


7DP-12
VERSATEC
FLOT POt.
                      Coaptrison spectra after
                      coapletion of the CLEANUP
                      Procedure


                      BBPLOT i< an intermediate
                      program which generates car;
                      iaage input for a plot
                      generation prograr.
                                                           Existing prograr. to
                                                           produce CALCOM? plots
                      VERPLOT ia a post pro-
                      cessor for the TVCC plotter
                      routines which translates
                      CALCOXP coapatable input
                      plot records into VERSATEC
                      coapatable plot records
                     This program reads the
                     VERSATEC plotter input on
                     Che Inhouse tape drive and
                     generates the actual plots
                     on the VZRSATEC.
     Chart 4.   Steps involved  in processing of  CLEANUP test data (3)
                 Generation  of Versatec MS  plots  from  CLEANUP files.
                                     30

-------


»_•?«• •
£


tie- -
Ul











i ' '
i|
si1 '








'ill
(kl.lllll , , ,




t
1
M
feSD- -
£"
OT 26- .










fi
il f 11 ll.f
Jill I, ,
5 •, rW(). , L^, 	 ^ 	 jjjj 	 ^ 	 ^ 	 Vdo""' «6
                 Wt
BRSE PERK MRSS- 11.BRSE PERK INTENSITY- 265

BWtH*-
                                                                           M/e
                                                          BRSE PEBK MflSS- 11.BRSE PEOK INTENSITY- 256
 100


 to-
>T7»-
                       M/e

      BRSE PERK MRSS- <3.BRSE PERK INTENSITY- 665
      09/23/76
           23304
          _5Sf
              MKOTOVE


M*6
f-
*_l
«6C-
^B.
*M
£«- J
^H
tr.n -
0'L











Win 	 '
                                                                      H/e
                                                     BRSE PERK MRSS- 11.BRSE PERK INTENSITY- 576

                                                     K?% ST.M.m
                           ICC


                            90-




                          £Tt


                          y>tt
                          esc
                                                 K/e
                                BRSE PERK MRSS- tl.BRSE PERK INTENSITY-

                                srep*1-
                                n/23/ii
           Figure 9.    Five  "raw"  spectra  used  as input  to  CLEANUP.
                                               31

-------
  90
LJ
0=20
  10
                             M/e
       BRSE  PERK MRSS-  *»3,BRSE  PERK  INTENSITY- «3D
       NUMBER- 23304
       RUN FOR WH f
       C1/J1/-J6.
     Figure 10.   Resultant  "cleaned-up" spectrum from Figure  9.
                                    32

-------

SO-
KBD
I-H
5
•-1
5>
»—
LU
10 —











„
L
s'o'








1 1 1
UilL
'160' ' ' 'i









i , I
0 200 250 360 350 160 t?-C
                         H/e

    BflSE PERK  MRSS-H9.BRSE PEflK INTENSITY-  3111

    NUMBER- 23452
    RUN FOR *« F HARGROVE
    03/23/78
4WU-

KOD
*7ft
»-
*— (
LU
tr cn
Z SQ-
I-H
I-H
t «
«J
UJ
•*• 20-











1
i









i
Tr
0










71










1^









II
1|l|ifiMFj
160 i:




i



1

0 200 250 360 350 100 1'. n
M/e
    BflSE PEftK  MRSS=119.BflSE-PEflK INTENSITY- 3CH3
    NUMBER- 23152
    RUN FOR HK F HWGKOVE
    01/11/7B
Figure 11.   Precleanup  - A, postcleanup -  B.
                           33

-------
brominated standard compounds.   This series was chosen to serve as a
control.  The compounds in the run were known, and they were reasonably
easy to identify.
     In the case of the brominated standards, the CLEANUP procedure
worked essentially perfectly.  In the first section of the GC run the
spectra were relatively free of background noise and the output spectra
from the CLEANUP program resembled the original spectra very closely.
This fact is not trivial in that it shows the CLEANUP procedure is
essentially benign for the case of uncomplicated spectral data.  Thus,
if the original data are good,  then the CLEANUP step does not alter them
or degrade them in any way.  This is a necessary condition of perfor-
mance for a good CLEANUP program.
     In the latter portions of the run, increasing amounts of background
noise from column bleed became evident.  In the case of weak spectra
near the end of the run, the CLEANUP procedure became indispensible for
the identification of several components.  As it turned out, in addition
to the brominated standards which were specifically put into the mixture,
several additional components, many of them not containing bromine, were
found.  For example, spectrum number 23469 in the run had been seen many
times previously during manual identification and never been identified.
With the help of CLEANUP and SEARCH it was possible to identify this
component as an alkylated phenol.  The TIC trace of the run is given in
Figure 12.
     The results from the CLEANUP program are shown graphically in
Figures 9 through 11.  Figure 9 shows five successive spectra (the
computer actually uses 7) from which a cleaned up spectrum is derived
(Figure 10).  Another pair of pre and postCLEANUP spectra are shown in
Figure 11.  A summary of the run is shown in Table 2.
Coal Run
     The second GC/MS data set which was examined consisted of a low
boiling fraction from a coal gasification process.  With this data the
situation was virtually the opposite from the previous case, i.e.,
                                     34

-------
                                                                  eti
                                                                  p.
                                                                  o
                                                                  M
                                                                  P-i
                          » IDENTIFIED BY CLEANUP ROUTINE
                 30000.
On
             CO
             0)
             •H
             4J   20000 .
•H
cn
C
tu
             ti
             M
             •H
             4-1
             tfl
             iH
             0)
    10000 -
                                                         Mass Spectrum  No,
                                       Figure 12.   TIC plot of brominated standards,

-------
    Table 2.   RESULTS OF COMPARISON OF CLEANUP WITH BROMINATED STANDARDS
              SEARCHED FOR 26.209  STANDARDS
Precleanup
Compound Rankb R TIC Max.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
n
methylene chloride
a
1 , 2-dichloroethane
methylene bromide
bromodichlorome thane
l-chloro-2-bromoethane
n-butyl bromide
ethylene bromide
Q
chlorobromopropane
bromobenzene
o
dimethylphenol
n-butane
rt
acetophenone
toluene
o
diethyl phthalate
o
octyl phenol
1
1
1
1
1
>5
3
1
>5
1
>5
>5
>5
1
>5
.31 752
.33 672
.36 720
.37 688
.30 704
<.19 512
.17 800
.28 1392
<.18 1088
.31 320
<.19 304
<.22 320
<.21 304
.33 478
<.15 432
Postcleanup
Rank R
1
1
1
1
1
2
1
1
2
1
1
1
1
1
1
.67
.54
.49
.43
.43
.33
.31
.37
.27
.45
.53
.39
.60
.52
.52
Elution
Time
15.63
21.93
25.55
26.00
27.30
32.43
33.25
37.22
42.93
46.20
49.35
51.10
52.97
76.07
78.05

Compound was not knowingly part of standard mixture.


The ordinal number of the similarity of the library component to the
unknown.  The program normally prints out the 5 best fits.
                                   36

-------
this sample consisted of a deliberately  chosen, highly  complex mixture,
which would test the system to its  limit to determine the most that
could be expected from this program.
     In this GC/MS data set, the  chromatography conditions and the
relatively slow sampling rate assured  that the majority of MS scans
would consist of mixtures, contain  also  background noise, column bleed,
and other components in the system.  Although the specific components in
the mixture were not known, the nature of the sample gave strong clues
as to what kinds of compounds were  to  be expected.  A TIC plot of this
run is shown in Figure 13.
     Not surprisingly then, when  raw coal run MS data were introduced
into the MS search routines, the  output  was nearly totally useless,
since the correlation coefficients  were  almost uniformly low and those
compounds which were chosen as the  closest fitting were obviously com-
pletely erroneous.  We believe that we understand why this occurred.
When samples are highly  impure, numerous additional small peaks, particu-
larly in the high molecular weight  regions usually appear.  The search
system normally has no way of distinguishing these weak noise peaks from
similar weak peaks which may be present  in high molecular weight compo-
nents.  As  a result, these peaks  are picked up as possible molecular
ions for high molecular  weight components, and the results are entirely
erroneous.
     After  the CLEANUP program had  been  applied to this set of data, the
results, although far from perfect, improved noticeably.  A sample of
the  search  program output  is shown  in Table 3.  Most of the high molecu-
lar weight  noise was removed by CLEANUP, resulting in the identified
compounds being of a much  more "reasonable" nature.  In addition, the
search program's correlation coefficients rose dramatically, and indeed,
most of the identified  components seemed to be reasonable, based on the
known origin of the sample.  Thus hydrocarbons,  low molecular weight
phenols, and specific compounds containing heteroatoms  such as thiophene
and carbon  disulfide were  identified correctly by  the  search system with
good correlation coefficients.  We  feel  that  this  represents a remark-
able achievement for such  a difficult mixture.  Figures 14 and 15  show  a
                                     37

-------
Oo
                  100,
                  80.
                  60.
                  4O.
                  20
                              4 IDENTIFIED IY PLOT ROUTINE
                    13000   13020    13040   I3O6O    13080    I3IOO   13120    I3I4Q    IJI6O    I3I8O   13200   IJ22O   13240    I3J6O    13280   15300   133:0
                                                                                         iii   t  1 Ml   »
                13340   13360   13360  I34OO    13420    13440    13460   13400   13500   I1SZO   13540   I3S60    13580   13600   13620  13640    13660    13680   13700
                   Figure  13.   Hardware  TIC  plot  of  GC/MS  analysis  of  organics from coal pyrolysis.

-------
  its



 •*"
 w l9m
  1.
   JC-
       tftSE PE«K MRSS-
             13220
PEftK INTENSITT- 8022
Figure  14.  Typical precleanup of mass spectrum.
 IB:
git.
  it-
        1
       m
                         M/e
      IRSE PEW MRSS- iT.BRSE PERK INTENSITY SOBB
      . -  .  MM f WWWOvt
      M/tO/11
   Figure  15.  Same spectrum after CLEANUP.
                           39

-------
FLUTtON TEMP*
TTC MAXi"  9?F"	

   NAME
 FfHYL ACFTATE
 l-ISOPROPOXY-2-PROPANOL
« i« etlO O.J' lie (• S H 10 0 5
B- 6S9~b;j«- BS"C— T~H"TMT"i 	
5. 615 0.33 88 C U H BO 3
SPEC # 4221 ELUTION TlMFs 25.78 MfN fLUTIOw
ID* R MWT FORMULA
1, 1«5 236 C 7 r 8
Z. »W 0.35 186 C 6 P 6
J. 1«5UO 0.3S 236 C 6 r 7 P 1
" »,' l«3*S o.iT i?(i'"C"~fr"CL i T'~5 SI
.. 3. 139S9 6.17 J27 ••'C"~9""H 13"W 30 5 ~"
	 SPEC * 1221 ELUTION TI«* 2fc,13 MIN ELUTION
lD» R Mrff FORMULA
i a71 0.50 R4 C 6 H 12
> i • SPEC » 4Z41 ELUTION TIHC* it,\i 1JN FUUTIO"
io» R HWT PO«MULA
M T< 35H-5VB9 TB~m"Tr- '6 	 	 ~
2. 3S3 0.6B 78 C 6 R 6
3. 352 0.68 76 C 6 H 6
». 3510.6* TSC 6 M f>
. 5. 350 0.51 78 C 6 H 6
SPEC » 4247 EUUTirJN TtHfa 23.82 MIN F.LUTtUN
IB* R HH1 1-nKMULA
1. 471 0,54 84 C 6 H 12
..' 2. 470 0.50 84 C 6 H 12
S. 445 O.UB 84 C 5 H 80 1
1. 453 0.4R 84 C 5 " 80 t
.J 5. 1235 0.46 102 C 6 M 14 n I
S1 SPEC * 4?s<> ELUTIHN TIME» 29. «' MIN ruurta^
Si io» R MWT FORWULA
I 136 0.8t 64 0 ? S I
s, 1 J56 O.i' BU C In q o ^ S i
3 2175 0.29 1(8 CL 2 n IS 1
.• 1 6579 o.24 159 C 2 f 3 N 10 •> J 3D a ", J
("•MtmoxYt i niL «(.ti«ic
ETHYL ISOPROPTL "ETHER
BUTANQIC ACID (BUTYRIC ACID)
TEMPr 0 TIC MAX* 848
NAME
TRIFLUOROMfTHYL-PENTAFLUOROBENZENE
HEXAFLUOROBENZENE
PENTArLU(5RnPBENtLDIFLUCTR[JPH05PHINE
PENfAFLUORflBENZEUE 3ULPHENYL CHLORIDE
2*DEDX¥CYTIDTNE
TEtpt 0 TTC MAX" 1568
NAME
1-HEXENE
2*MeTHYL»i"PENTENE
METHYLCYCLOPENTANE
CIS»2»HEXENE
" TRANS-2-HEXENE


TElP» 0 TIC M»X" l**B
NAME
?,4.HEXADIYNE ~ ~
1,5-HEXAOIYNE
1,5 HEXADIENE-3»TNE tOIVINYL ACETYUENE5
" 	 — •••- ' ffffTHBIENYt '*CETYi;r«re 	 	 	 	 ~
BENZENE
TEMPB 0 TIC HAX« 960
NA«S
1»HEXENE
HEXENE»2
CYCLOPEKTANONt
2-METHYLCYCL08UTANONE
t-HEXANOL
TEMPs 0 TIC MAXa 1136
NAME
SULFUR ottixioe
H£TNANESU1.''1NIC ACIO 	
THIONYL CHLORIDE
TMIFLUQROMETHANESULFINIC ACID 1SOCYANATE
2H.l,3,5,2,4,6.TRITHIATRIAZIN.l,l,i,3-TETROXlDE

-------
typical "before" and "after" pair of  spectra  from  the  coal  run.  Table 4
shows a comparison of a small  selection  of  the  data before  and after
CLEANUP.  Complete accuracy is not  claimed  for  this run, but CLEANUP
improves the hit rate from nearly zero to an  estimated 50%.
     Several defects in the system  emerged  from this series of experi-
ments.  The most obvious  defect  involves situations in which strong
peaks emerge from the column at  sufficient  amplitude to saturate the
data acquisition system for a  number  of  ions  in several mass spectra.
The most obvious case of  this  involves the  component benzene (Figure 13,
spectrum number ca. 13207), which eluted from the  column as a very broad
band extending for about  9 spectra  (at 6 sec/scan  this corresponds to a
54 second peak).  This component showed  saturated  peak intensities for
five major  ions at m/z 50, 51, 52,  77, and  78.   As a result of this
               13
situation,  the   C isotope at  m/e 79  was computed  to have a relative
intensity of 50%.  As a result,  the search  program subsequently misiden-
tified  the  major peaks in the  spectrum and  the  search  for benzene failed.
This problem was compounded because,  in  addition,  the  large amount of
benzene present caused other  components, mainly from the "stationary"
phase  in the column to coelute,  giving rise to  a series of  small peaks
at high masses which  the  CLEANUP program dutifully processed and in-
cluded  in the unknown spectrum.
     The problem of saturated peaks in spectrum identification is a
serious one.  Notwithstanding the  fact that it  is  obviously wrong to try
to identify components from  a GC run when  the amounts  injected saturate
the  data acquisition  system,  these  components are  so strong and obvious
that most investigators would be highly  dissatisfied if simple compounds
such as benzene were  misidentified  by a  computer software system.  There
are  several ways to remedy this  situation.   Currently, compounds with
saturated   peaks are  labelled on the output printout  (Figure 16) and
thus warn the investigator of a  potential  problem. Also, a possible
remedy  for  future  development would be to  raise cutoff limits on peak
intensities when saturation  was  encountered so  as  to exclude weak peaks
which  otherwise would be  accepted  for searching.
                                      41

-------
COMPARISON OF SELECTED SPECTRA FROM COAL GASIFICATION SAMPLE
SEARCHED BEFORE AND AFTER CLEANUP
MWT



218
200
160
133



198
142
121
178



130
132
146
132



202
132
162
158



98
98
112
98



146
146
188
132
Before CLEANUP
NAME



(AK-33)Methylcyclopentadienyl Maganeae Tricarbonyl
Alpha-(Bromoethyl)Benzyl Alcohol
P-Phenylene Diisocyanate
2-Methylphenyl Azlde (D-Tolyl Azlde)



7~Methyltridecane
2 ,6-Dimethyl-3-Heptanone
3-Ac e ty Ipyrid ine
Ethyl 2-Keto-2-Phenjrlethandate



Trichloroethylene
1 • 1 , 1-Trif luoro-3-Chloropropane
N-Carbamoyl-2-Inlno-l,3-Oxathlolane
2-Thiadatane



1 ,4-Dibutoxybutane
1 , 3-Dlmethoxy-2 , 2-Dime thylproprane
l-(2-Butoxyethoxy)Ethanol
2,2-Dlnethyl-5-Methylene-3,7-Dloxa-Octane



Me thy Icyclohexane
Cycloheptane
1-Methyl-l-Ethylcyclopentane
Cyclohexanone



2-Thianonane
1-Octanethiol
1-Undecanethlol
1-Reptanethiol 
-------
 CLt«N
        Of IU* 0»t« fUE CLEtNJP TEST II
                                      ON 10/28/78
-¥»•••?»••'•"•*•? • ••••"••••'••••*•"•••*•••••••*•••••*••*••••**••••
.._
—
—

--..
—

—
—

--
-•
bi.nl
1
	 2'
3
5
7
9
10
11
—IT
13
"-14"
15
17
— If
19
21
_ 2S_
25
26
27
29
30
31
32
13
35
	 36'
37
	 39
41
" 42
41
"44
45
	 47
49
50
51
57
53
55
— w
57
59
61
-"SZ
63
	 i*
65
"66
	 SB
69
SPt-L. •
7110
7143
i i44
7153
	 71 5V
7159
71 75
7178
	 T137
7117
	 7189
7191
7ZTZ
7204
•-T209
7216
	 TOT
7221
7230
	 7734
7236
T244
7259
	 7rsy
7217
7292
" 7293
7?95
7312
-7TT4
7338
	 7322
7336
7341
7346
7351
7355
7358
	 73T2
7365
	 73"6"9
7373
7312
7113
	 7385
739?
HV)
7403
	 7404
7408
	 7*39
7411
It I i
7417
	 7421
7431
7437
1 L 1 1 UN
U352.
	 1714.
19136.
1090.
	 r5439.
2736.
	 7133.
23997.
3256.
	 IB 7 89.
13812.
— im88";
34309.
671 7.
23102.
	 H299.
12211.
57831.
12304.
" 3*B64.
_ 3?73S.
_18402l
	 26381.
137197.
37614.
11621.
	 14134.
7720.
3434!
	 "45f77.
111416.
	 1763.
9131.
	 51139.
32112.
38519.
70510.
19371
34C24.
2319.
'-' ""3231.
161?.
fit".
40291.
30808.
	 177912.
194676.
	 7TW."
14758.
6438.
	 17B2.
9557.
	 288286!
161146.
	 177713.
67547.
TICHAI
9)
'" 47
99
33
13
	 "90
44
	 37
99
25
85
	 92 --
75
4j
99
1C
" 93
42
76
89
	 99
71
!>6
99
47
16
-23
17
3 _
99
'6
37
90 ~
99
70
39
~ 46
99
	 '7
7
" " '99 ~
, -
21
14
63
25
'55 "
78
JO
26
5
4"
7
t
34
"- 97 —
53
	 99 - '
38
32699.
" 147.
61726.
703"*.
456.
684!
" "" 767.
10775.
— 2954.
1906.
9435.
41 84.
- 28657.
1333C.
16P7.
9907.
2t05.
6535.
27078.
4179.
8797.
2252."
3776.
"""25520."
7812.
32t«9l
432o!
3074.
2132.
	 I'm v
12RO.
' "70313.
32f99.
" 1171.
3156.
""S7699.
32t99.
"32*99.
16745.
13943.
32699.
— TTVB:
2368.
~ 32699.
744.
" 1244.
3104.
277S.
6558.
'5946.
2245.
- 12699.
20230.
106 /H.
7014.
2D1?I
«904.
264T.
16808.
-32759.
32699.
I592sl
COUetr7? >A1. PEAKS
KC 1
	 w 	 	 o 	
Kl
KC
~ 	 NC
YE!
TP S
NC
YES
	 KC '
KC
ItC
Kr
~~\C~
YES
KC "
YES
KIC
YES
KC
" KC
sc
KC
— YFS
YES
KC
KC
NC
KC
NC
" YES
YES
V? S
YCS
-- yf<
NC
KG"
KC
YES
KC
NC
YFS
YfS
	 YES
YFS
YFS
	 KC
KC
	 TFS
YES
0
	 0 — ~
3
	 0
0
1)
	 0 	 	
	 0 	
0
0
0
0
9
0
0
0
0
0
0
0
3
— 	 o
0
— - •„
0
D
0
1 -•
4
	 b"
0
1
0 	
0~
0
2
0
	 o 	
0
0
0 	
0
2
5
0
0
0
0
0 	
t
• 	 1
0
 Figure  16.    Chemist's printout  from  CLEANUP.
                            43

-------
ru
71
	 n
73
75
77
79
»0
ni
H/
83
95
	 86-
87
89
96
91
92
93
95
-" "96 '
97
99
100
131
103
	 134-
105
196
137
109
111
1 1 £
113
115 _
117
118
119
120
121
123
	 125_
177
— ire -
129
111
F*
135
13 f
138
f* ***
74*5
	 r*vr —
7*48
7*58
7*63
7*69
7*71
7*72
7*82
	 7*83
74H4
	 7486 	
7*39
7497
7498 	
7504
»505
7511
7516
7570
7524
	 T5TB —
7532
754*
	 "75*6 	
	 7552
7557
7562
	 757,4 	
7569
7573
7588
7590
7596
	 74TH 	
7606
7615
7619
76J3
7629
7630
7614
7M 7
76J9
	 76*9 	
7659
761,0
7672
Vb,5
7696
7703
7710
7723
777S
f FCU'l.
4R46*.
	 1*1?8.
32380.
	 T2165.
$004.
20917.
	 MB67.
3856.
5719.
71524.
22038.
7770.
4966.
	 5T6*.
12*812.
19821.
	 1*57*.
13503.
81709.
307°85.
1J757.
2664.
4173-9.
6514*.
	 18*59.
*643.
5336.
17751.
	 ISY71"
26179.
—9*184.
100770.
«ia.
7976*.
	 I33BO.
570*1.
"20409V
29182.
27725.
3R307.
97445.
	 3966."
21BO.
6393.
3446.
16923.
3851.
6274.
74177.
3056.
*655.
	 "3291.
4311.
~ Z1496V
38809.
1339.
192*6.
1525.
156).
96OT4.
79546.
"10576;
TV
43
23
5
22
	 99
3
28
21
6
	 4 '
67
22
12
6
97
1 i
3
" 42 '
57
T
29
25
49
53
99
88
23 ~
79
--J1
42
1 1
43
56' '
10
24
6
10
56
4
7
f ~
5
•34 -
99
2
3* ~
R
j - • -
3
53
26
5°T3;
15671.
7289.
-- —1736.
1579.
6761.
" 72699.
1986.
1771.
3765.
3463.
	 1012;
_ -713-
18705.
2731.
1 7777.
1924.
14600.
32699.
72 H*.
514.
- 9673.
9471.
— •«667.
9*6.
1000.
2080.
53551
' 200*6."
22306.
b*D.
15105.
	 36B4.'
13283.
"~ "*>79.
6078.
J i f 1 •
613*.
9'176.
77151.
~ ~IS65.
16*7.
1785.
1340.
' 2310.
771.
-'700.'
16870.
1607.
— "890.-
1597.
	 96*7.
37699.
1022.
' ~ 6373.
10*1.
615.
1278.
8' 02.
7979.
r75R. '
	 Kt
	 KC
VES
T C x
ttr
VES
VFi
NC
VES
VfS
	 VES
NC
VES
	 NT
VES
	 'NC
NC
"iL
NC
NC
NC
	 (it
_ NC
NC
M.
NC
	 KC
VE?
	 »'s-
VPS
VFS
' " NC"
NC
NC
NC
VES
VES
" WS
NC
VES
NC
	 NC
VES
~~ NC '
XI
NC
NC
NC
NC
NC
'NC "
	 u
0
_ — „. _. —
0
0
u
0
z
0
D
0
0
0
	 B 	
3
0
0
0
0
2
o
0
6
0
0
0
0
s -•
0
o •• -
0
0
- o
0
0 ' " '
0
u
0
0
0
0
0
0
0
0
0
0
0
0
	 0 	
2
p
0
0
0
a
0
D 	
0

Figure 16, Continued.
        44

-------
Analysis of Environmental  Samples
     As a further test of  the  proper operation of the  CLEANUP program, a
series of runs were processed  at RTI using data which  had  been pre-
viously analyzed by hand.   Seven runs were processed which represented a
selection of different types of samples which possessed a  variety  of
functional group types;  These runs are briefly described  in Table 5.
Of all of the runs for which data  were available, one  represented  a very
complex mixture containing a wide  variety of components and was  chosen
for extended study.   The sample was that derived from  ambient air  in a
basement of a residence  which  had  been built over an industrial  chemical
dump  and which had been  perfused with a large variety  of organic compo-
nents.  The air sample when analyzed by GC/MS, showed  the  presence of in
excess of 100 components.   A total ion current plot of this run  is shown
in Figure 17.  The  sample  was  first processed by the CLEANUP program
using the best available values for the input parameters,  and the  results
compared with the manual identification.  The results  of this comparison
are  shown in Table  6.
      Notwithstanding a  small number of errors, it is obvious that  the
CLEANUP program is  operating very successfully, and is capable of  extract-
ing  correct  spectra  from mixtures  and identifying them even in very
difficult and complex mixtures.  The table shows a number  of interesting
results.  It  should  be  noted that in the majority of cases, the  manual
identification  and  the  computer results were the same.  When this  is
combined with a high correlation coefficient (R>0.6),  then the identifi-
cation  can be  said  to be correct and confirmed.  In such cases the table
entry is marked with an H (hit).
      In  some  cases  the  computer results identified a component which  is
known to have a  spectrum very similar to the manually  identified com-
pound.  The  correct  identity often can be deduced by inspection, e.g.
toluene might be  identified as a methyl hexatriyne, or vinylidine  chloride
confused with dichloroethylene.  This category comprises mainly  isomers
or homologues.  These cases were also marked with an H. When  the  compu-
ter  printed  the manually identified compound as a 2nd  to 5th choice,
this  number was also included in the table under the column heading,
"Found".
                                      45

-------
   TABLE 5.   DESCRIPTION OF  TYPES  OF  SAMPLES  INVESTIGATED TO TEST OUT CLEANUP
          All samples were run by desorption from TENAX GC cartridges.
      Type of Sample
          Contents
1.   UNC smog chamber
2.  Oil shale volatiles
    Volatiles from in situ coal
    gasification (tar fraction)
    Volatiles from in situ coal
    gasification (water fraction)
5.   Organics from air in basements
6.  Organics in air in the vicinity of
    a Du Pont plant
7.  Organics near a pesticide plant
esters
nitrates
dioxanes
nitriles
aldehydes
hydrocarbons
low m.w. alkyl aromatics
ketones

nitriles
alcohols
sulfur compounds
ketones
pyridines
pyrazoles
quinolines
hydrocarbons
aromatics
alkanes
alkyl aromatics
very few hetero atom containing
  compounds

alkanes
sulfur compounds
pyridines
oxygenated hydrocarbons

alkanes
aromatics
chlorines, bromine and fluorine
  containing compounds

halogenated hydrocarbons
aldehydes
ketones
phenols
nitro aromatics

halogenated hydrocarbons
sulfur compounds
oxygenated hydrocarbons
  (aldehydes, ketones, phenols,
   esters)
                                     46

-------
    A                  A   / W^A	^
M|tlii|iMl[Ml|llll|Uli|llii|llll|liii|liii|iillpli|im|illl|/ifainipifc^
     7090            7100             7190             7200
                                                                              «r...p.~|m^m.p...|.n,pr
                                                                                  7250
300-7849 LM  1510/CAB383N/FNYNFKA/T1/27FEB70/105MSF30   STEP SPECN. 1   INT.  1000
       7300  '
7390   P"1   ' '"'  VZoo' ' T"T~'™rnr7'
                739
	'	7600' *"v"'~r~f-{
   7600            7650             7700             7750            7800

        Figure 17.  Total ion  current plot from test run.

-------
                   TABLE 6.  COMPARISON OF MANUAL VS.  COMPUTER IDENTIFICATION  OF  GC-MS  RUN
oo

Run //:
SP //
7110
7130
7143
7144
7153
7155
7159
7165
7175
7177
7178
7182
7187
7189
7191
7202
7204
7209
7216
1510-CAB-3B3W-FNYNFKB
Retention Compound
Time Identification
12.72
15.05
16.57
16.68
17.73
17.97
18.43
19.13
20.30
20.55
20.65
21.12
21.70
21.93
22.17
23.45
23.68
24.27
25.08
Dimethylamine
Vinyl fluoride
Acetone
Fluorotrichlorome thane
Vinylidine chloride
Dichloromethane
Freon 113
Acetic acid
2-Methylpentane
1,2-Ditnethylpropyl acetate
n-Butanal
2 , 2-Dimethylbutane
Hexaf luorobenzene
n-Hexane
Chloroform
Perf luorotoluene
Methylcyclopentane"
1,1, 1-Trichloroethane
Isopropyl acetate
R
.84
.63
.89
.85
.78
.96
.54
.71
.80
.55
.75
.69
.78
.82
.63
.71
.77
.68
.76
Hit
or Manual
Miss Found Identification
M 5
H
H
H
H
H
H
M
H
M
H
H
H
H
H
H
H
H
H
Carbon dioxide
C3HgO?
Acetone
—
Dichloroethylene
Dichloromethane
—
C4H8°?
2-Methylpentane
C5H10
Butanal
3-methylpentane
Hexaf luorobenzene
n-Hexane
Chloroform
Perf luorotoluene
Methylcyclopentane
1,1, 1-Trichloroethane
Isopropyl acetate
                                                  (continued)

-------
TABLE 6 (continued)
SP #
7218
7220
7225
7230
7235
7238
7244
7259
7265
7281
7289
7292
7293
7295
7300
7303
7305
7309
7315
7322
7325
Retention
Time
25.20
25.67
26.13
26.72
27.42
27.65
28.35
30.10
30.80
32.78
33.60
33.95
34.07
34.30
34.77
35.12
35.35
35.82
36.63
37.45
37.80
Compound
Identification
Benzene
Acetic acid
2-Methylhexane
3-Methylhexane
Dimethylcyclopentane
Trichloroethylene
n-Heptane
Methyl isobutyl ketone
U-Heptyl formate
1 , 5-Keptadien-3-yne
3-methylheptane
Hexanal
1 , 3-Dimethylcyclohexane
Ethyl n-butanoate
4-Methyltriazole
n-Butyl acetate
3 , 4-Epoxy-2-hexanone
Tetrachloroethylene
Hexamethylenecyclohexasiloxane
2 , 6-Dimethylheptane
Chlorobenzene
R
.90
.67
.78
.89
.82
.75
.97
.54
.76
.60
.91
.61
.62
.52
.46
.42
.52
.58
.57
.78
.80
Hit
or
Miss
H
H
H
H
H
H
H
H
7
H
H
H
H
H
7
H
M
H
7
H
H
Manual
Found Identification
Benzene
Acetic acid
2-Methylhexane
3-Methylhexane
C9H14
Trichloroethylene
n-Heptane
4-Methyl-2-pentanone
C8H18
5 Toluene
C8H18
C8H16
C8H16
n-Butyl acetate
n- Octane
Tetrachloroethylene
—
C9H20
Chlorobenzene
     (continued)

-------
TABLE 6 (continued)

SP #
7336
7342
7346
7351
7355
7356
7358
7361
7365
7369
7373
7381
7383
7384
7385
7390
7392
7399
7403
7404
7408
Retention
Time
39.08
39.67
40.25
40.83
41.30
41.42
41.65
42.16
42.47
42.93
43.40
44.45
44.57
44.68
44.80
43.38
45.62
46.43
46.90
47.02
47.48
Compound
Identification
1 , 3-Dimethylbenzene
N-Methyl-n-pentylhydrazine
3-Methyloctane
Benzocyclobutane
p-Xylene
1 , 3-Dimethylcyclopentane
l-Methyl-4-ethylcyclohexane
n-Nonane
Diethyl tnethylvinylsilane
1-Methylethylcyclohexane
Isopropylbenzene
Cyclohexyl acrylate
3-Methylnonane
Di(2-ethylhexyl) ether
2-Methyl-5-ethyl heptane
Benzyl chloride
4-Azido-3-nitrotoluene
Isopropylbenzene
3-Methylnonane
3- Pheny 1- 3-me thy laze t id ine
p-Menthan-9-ol
R
.83
.74
.81
.75
.77
.40
.43
.69
.51
.75
.56
.63
.52
.56
.28
.58
.37
.38
.77
.66
.45
Hit
or
Miss
H
M
H
H
H
?
H
H
7
H
H
?
H
H
H
H
M
H
H
?
H
Manual
Found Identification
Ethylbenzene
3 Xylene isomer
C9H20
3 Styrene
3 o-Xylene
—
C9H18
tv-Nonane
—
C9H18
Isopropylbenzene
C--Alkylcyclohexane
C10H22
—
C10H22
2 Chlorotoluene
—
C _-Alky Ibenzene
C10H22
—
2 C10H20
     (continued)

-------
TABLE 6 (continued)
SP *
7409
7412
7413
7417
7420
7431
7433
7438
7439
7444
7447
7448
7453
7458
7459
7463
7468
7469
7471
7472
7478
Retention
Time
47.60
47.83
48.07
48.53
49.00
50.17
50.40
50.87
51.10
51.80
52.03
52.15
52.73
53.32
53.43
53.90
54.48
54.60
54.83
54.95
55.65
Compound
Identification
B-Thujene
Valeric acid
4-n-Propyl-3-heptene
Octamethylcyclooctasiloxane
o-Chlorobenzoyl chloride
1 , 3-Dichlorobenzene
Cuminic aldehyde
1-p-Menthadiene
Isobutylcyclohexane
p-Methylacetophenone
4-Ethylheptane
0-Decyl-hydroxylamine
Bicyclo (4.4. 0)decane
3,5-dimethyltnethyl benzoate
Ar ,a-dimethylstyrene
Linalol
n-Undecane
t.-Butylbenzene
Methyl benzoylacetylene
o,a-Dichlorotoluene
2 , 6-Dichlorotoluene
R
.41
.66
.42
.52
.43
.53
.48
.76
.51
.68
.53
.50
.42
.33
.50
.39
.87
.28
.-36
.38
.70
Hit
or
Miss
H
H
M
7
H
7
?
H
M
H
H
?
7
M
H
7
H
7
M
H
H
Manual
Found Identification
C10H20
3 Heptanoic acid?
C_-Alkylbenzene
—
2 Dichlorobenzene isomer
C.-Alkylbenzene
C_-Alkylbenzene
C- 1 + GI ,. isomer
Bromo toluene isomer
4 C,-Alkylbenzene
2 CL-H-, Isomer
C--H-, Isomer
C11H24
C,-Alkylbenzene
—
C11H22
n-Undecane
—
Tetrachlorobenzene
Trichlorotoluene
Dichlorotoluene
     (continued)

-------
                                              TABLE 6 (continued)
Ul
SP 1
7482
7484
7485
7486
7488
7490
7497
7498
7504
7506
7511
7513
7515
7520
7525
7528
7532
7534
7544
7546
Retention
Time
56.12
56.23
56.35
56.58
56.82
57.05
57.87
57.98
58.68
58.80
59^. 50
59.73
60.08
60.55
61.02
61.48
61.95
62.18
63.35
63.58
Compound
Identification
a-Neoisomenthol
Bicyclo (3 . 3 . 1) nonane-2-ol
Methyldichlorocyclopentadiene
3 , 4-Dimethylstyrene
a-Pinene oxide
2 , 6-Dichlotoluene
N-Acetyl-phenylalanine
2-Methylnonane
1,2, 4-Trichlorobenzene
1,2, 4- tr ichlorobenzene
Quinoline butiodide
n-Dodecane
Verbenone
1,3, 5-Trichlorobenzene
Hexachlorobutadiene
Carvone
Pentobarbital-TMS ether
Cyclohexylmethanol
a, 2 , 4-trichlorotoluene
2-Methyl-5-ethylheptane
R
.21
.28
.25
.45
.77
.85
.21
.43
.43
.48
.43
.65
.33
.72
.69
.74
.20
.31
.37
.64
Hit
or
Miss
M
M
M
7
H
H
M
H
H
H
M
7
7
H
H
H
M
M
H
?
Manual
Found Identification
Pentachlorobutadiene
Trichlorobenzene
2 Trichlorobenzene
C j. -Alky Ib en z ene
C.H-,0
4 16
Dichlorotoluene
—
—
Tr ichlorobenz ene
Trichlorobenzene
3 Naphthalene
Methyl salicylate
C12H26
Trichlorobenzene
Hexachlorobutadiene
?
Unsat. hydrocarbon
C13H26
Trichlorotoluene
C14H28
                                                  (continued)

-------
TABLE 6 (continued)
SP #
7552
7556
7558
7559
7561
7564
7568
7571
7573
7577
7588
7590
7596
7602
7607
7615
7619
7623
7624
7630
7634
7637

Retention
Time
64.28
64.75
64.87
65.10
65.45
65.68
66.27
66.50
66.73
67.20
68.48
68.72
69.42
70.12
70.58
71.63
72.10
72.57
73.27
73.38
73.85
74.20

Compound
Identification
Bornyl formate
iv- Tridecane
a,3,4-Trichlorotoluene
Haloperidol
a, 3 , 4-Trichlorotoluene
1-Methylnaphthalene
Chlorophenyldibenzoazepine
1 , 2 , 3 , 4-Tetrachlorobenzene
a, 2 , 4-Trichlorotoluene
2 ,5-Dimethylundecane
Acenaphthene
1,2, 3, 4- Tetrachlorobenzene
n-Tetradecane
2 , 6-Dimethylnaphthalene
2-Amino-4-hydroxupteridine
a-murolene
1-Cyclohexyloctane
2 , 6-Di-t-butyl-l , 4-benzoquinone
7- Ace t oxy-p-menth- 1-en- 3-one
2,6-Dichlorobenzal chloride
n-Pentadecane
Methyl laurate
(continued)
R
59
67
67
28
25
61
32
68
63
48
50
68
79
47
40
24
39
61
31
32
82
38

Hit
or
Miss
H
H
H
M
H
H
M
H
H
H
H
H
H
H
M
M
H
H
?
H
H
1

Manual
Found Identification
C10H16(?)
njTridecane
Trichlorotoluene
Methylnaphthalene
Trichlorotoluene
a- Methylnaphthalene
C14H30?
Tetrachlorobenzene
Trichlorotoluene
C10H0, isomer
J.J Zo
2 Biphenyl
Tetrachlorobenzene
tv-Tetradecane
C_-Alkylnaphthalene
C»-alkylnaphthalene
Alkylbenzene?
2 C16H32
C6H24°?
2 Tetrachlorotoluene
iv-Pentadecane
C15H30


-------
TABLE 6 (continued)
SP //
7639
7649
7659
7660
7672
7674
7675
7696
7703
7705
7710
7718
7723

7775
Retention
Time
74.43
75.60
76.77
76.88
78.28
78.52
78.63
81.08
81.90
82.13
82.72
83.53
84.23

90.30
Compound
Identification
Trihydroxy benzoic acid, TMS
Pentachlorobenzene
Dicyclohexyl ether
Diethyl phthalate
Neopentylphosphonyldichloride
n-Hexadecane
2-Phenyldecane
Pristane
Dimethylbenzylisobutyl ether
Methylfuranyl THP-ether
Trimethylamine
n-Tetradecane
Pristane

Myristic acid
R
.19
.38
.30
.68
.41
.58
.39
.66
.23
.29
.65
.77
.82

.48
Hit
or
Miss
M
?
?
H
M
H
H
H
M
M
M
H
H

H
Found Manual
Identification
C -Alkylnaphthalene
C,_-Alkylbenzene
—
Diethyl phthalate
Trimethylpentadiol diacetate
n-Hexadecane
Sat. hydrocarbon
C18H38
C16H32
—
—
3 n-Heptadecane
v* _ ._ n. .
19 40
?

-------
     An interesting situation occurred in a few cases in which manual
identification was not possible or uncertain.  In those cases the manual
identification column contains a question mark.  If in addition the R
factor from the computer is sufficiently high, it is reasonable to
assume that the computer identification is correct and the manual identi-
fication is incorrect.  This is particularly true with closely spaced
doublets where frequently it is nearly impossible to separate components
manually.  In these cases, the computer identification is more certain
than the human one.  When this occurred, a question mark or even an H
was entered in the hit column.  Components missed in the manual interpre-
tation were marked with a dash in the appropriate column.
     In a small number of cases, computer identification is undoubtedly
wrong.  This is usually accompanied  by low R factors (R<0.3).  Also when
peaks are weak or small components of multiplets, it is difficult to
identify them by computer.  Such cases are marked with an M in the hit
column  ("Miss").
     Comparison of figures  clearly shows that  the CLEANUP program materi-
ally simplifies the spectra prior to their submission to the search
program.  The data here presented show that by combining CLEANUP with an
efficient search procedure, results  can be obtained which are comparable
with human interpretation.  In summary, of 138 components, definite hits
were obtained on 90 components,  clear misses occurred in 26 cases, with
22  cases unclear.  Removing the  questionable category, the system re-
corded  78% hits and 22% misses,  a rather remarkable performance for this
very complex and convoluted mixture.
CLEANUP CONTROL PARAMETERS
     The conclusion of Phase  II  consisted  of variation of the CLEANUP
control parameters in order to determine their effect on the output
spectra and to arrive at  an optimum  setting  for  each.  The fifth of the
eight runs described  above  was chosen as a test  case.  Most of the
parameters represent  threshold settings  concerned with eluant detection:
peak sharpness requirements,  total  ion  current threshold,  closest ex-
pected distance between neighboring  eluants, the percent of each peak
attributable to background, etc.  Two parameters are  simply  switches
controlling optional  diagnostic  messages useful  for program debugging.
                                      55

-------
     An attempt was made to determine optimal parameter settings by
varying parameters in a regular manner and analyzing the results using
the SPSS statistical package.  This approach was not fruitful since
there was no obvious demarcation between what constitutes reak peaks and
noise peaks, and so the statistics did not show a clear preference for
one setting of the parameters, but only a contininuum of change.  Trial
and error variation of the parameters, though less sophisticated, proved
more effective.  The general procedure was to vary each parameter in
both directions about the value suggested by the program authors in the
original CLEANUP documentation.  A summary of conclusions and recom-
mended values is shown in Table 7.  The two things which most aided
determining the effects of parameter variation were the "chemist's
summary printout" of CLEANUP (Figure 17) and the output of the RTI
search program (Table 4).  It is to be emphasized that these values
represent optimum settings for a VARIAN CH-7.  Our suggested values for
the INCOS test data are shown in Figure 27.
     The chemist's printout is a summary list of components found by
CLEANUP, along with information regarding the presence of doublets and
saturated peaks.  By comparing the change of the number of eluants
indicated in the chemist's printout together with the most likely candi-
dates for those eluants found by the RTI search program, it was possible
to determine when erroneous peaks were beginning to be picked up by
CLEANUP.
     Following is a technical review of the analysis of parameters,
primarily of interest to programming specialists.
     The first two variables control the print options of the CLEANUP
program and do not affect any internal calculations.  Either variables
can be set to 0 (do not print) or 1 (print).  The first option (IPFLAG)
determines whether or not the chemist's printout is to be printed.  The
listing of all eluants found by CLEANUP takes relatively little space,
and has proved helpful in almost all test runs.  We feel that the chemist's
printout should always be requested.  The second option (IDEBUG) deter-
mines whether or not intermediate calculations and decisions inside
CLEANUP are to be printed.  Information printed includes histogram
                                     56

-------
                                            TABLE  7.   CLEANUP INPUT PARAMETER SUMMARY
Ul
Name
IPFLAG
IDEBUG
Function
Determine whether or not to
generate chemist's printout
Determine whether or not to
Possible values
1 " Generate printout
0 • Suppress printout
1 " Generate printout
Suggested values
1 • Chemist's printout is
helpful in all cases
0 » Printout necessary only
          generate debugging output

NTHIRDS   Set minimum i of scans for
          expected doublets

ITOM      Set neighborhood in histogram
          window for eluent detection

MINNY     Set minimum histogram ion
          current for 1 to 4 peak eluents

MINTIC    Set minimum histogram ion
          current for eluents with more
          than 5 peaks

RATH      Minimum rate for eluent detection
             RATMXX    Eliminate column bleed from
                       detected eluents by linear
                       error ratio test

             ILEFT     Set number of scans required  for
                       increasing ion current prior  to
                       prospective model peak mode

             IR1GHT    Set number of scans required  for
                       decreasing ion current after
                       prospective model mode

             SATVAL    Tells CLEANUP instrument
                       saturation value
                                                         0 " Suppress printout

                                                         3,6,9 in units of 1/3 scan
                                                         1,2 units of 1/3 scans
Any integer greater than or
euqal to 0

Any integer greater than or
equal to 0
                                                         Any real number greater
                                                         than 0.0
                                             0.0 to 1.0
                                             1,2
                                             1,2,3
                                             All integers
                              when looking for errors

                              3 • Expected distance  as  short
                              possible

                              2 - Widest  setting
1000 currently used, setting
greater than 0 recommended

1000 currently used and recom-
mended, critical that setting
greater than zero is used

0.0 • No minimum cutoff for peak
rates appears necessary at this
time

• .1, current value is .0756.   It
is critical that this parameter
not be 0.0

2 • As wide a neighborhood about
the mode as possible is recom-
mended to ensure model accuracy

3 • Same as above
                             • 200 below Instrument saturation
                             value (see text)

-------
printouts, complete peak models, and decisions made as to whether the
peak encountered was dismissed as noise, qualified as a singlet eluant,
or whether the doublet resolver was invoked.  With an average of 1 page
of printout per eluant detected, the full printout for some test runs
has frequently exceeded 200 pages.   Although this information proved
very helpful in finding some bugs in CLEANUP, we feel that unless thre
is a specific need, this diagnostic output should be suppressed.
     The first of the parameters affecting output spectra (NTHIKD)
determines the closest distance which CLEANUP expects between neigh-
boring eluants.  Once the CLEANUP program detects an eluant from histo-
grams of the ion current, it looks ahead in the histogram to determine
if another eluant is in the vicinity just ahead.  Although the variable
NTHIKD is given in units of thirds of scans, only three values make a
difference in terms of CLEANUP internal calculations.  A value for
NTHIRD of 3 means that neighboring eluants are expected no closer than 1
scan away, 6 means no closer than 2 scans, and 9 means that neighboring
eluants are expected no closer than 3 scans from each other.  The function
of NTHIRD is shown graphically in Figure 18.  From a theoretical point
of view, there is no reason why this parameter should not be set to 3,
setting the CLEANUP program to look for doublets within the finest
possible grid.  The danger of using a coarser setting is that some close
pairs of eluants could be interpreted by the CLEANUP program as sing-
lets, resulting in incorrect peak model choices and the deletion of
unknowns.  Our experience with varying this parameter over the test run
however, showed only a mild dependence of results on the expected mini-
mum distance, with the number of eluants decreasing by only 5% from the
finest to the coarsest possible setting.
     The detection window size (ITOM), has two possible values; 1 and 2,
corresponding to the number of histogram positions which must be less
than the central maximum in order for an eluant to qualify for detec-
tion.  This is shown graphically in Figure 19.  Currently, the most
stringent setting is being used, requiring that histograms of ion currents
for 2 members on either side of the central position be lower than the
central value in order for an eluant to be detected.  Statistics on this
                                     58

-------
                                      NTHIRD>€
                              3
-------
HISTOGRAM
OF ION
CURRENT
INTENSITY


J
1
^

1
2
1
^


1 J 1 1 1 1 1 1 1 fc
                       4   5   6  78  9  10  11 12 13 14  15  16
                          t
HISTOGRAM
POSITIONS-
1/3 SCAN UNITS
                           ELUENT
                           UNDER
                           CONSIDERATION
      The ion at position 5 would be rejected with ITOM = 2 because of the neighboring
      eluent at position 7, whereas with ITOM = 1, it would be accepted.
             Figure 19.   Function of ITOM histogram window setting.
                                       60

-------
parameter were obtained, but  in  view of the  fact  that  the  CLEANUP  algo-
rithm does not try to resolve doublets  closer than 1 scan  apart  and
breaks down entirely for a  distance of  1/3 scan,  it was  decided  to keep
ITOM at its most rigorous value, 2.
     The input parameters MINNY  and MINTIC are minimum TIC histogram
intensity thresholds for eluant  detection.  It is important to note that
these ion currents are  tested after background noise is  subtracted.
There are two threshold settings,  one for spectra containing very  few
ions, (e.g. coronene),  and  one for spectra containing  very few ions,
(e.g. coronene), and one for  spectra containing 5 or more  ions.  In
addition, the reconstructed spectrum is required  to have a total ion
current equal or greater than MINTIC otherwise it is not written to the
output file or noted in the chemist's printout.  TIC threshold require-
ment was tested first by setting both parameters  to 0, effectively
eliminating the TIC minimum cutoff.  The result of this  test was to more
than double the number  of  eluants detected by CLEANUP.  Many of  these
eluants when processed  by  the RTI search program  were  found to have less
than 5 compounds in  the entire library which passed its  two out  of six
strongest peaks presearch  test,  indicating that the peaks  consisted
mainly of noise.   It  is thus  concluded that  some  TIC requirement is
necessary.  We now believe that  the value of 1000, presently used, is
too high.  The optimum  setting of this threshold  must  be determined
individually  for every  data system.
     The parameter (RATM)  sets a minimum sharpness on  each model peak
before it  can qualify as  an eluant.  The suggested value is 0, meaning
that no eluents are  rejected, sharpness being positive definite.  This
parameter was  left at 0 for two  reasons.  First,  there was no  evidence
of spurious eluants  being  introduced due to  insufficient sharpness, and
second, the distribution  of sharpness values for  the test  run  gave no
clues as to a best setting.
     The function  of the  linear  error ratio  (RATMXX)  is  to remove  those
single ion traces  (fragmentograms) which contain  column  bleed.   In order
to do this, a  least  squares fit  to a straight line is  calculated for  an
11 scan window  (5  scans on each side scan under consideration)  and then
                                      61

-------
the ratio of the root mean square deviation of the peak shape about the
line to the average value of the line is calculated (Figure 20).   As
indicated, peak shapes which are "tou flat" can be eliminated by the
error ratio criterion.  Another useful property of the error ratio is
that small peaks against very limited background noise will still be
considered as eluants (b), whereas the same small ripple against a
strong background would be dismissed as noise (c).  We have varied the
minimum error ratio requirement and we have demonstrated that the correct
assignment of this variable is critical.  The minimum error ratio require-
ment was reduced from the suggested .0756 to .002.  Under these con-
ditions CLEANUP found the same number of peaks as it had with the higher
value found (the error ratio test is applied after an eluant has  been
detected in order to determine if reconstruction is worthwhile),  but the
CPU time required by the search program doubled and recognition per-
formance markedly deteriorated.  Extraneous peaks were admitted by
CLEANUP, causing a large fraction of the unknowns to pass the presearch
cycle of SEARCH and also causing misidentification in the search program
due to the presence of those peaks.
     The parameter ILEFT sets the number of scans which must show an
increasing ion current prior to the mode in order for an ion fragmento-
gram to be considered as a model peak.  Correspondingly, LRIGHT sets the
number of scans required to show a decreasing ion current after the mode
for model consideration.  We feel that ILEFT and IRIGHT should be left
at their maximum permissable values, 2 scans prior to and 3 scans after
the mode.  The CLEANUP algorithm achieves maximum efficiency when a
typical singlet peak is 5 to 10 scans wide.  If the scan rate is cor-
rectly "tuned" the most stringent setting for ILEFT and IRIGHT ensures
that well-behaved individual ion traces are used as model peaks.
     The parameter SATVAL defines the saturation value used by the
program in order to determine when peaks are saturated and need to be
reconstructed via a ratio approach.  Although this number would be
expected to be the theoretical maximum for the A/D converter used in the
data acquisition system, we have found it necessary to set SATVAL to a
value slightly below the theoretical maximum.  Thus, for the VARIAN
                                     62

-------
ION
CURRENT
PEAK FRAGMENTOGRAM (Pi. 1=1.11)
                                                    LEAST SQUARES FIT
                                                    STRAIGHT LINE (£,,1-1,11)
                                          J—». SCAN
                                                NUMBER
             ERROR RATIO=
                                    yi-11
                                    I
                                    i«1
      (Pi-C:)2
     EXAMPLES:

       (a)
           Peak thrown out because
           error ratio is too low
      (c)
                                               (b) .
               Small, relatively sharp peak
               admitted because of small
               denominator in error ratio
        Same small peak here is thrown out
        as noise because of large denominator
        in linear error ratio
                Figure 20.   Effects of linear  error ratio.
                                        63

-------
system, the maximum A/D output is 32,767 (2  -1), we currently have
SATVAL set to 32,000.  For unknown reasons, A/D converters often register
values less than their maximum for known, saturated peaks.  In such
cases, saturated peaks can inadvertently be eliminated entirely as
background noise (Figure 21).
     Again, the values for the parameters shown in Table 7 are satisfac-
tory for VARIAN CH-7 data.  It must be realized however, that these
values are instrument and data dependent> and optimum values for any
particular data system must be determined empirically by adjustment of
parameters, which will require some experience gained only with time.
                                     64

-------
    ION
    CURRENT
                                          THEOREflCAL DETECTOR
                                          MAXIMUM
                                                               a

                                                               b
                                                99% OF THEORETICAL
                                                DETECTOR MAXIMUM
                                                  SCAN NUMBER

With SATVAL setting at value (a), the saturated peak is constructed by CLEANUP to
be entirely background noise, but with a slightly reduced setting (b) for SATVAL,
the peak is recognized as saturated and handled by the correct routines.
                 Figure  21.  Effect  of SATVAL on CLEANUP.
                                      65

-------
                                    SECTION 5
          IMPLEMENTATION OF THE CLEANUP PROGRAM ON THE UNIVAC COMPUTER
     Phase III of this contract consisted of making the CLEANUP program
developed at RTI operational on the UNIVAC computer located at EPA.
This work was carried out simultaneously with some improvements being
made in the organization of the data formats in CLEANUP.
     Because RTI's and EPA's environment for using the CLEANUP program
are similar, it was decided to use the same CLEANUP source version for
each.  The general plan was to change the READ and WRITE statements
inside CLEANUP to subroutine calls and then write a set of I/O subrou-
tines for EPA and later a set of I/O routines for RTI's system.
     There were two advantages to this approach.  First,  the CLEANUP
program would require substantially less modification.  In addition, if
any bugs were to occur in CLEANUP in the future, it would be possible to
investigate the problem by carrying out a debugging run at TUCC.  This
would verify whether the bug was a system oriented problem or an algo-
rithm deficiency inside CLEANUP proper.  If the problem was indeed a bug
in CLEANUP, it could be corrected at TUCC.  Systems problems at the
UNIVAC would be corrected there-  Modules required for these programs
are shown on Figure 22.  The code to be delivered to EPA consists of
sections 1, 2 and 3.  A short description of each of these modules
follows.
     Some minor modifications to the original CLEANUP program besides
changing READ and WRITE statements were made.  The most important of
these was to expand the CLEANUP program so that it could process multiple
runs on the same tape data set.  To include this facility, the routines
PARDIR (reading in the CLEANUP input parameters) and SETRUG (initial-
izing the 14 spectra window with the first 13 spectra) had to be repo-
sitioned and rewritten.

                                     66

-------
                  (1)
                              CLEANUP
                              SOURCE
                             PROGRAM
                     **2000 Fortran Source Statements,
                     written by Ames AFB Group
                        CALL WRTSPC

                      CALL RDSPC
(5)
r-
I
I
         CLEANUP I/O
        INTERFACE TO
    RTI LINEAR ACQUISITION
     AND SEARCH SYSTEM
   (To be completed outside of
       present contract)
L.
                                              CALL WRTSPC
                                                 CALL ROSPC
          CLEANUP I/O
           INTERFACE

   150 Fortran Source Statements,
          written by RTI
   CALL EPARO

CALL EPAWRT
CALL EPARD

  CALL EPAWRT
  (4)
             CLEANUP I/O
      ROUTINES FOR VARIAN TAPES
    (Temporary test for modules (1) and
    (2) with previous CLEANUP output)
  (3)
            CLEANUP I/O
     ROUTINES FOR (NCOS TAPES
    (Useable on either 370 or UNIVAC)
    <* 200 Fortran Source Statements
    Figure  22.   Modules required for  transfer of  CLEANUP program to UNIVAC.
                                        67

-------
     Rather than have CLEANUP call the I/O routines directly, it was
decided to create an intermediate step consisting of an I/O interface
called by CLEANUP which would in turn call the I/O  routines.  This was
necessary because the only data used by CLEANUP for internal calcu-
lations are individual ion intensities while the INCOS tape data con-
tained much additional identification information.  Although not used by
CLEANUP, these items were carried along to be able to write output
spectra in the same format as on the original input tape.  The interface
served the dual function of keeping track of data not used directly
inside CLEANUP and of making the I/O routines more versatile for use
with other tasks.
     The modification of the CLEANUP program involved roughly 500 state-
ments:  100 statements for the rewritten routines inside CLEANUP, 200
statements for the I/O interface, and 200 statements for the I/O rou-
tines.  To assure accuracy and quality control, several cross checks
were made.
     In order to insure the correctness of the modified CLEANUP source
(1) and the I/O interface (2) a temporary set of I/O routines for reading
the VARIAN CH 7 data  (4) were written.  These routines purposefully had
exactly the same calling arguments as the INCOS tape I/O routines (3).
These routines were written in standard FORTRAN and involved little more
than READ and WRITE statements.  It was then possible to test CLEANUP
and the I/O interface on one of the eight trial runs.  The prototype run
was much more difficult to achieve than anticipated, mainly due to
communication problems between the main CLEANUP source module and the
I/O interface.  However, because everything was in strict FORTRAN it was
possible to use the WATFIV interpreter to find the majority of the
CLEANUP bugs.  The WATFIV interpreter again proved itself invaluable,
not only in solving otherwise very subtle problems but also by insuring
machine independence of the code.  Thus, output of the CLEANUP source
with the new I/O interface was verified against earlier output from the
version of the CLEANUP program which was "spliced" into the RTI system.
                                     68

-------
     It remained to test out  the  I/O  routines  (3)  on an  INCOS  tape data
set.  After we were convinced that  the  I/O routines  were operating
properly, a program was written to  generate a  TIC  plot of the  first
INCOS test run with the aid of the  UNC  plotter facility  and  the TUCC
plotter routines.  A  reproduction of  this  plot is  shown  in Figure 23.
This plot confirms that the data  were correctly read and interpreted by
the program.
     Initially,  running CLEANUP with  INCOS test data on  the  TUCC IBM/370
detected only 8  eluants in the entire run.  Closer examination of the
data revealed that the average peak width  for  the  INCOS  runs extended
over some 25 scans.   Since the CLEANUP program derives its model sing-
lets from a 7 scan window, not enough peak profile was available to
obtain a good model  shape  (Figure 24).   The simplest solution  to this
problem was to  incorporate another  parameter into  the CLEANUP  program
which would average  over a specified  number of input spectra before any
internal calculations were made.  Once this modification was incor-
porated into CLEANUP, the  same run  was processed again,  averaging over
three spectra at a time.   The results were much improved, showing a
total of 72 eluants  detected  in the run (Figure 25).
     After verification  that  the  scan numbers  of detected eluants agreed
with the TIC plot (Figure  23) and checking the masses and intensities of
detected eluants on  the  output tape against CLEANUP  diagnostic printout,
the task of duplicating  this  run with the  same input tape on the UNIVAC
computer was undertaken.   A  card copy of the CLEANUP source  code was
generated on the TUCC 370  and transported  to the EPA UNIVAC  when the
source was recompiled and  cross checking of its output.   The chemist's
printout of the test run on  the UNIVAC is  shown in Figure 26.  The small
discrepancies between this printout and the chemist's printout generated
at TUCC are of  a round-off type arising from hardware differences  (i.e.
word length, floating point  arithmetic) between the  two  machines.  These
differences are too  small  to  affect the performance  of CLEANUP.
     A second problem of greater concern occurred  when trying  to process
multiple runs on a single  tape with the EPA UNIVAC.   Problems  were
encountered either when  attempting  to write a file mark  at the end  of
                                      69

-------
•-J
o
         200000r
         130,000
      O  100000


      §





      I
          9QOOO
             IOO
                                                      1000
"IT
                                                                                              2000
                                                                                                                  ZJOO
                           SCAN NUMBEft-
                                         Figure  23.  Raw TIC of  INCOS  test  data.

-------
    ION
    CURRENT
MAXIMUM
                                     I  3
                                     CLEANUP DETECTION WINDOW
     —~——	*• SCAN NUMBER

VALID PEAK DISCARDED DUE TO FAILURE OF LINEAR ERROR RATIO TEST
    ION
    CURRENT
                                     £   3
                                   DETECTION WINDOW
                                                 SCAN NUMBER
          POUBLf T INCORRECTLY INTERPRETED AS TWO SIN6LETS
      Figure 24.  Possible consequences
                                         of scan rate too rapid for CLEANUP.
                                        71

-------
    SLUT
11CNAJ   MAX.  ANP   UUUBLtl?  SAT.  PtAKS
1
2
3
4
5
6
7
6
9
10
11
12
13
14
15
lb
17
18
19
20
21
22
23
24
25
26
27
26
29
30
31
32
33
34
35
3b
37
36
39
40
41
42
43
44
45
46
47
48
49
50
51
i2
53
54
55
5b
57
1)6
59
60
65
97
130
142
145
IbV
217
442
4/5
499
656
/09
£56
666
660
904
940
9b7
lOob
1106
1150
1216
12t)5
1266
4321
1361
1364
136/
1390
141/
1420
1429
1435
4444
1513
1522
1534
157o
1600
I63b
1646
1651
Ibbto
lodl
1/11
1759
1622
1631
1637
167b
1897
1903
1906
1939
1945
1978
2020
2029
2050
2104
                        1936.
                      Ibb999.
                        2347.
                       14250.
                       14453.
                        2224.
                        4049.
                        5697.
                      147616.
                        1770.
                       13973.
                        oO'jl.
                       41455.
                      Ibb097.
                        1142.
                       47602.
                        104b.
                        4bl7.
                       4429b.
                        1070.
                        4953.
                       87303.
                       161o/.
                        7455.
                       3535/.
                       32b6b.
                       16945.
                       6l5ci2.
                        545o.
                       74365.
                        3418.
                        4o49.
                       29653.
                       bv)520.
                        I24b.
                       77545.
                       19490.
                        2b03.
                       24234.
                      69229.
                      14261.
                        7/24.
                        1203.
                        4384.
                      60098.
                      10533.
                        4987.
                      36425.
                      11452.
                        3658.
                       31191.
31
': 7
13
47
51
33
54
44
92
25
72
65
45
99
91
23
98
16
37
99
18
51
59
55
69
12
59
b
50
73
13
67
13
73
26
24
33
9/
61
b4
1
64
45
18
72
90
98
44
29
3
6
93
27
11
88
95
49
81
2
31
17/5.
1048/6.
1197.
4738.
6170.
1360.
2213.
2573.
53347.
857.
5954.
1896.
1925.
9156.
41310.
561.
1971o.
359.
lObb.
1 34 V / .
400.
105/.
24632.
240b5.
5/51.
4l2b.
10460.
2111.
15483.
i27o? .
8773.
12416.
2191.
161/3.
950.
520.
215b.
12032.
18903.
4706.
6/7.
Ib005.
11114.
b03.
/455.
o8273.
21607.
2935.
4362.
491.
1063.
6652.
369/.
909.
15042.
9039.
3519.
327bO.
1514.
7311.
NU
NU
YtS
NU
NU
NU
NU
NU
NU
NU
NU
NU
YtS
NU
NU
NU
NU
NU
NU
NU
NU
NU
YtS
NU
NU
YtS
NU
NU
NU
YtS
YtS
NU
NU
NU
YtS
YtS
NU
NU
NU
NU
NU
NU
NU
NU
NU
NU
YtS
NU
NU
YtS
YtS
NU
NU
YtS
NU
NO
YtS
NU
NU
NU
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                u
                                0
                                0
                                0
                                0
                                u
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                0
                                u
                                0
                                0
                                0
                                0
                                u
                                0
                                0
                                0
                                0
                                0
                                0
                                u
                                0
                                u
                                0
                                0
                                0
                                u
                                u
                                o
                                0
                                0
                                0
                                u
                                0
                                0
                                0
                                u
                                0
                                0
                                0
Figure  25.   Chemist's  printout of EPA test run generated at TUCC.

                                  72

-------
                              IUX. «RP"  OOJBLET? SAT. PEAKS
1
2
3
5
6
7
8
9
1U
11
1Z
IS
14
15
17
19
ZO
21
ZZ
23
	 25
27
28
29
10
31
32
33
34
35
36 •
37
38
39
40
41
*z
43
*4
45
»e
47
*B
49
so
51
5Z
53
	 5*
55
56
	 -57—
58
•" 59 '
60
8|—
62
63
64
-65"
66
-67~
68
- 69
70
72
85
97
130
141
145
~169
217
442
475
4*»
658
709
856
868
886
•>tlU
940
967
1066
1108
1150
1216
1285
1288
1321
1381
1384
1387
1390
1*17
1420
1429
1435
1 444
1513
liZZ
1534
1576
1600
16.56
1648
1691
1666
16E1
1711
lf>»
1822
1831
1837
1876
1897
1903
1906
1*39 '"'
19"45""
1978
	 2020 —
2029
7050
2104
•J134
2140
'2179
2200
- "2227—
2266
231*—
2341
-2422
2455
2467—
2698
1»38.
~T67000.
2347.
14.25(1.
14453.
z«47 —
4049.
— 5-897; —
147816.
1770.
13973.
6052.
5285.
* i 45 S •
166097.
1143. 	
47802.
1046.
4617.
44296.
1070.
4V53.
87303.
693S5.
18167.
7455.
35358.
3959.
32685.
" 116839.
16945.
61523.
5456.
74.JB3.
3418.
2746.
4649.
2*85 S.
60520.
11792.
1246.
77946.
19490.
Z6D3.
24234.
44U63 £«
69229.
14281.
7724.
1203.
4384.
6UD9B.
10533k
4987.
	 56184-; 	
36425.
	 11452.""
227926.
3858.
31191.
2738.
1990.
	 sou:
2661.
14861.
5268.
	 184347"
2516.
arm."
1045.
	 1004T;
3222.
31
~TT~
13
'47
51
-33 	
54
44 '
92
25
72
65
45
~99 	
91
23
98
18
37
99
18
51
59
55
69
12
59
t
50
73
13
67
13
fS
28
24
33
97
61
64
1.
84
45
18
72
10 •
98
44
29
3
6
93
27
11
~88" 	
95
"49""
81
2
31
4
3
-"19 	
6
27
17
43
12
84
7
29
1775.
104*76.-
1197.
*73B~.
8170.
1366."
2213.
J573r
53347.
11 857.-
5954.
1898.
1925.
91567
41310.
562.
19716.
359.
1068.
	 13*77r
400.
1 05 7 .
24832.
	 240657
5751.
4126.
10481.
2111.
15483.
32767.
8773.
12418.'
2191.
1B173.
950.
3ZO.
2156.
120S2.
18903.
4708.
677.
1600!.*
11114.
66 3 •
7455.
68274.
21607.
2935.
4362.
491,
1083.
8852."
3897.
909.
15042.
9039.
3519.
32760.
1514.
7311.
1U84."
850.
	 3174.
607.
~3754.
2042.
531 /.
143.
	 10656.
657.
	 2636.
835.
MO
NO
YES
NO '•
NO
NO
NO
NO " —
NO
• NO"" 	 	
NO
NO 	
YES
NO 	
NO
NO
NO
NO
NO
NO
NO
NO
YES .
NO
NO
YES
NO
NO
NO
YES
YES
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
YES
YES
NO
NO
YES
NO
NO
" YE S
NO
	 NO
NO
YES
NO
"NO 	
MO
NO
NO
NO
NO
NO
NO
NO
0
0-
0
- o •
0
_-0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
u
0
0
0
0
0
0
0
o
0
0
0
0
0
0
0
0
0
0
0
0
.- D — -
0
0
_. -0-
0
0
0
u
0
0
0
o -
0
Figure  26.   Chemist's  printout of EPA test run.
                       73

-------
the output cleaned up spectra tape or when attempting to locate the beginning
of a subsequent run on the input test tape.  Because it was possible to detect
file marks separating the three runs on. the EPA test tape at TUCC with no
difficulty, it was concluded that the problem lay with the UNIVAC.  Notwith-
standing that the systems staff for the EPA UNIVAC have been alerted to these
difficulties, we recommend that for the present CLEANUP runs on the UNIVAC be
limited to one input and output file per tape.
                                     74

-------
                                    SECTION  6
                      USER DESCRIPTION OF  PROGRAM OPERATION
     The final phase of implementing  CLEANUP in  the EPA environment consisted
of testing the output tape written by the  UNIVAC oh the contracting agency's
INCOS acquisition system.  Although numerous problems were encountered, they
were all of a systems oriented nature (incorrect tape density, incomplete
format information, etc.) which  commonly occur with machine transfer.  No
internal algorithm changes to the CLEANUP  program were necessary in order to
successfully read the test tape  and obtain plausible output spectra with the
INCOS software.
     A user oriented description for  running CLEANUP on the UNIVAC follows.
To execute CLEANUP at the UNIVAC, it  is  necessary to deliver two tapes (one
containing the INCOS raw input spectra and one for the output spectra) along
with a card deck containing program control  information (Figure 27).  Cards 1
through 5 and 19 through 25 comprise  the Executive Control Language necessary
for the UNIVAC system to recognize and run the CLEANUP program.  Of these, it
is necessary to change the underlined portions of cards 19 and 20 with each
run because they specify the tape serial numbers for CLEANUP to use.  Cards 21
and 22 specify the positions of  the data sets on the input and output tapes -
in this example the input is read from the second file of tape B003KK and the
output is written to the third file of tape  B334KK.  Cards 21 and 22 should be
omitted if only one run is present on the  input  tape, and the cleaned up run
is to be written on the beginning of  the output  tape.  Card 1 - the "run" card
contains the job name (CLNP) and the  maximum time estimate in minutes (5).
Although none of the present tests exceeded  three minutes, it is conceivable
that an increase of the time requirement could become necessary in the future.
                                     75

-------
o'RUN 2i4LNP/4b/2,6U02obA010/KjK,bAi)lO,b                            1
•'PASSED   KJK                           """                           2
«)ASG,A A.                                                           3
oiASG,T 4.       .  CONTAINS THL CONTRUL CARD DATA                   u
«»DATA,1 /J.      .  1HL ACTUAL CONTROL CARD  DATA fULLD.-S             b
1     CLLANUP  PRINT FLAG (IN II)                                   6
0     DEbUG PRINT SWITCH IN 11 (0=NU,1=YLS)                        7
 3    NUMbCR W  1NPUI SPtCTKA TO AVLHAbL  (1U 12)                  6
O     KIUUUM  T»«IKDS BLItoELN LLLUAfjTS (IN 11)                     9
   2    DLTCLT10N KlNDOi> (IN 14)                                   10
  1000      KluiMUM FUR LESS THAN b PLAK5 (IN 16)                11
  1000      KINIMUM FUR MORL THAN U PtAKS (IN 16)                12
   .0000    MINIMUM QUALIFYING RATL (IN F&.4)                    U
   ,03bO    LkRUR RATIO (IN F8.4)                                 U
  2         POINTS TU LIFT OF  HQDL (IN  13)                        IS
  3         POINTS TU RIGHT OF MJUL (IN 13)                       In
130UOO      1»A1URAT1UN .VALUL .(IN Fb.O)                            17
idCND                                                               16
aASG,TJH  7.»lt>D//////QfBoQ3KK       . INPUT  TAPL                 19
«)ASG,TjH/rt 9.,loU//////U,b33«ML     • OUTPUT TAPL                20
«>MUVL 7.,1 .SKIP  1 ULt ON INPUT TAPE-USL 2ND FILL               21*
rfMOVL 9. ,2 .SKIP  2 FILtS ON OUTPUT TAPL-USL  3RD ULt             22*
«»XOT,F A.CLLA^L'P      .                                             23
•JMAKK 9.         0 PUT A 'SAFETY' LNU OF FILL ON OUTPUT TAPf.      2^4
   f.1            .  END OF RUN                                       2b
 *omit until multiple run processing is implemented
 Figure 27.  Example of CLEANUP control cards for EPA UNIVAC.

-------
     Cards 6 through 17 comprise  the  control cards  used  by  the  CLEANUP pro-
gram.  It is important to note  that the variables  shown  here  have been opti-
mized with respect to the EPA test data taken on the INCOS  system and hence
differ from those in Table  7  which were optimized with respect  to the VARIAN
CH-7 at RTI.  The most important  difference is the additional control card
(card 8) which  instructs  CLEANUP  to average over 3 spectra.   Also the instru-
ment saturation value was changed to  130,000 (card 17),  the minimum thirds
between ellutants was  increased from 3 to 6 (card 9), and the error ratio
requirement was reduced  from .0756 to  .035 (card 14). The changes  in minimum
thirds anot  error  ratio  were made in order to accommodate the  wider  peak width
and smoother  data generated on the INCOS system.
                                        77

-------
                                    SECTION 7
                                 DELIVERY TO EPA
     Accompanying this report are listings of the CLEANUP program which
currently is being run on the UNIVAC, completing Phase IV of the con-
tract.  A backup tape of the same programs will be kept by RTI as well
as the version of CLEANUP at TUCC which runs on INCOS tapes.
     It still will be necessary for the contracting agency to carry out
a series of test runs in order to determine the best operating para-
meters for CLEANUP.  The system will respond differently to data derived
from different mass spectrometers, as well as data run under differing
GC conditions.
     The program affords considerable flexibility in operation by the
suitable adjustment of variable input parameters.  These will still need
to be exercised until optimum operational conditions are determined.
                                     78

-------
                                   REFERENCES
  1.  "Mass Spectrometer—Computer System Particularly Suited for Gas-
     Chroma tography of Complex Mixtures," R. A. Kites and K. Biemann,
     Anal. Chem., 40, 1217 (1968).
        i
2.   "Computer Techniques for Identifying Low Resolution Mass Spectra,"
     S. L. Crotch, Anal. Chem., 43, 1362 (1971).
3.   "Reconstructed Mass Spectra.  A Novel Approach for the Utilization
     of Gas Chromatograph-Mass Spectrometer Data."  J. E. Biller and
     K. Biemann, Anal. Lett., 7, 515 (1974).
4.   "Extraction of Mass Spectra Free of Background and Neighboring
     Component Contributions from Gas Chromatography/Mass Spectrometry
     Data," R. G. Dromey, M. J. Stefik, T. C. Rindfleisch, and A. M.
     Duffield, Anal. Chem., 48, 1368 (1976).
5.   Stephen M. Pizer, "Numerical Computing and Analysis," Science
     Research Associates, Inc., Chicago, 1975, p. 358ff.
                                      79

-------
      APPENDIX A
CLEANUP SOURCE LISTING
         80

-------


c
c





















c
c
c


c
c
r
w

p
Lr
C




C






C
c
c
c
c
c
auDFCuu i inc. crurcu

00035690
00035700
THIS ENTRY POINT READS ONE SCAN'S UORTH OF DATA PER CALL AND PFTllPN^piRR''c7iR
IT TO THE CALLING ROUTINE IN COMMON BLOCKS 1HDR AND INDATA? 00035720

COMMON /HDR1/ NAME.HDRFLG.DATE.RUNHR.RUNMIN
COMMON /HDR2/ SAMPID. I NAM
COMMON /HDR3/ RUNCON.SECSCN
COMMON /HDR4/ BUF4.LOPMHS.H1PMAS
COMMON /IHDR/ JNAM. ISCN. IDBUF. IDHR. IDMIN. IRTMIN. IRTSEC. INMBAS.
* IRBRS.1RTIC
COMMON /INDATA'/ INBUF. INSEQ.NIN
COMMON /OHDR/ ONAM.OSCN.ODBUF.ODHR.ODMIN.ORTMIN.DRTSEC.ONMBAS.
* ORBAS.ORTIC
COMMON /OTDATA/ OTBUFF.OTSEO.NOUT
COMMON /FLAGS/ EOF
COMMON /UNITS/ IRDR, IPTR1. IPTR2. IPRT3. UN. IOUT
COMMON /IOBUF/ ITBUF1.CNT1N.CNTOUT. IOERR. ITBUF2
INTEGERS NflME(3).HDRFLG.DATE(2).RUNHR.RUNMIN.SAMPID(16).INAM(2).
* RUNCON( 16) .BUF4( 1 1) .LOPMAS.HIPMAS. JNAMC3) .ONAMC3) . ISCN.OSCN.
* IDEUF(2).ODBUF(2) . IDHR.ODHR. IDMIN. ODMIN. IRTMIN. ORTMIN. IRTSEC,
* ORTSEC. INMBAS. ONM8AS. EOF
*. INSEQ.OTSEQ.N IN. NOUT. INBUF (411). OTBUFF (411)
INTEGERS RCDLEN/80/,CNTIN.CNTOUT.ITBUFl(20),IBLANK/4H /.
* INSPC(26),. lDD(ll).OTSPC(26).SCNEND/0/. 1TBUF2(20)
INTEGER*4 OTSPCX(3.26) .OTSEQX.OTSEOY
RErtL*4 SECSCN.ORBAS.IRBAS. IRTIC.ORTIC

SET SCAN FLAG. COUNTER.

SCNEND-0


CLEAR TRANSFER ARRAY IN ' INDATA' BLOCK.

DO 5 I • 1.411
5 INBUF(I)«0

CALL BLKRD TO BRING A LOGICAL RECORD INTO THE BUFFER.

CALL BLKRD
IF (IOERR. LT.0) GO TO 1000

DECODE A LOGICAL RECORD (ASSUMED TO BE A SCAN HEADER).

DECODE (RCDLEN. 5000. ITBUF1) JNAM, IDD(l) . ISCN, IDDC2), IDBUF. IDHR.
* IRTSEC! IDD(7). IDD (8). INMBAS. IDDOJ.IRBAS^IDDOB). IDDUU.IRTIC

5800 FORMAT(3A4.A1.15.A2.2A4. I3.AI. I2.A4.A1. 13.A1. 12. A4.A2. 14. A1.F9.0.
* A4.A1.F18. 8)
STOP IF NEU HEADER FOR RUN IS ENCOUNTERED. (ISCN'B)
IF (ISCN.EQ.B) GO TO 110
HANDLE SPECTRUM RECORD(S). AT LEAST ONE IS ASSUMED TO BE PRESENT.
00R7S77n
VW^J^f ,3^
60835740
0flfl"?Fi7Sfl
Wt/tJ^ Jf «JU
00035760
00035770
00035780
00Q7S7t}n
WvU^hJf ^\J
00035800
000358 10
00035820
0003583
00035840
00035650
00035860
06035S70
00035880
00035S90
00035900
80035910
00035920
00035930

00035940
00035950
00035960
00035970
00035960
00035990
00036000
00036010
00036020
00036030
00036040
00036050
0B036060
00036070
00036030
00036090
0603610X1
00036110
00036120
00036190
00036200
00036210

00036240
0001PI0
00036270
00036280
00036290
00036300
81

-------
c
c
c

c


c
c
c

c
c

c

c
c
c











c
c
c

c
c
c


c
c
c

c
c
c
c



c
c
c
c
c

c
c

CHECK BUFFER Vlft POINTERS TO DETERMINE ftMOUNT OF REMftlNING DflTft.

RETURN HERE IF MORE THftN ONE SCHN RECORD.

45 CftLL BLKRD
IF (IOERR.LT.B) GO TO 200B

DECODE ft SPECTRUM RECORD.

80 CONTINUE


DECODE (RCDLEN. 5065. ITBUF1) 1NSPC. INSEQ

5B05 FORMflT(26I3. I2>

STORE THIS RECORD'S DflTft IN INBUF USING SPECTRUM MflSS ftS INDEX OF

DO 66 1*1.25.2
J-I-M
L-INSPCU)
IF (L.NE.0) GO TO B3'
SCNEND-1
GO TO 86
83 L-L-39
IF (L.LT. 1.0R.L.GT.411) GO TO 86
INBUF(L')"INSPC(J)
NIN=NIN-H
86 CONTINUE

CHECK UHETHER END-OF-SCftN ENCOUNTERED (MfiSS VflLUE • 0) .

IF (SCNEND.EO.B) GO'TO 45

RETURN UHEN SCAN ENDS (SCNEND • 1).

SCNCNT-SCNCNT+1
RETURN

ENTRY POINT FOR URITING OUTPUT TflPE FOR INCOS USE.
i
ENTRY EPftURT .

URITE SCflN HERDER TO TEMPORftRY BUFFER FROM COMMON BLOCK OHDR.


ENCODE(RCPLEN.50ae, ITBUF2) OHflhl. IDDCD.OSCN. 1DDC2) .ODBUF.ODHR.
* IDDC3).ODMIH. IDD(4).IDD(5).ORTMIN, IDD(6).
* ORTSEC. ILD(7). IDD(8),ONMBftS. IDD(9).ORBfiS. IDDU0),IDDUn.ORTIC

I
MOVE ENCODED HEftCER RECORD TO OUTPUT BUFFER. URITE ft FULL BUFFER
REQUIRED Vlfi NTRftN (CflLLED FROM SUBROUTINE BLKURT) .

CflLL BlKURT

STORE OTBUFF (PROCESSED OUTPUT SCftN) IN OloPC flS MflNY TIMES ftS
B003631 6
66836320
00036330
06036340
66636356
06036366
06036376
06036360
06036390
000364Q0

06036430
60836450
00636460
00036470
00036430
06636496
IN00036500
06036510
06036520
00036530
00636546
00036550
00036560
00036570
00636580
60036590
00036600
00036610
00036626
60036630
0003664G
00036650
60036666
00036676
00036680
06036696
80036700
00036710
00636720
00036730
60836746
01)036758
60036760
00036770
00036780
00036656
00036190

00336260
06036680
00U36890
ftS00636900
60036910
60'336920
00036930
06036940
00636950
82

-------
c
c
C
C
C
C
C
C
C
C
C '
c
c
c
c
c
 UHEN OTSPC  IS FULL.  IT IS ENCODED INTO ITBUF2.

   J"-l
   OTSEO -1
   DO 87  1-1.26
   OTSPCCD-0
   DO 8?  M-1.3
87 OTSPCXtM. I) "8
   DO 100  1*1.411

 LOOP ENDING fiT IBB USES J & L ftS INDICES TO OTSPC;

 DftTfl IN  OTSPC flRE:
    MOSS  (1+33. UHERE '!'  IS THE INDEX OF OTBUFF);
 flND INTENSITY. THE CONTENTS OF OTBUFFU).

 MflSS IS  STORED IN OTSPC(J) RND INTENSITY IS STORED IN OTBUFF(L).
    UHERE L  « J +  1 .

    IF (OTBUFFU). LE.B)  GO TO 100
   J'J+2
   L-J-H
   OTSPC (J)« 1+39
   OTSPCCL)-OTBUFF(I)
    IF U.LT.25) GO TO 100

 ENCODE  SCRN DOTfl FROM OTSPC TO 1TBUF2.
       DO 88 t1=1.26
       I1=OTSPC(I1)
       I2-II/10B
       14*11-13*10-12*108
       OTSPCX(l.m«I2
       OTSPCX(2.M)-I3
    88 OTSPCX(3.M)=I4
       OTSEQX«OTSEO/'13
       OTSEQY=OTSED-OTSEOX*10
       EICODE(RCDLEN.5040, ITBUF2) OTSPCX.OTSEQX.OTSEQY
  5840
 C
 C
 C
 C

 c
 c
 c
                                                                      00036970
                                                                      00036980
                                                                      00036990
                                                                      00037060
                                                                      00037010
                                                                      B00370^0
                                                                      B0037030
                                                                      00037040
                                                                      00037050
                                                                      00037060
                                                                      00037070
                                                                      00037080
                                                                      00037090
                                                                      00037100
                                                                      00037110
                                                                      00037120
                                                                      00037130
                                                                      00037140
                                                                      00037150
                                                                      00037160
                                                                      00037170
                                                                      00037180
                                                                      00037190
                                                                      00037200
                                                                      00037250
 C
  TRftHSFER CARD IttftGE IN ITBUF2 TO OUTPUT BUFFER IN SUBROUTINE

    CflLL BLKURT

  CLEflR OTSPC fiND INCREMENT OTSEO.

    DO 90 K-l'.26
    OTSPC(K)=0
    DO 90 M=1.3
 90 OTSPCXm.tO-B
    OTSEO'OTSEQ-H
    J—1  •
IBB CONTINUE

  SOME DftTft REMftlNS IN OTSPC (EVEN IF  IT IS END-OF-SCfiN ZEROS);
                                                                      00037270
                                                                      00037280
                                                               BLKURT.60037290
                                                                      00037300
                                                                      00037310
                                                                      60037320
                                                                      00037330
                                                                      0CI037340
                                                                      00037350
                                                                      00037360
                                                                      00037370
                                                                      80037380
                                                                      00037390
                                                                      00037400
                                                                      00037410
                                         83

-------
c
c
c
  LJR1TE IT OUT.

    DO 103 11=1.26
    M-OTSPCCru
    12-11/100
    13-11/18-12*10
    14=11-13*10-12*100
    OTSPCXU.M>«12
    OTSPCX(2.M)=I3
    OTSPCX(3.M)-14
103 CONTINUE
    OTSEQX=OTSEQ/10
    OTSEQY'OTSEO-OTSEQX*10
    ENCODECRCDLEN.5840.1TBUF2)  OTSPCX.OTSEQX.OTSEQY

  TRANSFER SCAN RECORD FROM 1T8UF2 TO OUTPUT BUFFER.

    CALL BLKURT
    RETURN
    ENTRY EPAHDR

  ENTRY POINT TO READ FILE HERDER RECORDS (4) AND TRANSFER TO OUTPUT
  BUFFER.
                                                                        00037420
                                                                        00037490
C
C
C
C
C HERE UE CHECK FOR A PREVIOUS EOF...
      IF(EOF.E0.0)GO TO 105
      EOFM
      RETURN
  IBS CONTINUE
      CALL BLKRD
      IF UOEP.R.LT.0) GO TO 2000
  110 CONTINUE
C
      DECODE      NAME.HDRFLG.DATE,RUNHR.RUNMIN
 5010 FORMATC3A4,IX.I5.2X.2fi4,13,IX.I2.46X)
C
      DO 120 1=1,20
  120 ITBUF2(I)«ITBUF1(1)
      CALL BLKURT
      CALL BLKRD
      IF UOERR.LT.0) GO TO 2000
C
      DECODE(RCDLEN,5015.ITBUF1) SAMPID. INAI1
 5015 FORMATC16A4. 10X.A4.A2)
C
      DO 130 1-1.20
  130 ITBUF2U)=1T6UF1CI)
      CALL BLKURT
      CALL BLirnD
      IF (IOERR.LT.0) GO TO 2000
      DECODE fRCDLEN, 5020.-I TBUFD
 5020 Fli^mT<16A4. 10X.F6.2)
r«
      DO 140 1-1,20
  140 ITBUF2(I)-1TBUF1(I)
      CALL BLKURT
      CALL BLKRD
                                      RUNCON.SECSCN
00037510
00037520
00037530
00037540
00037550
00037560
00037570
00037580
00037590
00037600
0BD37610
00037620
00037630
00037640
00U37650
0P03766Q
00D37673

00037740
00037750

00037760
00037770
00037780
00037790
00037SOO
00037810
00037880
00037890

00037900
00037910
60037920
00037930
00037940
00037950
B003S020
0003S030

00038040
00038050
0003S060
00038070
U003SOBO
                                        84

-------
      IF UOERR.LT.B) GO TO  1000

      DECODE(RCDLEN.5025.1TBUFI)       BUF4.LOPttflS.HIPM«S
c5025 FORMAT (6X. 2fl4,6X. 2A4.6X. 2A4.6X, 5A4.5X. 13 .JJC 13)

      DO 150 1-1.20
  150 ITBUF2C1>-ITBUF1C1)
      CALL BLKLJRT
      RETURN

    END-OF-FILE PROCESSING  (10ERR <  83.

 1B8B IF (IOERR.HE.-2) GO TO 2000
      EOF = 1
      CflLL BLKURT
  j    CALL NTRflNSUOUT.3.22)
  !    URITECIPTR1.5030) CNT1N.CNTOUT.EOF
 5830 FORMATC AT  EOF CNTIN  ''.IS,'.  CNTOUT --.16.'  EOF • '.110)
      RETURN
C
C
c;
C
C
C
    ERROR PROCESSING.
    IOERR<-2
 2000 EOF —IOERR
      CflLL BLKURT
      CflLL NTRf)N$CIOUT.9.22)
      URITEUPTR 1,5035)  CNTIN.
 5035 FORMflTC  flT ERROR  CNTIN
      RETURN
      END
      SUBROUTINE  BLKRD
                                            08836090
                                            60036168
                                            00036170

                                            00038183
                                            00638190
                                            00038200
                                            00038210
                                            00038220
                                            00036230
                                            0003B240
                                            00038250
                                            00038260
                                            00038270
                                            00038280

                                            00038290
                                            00033300
                                            00038310
                                            0003B320
                                            00038330
                                            00038340
                                            00038350
                                            00038360
                                            00036370
                                CNTOUT.
                               = '.16.'.
           EOF
           CNTOUT
                                               •'.16.'  EOF • '.1105
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
                                                                    00038380
                                                                    00038390
                                                                    00038400
                                                                    00038410
                                                                    00038420
                                                                    00038430
THIS SUBROUTINE TRflNSFERS  INPUT DflTfl  FROM THE  INCOS  TflPE OF  I2B-UORD00038440
(512-CHflRflCTER) BLOCKS  INTO  fl  20-UORD  UIEND-RCDLEN+1)
       IF
       IF
          (IISTRT.LE.CIIEND -RCDLEN-t-1)) GO TO 40
           GO TO 20
       J-0
       DO  IB
             I-IISTRT.IIEND
                                           00038660
                                           00038670
                                           00038680
                                           00038690
                                       85

-------
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
18 IBUF(J)-IBUFCI)
   IISTRT-J-H
   GO TO 30
20 1ISTRT-1

 CALL BLOCK READ SUBROUTINE (SIMULATED FOR IBM 370 TESTING).

30 CALL NTRANS(11N.3,BLKLEN.IBUFU1STRT). IOERR.22)
   CNT1N=CNT1N+1

 UPDATE BUFFER LENGTH TO REFLECT NELLY READ DATA.

   IIEND -1ISTRT+BLKLEN-1
   1ISTRT-I

 PROCESS NEXT LOGICAL RECORD.

48 J«0
   IEND-IISTRT-H9
   DO 50 1'llSTRT.IEND
   J=J+1
   ITBUF1(J)»IBUF(I)
50 CONTINUE
   COLL TRACECIISTRT)
   1ISTRT-IEND-H
   RETURN
   END
   SUBROUTINE BLKURT

 THIS SUBROUTINE FILLS A 512-CHARACTER fI28-UORD) OUTPUT BUFFER
 WITH BB-CHARftCTER RECORDS.  URflPflROUND IS USED TO MAKE THE BUFFER
 COMPLETELY FULL fiS REQUIRED BY INCOS.  THE BLOCKS. UHEN FULL. ORE
 flCTUfiLLY URITTEN ON TflPE BY SUBROUTINE NTRflNS.

   COMMON XUNITS/ IRDR. IPTRK IPTR2, IPRT3,1 IN. IOUT
   COMMON XFLRGS^EOF
   COMMON XIOBUFX ITBUF1.CNTIN.CNTOUT.IOERR.ITBUF2
   INTEGER*^ ITBUFK20). CNTIN.CNTOUT. IOERR. ITBUF2C20)
   INTEGER*4 IBUF(20).       OBUFC 148)/148*4H    /.BLKLEN/128A
  * RCDLENX80/.IOSTRT/1/,IBLftNK/4H    /,IOEND/20/
   EQUIVALENCE (IBUFt1).ITBUF2C1))

 CHECK TO SEE UHETHER BUFFER IS ALREADY FULL  TO 512 CHARACTERS.

 ALSO. PUT OUT THE LAST BLOCK(S)  (THERE MAY BE TUO REQUIRED) AT END-
 OF-FILE Of? ERROR IN READING OR URITING.
   IF (IOSTRT.GT.128.0R.EOF.NE.0)  GO TO 30

 STORE FILLED TRANSFER BUFFER INTO OUTPUT BUFFER OBUF.

10 IOEND-IOSTRT-H9
   J=0
   DO 20 I-IOSTRT^IOEND
   J-J-H
20 OBUF(I)«IBUF(J)
   IOSTRT-IOEND-t-1
   RETURN
80038700
00638710
00038720
00638730
00633740
00038750
00038760
00038770
00038780
0003R790
0003C80G
000388 IB
00038820
00038830
00038840
00038850
00038860
00038870
00038860
00038890
00038900
08038910
00038920
00038930
00038940
00038950
00038960
00038970
03038980
00038990
00039000
00039010
00039020
00039030
00039040
00039050
00039060
00039070
00035080
0003909B
00039100
00039110
00039120
00039140
00039150
00039160
00039170
00039180
00039190
00039210
00039220
00039230
00039240
00039250
00039260
                                      86

-------
c
c
c
    UPON ENTERING flND  FINDING ft FULL BUFFER. URITE IT TO TflPE.
   32 IOSTRT-1
   33 IF  UOEND.LE.I28)  GO TO 50
   34 J«B
      DO 40  I-129.IOEND

   40 OBUF(J)
      IOSTRT«J+1
      IOEND«J

    STORE BLflNKS  IN  REMAINDER OF OBUF.
/
1

c
c
c


c
c
c
50 DO 60 I*IOSTRT. 148
60 OBUF(I).IBLflNK

GET THE LUST BIT OF DflTfl ONTO

IF (IOEN0.LT. 10STRT.fiND.EOF
IF (EOF.E0.8) GO TO 10

OTHERUISE. FINISHED.




TOPE

.GT.0)




                                        IF EOF OR ERROR.

                                         GO TO 30
      RETURN
      END
      BLOCK DfiTft
      COrtlON  /FLflGS/ EOF
      INTEGER*4 EOF/0/
      COMMON  /IOBUF/ ITBUF1.CNTIN.CNTOUT.IOERR. ITBUF2
      INTEGER*4 ITBUFH20).CNTIN,CNTOUT, IOERR. ITBUF2(20)
      DfiTfl CNTIN/0/.CNTOUT/0/.ITBUF1/20*4H    x.IOERR/0/.
      11TBUF2/70*4H    S
      END
C THIS  SUBROUTINE UftS CftLLED ONLY FROM CUEXEC SO
C CUEXEC UflS  ELIMINfiTED OND ITS STOTEMENTS UERE
C INSERTED  IN GCMSOL UHICH UflS IN TURN MODE THE MflIN PGM.
C                    .                UIM.F. HflRGROVE 9/30/77
C..   SUBROUTINE GCMSOLCCLNFLG)
      INTEGER CLNFLG
C       THIS COMPUTER PROGRftM UfiS DEVELOPED WITH THE FUNDING SUPPORT
C       FROM THE NflTIONflL INSTITUTES OF HEflLTH (GRflNTS RR-6I2 ftND
C       GM-20832) ftND THE NflTIONflL flERONflUTlCS flND SPflCE flDMINISTRflTION
C       (GRflNT NGR-05-020-632).
      INTEGER MflSBUF(6).VftLBUF(6),flJflCEN,flHEflD. ISOU000)
      INTEGER NOME.RDflTE.BITMAP.GCTIME,LIBMf)P, IHTEG.LOMflSS.MftD.flDS
      INTEGER HimSS.POINTS.TAPCNT.MflXSP.LSTCNT,DEVICE.SPCNO
      INTEGER LSTMINjSPEC. IND. IR.BK.NM.NTt1.PNflME(32)
      INTEGER HIST(10).UNIT.NNftME(IB).IRNO
      INTEGER NUSPEC.NrWSS.OVLftP.EXPNflM.SRLIB(5).SECOND
      INTEGER ODUBLT.OSftTS.NLINE.RfflJBUF.FSTPGE.FSTREC
      INTEGER SflTLST.SflTINX.PflSSl.ITOM.EOF
      INTEGER GPEflK.SPARE 1.SPSRE2.SPARES.SPflRE4.SPflRE7
  B0039270
  00033266
  00039290
  00039310
  00039320
OF0083933f>
  00039340
  00039350
  00039360
  00039370
  00039380
  00039390
  00039400
  00039410
  00039420
  00039430
  00039440
  00039450
  00039460
  00039470
  00039480
  00039510
  00039520
  00039530
  00039490
  00039500
  00039540
  00039550
  00039560
  00039570

  00039770
  00039780
  00939790
  00039800
  00039810
  00039820
  00039S30
  00039340
  00000010
  00000020
  00000030
  0000004B
  00000050
  00000060
  0000Q070
  00000080
  00900090
  00000100
  00000110
  00000120
  00000130
  00000140
  00000150
  00000160
  06800170
  00000180
  00000190
                                        87

-------
      INTEGERS TIMREM.TIMCNT
      REftL    SPfiRE5.SPftRE6
      REfiL    ISVP8.ISVP9
      REfiL   QNORM
      REOL«8   C4.C1.C2.SEX-SHX
      DIMENSION G(9).H(II).GNU(18>.HNU<18)
      COMMON PKH1ST(20).NPHIST(20>
      COMMON YM5.YM4.YM3,Yn2.YMl,Y0.YPl.YP2.YP3.YP4.YP5
      COMMON GM4.GM3.GM2.GM1.G0.GP1.GP2.GP3.GP4
      COMMON SG,SG2,SlG,SI.SI2.fiN.fifl.BB.CC.DD
      COMMON NflMEC32).RDfiTE<5>.BITMfiP<64>,GCTIME
      COMMON LlBmPCr7).INTEG.LOMftSS.HlMflSS.POINTS.TflPCNT
      COMMON MflXSP.LSTCNT,DEVICE(5).SPCNO
      COMMON SPECU4.4ll),IND<3.4in.NUSPEC(411).NMflSS
      COMMON RMftX<3>.IRC3).BK(3).NM(3).NTMC3).GPE&K(3.11)
      COMMON SPftRE 1.SPRRE2.SPflRES.SPftRE4.SPftRES,SPHRE6.SPARE?
      COMMON RftTMlN.RfiTEMX.SIG Y0.S1GNXT.SIGLST
      COMMON ISVN8. ISVN9. ISVP8, ISVP9.SIGm7,SATVflL.SATMftX
      COMMON MODE 1.MDDE2.NLUCUT.NUPCUT.SflTPKS(25).NSfiT.EXPNftM(S)
      COMMON /-CSftTLS/SflTLST (25). SfiT I NX
      COMMON /CftHEfVflHEftDCS)
      COMMON XPRNTFG/IPFLflG
      COMMON /MOPES/ SGMODE(3) .SHMODEC3).GMODE.HMODE
      COMMON /MASSES/ ISGMflS(3).ISHMfiS(3).IGMftSS.IHMflSS
      COMMON /ERRORS/RMflSS.ERRMflX.NERR.SIGERR.SECOND C411)
      COMMON /IFF/IFL«G(3)
      COMMON /flJftCNT/fUftCEN(2>
      COMMON /BflCKER/SUMG.SUMG2
      COMMON /DUBBER/C4.C1.C2.SGX.SHX
      COMI10N /PftRftMS/MINTIC.MINNY.NTHIRD.RfiTM
      COMMON /HIND/IHl. 1H2.MSIHGS(2.50).MINX.LINGS(50).LINX
      COMMON /DUBFLG/IDUB
      COMMON /CRfiTMX/RfiTMXX
      COMMON /LFTRIT/ILEFT.IRIGHT
      COMMON /DUBBUG/IDEBUG
      COMMON /MONTOR/MONSPC.MONmS
      COMMON /SLOTNO/NSLOT
      COMMON /CHEMPO/ODUBLT.QNORM.QSftTS.NLINE
      COMMON /CFSTPG/FSTPGE
      COMMON /CRAUBU/RftUBUF(4ll)
      COMMON /LSQ/PflSSl
      COMMON /CFSTRE/FSTREC
      COMMON /TOMS/1 TOM
      COMMON /IMftD/MfiD
      COMMON /IflDS/fiDS
      COMMON /Nfi/PHftME
      COMMON /UNITS/ IRDR. IPTRl. IPTR2. IPTR3. UN. IOUT
C      IHl.!H2.IFLfiGl.IFLflG2 USED IN TLOC ftND ITS  BRfiNCHES.
C HERE CLEftNUP HflS BEEN GIVEN THE CflPftBILITY OF MULTIPLE  RUM
C PROCESSING - flND THE I/O UNIT NUMBERS HflVE BEEN  PUT IN  ft
C COMMON BLOCK NflMED /UNITS/
C                                      UM F HftRGROVE
C                                      U/29/78
      IRPR-4
      IPTRl-6
      1PTR2-6
      IPTR3-6
      IIN-7
00000260
00000210
00000220
00000230
00000240
B0000250
00000260
00000270
00000280
00000290
00000300
00000310
00000320
00000330
00000340
00006350
06000360
06000370
00000380
00000390
00000406
00000410
00000426
00000430
00000440
06000450
00000460
00000470
06000460
06000490
000PC500
00000510
00000520
06000530
00000540
00000550
06000560
00600570
06000580
00000590
00000600
00066610
00066620
00000630
66060640
06000656
00060660
06060670
660606B0
00606696
00000700
00066710
00000720
00000730
0006B740
00600750
00000760
00000770
                                         88

-------
      IOUT-9
      IRNQ»0
      CflLL CUPRNT C3.NPHI ST. MflSBUF,PKHIST.flVE,
     1ERRMSX.ERR2. MODEL MODE 1.MODE2)
C GET CONTROL PftRflMETERS - PflRDIR HftS BEEN REURITTEN AS OF

C     CflLL PflRDIR                        12X12X?8 *H * RT1
C OPEN PRIMftRY  INPUT flND OUTPUT  FILES
      CfiLL OPNFIL
C STflRT OF RUN  PROCESSING LOOP
   35 IRNO-IRNO-H
      EOF«0
      MU'B
      IHI -  1
      1H2 -  2
      IFLftGU)  « 0
      IFLHGC2)  • B
 :     TftPCNT •  B
 1     flJftCEN(2) = 0
C THIS MOD  INSERTED TO HELP  UITH UNINTIflLIZED G ftRRflY
C DOUN  INSIDE SflTLSQ	
C                                RTI  UFH ll/2ix?8
      DO  17  1-1.9
    17 GU)«0.B
      DO  IB  I  * 1.5
 10    fiHEflDCn  ' 8
C THIS MOD  INSERTED TO INITIflLIZE THE ARRftY  GPEflK
E INSERTED  11x14/78 -  fiT RTJ BY  UFH
      DO  11  1=1.3
      DO  11  J-l.ll
    11 GPEflK(I,J)=0
C THIS  MOD  TO  INITIflLIZE flRRflY MSINGS...
C INSERTED  4/12/7B  - flT RTI  BY UFH
      DO  13  I"1.2
      DO  13  J-1.50
    13 MSINGS(I.J)«0
C THIS  MOD  ftLSO TO  INITIALIZE ON flRRflY  LINGS...
C INSERTED  4/13/78  - flT RTI  BY UFH
      DO  14 I'l.SB
    14 LINGS(1)=0
C THESE MODS flRE  flLSO  TO  INITIflLIXE  1SVN8,ISVN9,ISVP8. ISVP9...
 C INSERTED  4/14//78 r  flT RTI BY  UFH
       ISVP8=0.0
       ISVP9*0.0
       ISVN8=0
       ISVN9-0
 C YET flNOTHER  MOD TO  INITIflLIZE  THE  HISTOGRftMS  - NPHIST.PKHIST
 C INSERTED  4/14/78  - flT RTI  BY UFH
      DO  15 1=1.20
      PKHIST(I)-e.0

 C ST!LLPflHOTHER°MOD TO INiTIflLIZE THINGS FOR TLOC  - SPflRE3  TO SPflRE7
 C INSERTED  4/17/78  BY  UFH  flT RTI
      SPflRE3"0
      SPflRE4-B
      SPflF:E5-0.0

 C ONCESftGfl!N*flNBUNINITIflLIZED VARIABLE  - THIS TIME IN  LKflHED
00000780
00003790
00BQOS0Q
00000310
00000820
00000830
00000840
00000850
00000860
00000370
00000880
00000910
B0600920
08000930
00000940
00000950
00000960
B0000970
00000380
00000990
00001000
00001010
00001020
00001033
00001843
00001050
60001060
00001070
00001080
00C81090
00001100
00001110
08001120
00001130
00P01140
00001150
00001160
00001170
00001180
00001190
00001200
00001210
00001220
00001230
00001240
00001250
00001260
00001273
000012RO
00001290
60001300
60001310
00001320
00001330
00001340
00001350
00001360
80001370
                                        89

-------
C HOD INSERTED 4/20/78 fiT RTI BY UFH                                    60001380
      OVLAP-0                                                           00001390
      DO 12 I • 1.25                                                    00001400
12    SATLST(I) • a                                                     00001410
      SftTINX • 1                                                        00001420
C THIS MOD INSERTED TO INITIALIZE ISGMAS FOR ft                          00001430
C MOD DOUIN INSIDE TLOC TO PREVENT LOOKING FOR                           00001440
C ELUTflNTS UHICH HAVE HO SUITABLE MODEL....                             00981450
C                RTI - BY UFH 5/24/78                                   000014PO
      DO 16 1-1.3                                                       00001470
      ISHMASCD—1                                                      000014BO
   16 ISGMrtSU) — I   '                                                   00001490
C      NSLOT.NLINE USED IN KAPUT VIA OUTDAT.                            00001500
      NSLOT « 0                                                         80001510
      NLINE • 0                                                         00C101520
      FSTPGE • I                                                        0B001530
      FSTREC = I                                                        00001540
C      ANOTHER RANDOM VOID ..EH  . .  HUI NENG ...                       00001550
      NMASS=411                                                         00001560
      LSTCNT«0                                                          00001570
C HERE THE CALL TO PARDIR HftS BEEN SHIFTED TO THE TOP                   00001580
C AND CflLLING ARGUMENTS TO SETBUG HAVE BEEN MODIFIED                    00001590
C                                      UM F HARGROVE                    00001600
C                                      11/29/78                         00001610
C     CflLL PARDIR                                     00001620
      CflLL SETBUG(NNAME.EOF)                                            00001630
      IF(EOF.NE.0)GO TO 50                                              00001640
C LOOP CONTROL MODIFIED SO PROGRflM UILL TERMINATE INSIDE MAIN           00001650
C CSECT - UFH RTI 9/31/78                                               00001666
C     MAXSP-MAXSP-10                                                    00601670
      NS«13
   40 NS-NS-H
C THE UPDATING OF SPCNO IS NOW DONE INSIDE TLOC                         00001690
C WHERE THE SPECTRUM RECORDS ARE INPUT...                               00001700
C THIS UAS DONE SO THAT SPCNO COULD KEEP UP U1TH                        00001710
C GAPS IN THE SCAN NUMBERS...                                           0B001720
C                                 UFH - RTI 6/15/78                     00001730
C     SPCNO "SPCNO-H                                                     00001740
C flLSO AN EOF FLAG UAS flDDED TO ENSURE TERMINATION INSIDE THE           00001750
C WIN ROUTINE	                                                     00001760
C                                  UFH - RTI 9/31/78                    00001770
      CflLL TLOCCNS,MJ.M2>M3,IFOUND,EOF>                                 03001780
      IF(EOF.EQ.1)GO.TO 30                                              00001790
C      IFOUND « 0 IF NO SPECTRUM DETECTED.                              00001600
      IFUFOUND.EQ.0) GO TO 40                                          00001810
      MU-MU+1                                                           00001820
      IF(MU.LE.1000)GO TO 23                                            00001830
      CALL CUPRNT(4.NPHIST.ttflSBUF,PKHIST.AVE.ERRMAX.                     00001840
     IERR2,SPCNO,MODE2.MODE2)                                           00001850
C     URITEUPTR2,24> SPCNO                                             00081860
C  24 FORMATC'-'.'*** CLEANUP TERMINATING DUE TO TABLE OVERFLOU ***'.   00001870
C    I/,IX.'LAST SPECRUM NO. IS '.IS)                                    00001880
      STOP 12        .                                                   00001890
   23 1SO(MU)«SPCNO                                                     00001900
26    CALL LKAHED(NS.M2.M3.0VLAP.G,H)                                    00001910
C      OVLAP " 1 IF ELUTANT DETECTED AHEAD.                             00001920
      1FCOVLAP.ED.0) GO TO 25                                           00001930
      CALL OFFSET(G.H,GNU,HNU.MODE1.MODE2)                              0S001940
                                      90

-------
C HOPEFULLY THE LflST FIX TO  CUPRNT IN  ORDER  TO MAKE
C UftTFIV HflPPY... THE ONLY flRGUMENTS USED IN THIS  CflLL  flRE
C          nODC 1 HMD MODE2
C                                UFH.RTI  4/26/78
      CflLL CUPRNTCI.NPHIST.MflSeUF.PKHIST.flVE.ERRttHX.
     lERR2.MOPEl.mDE2.«ODE2)
C      fiBOVE PRINTS MODE1  BND  mDE2
25    CONTINUE
      ISKP-B
      PASS1 • 0
      NDIS-1
C      THIS PASS FOR MfiSSES  DETECTED TO  LEFT OF DETECTED  SPECTRUM
C      flND NOT RESOLVED
C      IT SHOULD BE NOTED  THflT THE DOUBLET RESOLVER  IS  ONLY RUN ON
C      PflSS 2.
 j     CflLL GETHGTCNS-2.M1,ISKP.OVLflP.NDIS.G.H.GNU.HNU)
C      THIS PftSS FOR MOSSES  DETECTED flT  THE  SPECTRUfl

      NDIS-2
      CflLL GETHGT(NS-1.112, ISKP.OVLflP.NDIS.G.H.GNU.HNU)
      ISKP*l
      NDIS«3
C      THIS PUSS FOR MflSSES  DETECTED TO  THE  RIGHT  OF THE  SPECTRUM
      CflLL GETHGTCNS.M3.ISKP.OVLflP.NDIS.G.H.GNU.HNU)
C      PRINT LEflST SOUftRE  ERROR STUFF  IF DOUBLET FOUND
      IF(OVLflP  .EQ. 0)  GO TO  556
      IF  (IDEBUG  .EQ.  B)  GO  TO 550
      flVE  • SIGERR/NERR
      ERRMflX  «  ERRMflX/NERR
      IMflSS ' RMftSS
C HOPEFULLY THE LflST FIX TO  CUPRNT IN  ORDER  TO MflKE
C C  UfiTFIV HflPPY... THE  ONLY ftRGUMENTS USED  IN THIS  CflLL  ftRE
C      flVE flND  ERRMflX
C                                    UFH.RTI  4/26/78
      CflLL CUPRNT(2.NPHIST,MftSBUF.PKHIST.flVE.ERRMflX.ERR2.
      1MODE1.MODE2.MODE2)
C                   *    *               *     *
C      URITE  OUT  0*HCIHSPEC) STUFF
      CflLL CUPRNTtS,NPH1ST.MflSBUF.PKH1ST.ftVE.ERRHflX.
      1ERR2.SPCNO.MODE2.MODE2)
      URITE(IPTR2.908)
 C
 C
 see
 URITE(IPTR2.310>
 ICOUNT « 0
 1)0  600 I * 1.6
 MflseuFcn - 0
 VftLBUFO) • 0
 DO  650 I = 1.411
 IMflSS » I •»• 39 -
                        MAD
 610
 IF(SECONDCI)  .EO. 32767) GO TO 650
 ICOUNT • ICOUNT + 1
 IF UCOUNT .LT. 7) GO TO 620
 URITEUPTR2.920) C MflSBUF (J), VflLBUF (J).  J - 1-6)
 CftLL CUPRNT(6.MflSBUF.VftLBUF.PKHIST.flVE.ERRMflX.ERR2.
1SPCNO.MODE2.MODE2)
 I COUNT" 1
 DO 610 J • 1.6
 MflSBUF(J) • 0
 VflLBUFCJ) • 0
00001950
00001960
00001970
00001980
00901990
00062000
00002010
B0002Q20
00002030
00002040
00002050
00002060
00002070
00002080
00002090
00002100
00002110
00082120
00002130
00002140
00002150
00002160
00002170
00002130
00002190
00002200
P0002210
00002220
00002230
00002240
0000Z250
00002260
00002270
00002280
00002290
00002300
00002310
00002320
00002330
00002340
O000.?350
00002360
0000237tf
00002380
00002390
00002400
00G02410
00002420
00002430
00002440
D0002450
00002450
00002470
00002430
00002490
00002500
00002510
00002520
                                        91

-------
628   MASBUFUCOUNT) - IMASS
      VALBUFUCOUNT) • SECOND(I)
658   CONTINUE
      IF ( mSBUF(l) .EQ. C) CO TO 550
C     URITECIPTR2.920) (MASBUF(J),VALBUF(J),J«l,6)
      COLL CUPRNT16.MASBUF.VALBUF.PKH 1ST.flVE.ERRMAX.ERR2.
     1SPCNO.MODE2.MODE2)
C      THE fiBOVE EMPTIES THE BUFFER.
550   CfiLL OUTDAT(SRLIB.NNAME)
      GO TO 40
C THIS MOD INSERTED IN CONJUNCTION UITH THE EOF FLAG ADDITION TO
C TLOC
C                                  UFH - RTI 9/31/78
C THE END OF THE CLEANUP MAIN CSECT HAS BEEN MODIFIED
C TO HANDLE MULTIPLE RUN PROCESSING.
C                                    UM F HARGROVE
C                                     11/29/78
C END OF SPECTRUM RUN
   30 CONTINUE
      CfiLL CLSRUNCISQ.MU)
      GO TO 35
C END OF FILE AND TERMINATION OF CLEANUP PROGRAM
   58 CALL CUPRNTC6.NNAME.VAIBUF.PKHIST.AVE.ERRMAX.
     2ERR2.TIMCNT,MODE2.MODE2>
      CALL CLSFIL
      STOP
      END
      SUBROUTINE BACLSQ(PKHGT)
                                                                        00802530
C
C
C
C
C
C
C
C
C
C
 THIS COMPUTER PROGRAM UfiS DEVELOPED UITH THE FUNDING SUPPORT
 FROM THE NOTIONAL INSTITUTES OF HEALTH (GRANTS RR-6I2 AND
 GM-20832) AND THE NATIONAL AERONAUTICS AND SPACE flDMINISTRATION
 (GRANT NGR-05-020-632).


 *** THIS ROUTINE USES A  MODEL PEAK AND CURRENT PEAK
 *** AND DOES A LEAST SQUARES TO COMPUTE THE
 *** BACKGROUND AT PEAK CENTRE (ASSUMES LINEAR BACKGROUND).

INTEGER PKHGT.PASSl
COMMON PKHIST(20),NPHIST(20)
COMMON YM5.Y(9).YP5
COMMON G(9)
COMMON /LSQ/PASS1
COMMON /BACKER/SG.SG2
REAL   P.C

 *** SOLUTION OF THREE LINEAR EQUATIONS.
       P * SG**2 + C  • SGY
       P * SG
                        SY
          UH1CH RESULT FROM THE LEAST SQUARE FITTING OF THE
          ERROR TERMS.
00B02ti50
000025£0
00002570
60002580
00002590
00002600
000026)0

00002630
00002640
00002650
00002660
00002670
66002680
00002690
00002700
00002710
00002740
00002750
00002760
00002770
00002780
00002790
00002600
00002810
00002820
00002830
00002840
00002850
00002860
00002870
00002880
00002890
00002900
00002910
00002920
00002930
00002940
00002950
00002960
00002970
00002980
00002990
00003000
00003010
00003020
00003030
00003040
00003050
00003060
00003070
00003080
00003090
00003100
00003110
00003120
                                       92

-------
c
c
c
c
c
c
c
5
IB
20
         Ed) • P * Gd) + C - Yd)      .   1-1.9

 UE SOLVE FOR P AND SET PEAKHGT  • P * GTOP.

               S THE  INTERPOLATED VALUE  AT  THE SPECTRUMS
00803130
00003140
B0003150
      IF( PASS1  .EQ.  1  )  GO TO 10
      PASS1 «  I
DO 5 I - 1.9   '
SG - SG + Gd)/9
SG2 - SG2 + Gd) * Gd)xg                     ,
CONTINUE
SY » 0
SYG « 0
DO 20 I « 1,9
SY • SY + Yd)/9
SYG - SYG + Yd) * Gd)/9
P - ( SYG - SY * SG  )'(  SG2  -  SG  * SG  )
PKHGT * P * G(5)
 C • SY - P * SG
RETURN
END
SUBROUTINE BLEEDCY.RATIO)
 LEAST SQUARE FITS A LINE  TO DATA TO DETERMINE  ITS LINEARITY.
REfiL AVY.AXY.AXX.X.B.M.RflTIO
INTEGER M.I
REAL YC7).ERROR,FIT(7)
AVY
AXY
AXX
DO 2
X -
AVY
AXY
AXX
AVY
AXX
AXY
0
0
0
0 I « 1
- 4
AVY +
AXY +
AXX +
AVY/7
AXX/7
AXY/7
B • AVY
M « AXY/AXX
Y " tl X +



.7

Yd)
X *
X*X





B






Yd)







280
 C

 C  THE  ERROR RATIO CALCULATION HAS BEEN MODIFIEfc SUBSTANTIALLY
 C  BECAUSE  IT UAS FOUND TO BE HAYUIRE IN THE PREVIOUS VERSION.
 C  THE  MOD  IS A JOINT EFFORT OF DR/SHAHx-PC/UFH
 C                                    ENTERED BY UFH-RTI  9/31/78

       1F(AVY.EQ.0)GO TO 400

       DO 300 1=1.7
       FlTd)«M*d-4)+B
       ERROR«FITd)-Yd)
   300  RMS*RMS+€RROR*ERROR
       RMS-SORT(RMS>/7.0
       RHTIO-RMS/AVY
00003190
00003200
00003210
00003220
00003230
00003240
00003250
00003260
00003270
00003280
00003290
00003300
00003310
00003320
00003330
00003340
00003350
00003368
00003370
00003380
00003390
00003400
00003410
00003420
00003430
00003440
00003459
00003460
00003470
00003480
00003490
00003500
00003510
06003520
00003530
00003540
00003550*
00003560
00003570
00003560
00003590
00003600
00003610
00003620
00003630
00003640
00003650
00003660
00003670
00003680
00003690
00003700
                                          93

-------
      RETURN

  480 RATIO'S.8
      RETURN
      END
       THIS SUBROUTINE DOES fill PRINTING
       FOR CLEANUP.  PLEASE USE IT TO ADD NEU PRINTING
       IN ANY SUBROUTINE.

       THE CftLL STATEMENT ALLOWS FOR PASSING OF ARRAYS
       REALS AND INTEGERS.


       THIS COMPUTER PROGRAM UAS DEVELOPED UITH THE FUNDING SUPPORT
       FROM THE NATIONAL INSTITUTES OF HEALTH (GRANTS RR-6I2 AND
       GM-20832) AND THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
       (GRANT NGR-85-028-632).
      SUBROUTINE CUPRNT(N.IAR.IAR2.AR.R1.R2.R3.11.12.13)
      INTEGER N.II.12,13.IONE.NINE
      REAL R1.R2.R3
C THE DIMENSIONS OF IAR AND AR HAVE BEEN CHANGED TO SUIT UATFIV
C THEY UERE AT 9	MUCH OF THIS CODE SEEMS NONSENSE...
C                                  UFH RTI 26/4/78
      DIMENSION IAR(1),AR(1).IAR2CI)
      COMMON /DUBBUG/IFLAG
      COMMON /UNITS/ IRDR.IPTR1.IPTR2.IPTR3.I IN.IOUT
      DATA IONE.N1NE/1.3/
       IFLAG IS RESET IF NO PRINTING IS TO BE DONE/

      IF (IFLAG.EQ.0) RETURN
      GO TO (10.140,150,160,170.180.200.210).N

       THE ABOVE IS A CASE STATEMENT FOR EXECUTING PRINT
       OPTIONS.C

       GCMSOL RPINTING OF MODE1.MODE2
   10 IF(IFLAG.E0.0)RETURN
      URITE(IPTR2.51B) 11.12
      RETURN
C
  140 IF(IFLAG.EQ.0)RETURN
      URITEUPTR2.1400)  R1.R2
      RETURN
C      FORMAT STATEMENTS FOLLOU.
C
510   FORMAT(/1X.'    HISTOGRAM LOCATIONS OF THE TUO SPECTRA ARE:'/
     -8X,'G-POSITION « ',I2.2X.'H-POS1TION - ',14)
1480  FORMAT(/' LEAST SQUARES ERROR STUFF FOR DUBLET:'/
            AVE. ERR.        AVE RMS ERR'
     -,/,IX,E15.8,4X,EI5.8.//)
C THESE PRINT STATEMENTS HAVE BEEN ADDED AS PART OF THE
C GENERAL REVAMPING OF CUPRNT....      UFH RTI 9/31/78

  150 WRITE(IPTR2.101)
  101 FORMAT('-','START OF CONVERTED MASS SPEC CLEANUP PROGRAM')
      RETURN
00003710
80003720
00003730
00863740
00003750
00003760
00003770
00003760
00003790
00003800
00003810
0D003820
00003630
00003Q40
00003850
60003860
00003870
00003380
00003890
00003900
00003910
00003920
00003930
00003940
00003950
00003960
00003970
00003980
80003990
00004000
00004010
00004020
00004030
00004040
00004058
000040S0
08004070
00004060
00004090
06004100
00004110
00004120
00004130
00004140
00004150
00004160
00004170
000041 BO
00004190
00004200
00004210
00004220
00004230
00004240
00004250
00064260
00004270
80004280
                                      94

-------
  160 URITEUPTR2.24)  II
                                               T0 TfiBLE OVERFLOIJ
      RETURN

  170 IF(IFLflG.EQ.0)RETURN
      UIRITEUPTR2.900)
900

910
    FORMflT(//.20X.' COMPUTED H(MODE) * Q'./)
    URITE(IPTR2.910)
60004290
60004300
00004310
00004320
00004330
00004340
00004350
00004360
00004370
C
C
      RETURN
                                              VftLUE
                                                                   VftL00004390
                                                                      00004400
                                                                      00004410
                                                                      00004420
  180  IFCIFLflG.EQ.0)RETURN
      URITECIPTR2.920)  UftRC I). lflR2U). 1 =
  920 FORmT(6(3X. I3.1X. 15))
                                        1.6)
      RETURN
  CUPRHT STflTEMENTS
                     7  flND  8 HflVE  BEEN MODIFIED TO
C FIT  IN UITH THE SCHEME  OF  MULTIPLE  RUN PROCESSING.
C
C
C

C
C
C
C
C
                                      UM F HflRGROVE
                                       11/29/78 RT1
200 URITE(IPTR2,11>     12.(IflRC I), 1-1,18)
 11 FORMflTClX.'END OF PROCESSING FOR RUN »'.I2.
   2' RUN TITLE: '. 18fl4)
    RETURN

210 URITEUPTR2.102)
102 FORMflTC-'.-***END  OF  CLEflNUP  PROCESSING***')
    RETURN
    END
    SUBROUTINE DETEKT  (PKHIST.NPHlST.DTFLflG.NLUCUT.NUPCUT
   &   .NL.NU.IDXL.IDXU.INDX)

     THIS COMPUTER PROGRflM UflS  DEVELOPED UITH THE FUNDING SUPPORT
     FROM THE NflTlONflL  INSTITUTES  OF HEflLTH  (GRftNTS RR-612 flND
     GM-20B32) flND THE  NflTlONflL flERONflUTICS  flND SPflCE flDMINISTRftTION
     (GRflNT NGR-05-020-632).

    INTEGER PLlMIT,DTFLflG,CPLMIT,SVFLflG.CftSEI
    REflL MX.MX2.INTSUM
    DIMENSION PKHIST(20).NPHIST(20)
    COMMON /PflRflMS/ttlNTIC.MlNNY.NTHIRD.RflTM
     M1NNY IS USED FOR  FEUER THAN  5 PEftKS
     REQUIRE  TOTflL  ION CURRENT FOR DETECTED SPECTRUM TO BE fllNTIC
     IN ftND flROUND THE  MflX IF 5 PEflKS LOCflLLY.
    COMMON /TOMS/1 TOM
    COMMON /CflHEfl/flHEflD(5)
    INTEGER flHEflD.ITOM
     XX*#XX*X***XX*X*X****X****X***X****XX****'*****
     UE SCflN THE HISTOGRflMIC UINDOU fNL.NUS  FOR fl MflXIMUM
       INDX=NL
      NUM'NPHIST(NL)

      ^TH^HllTOGRflMIC  U1NDOU *IDXL.IDXUB IS  UHERE  fl  MftXIMUM
       UILL OCCUR  IF  fl  SPECTRUM IS ELUTING.
                                                                      00004450
                                                                      00004460
00004480
00004490
00004500
00004510
00004520
00004530
00004550
00004560
00004570
00004f.£0
00004590
00004600
00004610
00004620
00004630
00004640
00004650
00004660
0D004670
00004680
00004690
00004700
00004710
00004720
00004730
00004740
00004750
00004760
00004770
00004780
00004790
00004800
00004BIO
00004820
00004830
00004840
00004650
00004860
00004870
                                        95

-------
9
C
ie
c
c
c
c
c
c
c
c
c
c
c
c
NUM2-NPH 1ST (IDXL)
rtX2-PKHISTUDXL)
1NDX2-IDXL
      MX. HUM « MAX in
DO IB I-NL.NU
IF ( MX .GE. PKHIST(I)
MX'PKHIST(I)
HUn-NPHlST(I)
INDX=1
CONTINUE
 NOTE: fIDXL.IDXUB IS
                                      HX2.NUM2 - MAX *IDXL.IDXUB
      IF ( I .LE. IDXL  .OR.  I .GT. IDXU )
      IF ( MX2  .GE.  PKHISTCI) )  GO TO 10
                              * IDXU IDXU 9
                             ) GO TO 9
                             UINDOU FOR DETECTING ELUTflNT NOU
                                             GO TO 10
       GET MAXIMUM IN UINDOU
      MX2-PKH1ST(I)
      NUM2«NPHISTU>
      INDX2M
      CONTINUE
       SEE IF IN RIGHT HISTOGRAM UINDOU, -MDXL, IDXU0
      IF < INDX .GE.  IDXL  .AND.   INDX .LE.  IDXU )  GO TO 15
       IF UE GET HERE THE ABSOLUTE MAXIMUM UAS NOT IN *1DXL.IDXU8
       AND  IDXL  .LE.  INDX2   .LE.  IDXU
       REQUIRE:  1. THAT TIC (INDX2)  BE LARGER THAN ITS IMMEDIATE
                 NEIGHBORS.
                2. THAT PKHISTC1DXU)  + PKHISTCIDXU+1)
                    + PKHISTUDXL)    .GE.    MINTIC.
      IF ( MX2  .LT.   PKHISTCINDX2-U )  RETURN
      IF < MX2  .LT.   PKHISTUNDX2+1) ) RETURN
       CHECK ON HOU CLOSE UE UILL ALLOU HISTOGRAM BUMPS.
       DEFAULTS TO 2 SLOTS APART. SPECIAL FLAG ITOM IS
       USED FOR FRAGMENTOGRAPHY RUNS TO TRY TO SEPARATE
       DEUTERATED PEAKS FROM NON-DEUTERATED PEAKS.
C THIS IS A TEMPORARY MOD IN ORDER TO GATHER STATISTICS ON
C THE INPUT PARAMETER ITOM - CODE 6
C
C
C
C
C
                                           UFH RTI 9/31/78
      ISPC-B
      ITYP-6
      UP ITE(20.6251)
C6251 FORI1AT(A4.A4)
C
      IF C
      IF
      IF
           ITOM .EO.
         I  MX2
         (  MX2
          .LT.
          .LT.
               ITYP.ISPC
I  )  GO TO 79
PKHTSTUNDX2-2)  )   RETURN
PKHISTUNDX2+2)  )  RETURN
C TEMPORARY MOD IN ORDER TO GATHER STATISTICS ON
C THE INPUT PARAMETER ITOM - CODE 7
t                                      UFH RTI 9/31/78
C     ISPC-0
C     ITYP«7
C     URITEC28.6254) ITYP.ISPC
C6254 FORMAT(A4.A4) .
79    CONTINUE
      PKSUM • PKHIST(IDXL) + PKHISTCIDXL+O + PKHISTUDXU)
      IF ( IDXL .NE. 4 ) GO TO 12
      IF ( AHEAD(l) .EQ. 1 ) PKSUM - MINTIC
C      THE ABOVE GUARANTEES DETECTION IF SPECTRUM UAS DETECTED
08004889
0000-1890
00064900
00004910
00004920
00004930
00064943
00004950
60604960
00004970
000649B0
00004990
00065000
00005010
00005020
00065030
00005040
00005050
00005060
00005070
08005080
00005090
00065100
00005110
60065120
B0005130
B0005140
00005150
00005160
00605170
00005180
00005190
00005200
00005210
00005220
06805230
00005240
00605250
06005260
06005270
00605260
00605290
06005300
00005310
60005320
00005330
00605340
60005350
OD0053bO
60005370
00005386
00065390
00605400
00005410
00005420
00005430
06005440
00005450
                                        96

-------
c
12
C
       AHEAD.
      CONTINUE
                             8SIV0GflTHER  STflT1STICS ON
C     ,spc.a                           LFH RTI 9X31X78

C     1TYP«5
C     WRITE(20,6252)  ITYP.ISPC.PKSUM
C6252 FORMAT(A4.A4.36X.A4)
      IF ( PKSUM  .LT.. MINTIC > RETURN
      NLUCUT«lNDX2-2
      NUPCUT-INDX2+2
      INDX»INDX2
C      DTFLftG  • I SAYS UE'VE FOUND  ONE
      DTFLAG'l
      RETURN
1,5    CONTINUE
C      UE NOU  SUM NUMBER  OF PEAKS AND TIC.
      IF ( IDXL .LT.  7 )  GO TO  16
C      MAKE SURE  UE HAVE  ft HISTOGRAM1C BUBBLE
C      IF LOOKING AHEAD.
      BUBBLE « PKHIST(INDX)
      IF ( BUBBLE .LT. PKHIST(IHDX-1) )  RETURN
      IF < BUBBLE .LT. PKHIST
-------
c
C THIS IS fl TEMPORARY MOD IN ORDER TO GflTHER STOTISTICS ON
C THE INPUT PftRflMETER I TOM - CODE 4
C        '                             UFH RTI 9/31/76
C     ISPC-0
C     1TYP=4
C     URITEC30.6257) ITYP-1SPC.PKSUM. 1NTSUM
C6257 FORMftT(ft4.fl4.28X,fl4.ft4)
      IF (PKSUM .GE. 5)  GO TO 200
      IFC IMTSUM .GE. (1INNY )  GO TO 18
      RETURN
      CONTINUE
2B8


IB
C
C
20
C
38

C
50
48
              .NE. 1 )  RETURN
               --> UE ORE NOT LOOKING flHEOD.
               NLUCUT fiND NUPCUT.
            ftND NEED HISTOGRfHIIC
TO THE LEFT ftND RIGHT OF THE
C
C
C
 IF fiT LEfiST 5 PEflKS. THEN REQUIRE INTSUM > MINTIC.
IF(INTSUM .LT. MINTIC) RETURN
CONTINUE
DTFLflG=l
IF ( NL
 NL - 1
 BOUNDS.
SLEFT«0.0
SRIGHT-0.0
NUM1=INDX+1
NUM3"INDX+3
 GET HISTOGRftMIC "UEIGHTS"
 MftXIMUM fiT PKHIST(INDX).
J « 0
DO 20 I«NUf11.NUM3
J • J + 1
JJ » INDX - J
SLEFT - SLEFT + PKHISTfJJ)
SRIGHT - BRIGHT + PKHISTCI)
CONTINUE
NLUCUT • INDX - 2
NUPCUT - INDX + 2
IF ( SLEFT - SRIGHT ) 30.40,50
 MORE "UEIGHT" TO RIGHT IF UE GET HERE
NUPCUT •= NUPCUT + 1
GO TO 40
 MORE "WEIGHT" TO LEFT IF  UE GET HERE
NLUCUT • NLUCUT - 1
RETURN
END
SUDROUTINE DU5LET (G.H.Y.STORE,M.IHSPEC.GHGT,ISUD.NS)
REflL  GHGT
INTEGER STORE.M.1HSPEC.1SUD,SECOND.NS.MOD
REflL KK .LL.MM.NN
COMTION /DUBBER/C4.C1.C2.SG.SH
COMMON /MONTOR/MONSPC.MONMflS
COimON /ERRORS/RMflSS.ERRmX.NERR.SIGERR.SECOND(411)
COMI10N /IMAD/MflD
COMMOM /UNITS/ IRDR.IPTR1.IPTR2.IPTR3.I1N.IOUT
INTEGER  132766
REflL*3   C4.CUC2.SG.SH
REfiL*8   SY.SGY.SHY.SG2.SH2.SGH
REflL     ERR.ERRM
 *** ROUTINE TO RESOLVE fl  DUBLET USING TUO MODEL
 *** PEflKS BY fl LEflST SQUfiRES METHOD. THE MODEL
 *** INCLUDES fl LINEftR BflCKGROUND.
00006040
00066050
00006060
00006070
00006030
B0006090
00B06100
eeeoene
00006120
00006130
00006140
00006150
00006160
000Q6176
000B6180
60006130
00006200
00006210
00006220
00006230
00006240
00006250
00006260
00006270
00006280
00006290
00006300
00006310
00006320
00006330
80006340
00006350
80066360
00006370
000U6380
00006390
00006400
00C06410
00006420
00006430
00006440
00006450
00006490
00006470
000064SO
00006490
80006500
00006510
00006520
80806530
00006540
00006550
00006560
00D06570
80006580
80006590
00006600
80006610
                                     98

-------
C      THE LEAST SQUARE  NORMAL  EQUATIONS ARE DERIVED FROM
C      THE FOLLOUING EQUATION FOR ERROR MINIMIZATION:
C         ECU  « P * G(I)  * 0 * H (  I ) 4 C - Yd)  .1 « 1,U
C            - AVERAGE VALUE  OF X
C      THIS LEADS TO THE FOLLOUING SYSTEM OF EQUATIONS :
C         P *   +  0  *    + C *  - 
C         P *     +  0  *   + C * 
C         P *      +  Q  *     + C        « 
      REAL   Gd8).HdB).Yd8)
      REAL   ERRTtd4).FITd4)
      REAL   P.Q.C.ZERO.HMDd4),GMDd4)
       INTEGER  ILOU.IUP
      DATA ZERO/e.0x
      DATA  I32766/32760/
C      ****)f*****************x:***itc*****»HI THERE*********
C       INITIALIZE  SOME VARIABLES
 i      ILOU  • 3
       IUP -  II
C      UE TRUNCATE THE SECOND MODEL AT THE  11TH POSITION SO AS
C      ONLY TO  USE POINT UHERE  REAL DATA UAS SUPPLIED.
      AN •  IUP  - ILOU + 1
C        TEST TO SEE IF UE'VE ALREADY BEEN BY FOR THIS SPECTRUM
       1FC ISUD  . EQ.   0) GO TO  20






C






18






C



20







30


ISUD - 0
SG2 • B
SGH • 0
SG • 0
SH2 « 0
SH - 0
DO SOME SUMS.
DO 10 I • ILOU. IUP
SG - SG + GU)
SG2 « SG2 + Gd) * Gd)
SH - SH + HCI)
SH2 • SH2 + HU> * HCI)
SGH • SGH + GU) * HU>
CONTINUE
MAKE ALL AVERAGE VALUES
SG • SG/AN
SG2 • SG2/AN
SH « SH/AN
SH2 • SH2/AN •
SGH • SGHXfiN .
NOU DO WHAT COMPUTING UE
C4 • SG2 - SG * SG
Cl • SGH - SG * SH
C2 • SH2 - SH * SH
CONTINUE
SY-B
SGY«0
SHY«0
DO 30 1 • ILOU. IUP •
SY=SY -I- Yd) -
SGY-SGY + GCI) * Yd)
SHY-SHY •«• Hd) * Yd)
CONTINUE
SY - SY/AN
SGY * SGY/AN
                                 CAN FOR MODEL STUFF
06006620
00666630
00006640
00006650
00006660
0000G670
00066680
00006690
08006700
00306710
00006720
00006730
00006740
00006750
00006760
00006770
00005780
00006790
00006800
0Q006S10
00066820
60006830
00006840
00006850
06066860
00006876
00006880
06666890
00006900
60006910
00086920
06006930
06066940
06006950
00006960
00006970
00006980
00006990
06007000
00007010
00007020
00007630
0000704D
00D07050
00607060
00007070
000070SQ
00007090
00007100
00007110
00607120
00007130
00007140
00007150
00007160
00007170
00007180
00007190
                                         99

-------
      SHY • SHY/ftN
C      NOD SOLVE FOR P.O.C
      C5  " SGY - SY * SG
      C3  • SHY - SY * SH
      P • ( C5 * C2 - C3 * Cl )/( C4 * C2 - Cl * Cl )
      0 « ( C3 - P * Cl )/C2
      C « SY - P * SG - Q * SH
      GHGT • P-* G(7)
      HHGT • 0 * H(IHSPEC)
      1F( GHGT .LT. ZERO ) GHGT • ZERO
      IF I HHGT .LT. ZERO ) HHGT • ZERO
C      DO MEAN SQUARE ERROR CALCULATION
      ERR • 0
      ERRfl - B
      DO 48 I « ILOU.IUP
      GMDCI)   • P * GU)
      HMD(I)   « Q * HCI)
      FIT(l)   • GMDd) + HMDd) + C
      ERRTld) • Yd) - FIT(I)
      ERRtl     • ERRfl + ERRTHI)
48    ERR      -ERR  + ERRT1C I) * ERRTK1)
      ERRM " ERRtVfiN
      RMS • ERR/AN - ERRM * ERRM
      IFC RMS .LT. 0 ) RMS - B
      ERR - SORT(RMS)
      SIGERR • SIGERR + ERRM
      ERRMAX * ERRMAX + ERR
      NERR • NERR +  1
      STORE - 1
C      FLAG FOR SETGHY TO SIGNAL STORING OF NEU VALUE  IN NUSPEC(M)
      IF(HHGT .GT. 132766) HHGT « 132766
      SECOND(M) • HHGT
208   CONTINUE
      RETURN
C THIS SECTION OF DUBLET DEALS UITH PRINTING
C OUT OF MONITORED SPECTRA AND MONITORED MASSES
C IT UAS COMMENTED OUT BECAUSE NO EASY UAY OF
C INCORPORATING THIS DIAGONISTIC INTO THE
C MULTIPLE RUN PROCESSING SCHEME COULD
C BE THOUGHT OF.  IT MAY BE RE INSTITUTED IN THE
C EVENT OF SUBTILE DOUBLET RESOLUTION PROBLEMS.
                                  DM F HARGROVE
                                  12/7/78 - RTI
      IF ( MONMAS  .Ed. B ) RETURN
      IM « M •»• 39-MAD
      IS - NS - 6
C
C
C
C

C
C
C

C
C
C
C

C999
       IF  ( MONMAS  .NE. IM   .OR. MONSPC .NE.
      URITE(IPTR2.2500) ERR.ERRM
      UR1TECIPTR2.2008) IM.P.O.C
                        (Yd).I •
                                       IS)  RETURN
UR1TE(IPTR2.2100) (Yd). I - 3 .
URITE(IPTR2.2280) (GCI).I « 3 .
URITE(IPTR2.2300) (Rd).I • 3 .
BAK • C
SOHT • GHGT + 0 * H(7) + BAK
UR1TE(|PTR2.2400) GHGT.BAK.SQHT
RETURN
11)
11)
11)
C2B00 FORMAT(/v.' DOUBLET STUFF FOR MASS
C    -.'     P           0           C
                                            .I3./
00007200
80007210
80007220
86B07230
80007240
80007250
00007260
00007270
80007280
80B07230
00007300
00007310
00007320
80007330
00007340
00007350
80007360
00007370
00307360
B0007390
00007400
80007410
80007420
00007430
00007440
00007450
00007460
80007470
00007480
80007490
00007500
80007510
00007520
00007530
80007540
00007550
88007560
80007570
00007583
00007590
00007600
88807610
08007628
00007630
80007640
00007650
00007660
00007670
00007680
00007690
00807700
80007710
00007720
00007730
80007740
00007750
00007760
00007770
                                      100

-------
RMS ERROR • '.E14.8.' MEAN ERROR • '.E20.B)
                                         TO
C    -.3(2X.F10.3)>
C21B0 FORMAT  BACK  GROUND   P*G + 0*H  + C
C    ~/*3(4X. F8.
C2500 FORMATCxx.'
      END
      SUBROUTINE GETHGTCNS.MN. ISKP.OVLAP.NDIS.G.H.GNU.HNU)
      INTEGER PKHGT.mB.MI.MN. ISKP, JMPK.NUHGT
      DIMENSION G(9).HU1).GNUU8).HNU(18)
C      *** THIS ROUTINE  IS  THE  WIN PROCESSING ROUTINE.  IT
C      *** PICKS UP THE MASS  INDICES THAT HOVE BEEN FLfiGGED
C      *** IN THE DETECTION PHASE AND PROCEEDS TO  HANDLE
C      *** BflCKGROUNP REMOVftL ftND DOUBLET RESOLUTION  ftND
C      *** THE PROCESSING OF  SflTURfiTED PEflKS.  IT  IS CflLLED
C      *«* THREE TIMES  IN PROCESSING ftNY ONE  COMPONENT DUE
C      *** THE SPREOD THfiT  CflN  EXIST IN PEflK  MODES FOR «NY
t      *** COMPONENT  (PORTICULARLY  THE LOU  INTENSITY  ONES).
      INTEGER NftME.RDATE.BITmP.GCTIME.LIBMflP. IHTEG.LOMflSS
      INTEGER H IMRSS . PO INTS. TftPCNT. MflXSP. LSTCNT. DEVICE. SPCNO
      INTEGER SPEC.IND.IR.BK.NM.NTM
      INTEGER GPEflK,SPfiREl.SPflRE2.SPflRE3.SPfiRE4.SPfiRE7
      INTEGER  ISUD.MflD
      INTEGER NUSPEC.NMBSS.OVLAP
      INTEGER SECOND
      INTEGER PflSSl
      I NTEGER QDUBLT. OSATS . NL I NE . BEDROK . AJ ACEN. S ATLST. SflT I NX
      REAL     ISVP8. ISVP3
      REAL HIST(10).WAL
      REAL    SPARES. SPARE6
      REAL   OHORM.RAT10
      REAL   PEPCNT
      REffl_*8 GTHT
      COMMON PKH1ST?20).NPHIST(20)
      COMMON YVALUI)
      COMMON GM4.GM3.GM2.GM1.GO.GP1.GP2.GP3.GP4
      COMMON SG.SG2.SIG.SI.SI2.AN.AA.BB.CC.DD
      COMMON NAME(32).RDATEC5).BITMflPC64),GCTIME
      COMMON LIBMAPC17), INTEG.LOMASS.HIMASS. POINTS. TAPCNT
      COMMON MAXSP. LSTCNT, DEVICE (5) .SPCNO
      COMMON SPEC(I4.4in.IND(3.41I).NUSPEC(4in.NMASS
      COMMON RMAX(3), IR(3) .BKC3) .NM(3) .NTMC3) .GPEAKC3. 11)
      COMM3N SPARE I . SPAPE2, SPARE3. SPARE4. SPARES. SPARES. SPARE?
      COMMON RATMIN.RATEMX.SIGY0.SIGNXT.S1GLST
      COMMON 1SVN8. ISVN9, ISVP8. ISVP9.SIGMA7.SATVAL.SATMAX
      COMMON MODE 1 . MODE2. NLUCUT. NUPCUT. SATPKS (25) . NSAT. EXPNAMC5)
      COMMON XCSATLSXSATLST(25).SATIHX
      COMMON XMODESXSGMODE(3).SHMODE(3).GMODE.HMODE
      COMMON XERRORS/RMASS. ERRMAX. NERR. S IGERR. SECOND C41 1 )
      COMMON /DUBFLG/IDUB
      COMI10H XAJACNTXAJACENC2)
      COMMON XDUBBUGX.I DEBUG
      COMMON XCHEMPOXQDUBLT. QNORM. OSATS. NL INE
      COMMON. XQUIXOTXIQUIT
      COMMON XLSOXPASSI
      COMMON XCRATMXXRATMXX
      COMMON XIMADXMAD
000B7780
00007790
00007800
eeonreie
60007820
00007B30
00007643
00007850
00007860
00007870
00007880
00007890
00007900
00007910
000D7920
00007930
00007940
00007950
00007960
00007970
00007980
00007990
00008000
00008010
00008020
00008030
00008040
00008050
00008060
COOOS070
00008080
00008090
00008100
00008110
00008120
00008130
00008140
00008150
00008160
00008170
00008180
00008190
00008200
00008210
00008220
00008230
00008240
00008250
00008260
00008270
00008280
00008290
00008300
00008310
00008320
00008330
00008340
00008350
                                        101

-------
      COMMON /UNITS/ IRDR,1PTRI.IPTR2,IPTR3,I IN.IOUT
      EQUIVALENCE   .(YVflL(85,YP2). CYVflLO). YP3)
      EOUIVftLENCE   (YVftL(10).YP4).(YVflL(ll).YP5)
      DflTft HIST/-1.0.-.6667.->3333,0...3333,.6667,1..1.3333.1.6667.2
      DfiTfi PERCNT/.0125/
      DflTfi GTHT/'GETHGT'/
      DftTft BEDROK/40/
      II «°NS-13-14*(CNS-145/14)
      I2-NS-12-14*((NS-13)/14)
      13-NS-11-14*UNS-12)/14>
      I4-NS-18-14*UNS-11)/14)
      I5-NS-9-14*((NS-105/14)
      I6-NS-8-14*«NS-9)/145
      I7-NS-7-14*((NS-85/145
      IB«NS-6-14*UNS-75/14)
      I9-NS-5-14*C(NS-65/145
      110-NS-4-14*< (NS-55/14)
      111 -NS-3-I4*< (NS-<4> /14)
      I12«NS-2-I4*«NS-35/145
      I13=NS-l-l4*UNS-25/14>
      I14«NS-14*((NS-1)/145
C      *** ONLY GO HERE ON FIRST PftSS TO COLLECT fiNY PEflKS
C      *** THftT MIGHT HfiVE BEEN INVOLVED IN ft DOUBLET UITH
C      IMC* THE LftST COMPONENT THfiT UflS PROCESSED fiLSO
C      *** ZERO OUT SflTUROTlON PftRftMETERS.
C STfiTEMENT BELOU HfiS BEEN COMMENTED OUT BECftUSE OF CftLL TO
C FUNCTION SUBROUTINE SCfiN.
C
c
RTI - UFH 11/20/78

   ffJflCENU) .ED. 1 > PftSSl - 0
      DIVIS • Himss - Lomss
      IF ( NDIS .EQ. 2    .ftND.
            MflKE SURE UE SET UP RIGHT IN BOCLSQ IF UE DON'T SCflN FOR
      IF ( NDIS .NE. 1 ) GO TO 6
       NDIS • 1 ON FIRST PftSS
      NSf)T«0
      RMflSS - 32000
      ERPMflX - 6
      NERR « 0
      SIGERR • 0
      QIIORtt • 1.0
      ODUBLT - 0
      QSflTS • 0
       HELLO JOEF PROMEY ..... UHERE EVER YOU ORE. ..TftO
      DO 1 I • 1,411
      SECOND U> * 32767
      IFCOVLRP.EO.O) GO TO 6
       HERE IF OVERLftPPING ELUTflNT BHEflD.
      GMX-0 . 0
      HMX-0 . 0
      ODUBLT « 1
       IDUB IS FLOG FOR SETGHY
      IDUB - 1
      DO 5 J«l, 14
      IF(GMX.LT.GHIJ(J)) GMX'GNU(J)
      IF(HMX.LT.HHUCJ)) HMX-HNUU)
      CONTINUE
    B000B360
    00008370
    00008380
    00008390
    00008400
./  00008410
    00008420
    00008430
    00008440
    00908450
    00008460
    00008470
    00008480
    00008490
    00008500
    00008510
    00008520
    00008530
    B0008540
    00008550
    00008560
    00003570
    00008580
    00008590
    00906600
    00008610
    00008620
    00008630
    0000B640
    00008650
    00008660
    00P08670
M1B0008680
    00008690
    00(306700
    00008710
    00008720
    00003730
    00008740
    00008750
    00008760
    00P08770
    00008780
    00003790
    00008800
    0000S810
    00008820
    00008830
    00008840
    00008850
    00008860
    00308870
    000088S0
    00008890
    60308900
    00008910
    00008920
    00008930
                                       102

-------
 NORMALIZE MODELS TO  1.0
GMX-1.8/GMX
HMX-I.B/W1X
DO 7 J-l. 14
GNUU)-GNUCJ)*GMX
HNU(J)«HNU(J)*HMX
CONTINUE
CONTINUE
 *** NOU START LOOPING  THROUGH  flLL  THE  SAVED MASSES
NMS-NM(MN)
DO 500 MQ-1.411
JF t NUSPEC(MQ)  .NE.  -1  ) GO  TO 588
        	~                   FROM EARLIER ELUTANT HAVE
7
6
C
      M-IND(MN.MQ)
  I    IMA'SS • fl
Cj     M < 0 MEANS MASS  ALREADY CONSIDERED  AS  A  COMPONENT OF PREVIOUS

      IF  M  * MO
      m -M+39
      Y0*SPECCI8.M>
C THIS MOD MADE AT RT] BECAUSE NO POSSIBLE  REASON UfiS  SEEN
C FOR HAVING AN EQ  INSTEAD OF A GE IN
CTHIS SITUATION.
C                            UFH - RTI 6/14/78
      IFCY0.GE.SATVAL) GO  TO 120
C     IF A DUBLET  IS  DETECTED RUN ALL MASSES THROUGH DOUBLET RESOLVER
      IF(OVLAP.EQ.l) GO  TO 130
C       IF  IMASS  IS  ZERO  .THEN
C      NO SINGLET CONTRIBUTION DETECTED IN  TLOC.
      IFCIMASS  . EQ. 0)  GO TO 500
      IF  ( NDIS  .EQ. 1    .AND.   AJACEN(l)  .EQ.  1 ) GO TO 500
C      DON'T PROCESS ANY PASS ONE SINGLETS(MN=M1) IF A SPECTRUM
C       IMMEDIATELY  PRECEDING THE CURRENTLY  DETECTED SPECTRUM
C      UAS DETECTED. SINCE  THIS SPECTRUM IS  FOR MN-=M2t
C      AND UE DON'T UANT TO INCLUDE SINGLETS FROM PREVIOUS  SPECTRUM
C       IN  IT'S  IMMEDIATE SUCCESSOR.
C           BUT. UE  MUST PROCESS SATURATED  PEAKS  IN ALL CASES.
      YH1-SPECU7.M1
      YP1-SPECCI9.M)
      YM5-SPECU3.M)
      YP5-SPECU13.M)
      YM4  • SPECU4.M)
      YP4-SPECU12.M)
      YM2-SPECU6.M)
      YP2-SPECU10.M)
      YM3-SPECU5,M)

c     TUT^MASSES'ON'MODE  OF PEAK USING CUBIC  INTERPOLATION
      CALL NEUTOPt YVAL . RATEST. XTOP. YTOP. 4)
C      MAKE SURE PEAKS  ARE RISING FASTER THAN  BACKGROUND.
C      THIS  IS A VERY MINIMAL APPROXIMATE  OF  BACKGROUND.
       IF(  (YTOP-YM5) .LT.  90  .AND.  (YTOP-YP5)  .LT. 90 ) GOTO  500
r      «i* APPLY MINIMUM RATE CRITERION FOR HIGH MASS
C      *** PEAKS THAT CAN'T BE ISOTOPE PEAKS.  THIS ELIMINATES
 0080B940
 00008950
 08806968
 000089/0
 60808980
 00008990
 08009880
 00009010
 00009020
• 00009030
 08089048
 00009050
 00009060
 00009070
 00009080
 00009090
 00009100
 00009110
 00009120
 00009130
 00009140
 00009150
 00009160
 00009170
 00009180
 00009190
 00009200
 00009210
 00009220
 00009230
 00009240
 00009250
 00009260
 00009270
 00009230
 00009290
 00009300
 00009310
 00009320
 00009330
 00009340
 00009350
 00009360
 00009370
 08803360
 00009390
 00009400
 00009410,
 00009420'
 00009430
 00009440
 00009450
 00309460
 00009470
 00009480
 00009490
 00009500
 00009510
                                         103

-------
C      *** BACKGROUND PEAKS AT THE LEADING EDGE OF COMPONENTS           60009526
C      *** NOTE THE COMPUTED RATES FOR BACKGROUND PEAKS ARE             00009530
C      *** ARE ALWAYS LOU BECAUSE THEIR INTENSITY VARIATION             60009540
C      *** IS CAUSED BY ft DIFFERENT PROCESS TO NORMAL MASS              66069550
C      **» CHROMATOGRAM PROFILES FOR REAL COMPONENTS.                   66009563
      1FCRATEST.LT..095) GO TO 500                                      00009570
      IFCM .LT. 143) GO TO 25                                           60009530
      IF(RATEST .LT. RATM1N)  GO TO 500                                 06809553
C      *** CORRECT FOR FINITE SUEEP OFFSET                              60009660
C      *** REJECT ODDBALL PEAK-MODES                                    00009610
25    CONTINUE                                                          00069620
30    CONTINUE      '                                                    60009630
C      *** HERE FOR EXCLUSION TEST ON PEAK TOP RELATIVE TO              60009640
C      *** HISTOGRAM MODE - IF "IH" IS OUTSIDE LIMITS THEN              60009650
C      *** PEAK IS REJECTED.                                            00009660
      IF(XTOP .LE. -1.5  .OR.  XTOP -GE.   1.5) GO TO 500                60009670
C      THE ABOVE REJECTS ANY PEAKS UITH FUNNY SHAPES. OR MODES NOT      68009686
C      IN HISTOGRAMM1C UINDOU.                                          66009690
      MI-M+39                                                           60009703
      Ml-M+39                                                           60009700
C FUNCTION SUBROUTINE CALL HAS BEEN SUBSTITUTED FOR ARITHMETIC          60089710
C IN ORDER TO ACCOMODATE MAGNETIC INSTRUMENTS...                         0P009720
C                                   RTI - UFH 11/20/78                  60809730
C     TSHIFT - (MI - LOMASS)/DIVIS                                      66609740
      TSHIFT • SCAN(MI)                                                 00009750
     .XTOP = XTOP + TSHIFT                                              66009760
      DO 660 IJ * 1.10                                                  00809770
      IFCXTOP .LT. HIST(IJ)) GO TO 700                                  00809780
668   CONTINUE                                                          600B9790
766   IH - IJ + (NDIS-t) * 3  -  4                                      600C9800
C      IH IS IN ONE THE THREE SETS *-3 TO 66. *0 TO 98. *3 TO J29       60D09810
C           AS A FUNTION OF NDIS « 1.2.3                                00009320
C      SEE IF HISTOGRAM INDEX IS OUT OF RANGE OF DETECTED SPECTRUM      00009830
C      **** BELOU USED TO SAY 1H.GE.NIUCUT*****12/19 CHANGED            08009840
      IFC1H.LT.NLUCUT.OR.IH.GT.NUPCUT) GO TO 500                        08009850
C      UE NOU SEE IF THE DATA DILL PASS OVER A FLOOR                    00009360
C      BELOU YTOP.                                                      00009870
      FLUSH • PERCNT * YTOP                                             00009S8Q
      BUBBLE • PERCNT * G(5)                                            00009390
C      GET  MAX* FLUSH.BUBBLE B                                         00009900
      IF C FLUSH .LT. BUBBLE ) FLUSH • BUBBLE                           00009910
C      GET MINI- 70.FLUSH 0                                              00809920
      IF ( 78 .LT. FLUSH ) FLUSH - 70
C      GET MAX "• BEDROK.FLUSH B
      IF ( BEDROK .GT. FLUSH ) FLUSH - BEDROK
      FLOOR " YTOP - FLUSH
C                     *
C
C
C
C
C           YM3       YTOP             YP3
C     	4	 * FLOOR
ne
 IF THE CURVE $TAYS ABOVE THE FLOOR IT GETS FLUSHED
DO 110 II - 3.9
IF ( YVAL(Il) .LE. FLOOR )   GO TO 111
CONTINUE
GO TO 500
   00009940
   00009950
   06009960
   60009970
   0D009980
   00C109990
   60016000
0001B010
   00010020
   60010030
   00010040
   60016056
   60010060
   60010070
   80010080
                                      104

-------
C
111

C
C

C
C
C
C
C6250

C
C
C
C
C
C

C
C
C
C
C
C
C
C
128
C
C

C
C
C
C
 125


 C

 C
           	    flND AUAY UE GOOOOOOOOOOOOOOOO
      CONTINUE
      CALL BLEED(YVAL(3).0!TAR)
BLUB ...
                                             STATICS ON
      TEMPORARY
      PARAMETER

ISPC'SPCNO
1TYP=2
URITE(20.6250) ITYP.ISPC.OITAR.01TAR
FORMAT(A4.A4. I6.X. A4.4X.A4)
IF ( 01 TAR .LT. RATMXX  ) GO TO  500
 THE ABOVE FITS A LINE  TO YM3 THRU YP3. AND
 RETURNS OITAR -. 
-------
      IFCSATMAX.GT.RPKHGT) GO TO 500                                    00010670
      SATMAX-RPKHGT                                                     00010680
      GO TO 500                                                         00010690
C      *** HERE FOR HANDLING DOUBLETS IN THE SET                        00010700
138   CONTINUE                                                          00010710
C      RUN ALL MfiSSES THROUGH DOUBLET RESOLVER IF OVLAP-1,IE,           00010720
C      DOUBLET SITUATION DETECTED.                                      00010730
      IGPOS«=MODE1                                                       00010740
      IHPOS=MODE2                                                       00010751
C      NSD-NS+3-NDIS                                                    00010760
      IF(NDIS .ME. 2) GO TO 500                                         00010770
C      ONLY GO THROUGH DOUBLET RESOLVER UHEN WE ORE LOOKING fiT          00010780
C      'SPECTRUM 7".                                                    00010730
      CALL SETGHY(NS.M.GNU.HNU.IGPOS.IHPOS.1DUB.GMX)                    00010800
C      DO NOT MARK MASS AS ALREADY FOUND "CONTRIBUTION" BY SETTING      00010810
C          IND(MN.MQ) " 0.                                              00010820
C      SINCE THE DUBLET RESOLVER SAVES THE LARGEST CONTRIBUTION IN      00010330
C      THE ARRAY NUSPEC(M).                                             00010840
500   CONTINUE                                                          00010850
C      *** HERE DULY ON THIRD PASS AND ONLY THEN IF ftNY                 00010860
C      *** SATURATED PEAKS HAVE BEEN FOUND. NEED TO NORMALIZE           00010870
C      *** SO THAT EXTRAPOLATED VALUES CAN BE SAVED AS INTEGERS         00010880
      IF( NSAT .Ed. 0   .OR.   NDIS  .NE. 3 ) RETURN                     00010830
C      SET LOUER BOUND ON SATINX.THIS ARRAY IS USED IN SATLSQ.          00010908
      J • 26                                                            00010910
      DO 723 I -  1.25                                                   00010920
      J - J - 1                                                         00010930
      IF ( SATLST(J) .NE.  B ) GO TO 750                                 00010940
723   CONTINUE                                                          00010950
750   CONTINUE                                                          00010960
      SATINX •= J                                                        00010970
      AMXNU«0.0                                                         00010980
C      GET MAXIMUM VALUE IN SPECTRUM                                    00010990
      DO 503 J-1.411     '                                              00011000
      IF(NUSPEC(J).GT.flMXNU) AMXNU-NUSPECCJ)                            00011010
503   CONTINUE                                                          00011020
C      SBTMAX UILL BE 0 IF ONLY SUPERSATURATION ENCOUNTERED..           00011030
      IF C SATMAX .EQ. 0 ) SATMAX - SATVAL                              00011040
      IF(AMXNU.GT.SATMAX)  SATMAX=AMXNU                                  00011050
      AMXNU - SATMAX                                                    00011060
C      NORMALIZE TO 32000                                               00011070
      SATMAX=32000.0/SATMAX                                             00011OSQ
C      NUSPEC(J) < 0.IF SATURATED VALUE FOR THAT MASS                   06011090
      DO 530 J=1.411                                                    00011100
      IFCNUSPECCJ)) 510.530.520                                         00011110
C      HERE IF SATURATED VALUE                                          00011120
510   IF I NUSPECCJ) .EQ.  -1 > GO TO  530                               D00U13Q
      IF < NUSPECCJ) .EQ.  -2 ) GO TO  530                               00011140
      NC - -NUSPEC(J) - 2                                               00011150
C      SATPKS(NC) < 0   IF SUPER SATURATION.                            00011160
      IF ( SATPKSCNC) .LT. 0 ) SATPKS(NC) • AMXHU                       00011170
      NUSPECCJ)«SATPKSCNC)fcSATMAX                                       00011180
      OSATS ' QSATS +'1                                                 00011190
C      *** USE C13  ISOTOPE TO ASSIGN SATURATED PEAK TO THE              00011200
C      *** APPROPRIATE COMPONENT UHEN THERE ARE TUO COMPONENTS      .    00011210
C      *** CLOSE TOGETHER                                               00011220
C      OVLAP • 0 MEAHS NO ELUTANT DETECTED AHEAD AND CLOSE              00011230
      IF( OVLAP  .EQ. 0 )  GO TO 530                                     00011240
                                       106

-------
c
c
511
528
530
C3222
1080
C
C
C
C
C
C
C
C
 1000

 2080
 C
 C
 c
 c
 c
 c
 c
 c
 c
 c
 c
  ELUTANT     NOT E°UftL 2ER° MEf)N 1SOTOPE PRESENT IN THIS
 IF  (  NUSPEC(J-H) .EO. 0 ) GO TO 511
 IF  (  NUSPECU-H) .EQ. -1 ) GO TO 511
 GO  TO 530
 NUSPECU) « 0
 MY  «  J + 39-MRD
 QSHTS • QSATS - 1
 IF  (  IDEBUG .EQ. 0 ) GO TO 530
 URITE(IPTR2,1B00) MY
 GO  TO 533
 NUSPEC < J)«NUSPEC(J)*SATMAX
 CONTINUE
 IF  (  QSATS .GE. 1 ) QNORM - SRTMRX
 RETURN
  FORMAT(/V AJACENT FLAG «-,I3//)
 FORMATC.' MOSS '.13.' HAS NO C13 ISOTOPE PEAK './-/)

 SUBROUTINE KAPUTC SPECNO.TOTION.T1CRAT.A8MAX )
 REAL  TOTION.ABMAX
 INTEGER SPECNO.TICRRT
 COMMON /SLOTNO/NSLOT
 COMMON /CFSTPG/FSTPGE
 COMMON /CHEMPO/QDUBLT.QNORM.QSATS,NLINE
 COMMON /UNITS/  IRDR.IPTR1.IPTR2.IPTR3.1 IN.10UT
 INTEGER  QDUBLT.QSATS.NLINE.ITOTS.NSLOT,FSTPGE
 REAL      QNORM
 REAL    YES I/" '/.YES/'YES '/.YNOY/' NO 'S
  THIS ROUTINE DOES THE CHEMIST'S PRINTOUT
  ODUBLT            1 IF THE SPECTRA IS FIRST ELUTANT OF DUBLET.
  OSATS            NO. OF SATURATED PEAKS IN SPECTRUM.
  NLINE            LINE COUNT FOR EACH PAGE.
  SPECNO            SPECTRUM NUMBER
  TOTION            TOTAL ION CURRENT OF SPECTRUM.
  TICRfiT            CLEANUP PATl6(SEE OUTDAT FOR DETAILS).
  ABMAX            MAXIMUM AMPLITUDE OF SPECTRUM.
 NSLOT • NSLOT + 1
 IF(NSLOT.EQ.1)URITE(IPTR3.1000)
 YESl'YES
 IF  <  QDUBLT .EQ. 0 )YES1=YNOY
 UPITEUPTR3.2000) NSLOT. SPECNO.TOTION.T1CRAT.ABMAX.YES 1.QSATS
 RETURN
 FORMATC  SLOT • SPEC.*       TOTION  TICRAT  MAX. AMP   DOUBLET?
*SAT.  PEAKS '//)
 FORMATC3X.13.5X.I5.3X.F8.0.3X, I3.4X.F8.0.4X,A4.6X, 13)
 END
 SUBROUTINE LKAHED(NS,f12,M3.0VLAP.G.H)

  THIS COMPUTER  PROGRAM UAS DEVELOPED UITH THE FUNDING SUPPORT
  FROM THE  NATIONAL  INSTITUTES OF HEALTH (GRANTS RR-612 HNP
  GM-20832) AND  THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
  (GRANT NGR-05-020-632).


  K** THIS  ROUTINE USES THE SAME TECHNIQUES AS 'TLOC'
  *** TO LOOK BEYOND  THE PROCESSING UINDOU AND DETECT
  ***  IF THERE ARE ANY NEU COMPONENTS NEARBY. THIS IS
  ***  IMPORTANT  FOR COMPENSATING FOR OVERLAP
000II250
00011268
00011270
00011260
00011290
00011360
00011310
00011320
00011330
00011340
00011350
00011360
00611370
00011380
00011390
00011400
00011410
00011420
00011430
00011440
06011450
00011460
00011470
00011480
00011490
00011500
03011510
00011520
00011530
00011540
00011550
00011560
00011570
00011580
00311590
00011600
00011610
00011620
00011630
000116J0
00011650
0001166%
00011670
00011680
0eoii6?o
00011700
00011710
00011720
00011730
00011740
00011750
00011760
00011770
00011780
00011790
00011800
B0811R10
00011820
                                       107

-------
c
c
c
c
c
c
3

4


C

5
 «** INTERACTIONS USING THE DOUBLET RESOLVER.
 *** ft MODEL PEAK IS SELECTED FOR ANY COMPONENT THAT
 *** IS COMING UP DIRECTLY. THE RELATIVE DISTANCE
 *** BETUEEN NEIGHBORING COMPONENTS IS ESTABLISHED
 *** ACCURATELY FROM THE LOCAL HISTOGRAM PROFILES.

REAL    ISVP8,ISVP9
INTEGER NAME.RDATE.BITMAP.GCTIME.LIBMAP. INTEG.LOMASS
INTEGER HIMASS,POINTS.TAPCNT,MAXSP,LSTCNT,DEVICE,SPCNO
INTEGER SPEC.IND.IR.8K.NM.HTM.BUBBLE
INTEGER GPEAK.SPARE 1.SPARE2.SPARES.SPARE4.SPARE?
REAL    SPARES.SPARES
INTEGER NUSPEC.NMASS.OVLAP
INTEGER NSP2.NSP3.NT2.NT3.SCNDPK.NERR.SECOND
REAL NXTRTE.RASS.ERRMAX.SIGERR

DIMENSION SCNDPKC3. 11> .NXTRTEC3) ,H< 11> ,G(9>
COMI10N PKHIST(20).NPHIST(20)
COMMON YM5.YM4.YM3.Yn2.YMl.Y0.YPl.YP2.YP3.YP4.YP5
COMMON GM4C9)
COMMON SG.SG2.SIG.SI.SI2.AN.AA.BB.CC.DD
COMMON NAMEC32). RDATE(5>.BITMAP(64), GCT1ME
COMMON LIBMAPU?), INTEG.LOMASS,HIMASS.POINTS.TAPCNT
COMMON MAXSP.LSTCNT.DEVICE(S).SPCNO
COMMON SPEC(14,411>,IND<3.411>.NUSPEC<41I).NMASS
COMMON RMAXC3),IR(3).BKC3).NM(3),NTM(3),GPEAK<3,II)
COMMON SPARE 1.SPARE2.SPARE3.SPARE4.SPARES.SPARES.SPARE?
COMMON RATMIN.RftTEMX.SIGYO.SIGNXT.SIGLST
COMMON ISVN8.ISVN9.ISVP8.ISVP9.SIGMA7.SATVAL.SATMAX
COMMON MODE 1.MODE2.NLUCUT.NUPCUT.SATPKSC25).NSAT.EXPNAMC5)
COMMON /CAHEA/AHEAD(5)
COMMON XERRORS/RASS,ERRMAX,NERR.SIGERR,SECOND(4II)
COMMON /TODES/ SGMODE(3>.SHMODE(3).GMODE.HMODE
COMMON XIFF/JFLAGC3)
COMMON /PARAMS/MINTIC.MINNY.NTHIRD.RATM
COMtCN /T1ASSESXISGMAS(3). ISHMftS(3). IGMASS. IHMASS
COMMON /UNITS/ IRDR.IPTR1,IPTR2.IPTR3.I IN.10UT
INTEGER ONE,TUO.THREE.FOUR.FIVE,SIX. UN ION. AHEAD
DIMENSION IFLAG(3)


REAL*8 ILKA
DATA ONE/ 1/.TUO/2/.THREE/3/.FOUR/4/.FIVE/5/.SIX/6/
DATA ILKA/'LKAHED'/
 IK***************************************************
DO 3 1=12.20
NPHIST(I)«0
PKHIST(I)-0
CONTINUE
DO 4 1-1,25
SATPKSCI)-0.0
NSH1FT-0
NSP2=NS+1
 REINITIALIZE ARRAY FOR SAVING SPECTRUM
DO S M'1.411
NUSPECCM)- -1
UNION « 8
IF(OVLAP.E0.0) GO TO 7
00011830
00011840
00011850
00011860
00011870
00011880
00011890
00011900
00311910
00011S20
00011930
66011940
00011950
00011960
00011970
00011980
00011990
00012000
00012010
00012020
00012030
00012040
00012050
00012060
00012070
00012080
00012090
60612100
00012110
00012120
00012130
00012140
00012150
00012160
00012170
00012160
00012190
00012200
00012210
00012220
OD012230
00012240
00012250
00012260
00012270
00012280
00012290
00012300
00012310
00012320
00012330
00012340
00012350
00012360
00012370
00012380
00012390
00012400
                                       108

-------
c
c
c
7
 C
 20
    OVLftP SET MEftNS PRECEDING SPECTRUM CONTRIBUTED TO THIS ONE.
   OVLftP"0
   UNION «  1
    UNION  IS SET TO INDICATE UE UILL UNION SPECTRUM N-1'S
    CONTRIBUTIONS UITH SPECTRUM N ONLY IF SPECTRUM N
    DOESN'T HfiVE ftN OVERLftPPING ELUTftNT.
   CONTINUE
   CflLL NXTMAXCSPEC.NSP2.RNS2.YNS2.NT2.SflTVAL
  t    .SCNDPK.NXTRTE.NSH1FT.IFLftG)
   NSHIFT-1
   NSP3«NS+2
   CftLL NXTMftX
                    ) GO TO 10
 IF ( NL .GE. 10
  SO NL .LE. 9
 IDXL - NL
 IDXU « 9
 NU « 10
 IfiHEflD • 2
 CftLL DETEKT
-------
      IDXU - 18
      IftHEflD » 5
      COLL DETEKTCPKHIST.NPHlST.OVLflP.NLUCUT.NUPCUT.NL.NU.IDXL,
     *2)
      IF < DVLfiP .Ed. 0 ) GO TO 30
26    CONTINUE
      ftHEflD(lflHEflD) « 1
C      SET SPECTRUM flHEftD FLftG
3B    CONTINUE
      RCB ' .5
      RftTEMX « RMSXCM2)
      RflTMIN • RflTEMX * B.25  * RCfl
      GMODE«SGMODE(M2)
      JFLfiGl • JFLfiG(M2)
      icmss • isGMftS(M2>
C      STORE MODEL PEAK FOR THIS SPECTRUM
      DO 2086 IJ-1.9
2B0B  GM4UJ) - GPEflK(M2,IJ+n
      IF(OVLftP.EQ.B) GO TO 95
C      HERE FOR OVERLAPPING SPECTRUM DOUN THE PIPE
      MODEH-6-KMODE2- 1 ) /3
C      MODEM IS RELfiTIVE SPECTRUM NUMBER OF OVER LflPPER.
C LABEL 40 HAS BEEN PUT TO BETTER USE
                           RTI IFH
      IF(MODEH-10> 50,60.70
SB    INDXH'l
      GO TO 80
60    INDXH=2
      GD TO 80
78    INDXH*3
B0    CONTINUE
      SH-0.0
C      STORE MODEL H
C THIS MOD INSERTED TO HELP UITH POOR INITIfiLIZflTION
C OF H-PEftK PflRflMETERS .......
C                          RTI UFH 11/28X78
      IF(ISHMflS(INDXH).NE.-l)GO TO 40
      OVLfiP • 0
      RETURN
   48 IF ( MODEH .NE. B ) GO TO 89
C      IF SPECTRUM ELUTING f)T SLOT 8. GIVE IT DETECTED THERE.
      DO 88 I - 1,11
      H(I) • GPEftK(M3,I>
B8    SH « SH + H(I)
      IHMftSS • ISGMftSCMS)
      HMODE - SGMODECM3)
      IFLAG(INDXH) - JFLAGCM3)
      GO TO 91
69    CONTINUE
      HMODE • SHMODE(INDXH)
      IHMASS - ISHmS(lNDXH)
      DO 90 1-1,11
      HCI) - SCNDPKUNDXH.I)
      SH-SH + H(I)
90    CONTINUE
91    CONTINUE
C      SEE IF UEIRD H MODEL PE3K.
      IF ( SH .LE. 0 ) OVLftP • 0
         00012990
         B0013000
IDXU,MDDE0001301B
         00013020
         00013030
         00013040
         00013056
         BOO 13060
         00013076
         000130B3
         00013090
         08013106
         00013110
         00013120
         00013130
         00013140
         00013150
         00013160
         00013170
         60013160
         B0013190
         60013200
         00013210
         00013220
         00013230
         00013240
         BB013259
         B0013260
         00013270
         00013280
         00013290
         00013300
         00013310
         BB013320
         00013330
         00013340
         80013350
         0B013360
         00013370
         60013360
         06013390
         00013400
         00013410
         00013420
         00013430
         00013440
         00013450
         00013460
         00013470
         60013460
         00013490
         00013500
         60013510
         00013520
         00013530
         00013540
         00013550
         00013560
                                      110

-------
C
C
95
C
C
C
C
C
C
C
 ,
28

C
C
C
29
C
C
C
6
27

2400

C

C

C
 C
 C
 C

 C

 §
 C
IF ( SH .LE. 0 > GO TO 95
CflLL TIMESFC HMODE.H. ll.GMODE  )
 ftLIGN H-nODEL TO G-MDDEL'S  TIME  CO-ORDlNflTE
       .. RNOTHER VOID  ..  EH       DOGEN .
CONTINUE
 SEE IF PREVIOUS SPECTRUM  OVERLflPPED U1TH THIS ONE.
IF ( UNION  .EQ. 0 ) GO TO  27
BUBBLE •  .01 * GM4C5)
 UNION «  0  IF PREVIOUS ELUTftNT NOT OVERLfiPPING UITH  THIS  ONE.
 UE UflNT  TO MfiKE SURE THOSE  "SMftLL CONTRIBUTIONS'
 IJHEN CftLCULflTING THE CURRENT  SPECTRUM USING
 THE DUBLET RESOLVER  IN  CONJUNTION UITH THE PREVIOUS
  OVERLftPPING ELUTfiNT GET  USED IF UE flRE flGflIN IN
 ftN OVERLftPPING SITUftTlON.
IF C OVLftP  .EQ. D ) GO TO  29
 ONLY DO  BELOU  IF DOUBLET  IS flGflIN fl DOUBLET
DO 28 M • l.NMflSS
IF ( SECOND(M)  .LE. BUBBLE ) NUSPEC(M)  - 0
GO TO 27
 OVLftP •  1. SO ftGfilN  IN  OVERLftPPING SITUflTION. DON'T UNION
 N-l UITH N. RflTHER.  CflLCULflTE N'S SPECTRUMCEXCEPT FOR
 ZERO CONTRIBUTIONS FROM N-l)  USING DUBLET RESOLVER.
CONTINUE
 OVERLflP  « 0 SO NO DUBLET  SITUflTION. THEREFORE UNION.
 SINCE UNION -  1 UE'LL   UNION  SPECTRUM N-1'S  CONTRIBUTIONS
 UITH OUR CURRENT SPECTRUM.  N.
DO 6 M *  1.411
IF  ( SECONDtM)  .LE.  10  )    SECOND(M) « 0
IF  ( SECOND CM)  .HE. 32767  )  NUSPEC(M) • SECOND (M)
CONTINUE
DO 2480  IJ-1.9
G(IJ)-GM4UJ)
CftLL LKflPRT(7.NPHIST.PKHIST)
 THE flBOVE PRINTS  THE SECOND HftLF OF THE HISTOGRfltlS.
 IFUFLftGl .EQ.  1)  CflLL  LKflPRTCFIVE. I.R)
 THIS HftPPENS  IF THE  MODEL  IS  FLftGGED ftS FUNNY IN  TLOC
CfiLL LKftPRT(THREE.IGMftSS.G)
 PRINT MODELS
 IFCOVLftP  .EQ. 0) RETURN
CfiLL LKftPRT(ONE.I.R)
 THE FlBOVE  PRINTS  'OVERLflPPING  SPECTRUM FOUND' MSG.
 IFCMODEH.GE. 9. flND.MODEH.LE.il) GOTO 401
 THE BELOU WRITES  MQDEH flS ft UflRNING THflT THE SECOND
     ELUTflHT IS VERY  CLOSE
CfiLL LKflPRTCTUO.MODEH.H)

CMODEHU»  12 ONLY  IF NEXT MflX IS  IN SLOTS 19.20 OF  HISTOS.
CftLL LKflPRTC FOUR, IHMflSS.H(2)  )
 SEE  IF  FLftKEY  MODEL  UflS USED  FOR INTERPOLATION
 IFCIFLflGCINDXH)  .EQ.  1)  CflLL LKftPRTtSIX. I.H)
RETURN

ETHE CflLL STflTEMENT flLLOUS FOR PftSSING OF flRRflYS

     SEploGRflM UflS DEVELOPED UITH THE FUNDING SUPPORT.
  (GRflNT NGR-B5-020-632) .
00013570
06013580
80313590
00813600
00013610
00813620
00013636
06013640
06013656
00013668
00013670
000136B0
68813696
08013788
00613710
00G13720
08613736
60613746
00613756
00013766
66613776
00613780
00013790
00013800
00013810
00013820
08013836
00013840
00013850
00013860
00613870
00013880
00013396
00013900
00613910
00013920
00013930
00013940
00013950
00013960
03013970
00613980
00013990
00014000
00014010
06014020
00014036
00014040
00014050
00014060
00014070
00014080
00014090
06014100
06014110
00014120
00014130
00014140
                                  111

-------
      SUBROUTINE LKftPRKN. IflR.flR)
      INTEGER N. 10NE.NINE.MflD. HflRC20)
      INTEGER IRRC1)
      REflL f)R(l)
      COMMON /DUBBUG/IFLflG
      COMMON /IMflD/MflD
      COMMON /UNITS/' IRDR. IPTR1 . IPTR2. IPTR3. 1 IN, IOUT
      DATA IONE. NINE/1,9/
       IFLftG IS RESET IF NO PRINTING IS TO BE DONE/
      IF UFLftG.EQ.0) RETURN
c
ee
c
96
tea
no
120
130
140
  IF(IIflR(l).LT.0)nftR(i)-0
  GO TO (86.90. 100. 116. 120.130. 140). N
   THE fiBOVE IS ft CfiSE STATEMENT FOR EXECUTING PRINT
  URITEUPTR2.580)
  RETURN
THE fiBOVE  URITE IS CflLLED FROM LKftHEDCBELOU flLSO)
  UR!TE(IPTR2.590) IlflR(l)
  RETURN
                    (flRCI). 1 • IONE. NINE). IlflR(I)
                    CfiR(l). I - 10NE.NlNE).lIflRU)
                                     10.18
                                     10.18
      UR1TEUPTR2.1000)
      RETURN
      UR1TEUPTR2. 1100)
      RETURN
      URITECIPTR2.1200)
      RETURN
      URITE UPTR2. 1300)
      RETURN
      UP.ITEUPTR2.1500)
      DO 5 K«2.18
      IIflR(K)«lftR(K)-MflD
      IFC UflR(K).LT.8)IIflR(K)«0
    5 CONTINUE
      URITEUPTR2.530) ClIflRU),
      URITE(1PTR2.535) ( fiRU),
C      URITES SECOND HflLF OF HISTOGRfiMS.
      RETURN
580   FORMflTC/.'  OVERLfiPPING SPECTRUM FOUND*)
590   FORMRTC OV€RLftPPING ELUTRNT IS CLOSE. RELfiTIVE SPEC. -*.I4)
1000  FORIIflTC/.'  MODEL USED FOR SINGLET RESOLUTION './.9F9.0.
     -//.'  MASS OF MODEL -'.13)
1100  FORMflTC/'  MODEL USED FOR DOUBLET RESOLUTION './.9F9.0.
     -//• MflSS OF MODEL " '.I3./.'   NOTE: THIS MODEL HflS BEEN'
     -.' IHTERPOLflTED TO THE MflSS OF THE SINGLET MODEL')
1200  FORMflTC *** UflRNING *** THIS SPECTRUM HflS fi SUSPECT G-MODEL
     -.'PEflK'/.'    POSSIBLE BflCKGROUND PEftK USED flS MODEL'/
           EXftMlNE MODEL USING  LOOK  IF YOU fiRE UflRY'/)
1300  FORMftTC *** UftRNING *** THIS SPECTRUM HflS fl SUSPECT H-MODEL
     -.'PEflK'/.'    POSSIBLE BftCKGROUND PEflK USED OS MODEL'/
           EXftMlNE MODEL USING  LOOK  IF YOU ORE UflRY'/)
535   FORMflT(lX.SF9.0)
530   FORMflTC/.'  PEflK HIST  '/.8X.9I6//' ION CURRENT HIST ')
1500  FORMflT
-------
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
 c
 c
    THIS  COMPUTER PROGRAM UAS DEVELOPED UITH THE FUNDING SUPPORT
    FROM  THE  NATIONAL INSTITUTES OF HEALTH (GRANTS RR-612 AND

    ?GRftNT3NGR-05-B2!-632)IONftL ftERONflUTICS ftND spflCE WHIN I STRATI ON

    THIS  SUBROUTINE INTERPOLATES ft PEAK TO THE MODE OF A PARABOLA
    THRU  THE  MIDDLE 5 POINTS. THE MODE IS FOUND USING ft PARABOLIC
    LEAST SQUARE FIT THROUGH THE MIDDLE FIVE Y'S . THEN
    SOLVING FDR THE X DISPLACEMENT OF THE MODE  FROM 0.
      SO, IFY-fi + B*X + C

X • -B/2C IS THE DISPLACEMENT.
                                      X**2
                      e
                             -B/2C
     THE INTERPOLATION  IS DONE BY A CUBIC FIT USING  LAGRANGE'S
     METHOD.I.E.. GIVEN THE 4 POINTS  X8.X1.X2.X3. UE FIND L(X) flS
     FOLLOWS:

           L(X)"fCX-X2HX-X3)/'(X0-X3»eY0 +
                -KX-X0) (X-X2)  CX-X1)
-------
KB « 2 * Y(4) - Y(5) - 2 * Y(6) - Y(r')
IF(XB .EQ. 0) RETURN









C
C
C
XTOP • .7
DX • XTOP
Kl » DX -
K2 - DX -
K3 • DX +
Cl» (DX *
C2- ((K3>
C3» ((K3)
C4- ((K3)

* (2 * Y(4) + Y(5) - Y(7) -

1
2
1
(Kl) * (K2))/(~6)
* (Kl) * /XB
      YTOP - Y(5) * Cl + Y(6) * C2 * Y(7) * C3 + Y(8) * C4
      IS • ISTART - 1
          SMOOTH PEAK ALITTLE BEFORE COMPUTING RATE.
      DO 275 I«2. 10
275
      CONTINUE
      Z(ll)-(Y(ll)+. 1*Y(16))/1. 1
C SEE MOD NOTE PIT BEGINNING UFH RTI 9x31/76
      DO  258 I • IS. 8
      IF ( ZU) .EQ. 8 )  Z(I) • I
       CALCULATE RATE  TO BE AN APPROXIMATION OF
258
C
C
C
             INTEGRAL(DYXY)
      RATE " B
C SEE MOD NOTE AT BEGINNING UFH RTI 9/31/78
      DO 380 1 •= I START. 6
                                 ...HIGH RATE FOR SHARP PEAKS.
308

488
C
C

C

C
      RATE - RATE + CZ(I) - ZCI-1))/Z(1-1)
      DO 400 I « 6.7
      RATE • RATE + (Z(I) - Z(I-M»xZU-M)
      RETURN
      END
      SUBROUTINE NXTMflXCSPEC.NS.RATEMX.YMAX.NTMAX.SATVAL
     I   .SCNDPK.NXTRTE.NSHIFT.IFLAG)

       THIS COMPUTER PROGRAM WAS DEVELOPED U1TH THE FUNDING SUPPORT
       FROM THE NATIONAL INSTITUTES OF HEALTH (GRANTS RR-612 AND
       GM-26832) AND THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
       (GRANT NGR-05-B2B-632).l,ID2

      INTEGER SPEC.SCNDPK.IFLAG(3)
      INTEGER RDATE.BITMAP.GCT1ME.HIMASS.POINTS.TAPCNT
      INTEGER NX.NTMAX.IYD.IDl.ID2
      DIMENSION SPEC(14.411)
      DIMENSION SCNDPK(3.11).NXTRTE(3>
      COMMON PKHIST(28).NPHIST(28)
      COMMON YM5(11)
      COMMON GM4.GM3.GM2.QM1.G0.GP1.GP2.GP3.GP4
      COMMON SG,SG2,SIG.SI.SI2.AN,AA.BB,CC.DD
      COMMON NAME(32).RDATE(5).BITMAP(64).GCTIME
      COMMON LIBMAPU7). INTEG.LOMASS.HIMASS.POINTS.TAPCNT
      COMMON /MODES/SGMODE(3).SHMODE(3),GMODE.HMODE
      COMMON /LFTRIT/ILEFT.IRIGHT
      COMMON XMASSES/'ISGMAS(3).1SHMAS(3).IGASS.IHMASS
00015310
08015328
08915338
0P0 15340
00015350
00015360
00015370
00015383
00015390
00815400
00015410
00015420
00015430
00015446
00015450
00015460
00015470
00015488
00015490
00015500
00015510
00015520
06015530
00015540
00015550
00015561)
00015570
80015580
00015590
00015600
00615610
00015620
00015636
00015640
00015650
00015670
00015680
08015690
80015700
00015710
00015720
00015730
00015740
000 15756
000 15760
00015770
000157B0
00015790
00015800
00015810
00015828
00015830
00015840
80015850
00015860
00015870
00015880
                                        114

-------
c
c
c
EQUIVALENCE   >
EQUIVALENCE  (Y0.YM5(6>>. (YPl.Yt15(7>). (YP2.YM5(8))
EQUIVALENCE  ). (YP4. Yt15( 10)). (YP5. YM5( 11))

INTEGER LOCLBG.1LEFT
REftL NXTRTE.SCftN
REflL HISTC7).SLOPE,YTBMIN.VP5MIN
DftTfl HISTV-.3333.0...3333..5667.1.0.1.3333.1.6667/

 *** ROUTINE TO LOOK  RHEfiD TO SEE IF THERE flRE ANY OTHER
 *** SPECTRft IN THE LOCftL  REGION OF CURRENT SPECTRUM
      II«NS-13-I4*«NS-I4)/14)
      I2«NS-12-I4*CCNS-13)/14)
      I3-=NS-ll-14*((NS-12)xl4)
      I4«NS-10-14*( (NS- ID/14)
      I5«NS-9-14*((NS-18)/14)
      I6"NS-e-14*((HS-9)>'14)
 ;     I7-NS-7-14*UNS-8>/14>
      I8=NS-6-14*((NS-7)/14)
      I9=NS-5-14*((HS-6)/14)
      118«NS-4-14*( (NS-SJXM)
      Ill»NS-3-14*((NS-4)-'14)
      1l2«NS-2-14*<(NS-3)/14)
      M3«NS-l-14*((NS-2)/14)
      I14-NS-14*((NS-1)/14)
C
C TflKE  OUT -  THIS STATEMENT NO LONGER NECESSflRY UITH
C SCftN  SUBROUTINE INSERTED.
C
C
 C
 c
c
c
c
 DIV1SO • HIMftSS - LOMfiSS
 RftTEMX-8.0
 NTMflX»0
 NPOS-NSH1FT-H
  NOU LOOP THROUGH MOSSES

 DO ee n-i.411
                                     UFH RTI 9/31/78
       MI
                39
  MI IS THE flCTUflL MOSS NUMBER
 C  THIS MOD MflDE RT RTI BECflUSE NO POSSIBLE REflSON
 C  UfiS SEEN FOR HfiVING BN EQ INSTEflD OF fl GE IN
 C  THIS SITUATION.          ^ _ ^

       1FCY0 .GE. SfiTVfiL) GO TO 60
       YMl«SPECCI7.f1)
       1F(Y0 .LE. YM1) GO TO 60
 C       PEflK TOP ft Y0
       YP1=SPECU9.M) .
       IF(YP1 .GE. YB) GO TO 60
 C       UE NOU HfiVE Y0 ftT TOP OF PEfiK
 48    YM2"SPEC(I6.M)
       YP2-SPECCI10.M)
       YP3-SPEC(I11.M)
00015890
BOD1590B
00015916
08015920
00015930
08015548
00015950
08015968
08815978
03815980
06015938
08816660
88816810
00816828
08816038
86616640
00016850
88816060
86616078
86016680
06016090
00616180
06916110
06816120
08016130
08816148
00016158
08816168
08016170
00016160
00316190
80016280
08016210
08016220
00016238
68016248
06816250
OPO16260
88016270
80016280
06816290
00816300
00616316
08016320
00816330
08816340
00016350
08016360
08816370
00016380
06016390
00016408
00016410
00016420
06016430
80016448
88016450
08816460
                                         115

-------
c
c
c
c
c
c
c
41

42
43
44
C
100
200
c
c
c
c
YM3"SPEC(I5.tt)
YM4 • SPEC(14. M)
YP4-SPEC(I12.M)
YM5(1>*SPECU3.H)
YY5 « YM5U)
 UE HflVE ONLY 14 SPECTRft IN CORE fiT ft TIME SO:

    NSH1FT  SPECTRfl ftVftlLftBLE
          TO RIGHT OF MODE

      0            5
      1            4
      2                3
IF(NSHIFT-I) 41.42,43
YP5-SPECCI13.M)
GO TO 44
YP5 • 0.0
GO TO 44
YP4 - 0.0
YP5 « 0.0
CONTINUE

 GET HERE TO QUflLIFY fiS P) SINGLET FOR HISTOGRflMPIING
IF ( YT12 .GE. YM1 > GO TO 60
IF ( YM3 .GE. YM2 ) GO TO 60
IF ( ILEFT .EQ. 3 ) GO TO 100
IF ( YM4 .GE. YM3 ) GO TO 60
CONTINUE
              YP1 ) GO TO 60
                    YP2 > GO TO 60
                  .EQ. 2 ) GO TO 200
                    YP3 ) GO TO 60
IF ( YP2 .GE.
IF ( YP3 .GE.
IF ( NSHIFT
IF ( YP4 .GE.
CONTINUE
 PUT Y0 fiT TOP OF PEflK
CflLL NEUTOP
 CHECH FOR NftRROU RISING PEAK (CHAR. OF BACKGROUND) AND.
 CHECK FOR PEfiK MODE OUT OF BOUNDS. IF SO THE DftTfl HftD SOtt
 INFLECTION POINTS.
YYM5-YTOP - YY5
IF ( NSHIFT .EQ. 0 ) YX5
      IF ( NSHIFT .EQ. 1 ) YX5 •
      IF ( NSHIFT .EQ. 2 ) YX5 -
      YYP5 - YTOP - YX5
      IF C YYP5 .LT. 30  .flND.
      IF(XTOP .LE. -I.   .OR.
       CHECK FOR SflTURftTION
                           YP5
                           YP4
                           YP3

                          YYM5 .LT. 30 ) GO TO 60
                         XTOP .GE. 1.) GO TO 60
      IF
      IF
      IF ( YM2
      IF
      IF
      IF
      IF ( YP2
      IF ( YP3
   ( YTOP .GE. SftTVflL ) GO TO 60
   ( YM1 .GE. SftTVflL ) GO TO 60
          GE. SATVffl. ) GO TO 60
         .GE. SftTVfcL ) GO TO 60
         .GE. SftTVftL ) GO TO 60
         .GE. SftTVflL ) GO TO 60
         .GE. SftTVflL ) GO TO 60
         .GE. SftTVflL ) GO TO 60
     YM3
   ( YM4
   ( YP1
      IF ( YP4 .GE. SftTVftL ) GO TO 60
       SEE IF UE HftVE MftXlMUM RftTE
      IF ( NSHIFT .GE. 1 ) GO TO 300
      SLOPE • (YP5 - YY5)/10.
B00I6470
00016480
60016490
00016500
00616510
00016520
00016530
80016540
00016550
00016.560
00016570
00016580
00016530
00016600
00016610
00016620
00016630
03016640
00016650
00016660
00016670
00016680
00016690
00016700
00316710
00016720
00016730
00016740
00016750
00016760
00016770
00016780
00816790
00016800
08016810
00016820
00e16830
00016840
00016850
00016860
00016870
000168SO
00016890
00016900
00016910
00016920
00016930
00016940
0BO16950
06016960
00016970
00016980
0DO16990
00017000
00017010
00017020
00017030
00017040
                                        116

-------
      LOCLBG - YY5 + 5 * SLOPE
300   CONTINUE
C     TSHIFT • (MI - LOMftSS^DIVISO
C THIS SECTION CHflNGED TO  FUNCTION SUBROUTINE TO
C GftIN INSTRUMENT COMPflTftBlLlTY.
C                                   UFH RTI 9/31/78
      TSHIFT*SCflN(Ml)
      IF(RfiTE.LT.RflTEMX) GO TO  50
      IFUYTOP - YY5)  .GE.  160) GO TO 5800
      IFLflG(NPOS) «  1
C      FLfiG FUNNY MODEL  POSSIBLE
      GO TO 5500
      IFLftG(NPOS) «  0
      CONTINUE
       GET HERE TO QUALIFY fiS POSSIBLE MODEL FOR SPECTRUM
      RATEMX-RflTE
5000
5500
C

C
C
C
 450

 C
 C
 C

 C
 50
 500
 600

 C
 C
 C
 C
 C
 C
 C
 C
 60
 C
 C
       USE  fi  LINEAR  BACKGROUND FIRST CUT APPROXIMATION.
      MODBKG  '  SPECCI1.M)
       PICK MIN * SPECUJ.M)
       IF
       IF
       IF
       IF
       IF
          ( MODBKG
          ( MODBKG
          ( MODBKG
          ( MODBKG
.GT.
.GT.
.GT.
,GT.
                                II
          (  NSHIFT .GE.
SPECU2.M)
SPECU3.M)
SPEC(14,M>
SPEC(I5,M>
1 ) LOCLBG
.LE.   IJ
)  MODBKG
)  MODBKG
)  MODBKG
)  MODBKG
  MODBKG
.LE.  15 a
 SPECC12.M)
 SPECU3.M)
 SPECU4.M)
 SPEC(I5;M>
       USE CONSTANT BACKGROUND IF NO RIGHT END POINT AVAILABLE
      DO 450  IJ  *  1,11
      SCNDPK(NPOS.IJ)  * YM5CIJ)  - MODBKG
      CONTINUE
      SHMODECNPOS)  • TSHIFT

       SftVE TSHIFT FOR  LftTER USE

       ISHMBSCNPOS)  *  MI
       SfiVE MflSS OF MODEL PEftK
      CONTINUE
      CONTRI  -  YTOP - LOCLBG
       IF  ( CONTRI  .LE.  0 ) GO TO 60
      TITTY  » TSHIFT + XTOP
      DO 500   1-1.7
       IF  (TITTY .LE. HIST(D)  GO TO 600
      CONTINUE
      CONTINUE
       IH  « 7  +  I +• 3*NSHIFT

        IH  IS  IN ONE OF  THE THREE SETS  *8 TO I4@.-H1 TO 178  OR
              .*14 TO 20B
              ftS ft FUNCTION OF NSHIFT, NSHIFT -0,  1  OR 2.

       UPDATE HISTOGRAMS

      PKHIST(IH)-PKHIST(IH>+ CONTRI
      NPHIST(IH) = NPHJST(IH) + 1
              	JUST A MINOR VOID ..HUI NENG..
      CONTINUE
00017050
00017060
00017070
00017060
80017090
00017100
00017110
06017120
00017130
00017140
00017150
00017160
00017170
00317180
00017190
00017200
00017210
00017220
00017230
00017240
00017250
00017260
00017270
00017280
08017290
00017300
08017310
00017320
00017330
0BO17340
00017350
00017360
00017370
00317380
00017390
00017400
00017410
00017420
00017430
00017440
00017450
00017-160
00017470
00017480
00017490
00017500
00017510
06017520
00017530
00017540
00017550
00017560
00017570
00017580
00017590
00017600
00017610
00017620
                                         117

-------
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
te
c
c
38
C
C
MB
c
c
c
c
c
c
c
leea
NXTRTE(NPOS) • RftTEMX

RETURN
END
SUBROUTINE OFFSET (G.H.GNU.HNU.GPOS.HPOS)

 THIS COrPUTER PROGRflM UftS DEVELOPED UITH THE FUNDING SUPPORT
 FROM THE NflTIQNflL INSTITUTES OF HEftLTH (GRANTS RR-612 WHO
 GM-20832) flND THE NflTlONftL ftERONftUTlCS fiND SPACE flDMlNISTRflTION
 (GRftNT NGR-85-020-632).


 *** THIS ROUTINE TflKES THE 'GPOS* flND 'HPOS' INFO
 *** WHICH CHflRftCTERIZES  WHERE ON THE SPECTRUM SCALE
 *** TUO OVERLftPPING COMPONENTS fiRE LOCflTED UITH
 *** RESPECT TO ONE ANOTHER AND MAKES THE NECESSARY
 *** DISPLftCEMENTS OF THE TUO MODEL PEftKS (ONE FOR
 *** EflCH OF THE OVERLftPPING COMPONENTS) UITH
 *** RESPECT TO EflCH OTHER SO THflT THEY CflN
 *** BE USED BY THE DOUBLET RESOLVING ROUTINE
 *** IN CONJUNCTION UITH  THE RRU DfiTfl FOR
 *** THE DOUBLETS THflT HftVE TO BE RESOLVED flND
 *** BACKGROUND CORRECTED.

DIMENSION G(9).H(11),GNU(18).HNU(IS>
INTEGER GPOS.HPOS.HNUTC16), IHSPEC.JLOUER
REfiL*8 OFST
DftTfl OFST/'OFFSET'/

 ***STRETCH OUT THE MODEL PERKS ft LITTLE

DO IB 1*1.18
GNU(I)«0
HNUC I)=0
CONTINUE
 PUT G flND H INTO LONGER  flRRflYS SO THftT THEY CflN BE fiLIGNED TO
 SPECTRUM HISTOGRflMIC POSITIONS.
DO 33 1-1.9
GNU(I+2) « G(I)
CONTINUE
 DON'T USE H(l). flND HUI).THESE flRE EXTRfl FOR INTERPOLflTION
 IN LKflHED.
DO 110  I«l,9
HtlUT(I) * H(I + 1)
CONTINUE
 BLIGN TO SPECTRUM OF H MODEL

IHSPEC • 6 + (HPOS - l>/3

 6 .LE. IHSPEC .LE.- 11

JLOUER - IHSPEC - 4
DO  1000  I« 1.9
HNU(JLOUER)  « HNUT(I)
JLOUEP - JLOUER + 1
CONTINUE
0001763e
00017640
80017650
00017660
00017670
00017660
0Q017650
00017700
00017710
00017720
00017730
00017740
00017750
00017760
00017770
0C017780
00017790
000178P0
00017810
0CO17820
00017830
00017840
00017850
00017860
00017870
00017880
00017390
00017900
00017910
00017920
00017930
00017940
00017950
00017960
00017970
00017980
00017990
06018000
00018010
00018020
00018030
00018040
00018050
00018060
00D18070
00018086
03018090
00018100
00018110
00018120
00018130
00018140
00016150
00018160
00018170
00018180
00018190
00018200
                                        118

-------
c
c
c
NOD. HNUCIHSPEC) REPRESENTS  THE  MODE  OF  THE  H-MODEU  flND
GNIK7) IS THE MODE OF THE G-MODEL             nuutL.  HMI>
      RETURN
      END
      SUBROUTINE OUTDflT(SRLIB.NNftME)
      INTEGER NNRME(18>.MIN.niNl.mX.MftXI
      INTEGER HOD
      INTEGER PDftTE(5),PNflME(32).FLflG
      INTEGER POINTX.TftPCNX.MflXSX
      INTEGER OUTSLT;mXftMP.EXPNAM.TICRftT
      INTEGER NfiME.RDftTE.BlTMOP.GCTIME.LIBMftP. INTEG.LOMftSS
      INTEGER HlMRSS.POlNTS.TfiPCNT.MflXSP.LSTCNT.DEVlCE.SPCNO
      INTEGER SPEC.IND.IR.BK.NM.NTM
      INTEGER GPEHK.SPfiRE1.SPflRE2.SPflRES.SPARE4.SPftRE?
      INTEGER NUSPEC.NMftSS.OVLflP.SRLIBO)
      INTEGER JM(4n>.JSPC4lI)
      INTEGER QDUBLT.QSftTS.NLINE
      INTEGER NUZEN.IMDLUT
      REfiL RMMC411).RMSP(4ll)
      REfiL CLftSS(4)/4*'  '/.SUBCL<4)/4*'  '/
      REflL      SPf)RE5.SPflRE6
      REfiL*4 TOTION.SIGm?
      REftL       ISVP8.ISVPS
      REflL   DNORn.flBMfiX
      REfiL   SflTSUtl.FORrKS)
      REflL*B OTDTx-  OUTDRT '/.SOURCE/' '/
      DIMENSION G(9),H(9).GNU(18).HNU(IB)
      COMMON PKHISTC20).NPHIST(20)
      COMMON YM5.Ym,YM3,YM2,yMl-Y0.YPl.YP2.YP3.YP4.YP5
      COMMON GM4,GM3,GM2,GM1.G0.GP1.GP2.GP3,GP4
      COMMON SG,SG2.SIG.SI,SI2.RN.flfi.BB,CC.DD
      COMMON NflME(32).RDfiTEf5).BITMflP(S4).GCTIME
      COMMON LIBMftPCl?),INTEG.LOMftSS.HIMftSS.POINTS.TOPCNT
      COMMON MflXSP.LSTCNT.DEVICE(5).SPCNO
      COMMON SPEC(14.411).INDC3.411),NUSPEC(411).NMflSS
      COMMON RMRX(3).IR(3).BK(3).NM(3).NTM(3),GPEftK(3.11)
      COMMON SPORE 1.SP&RE2.SPORE3.SPflRE4,SPARES.SPORE6.SPARE?
      COMMON RftTMIN.RftTEMX.SIGYB.SIGNXT.SIGLST
      COI1I10N  ISVN8. ISVN9. ISVP8. ISVP9,SIGm7.SftTVflL.SflTMflX
      COMMON MODE I.MODE2.NLUCUT,NUPCUT,SflTPKS(25).NSflT.EXPNflMtS)
      COMMON /pflRfiMS/MINTIC.MINNY.NTHIRD.RflTM
C     COMMON /SCR/  LIBBLK
      COMMON /ERRORS/ERRMIN.ERRMflX.NERR.SIGERR. If)CERR(4ll)
      COMMON /PRNTFG/IPFLflG
      COMMON /MftSSES/ISGMf)S(3). ISHMftSO). IGMftSS. IHMflSS
      COMMON /DUBBUG/IDEBUG
      COMMON /CHEMPO/QDUBLT.QNORM.OSflTS.NLINE
      COMMON /IMftD/MflD
      COMMON /Nrt/PNRME
      COMMON /UNITS/ IRDRyIPTRl.IPTR2.IPTR3.IIN.IOUT
C  THESE  EOUIVftLENCE STMTS. HflVE  BEEN FOUND SUPERFLUOUS IN
C  THE MULTIPLE  RUN  PROCESSING  STRUCTURE OF CLEflNUP
C  BND HftVE BEEN DELETED .  THE  VflRIflBLES INSIDE  OUTDflT
C  UERE MODIFIED IN  THE  FOLLOWING MflNNER:    .__IMV
C      EXPID.PDfiTE.flMP.LOMflSX.HlMftSX.LSTCNX.GCTIMX.
C       INTEGX    -     DELETED FROM OUTDftT
60018216
60016220
60016230
60018249
6001 8250
66618268
60018278
60618290
60018366
66018316
66018326
66618336
66318340
66618356
66018368
66018378
00018386
68018390
60618466
60018410
06618426
00018430
66618446
800 18450
60018460
60018470
00018480
60018490
00018560
60018518
06018526
60018530
000 18540
00018550
06018560
00018570
00018580
08018590
6001BGOO
06018610
00618620
80018630
00818640
00618650
60016660
00018670
60018680
60016630
60018760
                                                                 00018720
                                                                 60018730
                                                                 60018740
                                                                 60018750
                                                                 00018760
                                                                 00018778
                                                                 00018780
                                                                 60018790
                                         119

-------
C      SPECNO - INCORPORATED INTO VARIABLE SPCHO
C      MAXAMP - SHIFTED TO SAVE EXECUTION TIME
C      "TOTION.TICRAT - UNMODIFIED
C                                UM F HARGROVE
C                                12/6/78
C     EQUIVALENCE(EXPID.LIBBLK(84>>
C     EQUIVALENCE(PDATE.LIBBLK(92>)
C     EQUIVALENCE (AMP.LIBBLK(257))
C     EQUIVALENCE(LOMASX.LIBBLK(75)>
C     EQUIVALENCECHIMASX.LI6BLK(74))
C     EQUIVALENCE(SPECNO.LIBBU<(?a))
C     EOUIVALENCE(MAXAMP.LIBBLK(77))
C     EQUIVALENCE(TOTION.LIBBLKU))
C     EOUIVALENCE(LSTCNX.LIBBLK(70))
C     EQUIVALENCE(GCT!MX.LIB8LK(90»
C     EQUIVALENCE(1NTEGX.LIBBLK(89))
C     EQUIVALENCE(ABMAX.LIBBLK(49))
C     EOUIVALENCE(TICRAT.LIB8LK(72))
      DATA HOU/1H /
C      *#*****************».HERE UE GO*********************
C      TAPCNT 1000 IF UE ARE GOING TO URITE THE BIT MAP
      IF ( TAPCNT .EO. 1800 ) GO TO 12
C THIS MOD INSERTED  TO UEED OUT ELLUTANTS UHICH HAVE NO
C SUITABLE MODEL	
C                         RTI UFH 11/21/78
      IFUGMASS.GT.B)GO TO 91
      IF(IDEBUG.NE.0)UR1TE(IPTR2.3334)
 3334 FORMATdX.' SPECTRUM REJECTED FOR LACK OF SUITABLE MODEL')
      RETURN
C
   91 ISUEAK •= IGMASS - 39
      IF ( NUSPEC(ISUEAK) .GT- 8 )  GO TO 93
      IF ( IDEBUG .EQ. 0 ) GO TO 92
      INEUM=IGMASS-MAD
C     CALL TRACEUGMASS.MAD)
C THIS URITE STMT HAS BEEN MADE CONDITIONAL TO SAVE PAPER
       IF(IDEBUG.EQ.0)GO TO 92
      URITEUPTR2.3333) 1NEUM
92    RETURN
93    CONTINUE
C     CALL ZEROCLIBBLK.1024)
C SEE COMMENT AT TOP
                                      UFH RTI 9/31/78
                               12/6/78
C                    UFH - RTI
C     DO 30  1-1,1024
C30   LIBBLK(1)«0
      TOT10N=0.8
C     CALL TRACE(NMASS)
      DO 4   I - 1.NMASS
4     IF  ( NUSPECCI) .LT. 0 ) NUSPEC(I) • 8
      SATSUM * 0
      DO 5   I • 1.NMASS  .
      NUZEN - NUSPEC.( I)
      IF ( NUZEN  .GE. SATVAL ) SATSUM • SATSUM * NUZEN
5     TOTION « TOTiON + NUZEN
C      REJECT SPECTRUM IF TOTIOH  IS LESS THAN MINIMUM TIC
      IF ( TOTION   .LT.  MIIITIC ) RETURN
C      TICRAT IS CLEANUP RATIO
00013803
eeeieeie
60316820
00018830
06018640
00018850
00018860
00018870
00018880
00018890
0001890U
00QI8910
00018920
0001 £-930
00D18940
00018950
00018960
00018970
00018980
00018990
00019000
00019010
00019020
00019030
00019040
00019050
00019060
00019070
00019080
00019090
00019100
00019110
00019120
00019130
00019140
00019150
00019160
00019170
00019180
00019190
00019200
00019210
00019220
00019230
00019240
00019250
00019260
00019270
00019280
00019290
00019300
00019310
00019320
00019330
00019340
B0019350
00019360
00019370
                                        120

-------
      SIGMA7  -  SIGMA7  -  OSATS * SATVAL + SATSUM
       SINCE  COMPUTED  SATURATED VALUES MAY CAUSE THE CLEANED  IIP
       TIC  TO EXCEED THE RAU.  UE SUBSTITUTE CALCULATED VALUED
       FOR  MAXIMUM VALUES.  THIS IS  ft L1M T OF OUR  1 BITINTEGER
       AND  24570  SATURATED  DEFAULT VALUE IN OUR GC COLLECTION
       PHnSE•
      IF  (  TOTION ,GE. S1GMA7 ) TOTION • SIGMA7 - 1
      T1CRAT-TOTION*100.BXSIGMA7         =>,u,«r   i
      IF  (  IDEBUG .EO. 0 )  GO TO 6
      JJR1TEUPTR2.1008)  TOTION.SIGMA7.TICRAT.SATSUM

      LSTCNT-LSTCNT+1
C     CALL  HOVE(EXPNAM.EXPID.5>
C SEE COMMENT AT  TOP
C                    UFH  - RTI 12X6X78
C     DO  39 1-1.5
C39   EXPIDCD-EXPNAMC1)
C     CALL  MOVE
-------
      JM(IZ)-I+39-MAD
       MM(lZ)-U+39-MAD)*l0
      RMMOZ)-I+39-MAD
      JSPCIZ)-NUSPEC(I)
       MSPCIZ)=NUSPECCI)
      RMSPCIZ)-NUSPEC(I)
      CONTINUE
                                                    I4.2X. 15A4,* CLEftNE
81
C THESE URITE STMTS HAVE BEEN MADE CONDITIONAL FOR CONSISTENCY
C                                          UFH RTI 9X31X78
      1FUDEBUG.EQ.0)GO TO 85
      URITECIPTR2.80)SPCNO. IZ.CNNAMECK).K-l.15)
80    FORMATC4X,'SPECTRA • '.15,'  NO. OF PEAKS
     *D.'X>
      URITECIPTR2.83)CJMCK).JSP(K).K*1.IZ)
63    FORMATC46CI8I6X)X)
85    CALL XTREMCJSP.IZ.MIN.MINI,MAX.MAXI)
      BASE'MAX
C     CALL TRACECIZ)
      DO 60 1-1,12
60    RMSPCI)-(RMSP(I)XBASE)*100.
      RMSPCMAXD-99.99
C     URITE(8.600)SPECNO.IZ, CNNAMECI),1 = 1,15).CLASS.SUBCL,HOU.IMOLUT
C THE FOLLOUING TUO URITE STATEMENTS UERE CONENTED OUT BECAUSE
C THEY SEEM TO YEILD NOTHING INTERESTING AND ALSO BECAUSE NO
C CARRIAGE CONTROL FOR THE PRINTER HAS BEEN INCLUDED
C                                          UM.F.HARGROVE - RTI
C     URITEUPTR2.600)SPECNO.IZ.(NNAMEU). I«1.15).CLASS.SUBCL.HOU. IMOLUT00020220
C60B  FORMATCI5.I3.15A4.9A1. 13)                                          00020230
00019960
00019970
00019980
00019990
00020000
00020010
00020020
06020030
00020040
00820050
00020060
00020070
00020080
00020030
00020160
00020110
00020120
00020130
00020140
00020150
00020160
00020170
60020150
00020190
00820200
00020210
C HERE IS THE MAIN OUTPUT STATEMENT URITING THE CLEANUPED
C UP SPECTRUM TO A DISK DATASET
C THE CHANGE TO A SUBROUTINE CALL HAS BEEN MADE UITH THE
C ONSET OF MULTIPLE RUN PROCESSING AND A LINEAR SYSTEM.
C                                      UM F HARGROVE
C                                      11X29/78
C     URITE(9) SPCNO.NUSPEC
      CALL URTSPC
-------
c
c
c
c.
c.
c
12
C
C
C.
C
c
c
c
c
c
Ci
c:
c
c.
c.
c
c
c
c
c.
c.
c.
c.
c.
c.
c.
      50
DO 58 1-1.1Z
HDl-JSP(l)
 HSPCI>«-0
      OUTSLT « 0
      LSTCNX-LSTCNT
       REAP(7.20)LIBBLK
    20  FORMATU8)
      CALL GETFIL(OUTSLT.LIBBLK.0)
   20      CALL CHKFIL(OUTSLT.FLAG)
      IF(FLAG) 13.20.21
  ,21      CONTINUE
        CALL MOVE(LIBMAP,LJBBLK.17)
        DO 35  1-1.17
     35 LIBBLKUJ-LIBMAPd)
        URITEUPTR3.36)LIBBLK
     36 FORMAT(IB)
        CALL PUTFIL(OUTSLT.LIBBLK.B)
   16      CALL CHKFIL(OUTSLT.FLAG)
        IF(FLAG)  13.16.17
   13      CALL PUTNUMCFILE ERROR FLAG  • '.FLAG)
        CALL PUTSTRCBOMBED URITTING  TO  LIST.MAS  IN OUTDftT')
        STOP
   17      CALL CLSFIL(OUTSLT)
      RETURN
1000  FORMATC/.'  TOTAL  ION CURRENT *'.F8.0./.' UNC SIG  --.E15.B.
     -/' TICRAT -'.IS/' SAT PEAK SUM •' .F12.0//)
3333  FORMAT(/.'  SPECTRUM REJECTED BECAUSE MASS '.13.'.THE  '.
     1' MODEL PEAK. HAS 0 CONTRIBUTION      '/)
      END
      SUBROUTINE  PARDIR
        THIS COMPUTER PROGRAM UAS DEVELOPED UITH THE FUNDING SUPPORT
        FROM THE NATIONAL INSTITUTES OF HEALTH (GRANTS RR-612 AND
        GM-20B32)  AND THE NATIONAL AERONAUTICS AND SPACE ADMINISTRATION
        (GRANT HGR-05-B20-632).
  FURTHER  NOTE:
  THIS  VERSION OF PARDIR HAS BEEN COMPLETELY REWRITTEN IN  ORDER  TO  ALLOU00021000
  FOR PROCESSING  OF MULTIPLE RUNS.  THIS VERSION OF PARDIR  IS ALSO USED  00021DI0
00020540
00020550
00020560
00020570
00028580
00023596
00020600
00620610
00020620
00020630
00020640
00020650
00020660
00020670
00020680
00020690
00020700
00020710
00020720
00020730
06020740
00020750
00020760
00020770
00020780
06020790
00020800
00026310
00020820
06020836
00620846
00020850
00620860
8B028870
06026880
00620S90
00620900
00020910
00026926
00026930
00620940
60020956
00020966
00620970
00020980
00020990
   IN  THE  VERSIN  OF  CLEANUP SUPPLIED TO EPA BY RTI.THE  FUNCTION OF
   PARDIR  IS  TO READ IN CONTROL PARAMETERS FROM A  TERMINAL  OR
   CONTROL CARDS  THAT ARE CONSTANT ACROSS DIFFERENT RUNS. THE
C  MEANING OF THE VARIABLES-READ HEREIN SHOULD BE  SELF-DOCUMENTING
C  FROM THE ECHO  MESSAGES.
                                            UM.F.HARGROVE
                                            RTI  11/22/78
C
C
C
      COMMON /UNITS/ IRDR,IPTR1.IPTR2.IPTR3.1 IN. IOUT
       INTEGER IRDR. IPTR1,IPTR2.IPTR3. UN. IOUT
                                                              00021020
                                                              00021030
                                                              08021040
                                                              00021050
                                                              0002106B
                                                              00021670
                                                              00621086
                                                              80021090
                                                              00021100
                                                              00021110
                                        123

-------
      COMMON /TOMS/I TOM
      COMMON /PRNTFG/IPFLfiG
      COMMON /LFTRIT/ILEFT.IRIGHT
      COMMON /CRATMX/RATMXX
      COMMON /UUBBUG/IDEBUG
      COMMON /PARAMS/MINTIC.MINNY.NTHIRD.RATM
      COMMON /AVG/ NAVG.HAVG
      INTEGER ITOM. IPFLAG, ILEFT. IRIGHT- I DEBUG, NTH IRD
      REAL RATMXX.RATM
      INTEGER NAVG.HAVG
      INTEGER MINNY.MINTIC
C PROMPT AND READ CONTROL FARMS - LIFTED FROM OLD CLEANUP SOURCE
C AN ADDITIONAL PARAMETER WAS ADDED TO AVERAGE N INPUT
C SPECTRA IF IT BECAME NECESSARY - ftS UITH THE INCDS DATA
C                                    RTI - UFH 1/14/79
      URITECIPTR1.324Q)
 3248 FORMflTC IX.'ENTER CLEfiNUP PRINT FLfiGdN II):')
      REflDCIRDR.3241) IPFLfiG
 3241 FORMflT(Il)
      URITE(IPTR1.3242) IPFLftG
 3242 FORMflTdX.' IPFLftG-', 11)
C      IPFLftG IS PRINT OPTION FLftG FOR CLEflNUP
C      INITIftLIZE DEFftULTS FOR VRRIOUS PflRflMETERS IN COMMON
      URlTE(lPTRl,3ie0)
 31B0 FORMflT(IX.'ENTER DEBUGGING SWITCH IN II (0«N. 1-Y):')
      REftDCIRDR.3101) IDEBUG
 3101 FORMflT(Il)
      (JRITEdPTRl.3103) IDEBUG
 3103 FORMflTClX.'IDEBUG«'.IU

      URITEUPTR1.123)
  123 FORMflTClX.'ENTER • OF INPUT SPECTRA TO AVERAGE IN 12:')
      READ(1RDR.121) NAVG
  121 FORMftT(I2)
      URITEUPTR 1.122) NAVG
  122 FORMAT(1X.'NAVG='.I2)
      HflVG-NflVG/2-H
      URITECIPTR1.3120)
 3120 FORMATtIX.'MINIMUM THIRDS BETUEEN ELLUANTS IN II:')
      READCIRDR.312U NTHIRD
 3121 FORMATUU
      URITE(IPTR1.3123) NTHIRD
 3123 FORMATC1X.'THIRDS BETUEEN ELLUANTS-',11)
C
      URITEUPTR1.3130)
 3130 FORMAT(IX.'ENTER DETECTION UINDOU IN 14:')
      REAIKIRDR.3131) ITOM
 3131 FORMATU4)
      URITE
-------
      URITECIPTR1.3150)
 3156                          FOR
 3151  FORmTU6>
      URITEUPTR1.3152) MINTIC
 3152  FORMftTUX.'MINTIC-'.l6)

      URITEUPTR1.3I60)
 3168  FORMAT (IX. 'ENTER MINIMUM QUALIFYING RATE  IH FB.4:')
      READURDR.3161) RATM
 3161  FORMATCF8.4)
      URITEUPTR1.3I62) RATM
 3162  FORMAT(IX.'RATM*'.F8.4)

      URITEUPTR1.3176)
 317B  FORMAT( ix. 'ENTER ERROR RATIO  IN F8.4:')
      REftD(IRDR.3171) RflTMXX
 3171  FORmT(FB.4)
      URITECIPTR1.3172) RftTMXX
 3172  FORMflTUX. 'RftTMXX"' ,F8.4)
                              TO LEFT OF MODE  IN  13:')
      URITEUPTR1.3180)
 3180 FORMftTCIX.'ENTER POINTS
      REftDURDR.3181)  ILEFT
 3181 FORttflTdS)
      URITE(IPTR1,31B2)  ILEFT
 3182 FORMflTClX.'ILEFT«'.I3)
C
      URITECIPTR1.3190)
 3190 FORf1flT( IX.'ENTER POINTS TO RIGHT OF MODE  IN  13:')
      REftDURDR.3191)  IRIGHT
 3191 FORMflT(I3)
      URITECIPTR1.3192)  IRIGHT
 3192 FORMfiTCIX.'IRIGHT-  '.13)
      RETURN
      END
                                                           00821760
                                                           80021710
                                                           80021720
                                                           00021730
                                                           0&02174B
                                                           00021750
                                                           00021760
                                                           00021770
                                                           00021780
                                                           60021790
                                                           60621800
                                                           00021810
                                                           00021820
                                                           60021830
                                                           60021840
                                                           00021650
                                                           00021660
                                                           00021870
                                                           00021880
                                                           60021890
                                                           00021900
                                                           66621910
                                                           00021920
                                                           66021930
                                                           06021940
                                                           00021950
                                                           00021960
                                                           00021970
                                                           00021980
                                                           00021990
                                                           00022600
                                                           00022010
                                                           00022020
                                                           68022030
                                                           60022040
                                                           66022050
                                                           00322060
      SUBROUTINE SfiTLSd  
       THIS COnPUTER PROGRftM UfiS DEVELOPED U1TH THE FUNDING SUPPORT
       FROM THE NRTIONflL  INSTITUTES OF HEflLTH  (GRflNTS RR-612 fiND
       GM-20832) ftND THE  NftTIONfiL BERONftUTICS  ftHD SPACE fiDMINISTRfiTION
       (GRfiNT NGR-05-020-632).


       THIS ROUTINE COMPUTES SflTURflTED VfiLUES  IN THE
       FOLLOUING LWY:

           1. REMOVE LOCftL BflCKGROUND FROM SflTURflTED PROFILE.
          2.
COMPUTE THE RftTIOS OF PERK(I)/MODELCI)
FOR NON-SfiTURftTED POINTS IN THE PEflK.
      REflL
           3. GET THE flVERftGE RfiTIO. ftND MULTIPLY IT TIMES
             THE MODEL MODE. THIS  IS THE RETURNED SflTURflTED
             VALUE.
              LOCLBG.GG.PKHISTC20)
      INTEGER SPEC(14.411).GPOS.OVLftP.HPOS
00022080
0P022096
00622100
00022110
06022120
06022130
00022140
00622150
60022160
00022170
00022180
00022190
60022200
60022210
60022220
6D022238
00022240
00022250
00022260
60022270
                                         125

-------
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
28
C
C
10

C
50
C
C
C
C
INTEGER MINHGT.SftTLST.SPlTINX
INTEGER IJ. IK.lL.LSTOP.RSTftRT.STOPF.RCOUNT
DIMENSION G(9).YU3),RflTIOSU3)
COrtlON /CSflTLS/SftTLSTC25),SflTINX
COMMON /MODES/SGMODE(3).SHMODE(3).GMODE.HMODE
COITION /OUIXOT/IOUIT
 I2*NS-l2-14*UNS-13V14)
 I3-NS-11-I4*<(NS-12>XI4>
 I4=NS-10-14*UNS-1I)/'14)
 I5=NS-9-14*/14)
 I8«NS-6-I4*((NS-7>xl4>
 I9-NS-5-14*«NS-6)/14)
 I10«NS-4-14*((NS-5)XI4)
 Ill«NS-3-14*C(NS-4>/14)
 I12-NS-2-14*((NS-3)XI4)
 113-NS-l-14*CCNS-2>/14)
IK * 13
DO 5    I » I. 12
IL ' IK - I
IJ « NS - IL - 14 * UNS - IK)/I4)
Yd) • SPECUJ.M)
IK •= IK - 1
CONTINUE
 SflTVfiL DILL BE DEFAULT IN CASE OF SUPER SATURATION
RPKHGT • -SATVflL
MINHGT • .05 * SflTVAL
 MINHGT IS MINIMUM ACCEPTABLE HEIGHT IN MODEL FOR RATIOING.
ILFT « 0
ILEFT • 0
1R1GHT • 0
NPTS • 12
NSflTS « 0
DO  50 I - l.NPTS
IF (YU).GE.SftTVftU GO TO  10
IF (ILFT.EQ.l) GO TO  20

 COUNT POINTS TO LEFT OF FIRST SftTURflTED POINT

ILEFT • ILEFT + I
GO TO  50
CONTINUE
 COUNT POINTS TO RIGHT OF LflST SftTURfiTED POINT
IRIGHT « IRIGHT + 1
GO TO  50
 FOUND FIRST SflTURftTED POINT
ILFT « 1
NSfiTS • NSfiTS + 1
 NSflTS COUNTS SflTURftTED VflLUES.
CONTINUE
 ILEFT « NUMBER OF POINTS TO LEFT OF FIRST SftTURftTED POINT.
 IRIGHT • NUMBER OF POINTS TO RIGHT OF LflST SflTURflTED POINT.
 FIND MIDDLE POINT OF SftTURflTED VftLUES flND D MflKE SURE
 7 IS IN ftlID-l.MID-H8.NOTE:THE INTERVAL IS CLOSED.
IOUIT • 0
IFIRST « ILEFT + 1
ILflST - ILEFT + NSftTS
                                  00822300
                                  00022310
                                  00022320
                                  00022330
                                  00022340
                                  00022350
                                  00022360
                                  00022370
                                  08022330
                                  00022390
                                  00022400
                                  00022410
                                  B0022420
                                  00022430
                                  00622440
                                  00022450
                                  00022460
                                  00022470
                                  00022480
                                  00022490
                                  00022500
                                  00022510
                                  00022520
                                  00022530
                                  00022540
                                  00022550
                                  00022560
                                  00022570
                                  00022580
                                  00022530
                                  00022600
                                  00022610
                                  00Q22620
                                  00022630
                                  00022640
                                  00022650
                                  00022660
                                  00022670
                                  B0022680
                                  0B022690
                                  00022700
                                  00022710
                                  00022720
                                  00022730
                                  00022740
                                  06022750
                                  00022760
                                  60022770
                                  000227BO
                                  60022790
                                  60022800
                                  60022810
                                  00022820
                                  60022830
                                  00022840
                                  00022850
126

-------
c
c
c
c
c
c
c
c
c
c
       LLLLLSSSSRRR

       IFIRST  tLftST
      RUIND  - 7.0  -  RtllD
       NOTE: 7  IS  INDEX OF CURRENT SPECTRUM.
        7 MUST  BE  U1THIN (RMID-1.RMID+1) .
                               IN
                                        FOR SftTURftTEI>
                       0 )  RUIND " -RUIND
                       1.0  )  GO TO 68
       IF  ( RUIND  .LT.
       IF  ( RUIND  .LE.
       IQUIT  «  1
 ;      RETURN
60     CONTINUE
C      PRINT SftTURflTED MflSS ENCOUNTERED STUFF
       MflSS  « M  +  39
C      SEE  IF MASS BELONGS TO PREDESSOR.
       DO  62  I  - l.SfiTINX
       IF  (  SfiTLST(I) .NE. MftSS ) GO TO 62
       SflTLSTU)  • 0
       IQUIT •  2
       RETURN
62     CONTINUE
C      DETERMINE  IF THIS MftSS BELONGS TO RN ftJftCENT SPECTRUM
       IF  (  OVLftP  .Ed.  8 )  GO TO 70
       NXTSPC -  6  + C HPOS-1 >/3
C      SEE  IF  SfiTVftLS OCCUR IN NEXT SPECTRUM CONTINUOUSLY
       IF  (  ILftST  .LT.  NXTSPC ) GO TO 76
       RDIFF  -  NXTSPC - RMID
C      SEE  IF  RMID IS CLOSE TO NEXT SPECTRUM.
       IF  (  RDIFF  .GT.  1 ) GO TO 70
C      GIVE  UNDECIDED MftSS TO SPECTRUM UITH BIGGEST TIC.
       IF  (  PKHIST(GPOS) .GE. PKHIST(HPOS) ) GO TO 65
       IQUIT •  I
       RETURN
       CONTINUE
       FLflG  FOR NEXT GUY TO flVOlD.
       SftTLST(SflTINX) • MftSS
       SftTINX *  SftTINX •»• 1
       IF  (  SflTINX .EQ. 26 ) SflTINX - 25
       CONTINUE
C THE LAST  THREE  fiRGUMENTS Y.Y.Y) HftVE BEEN CHflNGED TO
C SftTVflL.SftTVflL.SflTVflL) TO SUIT UflTFIV. . .THEY HOVE NO
C FUNCTION  UITH.N SPEPRT.
 65
 C
 70
 C THE
 C TO SUIT UfiTFIV
                                                      TO SftTVgL.SftTVftL)
                      THEY-HflVE NO flPPftRENT FUNCTION INSIDE SPEPRT
                                              Urn RTI H/^OO' r o
        PRINT DEFftULT SflTURflTED VflLUE
       CflLL SPEPRT ( 2. NPTS.Y.SflTVflL.SflTVflL.SflTVflL)
        2SS*****  NOLI BEGIN OUR SflTURftTION STUFF
       LSTOP • ILEFT
       RSTftRT • NPTS - IRIGHT -f 1
  08022866
  00022670
60622860
  80022890
  06022900
  00022910
  00022920
  00022930
  00022940
  00022950
  00822960
  00022970
  00022980
  00022990
  06023000
  00023010
  00023020
  00023030
  00023640
  00023050
  80623066
  60023070
-  00023060
  00023096
  00023100
  00023116
  00023120
  00023130
  00023140
  00023150
  00023160
  00023170
  06023160
  00023190
  06023200
  06023210
  06023220
  00023233
  00023240
  06023250
  00023260
  00023270
  00023280
  00023290
  00023300
  00023310
  P0023320
  00023330
  00023340
  00023350
  00023360
  00023370
  00023360
  00023390
  00023406
  66023416
  00023420
  86023430
                                         127

-------
      LOCLBG « Yd)                                                     00023440
C      SUBTRACT LEFT POINT FROM flLL VfiLUES flS flU flPPROXIMflTION          00023450
C      OF BftCKGROUHD.THIS IS TO BE SYMMETRIC UITH MODEL PEflK.           00023460
      STOPF • 0                                                         00023470
      IF ( LSTOP .NE. B> GO TO 90                                       00023460
      STOPF • I                                                         00023490
      GO TO 105                                                         00023500
98    CONTINUE                                                          00023510
      DO 100 I - 1.LSTOP                                                00023520
100   Yd) -Yd) - LOCLBG                                              00023530
105   CONTINUE                                                          00023540
      IF (STOPF .EQ. 1  .ftND.  RSTflRT .GT. NPTS) GO TO 900              00023553
C      IF UE GO TO 900 IT MEftNS flLL VFILUES ARE SflTURflTED                00023560
      IF (RSTftRT .GT. NPTS) GO TO 120                                   00023570
      DO 110 I « RSTflRT.NPTS                                            00023580
11B   Yd) ' Yd) - LOCLBG                                              00023590
120   CONTINUE                                                          00023600
      RATO « 0                                                          00023610
      RCOUNT • 0                                                        00023620
      IF (LSTOP .LT. 3) GO TO 300                                       00023630
      DO 200 I « 3.LSTOP                                                00023640
      GG - Gd-2)                                                       00023650
      IFC GG .LT. M1NHGT ) GO TO 200                                    00023660
C    NOTE: MINGHT > 0                                                   00023670
      RATIOSd> - YCD/GG                                               000236B0
      RftTO • RflTO + RflTIOS(I)                                           00023690
      RCOUNT * RCOUNT + 1                                               00023700
200   CONTINUE                                                          00023710
300   CONTINUE                                                          00023720
      IF (RSTflRT .GT. 11) GO TO 350                                     00023730
      DO 325 I • RSTflRT.11                                              00023740
      GG ' Gd-2)                                                       00023750
      IF ( GG .LT. MIHHGT ) GO TO 325                                   00023760
      RflTIOSd) •= YdJ'GG                                               00023770
      RflTO • RflTO + RflTIOSd)                                           00023780
      RCOUNT - RCOUNT + 1                                               0&023790
325   CONTINUE                                                          00023800
350   CONTINUE                                                          00023810
      IF(RCOUNT .LE. 1) GO TO 900                                       00023820
C      flBOVE TftKES CflRE OF SUPER SflTURflTION                             00023830
      RflTO * RflTO/RCOUNT                                                00023840
      IF(RflTO .LE. 0) GO TO 900                                         00023850
C      THE ftBOVE TftKES CflRE OF fl VERY FUNNY LOCftL BACKGROUND            00023360
      RPKHGT « RflTO * G(5)                                              00023870
C      THE flBOVE TftKES CflRE OF SflTURRTED PEflKS UITH TO HIGH             00023S90
C      OF BfiCKGROUND flPPROXIMflTIONS.                                    00023900
      CflLL SPEPRT(3.I.RPKHGT,LOCLBG.RflTO.G(5))                          00023910
      RETURN                                                            00023920
900   CONTINUE                                                          00023930
      CALL SPEPRT(4,l.RPKHGT.RflTO.RflTO.RATO)                            06023940
      RETURN                                                            00023950
      END                 •                                              00023960
C                    .                                                   00023970
C THIS SUBROUTINE TJftS INCORPORflTED TO flCCOUNT FOR THE POSSIBILITY       00023980
C OF DIFFERENT SCflN FUNCTIONS ON THE FINNIGflN QUADROPOLE                00023990
C SPECTROMETER flND TO flLLOU FOR MflGNETIC  INSTRUMENTS IN THE FUTURE      00024000
C                                              UFH RTI 9/31/TB          00024010
C                                                                       00024020
                                        128

-------
c
c
c
c
c
REflL FUNCTION SCflN(MSSS)
INTEGERS MOSS
REftL*4 Htt1ftSS/45B./.LOrtflSSx40./

RnftSS'MfiSS
SCfiN•(RMflSS-LOMftSS)x(HIMftSS-LOMftSS)
RETURN
END
SUBROUTINE SETBUG(NNftME.EOF)

INTEGER  CLNFLG
 THIS COMPUTER  PROGRfiM UfiS DEVELOPED UITH THE FUNDING SUPPORT
 FROM THE NftTIONftL  INSTITUTES OF HEfiLTH CGRflNTS RR-612 ftND
 GM-20832) flND  THE NfiTIONflL flERQNflUTlCS ftND SPflCE ftDMINISTRflTION
 (GRANT  NGR-B5-020-632) .
C FURTHER NOTE:
C THIS VERSION OF SUBROUTINE  SETBUG HftS REURITTEN  IN ORDER TO PERMIT
C MULTIPLE RUN PROCESSING  fiND TO FIT INTO THE CONTEXT  OF  THE EPfi ftND
08024030
66024040
00024050
60024060
60024070
60024080
00024090
60024100
00024110
60024120
00024130
00024140
00024150
00024160
00024170
00024180
00024190
80624200
60024210
C RTI fiCQUISITION SYSTEMS.  ITS  FUNCTION IS  TO  REflD  fiND FILL THE SPECTRUM00024220
C BUFFER UITH THE FIRST  13  SPECTRfl FROM EflCH RUN.
      COmON PKHIST(20).NPHIST<20>
      COMMON YM5.Yt14,YM3.Yf12,YMl,Y0,YPl.YP2,YP3.YP4,YP5
      COMMON GM4.GM3.GM2.GMt.G0.GPl.GP2.GP3.GP4
      COMMON SG,SG2.SlG.SI.SI2,ftN.fifl,BB.CC.DD
      COMMON NfWE(32>.RDflTE(5>,BITrWP(64>.GCTIME
      COMMON LIBMflP(ir). INTEG.LOMftSS.HlMftSS. POINTS. TOPCNT
      COMMON MflXSP-LSTCNT.DEVICE(5>.SPCNO
      COMMON SPECC14.411). INDC3.41 1) .NUSPEC(41 1) .NMflSS
      COMMON RMflXCS) . IR<3) .BK(3) .NM(3) .NTMCS) ,GPEftK(3. 11)
      COMMON SPflRE 1 . SPRRE2. SPPIRE3, SPORE4, SPftRES. SPORE6. SPflRE?
      COMMON RfiTMIN.RftTEMX.SIGYQ.SIGNXT.SIGLST
      COMMON  ISVN8. ISVN9. ISVP8. ISVP9.SIGMA7,SflTVflL.SflTmX
      COMMON MODEl.MODE2.NLUCUT.NUPCUT.SflTPKS<25).NSflT.EXPNflM(5>
      REftL  SflTVflL
      INTEGER ftVGSPC(411).NflVG,HflVG
      INTEGER EOF. LIBBLK.RDftTE.LOmSS.HimSS.flDS. POINTS.
      ISPCNO.SPEC.NNfiMEUB)
      COMMON XSCR/  LIBBLKU024)
      COMMON XlflDS/ RDS
      COMMON xlMflD/ MOD
      COMMON  /ftVGX NflVG.HflVG
 C  REflD  IN RUN HEflDER ftND RETURN IF END OF FILE
      CftLL OPNRUN(LIBBLK.EOF)

 C-HOUSEFCLEflNl[NG0FORTHlsTORICftL VftRIftBLES STILL LEFT IN  CLEflNUP
      NnftSS-411
      DO 10 1-1.2
                                flND OF . OF SPECTRft IN RUN
       MftXSP«LIBBLK<38)
       LOMflSS«40 -
       HIMfiSS-450 -
       flDS*LIBBLK(36)
       MftD«40-LOmSS

 C BY SEREHMptoY NNftME CftN BE MODIFIED TO CONTfllN THE RUN TITLE  ftND
 C EXPNftM TO CONTftIN THE INSTRUMENT TYPE...
                                                                  00024230
                                                                  00024240
                                                                  00024250
                                                                  60024260
                                                                  00024270
                                                                  00024260
                                                                  00024290
                                                                  00024300
                                                                  00024310
                                                                  00024320
                                                                  66024330
                                                                  00024340
                                                                  60624350
                                                                  80024360
                                                                  00024370
                                                                  0002438Q
                                                                  00024390
                                                                  60024400
                                                                  00024410
                                                                  00024420
                                                                  60624430
                                                                  00024440
                                                                  00024450
                                                                  00024460
                                                                  00024470
                                                                  60624480
                                                                  66024490
                                                                  00024500
                                                                  00024510
                                                                  00024520
                                                                  00024530
                                                                  00024540
                                                                  00024550
                                                                  00024560
                                                                  00024570
                                                                  60024580
                                                                  60024590
                                                                  60024606
                                         129

-------
      DO 20 I-t.lB
   28 NNAMECn-LIBBLKU2-M>
      DO 36 1-1.5
   30 EXPNAMCl>-LlBBLK(7+n
C THE INTERNALS OF SETBUG HAVE BEEN MODIFIED SO AS TO
C INCLUDE AN AVERAGING OVER THE INPUT SPECTRA
C                                         RTI - UFH 1/13/79
      DO 50 1*1.13
C INITIALIZE MAIN SPECTRUM ARRAY IN CORE FOR ADDITION
      DO 31 1K-1.411
   31 SPEC(I.IK)«0
C READ IN NAVG SPECTRA FOR THE CURRENT CORE POSITION
      DO 40 1J-1.NAVG
      IOUPD'0
C IOUPD ENSURES THAT THE OUE IN THE I/O ROUTINES IS
C UPDATED ONLY ONCE
C 114 TELLS UHICH QUEUE LOCATION TO UPDATE
      IF(IJ.EQ.HAVG)IQUPD-1
      CALL RDSPCUSCNO.AVGSPC. l.IQUPD.EOF)
      IOUPD-0
      IF(EOF.E0.0)GO TO 34
C EOF HAS BEEN ENCOUNTERED BEFORE ALL 13 CORE POST IONS UERE FILLED
      URITEUPTR1.60)
   60 FORMATC-'.'*** UNABLE TO FILL 13 CORE POSITIONS - EOF ***')
      STOP
   34 CONTINUE
C NOUI INCREMENT MAIN ARRAY IN CORE
      DO 32 1101.411
   32 SPEC(I,IK)-SPEC(I.IK)+AVGSPC(IK)
   40 CONTINUE
C NOW DIVIDE BY NAVG IF NECESSARY
      IF(NAVG.EQ.1)GO TO 47
      DO 46 1K-1.411
   46 SPECU.HO«SPECU.IK>/NAVG
   47 CONTINUE
   50 CONTINUE
C NOU SET INTERNAL SPECTRUM NUMBER
      SPCNO-ISCNO-6*NAVG-HAVG
      RETURN
      END
      SUBROUTINE SETGHYCNS.M.GNU.HNU.GPOS.HPOS.ISU.GMX)
C
C
C
C
C
 *** THIS ROUTINE ACTUALLY DOES THE SETUP AND
 *** INTERPOLATION PRIOR TO DOUBLET RESOLUTION
 *** IT CALLS THE DOUBLET RESOLVER.

INTEGER NAME.RDATE.BITMAP.GCTIME.LIBMAP.INTEG.LOMASS
INTEGER HIMASS.POINTS,TAPCNT.MAXSP.LSTCNT,DEVICE.SPCNO
INTEGER SPEC.IND.IR.BK.NM.HTM
INTEGER GPEAK.SPARE 1.SPARE2.SPARES.SPARE4.SPARE7
REAL    SPARES.SPARE6
INTEGER GPOS.HPOS   •
INTEGER NUSPEC.NHASS.OVLAP.ISU
INTEGER STORE
REAL    ISVP8.ISVP3
REAL    DUX
REAL    GMX
00024610
00024620
00024630
00024640
00824650
00024660
00024670
00024680
00024690
06024700
00024710
00024720
00024730
00024740
00024750
00024760
BQ024770
00024780
00024790
00024600
00024810
00024826
00024830
00024846
00024650
00024860
00024870
00024880
00024890
00024900
00024910
00024920
00024930
00024940
00624950
00024960
00024970
00024980
00024990
00025000
80025016
00025028
00025030
00025040
00025050
00025660
00025070
00025080
00025090
00025100
00025110
00025120
00025130
00025140
00025150
00025160
00025170
00025180
                                        130

-------
c
c
c
1800
C
c
SB
C
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
DIMENSION GNLK1B).HNU< 18).Y<18>
COMMON PKHIST(20).NPH1ST(20)
COMMON YM5.YM4.YM3,YM2.YMI.Y0.YP1.YP2.YP3,YP4.YP5
COMMON GM4.GM3.GM2.GMI.G0.GP1.GP2.GP3.GP4
COMMON SG.SG2.SIG.SI.S12.AN.AA.BB.CC.DD
COMMON NAME(32).RDATE(5).B1TMAP(64).GCTIME
COMMON L1BMAP(17).INTEG.LOMASS.HIMASS.POINTS,TAPCNT
COMMON MAXSP.LSTCNT.DEVICE(5),SPCNO
COMMON SPEC(14.4in.IND(3.4ll).NUSPEC<4U).NMASS
COMMON RMAX(3).IR(3).BKC3).NM(3).NTMC3).GPEAKC3.11)
COMMON SPARE 1.SPARE2.SPARES.SPARE4.SPARES.SPARES.SPARE?
COMMON RATMIN.RATEMX.SIGY0.SIGNXT.SIGLST
COMMON ISVN8.ISVN3.ISVP8.ISVP9.SIGMA7.SATVAL.SATMftX
COMMON MODEl.MODE2.NLUCUT.NUPCUT.SATPKS(25).NSAT,EXPNAMC5)
COMMON /tDDES/SGMDDE (3) . SHMODE (3> , GMODE. HMODE
COMMON XCRATMX/RATMXX
 INTEGER BEDROK
DATA BEDROK/40/


 DO ROTARY BUFFER INDEXING OF SPEC(14.NUMMASSES)
J  • 13
DO 1000  1*1.13
K  • J -  1
 IJ « NS - K - 14 * «NS - J)/I4)
Yd) » SPECCIJ.M)
 J  " J -  1
CONTINUE
 DO NOT LET ANY PEAKS UITH SATURATED VALUES IN  THEIR
 PROFILES PASS THROUGH DOUBLET RESOLVER.
 DO 58   I- 1.11
 IF ( Yd) .GE. SATVAL ) GO TO 5
 CONTINUE


SuS^iSsra ^f^iri Bftwss ms * ^.

™B"  K? AN^LUTf%XE0TFD70- sTC'NBf'T^SSJK!

       E^.^'WoW^fflf^BlTSBI          IS
                                           *  YMX .LT  . K2 ) DMX •  K2
       ..  ( DMX .LT .  K2  )
        DMX IS MAX-NO.K29
       IFC DMX .GT.  70) DMX
                       70
B0025198
8002520E)
80025210
00325220
08025230
00025240
00025250
00025260
80025270
00625280
00025290
00025300
00025310
00025320
00025330
00025340
00025350
80025368
00025370
00025380
00025390
00025400
00025410
00025420
00025430
00025440
00025450
00025460
00025470
80025430
00025490
B0025500
00025510
00025520
00025530
00025540
00025550
000255S0
00025570
000255S0
80025590
00025600
00025610
80025620
00025630
08025640
00025650
00025660
00025670
00025680
00025690
00025700
00025710
00025720
00025730
00025740
00025750
00025760
                                        131

-------
iee
zee
c
c
c
c
c
c
c
c
c
       DMX • MIN*DMX.708
      IF.ll.GMODE)
       CANNOT USE ENDPOINTS AFTER INTERPOLATION
C
C
C
c
c
c
c
*** NOU USE LEAST SQUARES DOUBLET RESOLVER TO GET
*** THE AMPLITUDE OF THE COMPONENT AT THE DETECTED SPECTRUM.
      IHSPEC • 6+(HPOS-l)/3
 B0025770
 60025760
 00025790
 88025606
 60025616
 00025820
 00825830
 08025840
 00025850
 00825860
 00025878
 00825880
 00025890
 00825908
 00625910
 80025920
 00025930
 00025940
 00825950
 00025968
 80025970
 08825988
 00025990
 80026008
 80026010
 00026020
 80026038
 00826848
 00026058
 80026060
 00026070
 00026080
 08826098
 80826180
 00826110
 00026120
 00026130
 00826140
 08026158
 00026160
 00026170
 00026180
 00026190
 00026200
 80026210
 00026220
 00026230
 00026240
 00026258
00026260
80826270
00026260
00026290
00026300
00026310
08026320
00026330
80026348
                                        132

-------
C       IHSPEC  -6-11
      STORE  -  6
C
c
c
c
c
c
      SftVE  THE COrPONENT CONTRIBUTING TO  THE DETECTED SPECTRUM.


      SfiVE  CONTRIBUTION UITH MINIMUM ERROR.

      IF  (GHGT .GT.  32767) GHGT « 32767
      MflDE  SURE NO  INTEGER OVERFLOW
      IF  (GHGT .LE.  10) GHGT - 0
      HEIGHTS LE 10 ORE CONSIDERED RRTIFflCTS OF THE DOUBLET RESOLVER
      IF(STORE .EQ.  1) NUSPEC(M)-GHGT
5     RETURN
      END
C      THIS SUBROUTINE  DOES  flLL  PRINTING
C      FOR CLEflNUP.  PLEflSE USE IT TO flDD NEU PRINTING
C       IN flNY SUBROUTINE.
C      THE CftLL  STflTEMENT flLLOUS FOR PftSSING OF  flRRflYS
C      REftLS  ftND INTEGERS.
C      THIS COMPUTER PROGRflM UfiS DEVELOPED UITH  THE  FUNDING  SUPPORT
C      FROM THE  NflTIONflL INSTITUTES OF HEflLTH (GRflNTS RR-612 fiND
C      GM-20832) ftND THE NflTIONftL OERONflUTICS OND SPflCE  ftDMINISTRflTION
C       (GRflNT NGR-05-020-632) .
       SUBROUTINE SPEPRTtN. IftR,flR.Rl.R2.R3)
       INTEGER N.lONE.NINE.MfiD
       REAL R1.R2.R3
C THE  DIMMENSIONS OF ftR ftND  IflR HftVE BEEN SET TO (l).(l)  FROM
C TO HELP UITH UflTFIV ----
C
       DIMENSION  IflR(l).ftRCl)
       COMTOH  /DUBBUG/IFLflG
       COMMON  /IMfiD/MOD
       COMMON  AINITS/ IRDR. 1PTR1. IPTR2. IPTR3. UN. IOUT

c       iFLflG  IS'RESET IF NO  PRINTING is TO BE DONE/
       IF (IFLRG.EQ.B) RETURN

C      GTHE°flBOVE5?S6fl'cflSENSTftTEMENT FOR EXECUTING PRINT
C       OPTIONS. C
C       NOD  DO STftLSD OUTPUT
48     IIAR*!ftR(l)-MAD
       URITEUPTR2.600)  I IflR

       RTHERfiBOVE UR1TE IS FOR MflSS OF SfiTURflTION
                        Rl
                                             UFH RTI 4/30/78
C
50
                        (f)R( I) . I-IONE. IUP)
       URITE(IPTR2.550)
       URITE(IPTR2.610)

       URRE(!pTR2!-535)
       RETURN
 66    URITECIPTR2.B00)             __
       URITE(IPTR2.560) flR( 1) .RI.R2.R3

 C     ^IEESPRPKHGT?LOCflL BflCKGROUND.RflTIO.GO)
       RETURN
 00026350
 00026360
 60026370
 00026360
 00026390
 00026406
 00026410
 00026420
 00026430
 00026440
 00026450
 0D026460
 60026470
 00026480
 00826430
 00026500
 00026510
 00826520
 00026530
 00026540
 06026550
 00026560
 00026570
 00026580
 00026590
 00026600
 00026610
 00026620
 00026630
 00026640
 00026650
 00026660
 00026670
 00026680
 00026690
 00026700
 00026710
 00026720
 00026730
 00026740
 00026750
 00026760
 00026770
 00026780
 00026790
 00026800
 00026810
 00026820
, 00026830
 00026840
 00026G50
 00026860
 00026870
 00026880
 00026890
 00026903
 00026910
 60026920
                                           133

-------
                                           .1)
                                           '  BACK GROUND --.F7.0.
                                            RftTIO -•.E15.8.X.BX.
76    URITEUPTR2.700)
C      THE RBOVE URITES SflTURflTED DEFAULT VALUE.
      RETURN
C      FORMAT STATEMENTS FOLLOUI.
535   FORMRTC/.8X,7F7.0, /. 8X, 6F7. 0, /)
550   FORMHT(8X./'   SflTURATED VALUE « '.F7
560   FORMAT(8X.' PEAK HEIGHT »'.F7.8./.8X.
     -x.BX.' PEflK TO nODLEL RflTIOS AVERAGE.
     -/.' G(5) «'.F7.0,//)
600   FORMATC/.' SATURATION ENCOUNTERED.  MflSS • ' .14./)
618   FORITRTr SfiTURflTED PEflK PROFILE FOLLOWS  'si
700   FORMATS.' SUPER SftTURflTION ENCOUNTERED './.BX.
     -'PEflK HEIGHT DEFftULTS TO MAXIMUM VflLUE '//)
B08   FORMATC/' SflTURflTED PEflK ANAYLSIS  '/)
  900 FORMAT/6
00026930
00026940
00026958
00026960
00026970
00026980
00026990
00027000
00027010
00027020
00027030
00027040
00027050
00027860
00027070
00027080
00027090
06027100
00027110
00027120
00827130
00027140
00027150
00027160
00827170
00027180
00027190
00027200
80027210
00827220
00027230
00027240
00827250
00027260
00027270
00027280
00027290
88827300
00027310
00027320
00027330
00027340
08827350
00027360
00027370
00027380
00027390
80027400
00027410
00027420
00027430
00827440
00027450
00027460
00027470
00027480
00027490
00027500
                                       134

-------
c
c
c
c
50
C
C
C
c
c
c
c
c
c
c
c
c
 UHERE DX « GTIME   -   DELTIM

INTEGER I
REAL    Cl.C2.C3,DTIME
DO 50 I-l.N
YOLD(I) « Yd)
CONTINUE

 SAVED OLDIES

DX • GTIME - DELTIM
DXPOS « DX
IF ( DXPOS .LT.  0  )  DXPOS * -DX
IF ( DXPOS .LT.  0.00001)  RETURN
 DON'T  INTERPOLATE FOR  SMALL VALUES OF DX

K2 • DX - 2
K3 ' DX + 1
K4 ' DX
Cl-
C2= UK3) * (Kl)    	
C3- UK3) * (DX) * (K2)>/(-2>
C4« ((K3) » (DX) * (Kl))/6
           (DX * (Kl)  * (K2))x(-6)
                        DC
C
c
c



100






c


275

INTERPOLATE

JN - N - 2
DO 100 5-2.JN
Y(I)=C1*YOLD(I-1) + C2*YOLDd)
CONTINUE
El= C4
E2= ((K4) * (DX) * (KU)/2
E3- ((K4) * (K3) * (KI))/(-2)
E4= ((K4) * (K3) * (DX))/6
NN » N - 1
Y(NN) * Y(N-3) * El + Y(N-2) *

DO 275 I • 2,NN
IF(Yd) .LT. 0) Yd) • 0
CONTINUE
                                        C3*YOLD(I-fl)  + C4 * YOLDCI+2)
                                      E2 + YCNN)  * E3 + Y(N)  * E4
RETURN
END
SUBROUTINE  TLOC(NS.M1.M2.I13. IFOUND.EOF)
 THIS COfVUTER  PROGRflM UftS  DEVELOPED  UITH  THE FUNDING SUPPORT
 FROM THE NfiTIONflL  INSTITUTES  OF  HEALTH  (GRflNTS RR-612 flND
 GM-20B32)  flND  THE  NftTlONflL ftERONAUTICS  flND  SPftCE flDMINISTRRTION
                           THIS  ROUTINE  IS  TO EXAMINE
 *** THE CURRENT DATA  IN  THE  PROCESSING UINDOU
 WK* AND DETECT  UHEN THERE IS A COMPONENT  PRESENT  IN THE
 *** UINDOU.  THIS IS DONE BY  KEEPING  A  HISTOGRAM OF
 *** HOU MANY PEAK  MODES  ARE  MAXIMIZING UITH IN
 *** THE UINDOU.  A  HISTOGRAM  IS ALSO  KEPT  OF THE
00027510
00027520
00027530
00027540
00027550
00027560
00027570
00027580
00027590
00027600
00027610
00027620
00027630
00027640
00027650
00D27660
00027670
00027680
60027690
00027700
00027710
00027720
00027730
00027740
00027750
00027760
60027770
00027780
00027790
00027800
00027810
00027820
00027830
00027840
00027S50
00027860
00027870
00027830
00027890
00027900
00027910
00027920
0P027930
00027940
00027950
00027960
00027970
00D27980
00027990
00028000
00028010
0D028020
00028030
00028040
00028050
00028070
00026080
                                       135

-------
C      *** ION CURRENTS ASSOCIATED UITH THE PEAKS THAT ORE
C      *** ARE MAXIMIZING. THIS LATTER MEASURE IS MORE
C      *** EFFECTIVE FOR COMPONENT DETECTION. ON INDEX
C      *** SET IS KEPT OF THOSE MASSES THAT HAVE MAXIMIZED
C      *** IN THE UINDOU (fiRRAY 'IND'). DURING THIS UHOLE
C      *** PROCESS ft MODEL PEAK FOR THE COMPONENT IS ALSO
C      *** CHOSEN 'GPEAK* USING A SHARPNESS CRITERION.
C FftRAMETER EOF ADDED - SEE COMMENT NEAR CALL STMT IN MAIN
C                                               UFH RTI 9/31/78
      INTEGER NAME.RDATE.BJTMAP.GCTIME.LIBMAP.INTEG.LOMASS
      INTEGER HIMASS.POINTS,TAPCNT.MAXSP.LSTCNT.DEVICE.SPCNO
      INTEGER SPEC.IND.IR.BK.NM.NTM.RECNO.FLAG.KSTORC50).MAD.
     1KMADC2.50)
      INTEGER NUSPEC.NMASS.OVLAP.EOF
      INTEGER MODBKG.LOCLBG
      INTEGER GPEAK,SPARE 1.SPARE2,SPARES.SPARE4.SPARE?
      INTEGER  FSTREC.AJACEN,AHEAD
      REAL    SPARES.SPARE6
C THIS HAS BEEN INSERTED FOR THE AVERAGING FACILITY
C                                     RTI UFH 1/14/79
      INTEGER NAVG,HAVG,AVGSPCC4in
      REAL*8 TLC/' TLOCXX '/
      REAL    ISVP8.ISVP9
C THE IDENTIFIER DIB HAS BEEN CHANGED TO SCAN TO MAKE
C UAY FOR THE NEULY INCORPORATED FUNCTION SUBROUTINE
C                                   UFH RTI 9/31/7B
      REAL    F1.F2.F3.YTOP.HIST(7).SLOPE.SCAN
      COMMON PKHIST(20).NPHIST(20)
      COMMON YM5C1I)
      COMMON GM4.GM3.GM2.GM1.G0.GP1.GP2.GP3.GP4
      COMMON SG.SG2.SIG.SI.SI2.AN.AA.BB.CC.DD
      COMMON NAM£C32).RDATE(5).BITMAP(64),GCTIME
      COMMON LIBMAPC17).INTEG.LOMASS.HIMASS.POINTS,TAPCNT
      COMMON MAXSP.LSTCNT.DEVICE(5).SPCNO
      COMMON SPECC14.41I).1ND(3.4I1).NUSPEC(411),NMASS
      COMMON RMAXC3).IRC3).BK(3).NM(3).NTMC3),GPEAK(3,11)
      COMMON SPARE 1.SPARE2.SPARES,SPARE4,SPARES.SPARE6.SPARE?
      COMMON RATMIN.RATEMX.SIGYB.SIGNXT.SIGLST
      COMMON ISVH8.ISVN9.ISVP8.ISVP9.SIGMA7.SATVAL.SATMAX
      COMMON MODE 1.MODE2.NLUCUT.NUPCUT.SATPKS(25).NSAT.EXPNAMC5)
      COMMON /DUBBUG/IDEBUG
      COMMON /MODES/SGMODE C3).SHMODE(3),GMODE,HMODE
      COMMON /MASSES/ISGMASC3).ISHMASC3).1GMASS.IHMASS
      CDfBION /IFF/IFLAGC3)
      COMMON /AJACNT/AJACENC2)
      COMMON /PARAMS/MINTIC.MINNY.NTH1RD.RATM
      COMMON /LFTRIT/ILEFT,IRIGHT
      COMMON /HINIi/IHl, IH2.MSINGSC2.50) .MINX.LINGS(SB) .L INX
C     COMMON /CRAUBU/RAUBUF(411)
      COMMON /CFSTRE/FSTREC
      COMMON /AVG/ NAVG.HftVG
      COMMON /CAHEA/AHEADC5)
      COMMON /IMAD/MAD
C      MSINGS SAVES MASSES  OF SINGLETS IN  HISTOGRAMS.
      EQUIVALENCE (YM4.YM5C2))
      EQUIVALENCE (YM3.YM5(3)).(YM2.YM5C4)),CYM1,YM5C5)>
      EQUIVALENCE CY0.YM5C6)).(YP1.YM5C7)).(YP2.YM5(8))
      EQUIVALENCE (YP3.YM5C9)),(YP4.YM5(10)).(YP5.YM5(11))
06028090
00028100
00028110
00028120
00028130
00028140
00028150
P0028160
00028170
00028180
00028190
00028206
00028210
00028220
00028230
00028240
00026250
00028260
00028270
00028280
08028290
00028300
00028310
00028320
00028330
00028340
00828350
00028360
00028370
00028380
00028390
00028400
00028410
00028420
00028430
60028440
00028450
00028460
00028470
000284SO
00028490
00028500
000285IO
00028520
00028530
00028540
00028550
00028560
00028570
00028580
00028590
00028600
00028610
00028620
60028630
60028640
00028650
60028660
                                        136

-------
      DftTfl HIST/-. 3333.0... 3333,. 6667. I. 8,1. 3333.1 6667/
                                     CURRENT
E
G
      12-NS-12-14*«NS-13)/14)
      I3-NS-11-14*UNS-12)/14>
      I4»NS-ie-14*((NS- ID/14)
      I5=NS-9-14*C(NS-lB)/l4>
      I6"NS-B-14*((NS-9)/14)
      I7-NS-?-14*C(NS-8)/14)
      I8-NS-6-14*C(NS-?)/l4)
      I9-NS-5-14*UNS-6>/14)
      I 10«NS-4-l4*( (NS-5)/14)
      Ill-NS-3-I4*<(NS-4)/14)
      I12»NS-2-l4*UNS-3)/14)
      ll3-NS-l-14*UNS-2)/14)
      I14-NS-14*UNS-1)/14)
       *** REflD IN NEXT SPECTRUM
       NOTE: NS •= 14.15 ..... MRXSPEC -  10
             FIRST RECORD TO BE REflD IS NUMBER 13.
      RECNO « NS
      INSLT-1
C THE PRIMflRY INPUT STftTEMENT HftS BEEN MODIFIED TO INCLUDE
C flN flVERflGING FflClLITY OVER NflVG INPUT SPECTRfl
C                                       RTI - UFH 1/13/79
C INITIflLIZE CURRENT SPECTRUM IN CORE
      DO 90 IK-1.411
   90 SPECU14, IK)«0
C ftDD OS MflNY INPUT SPECTRfl flS NECESSflRY TO CORE SPECTRUM
      DO 92 IJ-1.NflVG
C IQUPD ENSURES THflT THE QUEUE DOUN  INSIDE THE REflD ROUTINES IS
C UPDftTED ONLY ONCE OVER THE SPREflD  OF NflVG INPUT SPECTRfl
      IQUPD-0
      IF(IJ.EQ.HflVG)IQUPD«l
C IQUPD TELLS UETHER OR NOT TO UPDftTE REftD ROUTINE QUEUE
C 114 TELLS RDSPC QUEUE POSITION
      CflLL RDSPCUSCNO.ftVGSPC. 114. IQUPD.EOF)
      IQUPD-0
      1F(EOF.EQ.0)GO TO 4
      RETURN
  REflD  ONUfiRD...
    4 CONTINUE
                            . IK)-rflVGSPC(IK)
   97
   92  CONTINUE
C DIVIDE  flS  NECESSflRY
       IFtNflVG.EQ.DGO TO 94
       DO  95  IK-I.411
   95  SPECUI4. IIO-SPECCII4. IK)/NflVG
   94  CONTINUE
C NOUI  UPDflTE SPECTRUM NUMBER
  THE     LuNGE.RSO HflVE BEEN  DISCARDED
C TD MOKE UflY FOR MULTIPLE RUN PROCESSING  fiS UELL
C ftS THE  COMMON BLOCK /CRflUBU/ flS NEITHER  SERVES flNY
C USEFULL PURPOSE.           ^ _ RTJ

                             12/6/78
00028676
60028680
00028690
00028700
80028710
00028720
00028730
00028740
00028750
00028760
00028770
00028780
00028790
00028800
06028810
00026820
0092SS30
00028840
00028850
00028860
00028870
00028880
00828890
00028900
00028910
00028920
00028930
00023340
00028950
00028960
00028970
60028980
00028950
00029000
00029010
00029020
00029030
00029643
00029050
00029070
00029080
00029090
00029100
00029110
00029120
00029130
00029140
00029150
00029160
00029170
00029160
00029190
00029200
00029210
00029220
00029230
00029240
00029250
                                        137

-------
C     GO TO 620                                                         08029260
C2    URITEUPTR2.31)                                                   00029270
C   2 CftLL TLPRNT(3.NPHIST,PKHIST.XY.XY.XY. 1. 1.I)                       06029280
C     STOP 16                                                           00029290
C  31 FORMftTC ***FflTOL REflD ERROR OH MR IN INPUT FILE-IN TLOC***')      00029300
C     RETURN                                                            00029310
C626  DO 10 M-l.NMftSS                                                   00029320
C10   SPECU14.M) • RftUBUF(M)                                           00029330
C       NOD,  UE'RE OFF «ND RUNNING UHILE THE DISK IS HUMMING 	      60029340
      NS3-NS-II                                                         00029353
      M3-NS3-3*((NS3-l)/3)                                              00029360
      tt2-NS3-l-3*C(NS3-2>/'3)                                            00029370
      Ml'NS3-2-3*((NS3-3)x3)                                            00029360
      RMflX (M3) =0.0                                                      00629390
      SGMOI'E  «0                                                      00029400
      BK(M3>-0                                                          06029410
      IR 1                                                          08029610
      DO 18 I - 1.50                                                    00029620
      IF(MSINGSdHl.l) .EQ. 0 ) GO TO 19                                00029630
      CONTINUE                                                          00029640
      CONTINUE                                                          D0029650
      NINX = 1                                                          00029660
       OIHX IS USED FOR STORING HISTOGRfiMED MflSSES IN HC5-6)            00029670
       NOU MOVE DETECTION FLflG FOR PREVIOUS SPECTRUM IHTO               00029680
       THE FLflG FOR ITS IMMEDIflTE PREDECESSOR.THIS IS USED              00029690
       IN GETHGT SO SINGLETS FROM IMMEDIfiTED PREDECESSORS               00029760
       f)RE NOT INCLUDED IN THEIR IMMEDIftTE SUCESSORS.                   00029710
      flJflCEN(l) - KJRCENC2)                                             00029720
      flJftCEN(2) = 0                                                     00629730
        LOOP THROUGH FILL MOSSES      flND RESET FOUND INDICES.           00029740
      DO 15 M=1.411                                                     00629750
      IND(M3,M)-0                                                       00029760
      NPHISTC8)- 1SVN8   .                                               00029770
      NPHISTC9)- 1SVN9                                                  00029780
      PKHISTC8)- ISVP8                                                  00029790
      PKHISTC9)- ISVP9                                                  00029800
      DO 16 J-1.6                                                  •     00029810
      PKHISTtJ)-PKHIST(J+3)                                             00029820
      CONTINUE                                                          00029830
12
C
13
14
17
18
19

C
C
C
C
C
C

15
IE
                                        138

-------
231
PKHISTC8)"  (SPARE6)
PKHIST(9)*0
DO 231 J'1.6
NPHIST(J)-NPHIST
 YM5(n»SPEC(I3.M)
 YP5-SPECCIJ3.M)
 YY5«YM5<1)

  ILEFTL!STRIQU^REDFNUMBER OF STRICKLY DECREASING LEFT POINTS
 IFCYMl .LE. YM2) GO TO 65
 IFdLEFT .EG. 2) GO TO 44
 IF(YM2 .LE. YM3) GO TO 65
 IFULEFT .EO. 3) GO TO 44
                                                                        00029840
                                                                        00029850
                                                                        00029860
                                                                        08029870
 00029890
 60629900
 00029910
 00029920
 00025930
 00029946
 00029950
 00029960
 00029970
 00029980
 00029990
 00030000
 00030010
 00030020
 00030030
 00030040
 00030050
 00030060
 00030070
 00030080
 00030090
 00030100
 00030110
 00030120
 00030130
 00030140
 00030150
 00030160
 00030170
 00030160
 00030190
00030260
 00030210
 0003022B
00030230
BP030240
 00030250
 00030260
 00030270
 00030280
 00030290
 08030300
 00030310
 OC030320
 00030330
 00030340
 00030350
 00030360
 00030370
 00030380
 00030390
 00030400
 00030410
                                        139

-------
      IF GO TO 65
      IFCIRIGHT .EQ. 3) GO TO 45
      IF(YP3 .LE. YP4) GO TO 65
45    CONTINUE
C       CALCULATE VALUE AT MODE OF PEAK.YTOP. AND
C       X DISPLACEMENT.XTOP.
      CALL NEUTOP
-------
      BK(fB) - MODBKG
50    CONTINUE
      XY-YTOP -  (LOCLBG)
      IF  ( XY .LE.  0  )  XY
8
800
908
C
C
C
C
C
925
950
C
 C
 C
 970
 C
 960
                             1.0
 990

 65

 C
 C
                                                 ONLY IN  THIS

                      XY         *" "T RTl   '     *'"™
      TITTY  •  TSHIFT + XTOP
      DO 80B IJ  «  1.7
      IF (TITTY  .LT.  HISTCUJ)  GO TO 900
      CONTINUE
      IH • 4 + IJ
        IH «  5  TO 11
        HISTOGRfiM DftTfl PKH1ST FOR INTENSITY.  NPHIST FOR COUNT OF PEftKS
      PKHIST(IH)-PKHISTUH)  + XY
      NPH1STCIH)-NPHIST(IH>-M
        SRVE  MODE OF  MODEL PEftK
        RESET MODEL FLAG
      IF  ( MODEL .EQ. 1 ) GO TO 925
        fiLLWYS LOG MOSS OF MODEL.
      NGOGO  • IH - 4
        NGOGO « 1.2.3.4.5.6,?
      GO TO  (  950. 950. 925. 925 .-925. 960. 960 ). NGOGO
   SLOT               5   6    7   8   9  10  1 1
        HISTOGRfiM SLOTS * 7,8.9 0
      MSINGSUH2.MINX) •> MI
      MINX  - MINX +  1
       1FCMINX .EQ. 51) MINX - 50
       IF  ( MODEL .EQ. 1 ) GO TO 950
      GO TO  990
      CONTINUE
        HISTOGRflM SLOTS 5,6
       IF  (  IH .GE. 7 ) GO TO 960
      MSINGS(IHl.NINX) • MI
      NINX  « NINX +  1
       IFCNINX .EQ. 51) NINX « 50
       IF  ( MODEL .EQ. 0 )  GO TO 990
          UE HflVE fi  POSSIBLE MODEL FOR PREVIOUS  SPECTRUM SO
           IF THE RflTE CRITERIfl  IS SfiTISFIED, SflVE IT.
       IF  f RATE .LE. RMftX(M2) ) GO TO 990
       ISGMHSCM2) - MI
      RMPXCM2) • RftTE
       IFLftGCMZ)  - 0
      DO  970  IM • 1.11
      GPEfiK(M2.IM) • GPEflKCMS. IM)
        HISTOGRAM SLOTS 10.11
      CONTINUE
       IF  C   IH .LT. 10 ) GO TO 990
       LINGS(LINX) • MI
       LINX  « LINX •*  1
       1F(LINX .EQ. "5D UNX • 50
                     OF 50 KSSES DUE TO CORE LIMITOTIONS
       CONTINUE

       HSflVENmSS1THflT  IS CONSIDERED ft CONTRIBUTION
        NMflX IS NUMBER Of MflSSES MflXIMIZING .
00031068
00031010
00031020
00631038
60031640
00031050
00031060
00031070
00031080
00631090
00031100
06031110
00031126
00031130
00031140
00031150
00031160
00031170
06031180
06031190
00031200
06031210
00031220
00031230
00031240
00031250
00631260
06031270
00031280
00031290
06031300
06031310
00031320
06031330
00031340
00031350
06631360
00031370
00031380
00031390
00031400
00031410
00031420
06031430
00031440
00031450
06031460
06031470
00031486
00031490
00031500
00031510
00031520
00031530
00031540
00031550
00031560
00031570
                                          141

-------
      INDCM3.M) • M
7fl    CONTINUE
C      NOU CHECK FOR DETECTED SPECTRUM IN *4.5.68
      NL«1
      NU-9
      IPXL-4
      IDXU=6
      SPf)RE3«NPHlST(l0>
      SPfiRE4«NPHlST
      ISVP9-PKHISTO)
      CfiLf DETEKTCPKH1ST.NPHIST. IFOUND.NLUCUT.NUPCUT
     &    .NL.NU.IDXL.IDXU.MODE1)
C      MODE1  IS THE LOCATION HISTOGRflMICfiLLY OF THE SPECTRUM.
C      4.LTE.MODE1.LTE.6
C      IFOUND  IS 1  IF SPECTRUM DETECTED.
C PUT IN  HEURISTIC FIX FOR THE CftSE UHERE NO SUITABLE
C MODEL IS FOUND -  INSERTED OT RTI BY UFH - 5X23/78

      IF USGMfiSCM3).EQ.-l.ftND.ISGMfiS.EQ.-l> IFOUND «B
      IF  (IFOUND.NE.l) GO TO 88B
      fiJflCENC2) •= 1
C      SETS SPECTRUM DETECTED FLftG.
C TEMPORfiRY MOD HfiS BEEN flDDED TO GfiTHER STflTISTICS ON
C PEfiK RfiTES-                 RTI UFH 9/31/78
C     IOBS-1
C     UPITE<20.625I) IOBS.SPCNO.RMflX
C     URITE(lPTR2.32)SPCNO.RMPlX(n3)
C32   FORMflTC SPEC. REJECTED FOR MIN. RflTE. SPEC = '. I6/'  RflTE
C    *.3/)
      GO  TO 88B
889   CONTINUE
C      IFOUND « I IF SPECTRUM DETECTED.
      CfiLL TLPRNT(1.SPEC.SPEC,XY.XY.XY.SPCNO.NLUCUT.NUPCUT)
      CfiLL TLPRNTC2.NPHIST,PKHIST.XY.XY.XY. 1.1. 1)
      IF  ( IDEBUG .EQ. 0 ) GO TO 888
      COLL TLPRNT(5.NPHIST.PKHIST.XY.XY.XY. 1. 1.1)
C     LRITEUPTR2.5000)
      DO  9 KX'1.2
      DO  9 KZ'l.SB
      KMflDCKX,KZ)-MSINGS(KX.KZ)-MftD
      IFCKMf)D(KX.-KZ) .LE.e)KMftD(KX.KZ)-0
9     CONTINUE   '
      DO  685  I - 1.5
      JLOU -  (I - 1) *  IB + 1
C      JLOU -  1.11	41
      JUP • JLOU -t- 9
        80031586
        00031590
        00031600
        00031610
        00031620
        00031630
        PR031640
        60031650
        00031660
        00031670
        00031680
        00031690
        00031700
        00031710
        60031720
        00031730
        00031740
        00031750
        00031760
        00031770
        00031780
        00031790
        0003IB00
        00031810
        00031820
        00031830
        00031840
        00031850
        00031860
        00031870
        00031880
        00031890
        00031900
        00031910
        00031920
.SPCNO)  00031930
        00031940
        00031950
        00031960
 «  '.F1000031970
        00031980
        00031990
        00032000
        00032010
        00032020
        00032030
        00032040
        00032050
        00032060
        00032070
        00032080
        00032090
        00032100
        00032110
        00032120
        00032130
        00032140
        00032150
                                        142

-------
      JUP  •  IB.28	50
      IF  (KMHDUH1.JLOUI)  .LE.
 YET  ftNOTHER MOD  TO  TLPRNT
                              8)  GO  TO  B86
                                                  PLEftSE USE IT TO ftDD
      DO 73, IK.,.50
  731 KSTOR(IK)«KMflDCIHt.IK)
      CflLL TLPRNT(6.KSTOR,PKHIST.XY.XY.XY.JLOU. JUP, I)
C     URITE(IPTR2.5100>  CKMflDUHt.K).  K -  JLOU.JUP)
BBS   CONTINUE
BBS   CONTINUE
BB8   CONTINUE
      NM(M3)-NMAX
C      SftVE NUMBER  OF  ttftSSES  MRXIM1ZING
      RETURN
C5888 FORMftT
-------
                                       ION CURRENT HIST ')
      RETURN
C515     FORMfm/. tar	')>
528   FORMftT<1H1. IX.'   ***** SPECTRUM DETECTED *****•„/,
     -/• SPECTRUM NO.  IS '.15.'.   LEFT flND RIGHT HISTOGRflM BOUNDS
     -'ftRE '.15.' RND',15.'.'/)
538   FORMflTC/.' PERK HIST   /.8X.91G.//*
535   FORMRTUX.9F9.0)
1400  FORMATC HISTOGRAM POSITIONS I - 9 ...'/-)
C THESE MODS HOVE BEEN ftDDED WITH ADDITIONflL STRTEMENTS (URITE)
C BEING INCORPORATED IN TLOC
C                                          UFH RTI 9/31/78
   40 URITE(IPTR2.31)
   31 FORMATC ***FftTftL RERD ERROR ON MftlN INPUT FILE IN TLOC***')
      RETURN
   50 IF(IFLfiG.E0.0)RETURN
      URITEUPTR2.32)  II.Rl
32    FORMATC SPEC. REJECTED FOR MIN. RftTE.  SPEC - '.I6/'  RflTE «
     *.3/>
  :    RETURN
  ,66 IF(lFLflG.EQ.B)RETURN
  I    URITEUPTR2.5000)
5B00  FORMflT(//.' SINGLET MOSSES CONTRIBUTING TO DETECTED SPEC.
  f   * OF 50 PRINTED)  '/)
      RETURN
  ;re IF(IFLRG.EQ.B)RETURN
  !  •,  UR ITE(IPTR2.5100) (IRR( D.I •
 5100 FORMAT(10(2X.13))
  ;    RETURN
                              11.12)
B0 URITECIPTR2.55)
55 FORMftTC IX. 'INCORRECT NUMBER OF RECORDS SPECIFIED - '.
  1'EXECUTION NOT ftFFECTED')
   RETURN
   END
   SUBROUTINE XTREMCftRRflY.NPTS.XMIN.MlNIND.xmx.MflXlND)
   INTEGER RRRflY(411).XniN.MININD.XnAX.mXIND
   XMIN-fiRRAYU)
   XMflX«fiRRfiY(O
   MININD-1
   MflXIND'l
   IF (NPTS.LE.l) RETURN
   DO 2 I-2.NPTS
   lF(flRRRY(I).GE.XMIN)GO TO 1
   XMIN'fiRRRYCI)
                             TO 2
   GO TO 2
   lF(RRRflYCI).LE.XnflX)GO
   XMflX»flRRftY(I)
   mXIND-I
   CONTINUE
   RETURN
   END        '   .
   SUBROUTINE OPNF1L
   INTEGER CLNFLG
   INTEGER MRSBUF(6).Vm.BUF(6).fUflCEN.flHEflD. 150(1000)
   INTEGER NfiME,RDflTE.BITMRP,GCTIME.LIBMfiP. INTEG.LOMfiSS.MfiD.ftDS
   INTEGER HlMftSS, POINTS. TfiPCNT.MflXSP.LSTCNT. DEVICE. SPCNO
        00032750
        00032760
        60032770
        000327B0
        00032790
        00032B00
        00032B10
        00632620
        00032B30
        00032840
        00032850
        00032860
        00032870
        00032680
        00032890
        00032900
     F1000032910
        00032920
        00032930
        00032940
        00032950
(MflXIMUn00032960
        00032970
        00032980
        00032990
        00033000
        00033010
        00033020
        00033030
        00033040
        00033050
        00033060
        00033070
        00033080
        00033090
        00033100
        00033110
        00033120
        00033130
        00033140
        00033150
        00033160
        00033170
        00033180
        00033190
        00033200
        00033210
        00033220
        00033230
        00033240
        00033250
        00033260
        00033270
        00033280
        0003?290
        00033300
        00033310
        00033320
                                    144

-------
      INTEGER LSTMIN.SPEC. IND. 1R.BK,NM.NTM.PNAME(32>
      INTEGER HIST(10),UNIT.NNAME(18).IRNO
      INTEGER NUSPEC.NMASS.OVLAP.EXPNAM.SRL IB (5>. SECOND
      INTEGER QDUBLT. QSATS. NL INE . RAUBUF , FSTPGE, FSTREC
      INTEGER SATLST.SATINX. PASS I.I TOM. EOF
      REAL    SPARES, SPARES
      REAL    ISVP8. ISVP9
      REAL   QNORM
      REAL*8   C4,C1.C2.SGX.SHX
      DIMENSION G(9).H(11).GNU(18).HNU(18>
      COMMON PKHIST(20>.NPHIST(20)
      COMMON YM5.YM4,Yri3.Yn2,YMl.Y0,YPl.YP2.YP3.YP4.YP5
      COMMON GM4.GM3.GM2,GM1,G0,GPI.GP2.GP3.GP4
      COMMON SG.SG2.SIG,SI.SI2.AN,AA.BB.CC,DD
      COMMON NAME (32). RDATE(5>, BITMAP (64). GCTIME
      COMMON LIBMAPU7), INTEG.LOMASS. HIMASS, POINTS. TAPCNT
      COMMON MAXSP.LSTCNT.DEVICE(5).SPCNO
      COMMON SPEC(14.4in.IND(3.4in.NUSPEC(411).NMASS
      COMMON RMAX(3).IR(3).BK(3).NM(3),NTM(3).GPEAK(3,in
      COMMON SPARE 1 . SPARE2. SPARES. SPARE4, SPARES. SPARES. SPARE?
      COMMON RATMIN, RATEMX.S IGY0, S IGNXT, SIGLST
      COMMON ISVN8. ISVN9. ISVP8. ISVP9.SIGMfl7.SflTVftL.SfiTMflX
      COMMON MODE 1 . MODE2 . NLUCUT. NUPCUT. SflTPKS C25) . MSftT, EXPNflM(S)
      COMMON /UNITS/ 1RDR. IPTR1. IPTR2. IPTR3. I IN, IOUT
C THIS COMPRISES THE FIRST OF SIX SUBROUTINES FOR THE EPfl I/O
C INTERFfiCE TO THE  CLEfiNUP PROGRAM.  IN THE RT! SYSTEM, THE
C PRIMARY  INPUT AND OUTPUT FILES UOULD BE OPENED HERE. FOR EPA
C ONLY A DUMMY RETURN IS NECESSARY.
C                                      UM. F.HARGROVE
C                                      RT1  11/25/78
      EQUIVALENCE  CRSEC. ISEC)
C NOW PICK UP SATURATION VALUE FROM TTY. . .
      URITE(IPTR1,3110)
 3110 FORMAT (IX, 'ENTER  SATURATION VALUE  IN F6.0:')
      READC1RDR.3112) SATVAL
 3112 FORMATCF6.0)
      URITE(IPTR1,3113)  SATVAL
 3113 FORMAT( IX. ' SATVAL- '.F8.IJ
      RETURN
      END

c THISSCOMPR!SES THE SECOND  OF six  SUBROUTINES FOR THE EPA i/o
C INTERFACE TO THE  CLEANUP PROGRAM.  IN THE SYSTEM. THE
C PRIMARY  INPUT  AND OUTPUT FILES UOULD BE CLOSED HERE. FOR EPA
  ONLY A DUMMY RETURN IS NECESSARY.
C
C
c
c


C RECORD UHICH
C IS fi RETURN.
      INTEGER MU. 150(1000)
                                                  ^ p HflRGRQV-

                                                  RTI  11/25/78
       RETURN
       END

       S                   °U
                      THEN BE URITTEN OUT.  FOR
                                                       THAT  IS NEEDED
00033330
00033340
00033350
00033360
00033378
06333380
06033390
00033400
00033410
00033420
00033430
00633440
00033450
00033460
00033470
00033460
00033490
00033500
00033510
00033520
00033530
00033540
00033550
00033560
00033570
00033580
00033590
00033600
00033610
00033620
00033630
00333640
00033650
00033660
00033670
00033680
00033690
00033700
00033710
00033720
00033730
00033740
00033750
00033760
00033770
00033780
00033790
00033800
00033610
00033820
00033830
00033840
00033850
00033860
00033870
00033B&0
00033690
00033900
                                         145

-------
      RETURN
      END
      SUBROUTINE OPNRUN(LIBBLK.IEOF)
  THIS COMPRISES THE FOURTH OF SIX SUBROUTINES FOR THE1 EPfl
  TO THE CLEANUP PROGRAM.  THE HEfiDER RECORDS flRE REfiD IN
C THIS COMPRISES THE FOURTH OF SIX SUBROUTINES FOR THE1 EPfl  I/O

C flND URlffEN OUT fiGRIN ftND THE~CIRCULflR QUEUE FOR KEEPING TRflCK OF
C TIMES IS INITIflLlZED. THE MAIN DIFFERENCE BETWEEN EPfl'S OPNRUN ftND
C RTI'S OPNRUN IS THflT HERE FOR EP« SflTVflL IS REftD IN FROM THE TTY.
C UHEREftS RTl'S SETUP PICKS IT OFF THE RUN HERDER RECORD.
C                                                     Utt.F.HftRGROVE
C                                                     RTI UX25/78
      INTEGER LIBBLKC1024).EOF,NS
      INTEGER IRDR. 1PTR1. IPTR2. IPTR3. UN. IOUT. IEOF. 1SEC
      REflL SftTVflL.SECSCN.RSEC
      INTEGER NflME(3).HDRFLG.DflTE<2).RUNHDR.RUNMIN,
     1SOMPIDU6).INflM<2).RUNCON(16) .BUF4(11>.LOPMflS.HlPMflS.
     2RETMIN(14).RETSEC(14).BLflNK/'    '/. INCOS(2)/'INCO'.*S   '/
      COMT10N /HDR1/ NflME.HDRFLG.DftTE.RUNHDR.RUNMIN
      COMMON /HDR2X SftMPID.INflM
      COMMON /HDR3/ RUNCON.SECSCN
      COMMON /HDR4/ BUF4,LOPMflS.HlPMflS
      COMMON /FLflGS/ EOF
         00033910
         00033920
         00033930
INTERFflCE0003394e
         00033950
      COMMON /UNITS/ IRDR. 1PTR1.1PTR2, IPTR3, UN, IOUT
      COMMON /CQUEUE/ RETMIN.RETSEC.NS
C IHITIOLIZE CIRCULfiR QUEUE FOR SftVING  SCflN TIMES
      NS-0
C HftND CONTROL TO PfiDDOCK
      COLL EPfiHDR
      I EOF-EOF
    .  IF(IEOF.EQ.I)RETURN
C NOU PUT THINGS IN THEIR ftPPROPRIflTE PLfiCES FOR CLEHNUP
      IF(HDRFLG.EO.B)GO TO 10
    i  URITECIPTR1.20)
   20 FORMftTdX. •*** EXEXUTION TERMINATING. INCORRECT FORMflT OF HEflDER
     1RECORD DETECTED flT BEGINNING OF FILE IN OPNFIL***')
      STOP
C NOU PICK UP DflTE
   10 CONTINUE
      DO 30 1-1.2
   30 LIBBLKU+30)«DflTEU>
C SET UP INSTRUMENT NflME
      DO 35 1=10.12
   35 LIBBLK(I)-BLflNK
      DO 40 1-1.2
   48 UBBLKU+7)*INCOS(D
C RUN SfiMPLE ID
      LIBBLKC29)«BLftNK
      LIBBLK(30)-BLflNK
      DO 50 1-1,16
   50 LIBBLKCI+12)«SfiMPlD(I)
C REMftRKS ON RUNXONDITIONS
      DO 60 1=1,16
   £0 LIBBLK(I + 13?)-RClNCONU>
      LIBBLK(155)-BL«NK
      LIBBLK(154)«BLflNK
C PICK UP SCfiN RflTE
      RSEC-SECSCN
     SCAN00033960
         00033970
         00833980
         00033990
         00034000
         00334816
         00034020
         00034030
         00034040
         00034050
         00034060
         00034070
         00034080
         00034090
         00034100
         06034110
         00034120
         00034130
         00034140
         00034150
         00034160
         B0034170
         00034180
         00034190
         60034200
         00034210
         00034220
         00034230
         00034240
         00034250
         00034260
         00034270
         00034280
         00034290
         00034300
         00034310
         00034320
         00034330
         00B34340
         00034358
         00034360
         00034370
         00034380
         00034390
         00034406
         00034410
         00034420
         00034430
         00034440
         00034450
         00034460
         00834470
         00034480
                                        146

-------
C     LIBBLK(5?)-ISEC
c nove  IN mss SCBN  RONGE
      LIBBLK(42)-LOPmS
      LIBBLK<43>-HlPMflS
                  HDRFC
                 "HDRFLG                                                       -
C SET mXIMUM  NUMBER  OF  SPECTRft IN RUN                                 00034550
      LIBBUC (38). 160080                                                 06034560
      §EIT.URN                                                            00034570
      t""                                                               00034S80
      SUBROUTINE RDSPCCSPCNO.flVGSPC. 114. IQUPD. IEOF)                     06034590
C THIS COMPRISES THE  FIFTH OF SIX SUBROUTINES FOR EPft I/O               00034600
£ MF,rc?iE-r3°-rTHEeCLEANUP PR°GRfttt.  HERE  IS WHERE CLEflNUP               00034610
E ?ISyiSISJHflL2 SCftN "ECORD BE REflD.  ftSIDE FROM THE 1x0               00034620
C STfiTEMENTS.  THE LOGIC  IS THE SOME fiS FOR THE  RTI LINEflR               60034630
C SYSTEM.                                                               00034640
C                                       UM.F. HARGROVE                  00034650
C                                        11/25x78                       00034660
       INTEGER  ftVGSPC(411)-SPCNO.I14.EOF. IEOF                           00034670
       INTEGER  INflMCSKISCN, IDBUFC2) . IDHDR. IDMIN. IRTMIN.                 00034680
      1 IRTSEC. INMBflS. INBUF(41 1) , INSEO.NIN                                00034690
       INTEGER  RETMIN(14).RETSEC(14).NS                                 00034700
      REfiL  IRBflS.IRTIC.CFRCT                    '                       00034710
       INTEGER  IRDR. IPTR1. IPTR2. IPTR3. UN. IOUT                          00034720
      COMMON /IHDR/ INflM. ISCN, IDBUF. IDHDR. IDMIN. IRTMIN.                 00034730
      1 IRTSEC. INMBflS. IRBflS, 1RTIC                                        00034740
      COMMON /INDflTft/ INBUF. INSEQ.NIN                                  00034750
       COMMON /FLflGS/ EOF                                               00034760
       COMMON /UNITS/ IRDR. 1PTR 1 . IPTR2. IPTR3. UN. IOUT                   00034770
       COMMON /CQUEUE/ RETMIN.RETSEC.N5                                 00034780
C  HflND  THE  BOLL TO PflDDOCK fiND GET ft RECORD                            00034790
       CftLL  EPftRD                                                       00034800
       I EOF -EOF                                                         00034810
       IF (EOF. LT. 2) GO TO  10                                             00034S20
       URITECIPTR1.20)                                                  00034830
    20 FORMfiTClX. '***EXECUTION TERMINflTING DUE TO IMPROPER  EOF  CONDITION 00034S40
      I DETECTED IN RDSPC***' )                                            5?214^S
       STOP                                                              00034SbO
C  CONTINUE  UITH NORMflL PROCESSING
    10 IFCEOF.EQ.URETURN
C  NORMAL SPECTRUM RETRIEVED - GET SCflN NUMBER
       SPCNO=ISCN
C  CftLCULfiTE CORRECTION FfiCTOR
       CFflCT«IRDftS/999.0
C  NOU SET UP flMD LOOP SPEC ftRRftY FROM INBUF
       DO 60 1 = 1.411
    60 ftVGSPC(I)-CFfiCT*INBUF(I)
C  UPDftTE CIRCULftR QUEUE UHEN NECESSflRY
       IF ( IQUPD. EQ.0) RETURN
       RETMIN ii4). IRTMIN
       RETSEC(I14) = IRTSEC  •
 C MISSION ftCCOMPLISHED - I HOPE....
       DCT1 IDkl                                                                  -
       ^TURN                                                            00035030
       SUBROUTINE URTSPC(SPCNO.NUSPEC.DUBLT.RflTE.NPK.TlClN)
                                        147

-------
C RECORD IS REFORMATTED AND NECESSARY INf-u. 'MATION IS RETRIEVED
C FROM ft CIRCULAR OUEUE. THE LOGIC EXACTLY PARALLELS THfiT FOR
C THE RTI LINEftR RCQUISITION SYSTEM VERSION.
C
C
C
                                              UM. F.HARGROVE
                                              RTI 11/26/78
      INTEGER SPCNO,NUSPEC(4M>.DUBLT.NIN.RATE
      REAL TICIN
      INTEGER INAM(3),ISCN. IDBUF(2). IDHDR. 1DMIN, IRTMIN. IRTSEC.I7.
     1 INMBAS, INBUFC41 I) . 1NSEQ.ONAMC3) ,OSCN.ODBUFF(2) ,ODHR.
     20DMIN.ORTMIN.ORTSEC.ONMBAS.OTBUFF(411).OTS£Q,NOUT.NPK
      REAL IRBAS. IRTIC.ORBAS.ORTIC.CFACT
      INTEGER NS.RETMINC14).RETSECU4>
      COMMON /IHDR/ INAM, ISCN. IDBUF. IDHDR. IDMIN. IRTMIN,
     1 1RTSEC. INMBAS. IRBAS. IRTIC
      COMMON '1NDATA' INBUF. INSEO.NIN
      COMMON XCQUEUE/ RETMIN.RETSEC.NS
      COMMON XOHDR/ ONfiM.OSCN.ODBUFF.ODHR.ODMIN.ORTMIN.
     20RTSEC. ONMBflS . ORBflS . ORT I C
      COMMON xOTDflTft/ OTBUFF.OTSEQ.NOUT
      COMMON XUNITS/ IRDR.IPTR1.IPTR2.IPTR3.IIN.IOUT
C NOU STflRT FORMING THE HEfiDER  RECORD
      DO  10  1-1.3
   IB ONBMCD'INBMU)
      OSCN-SPCNO
      DO 20  1-1.2
   20 ODBUFF(I)«IDBUFCI)
   :   ODHR' IDHDR
      ODMIN'IDMIN
C RETRIEVE SCfiN RETENTION TIMES FROM CIRCULfiR QUEUE
C
C
   30
      ORTMIN-RETMINCID
      ORTSEC«RETSEC(I?)
  FORM OUTPUT flRPflY ftND FIND BRSE PEfiK MflSS AND INTENSITY
  TRANSFER AND DETERMINE NUMBER OF PEAKS AND BASE PEAK
      ORB AS =0
      ONMBAS-0
   ;   ORTIC-0.0
      NOUT-0
      DO 40 1-1,411
      IF(NUSPEC(I).LE.0)GO TO 30
      ORTIC'ORTIC+NUSPECCI)
      NOUT-NOUT+1
      CONTINUE
      IF(NUSPECCI).LT.ORBAS)GO TO 40
      ORBAS-NUSPEC(l)
      OHMBA3=I
   40 CONTINUE
      ONMBAS'ONMBAS+39
C CALCULATE CORRECTION FACTOR
      1F(ORBAS.GT.0)GO TO 50
      URITEUPTR2.45) SPCNO
   45 FORMATC-'.-'*** UARNING - 0 BASE PEAK IH URTSPC, SCAN *'.I5
      RETURN
C CALCULATE CORRECTION FACTOR
   50 CFACT-999.0XQRBAS
C NORMALIZE SPECTRUM
      DO 60 1*1.411
      00035070
      000350B0
      00035090
      60035100
      00035)10
      00035120
      00035130
      00835140
      00035150
      00035160
      00035170
      000351 BO

      00035190
      00035200
      00035210
      00035220
      00035230
      00035240
      00035250
      00035260
      00035270
      00035280
      00035290
      00035300
      00035310
      00035320
      00035330
      00035340
      00035350
      00035360
      00B35370
      00035380
      00035330
      00035400
      00035410
      00035420
      00035430
      00035440
      00035450
      0Q035460
      00035470
      000354SO
      00035490
      00035500
      00035510
      00035520
      00035530
      00035540
      00035550
      00035560
      00035570
•***•>00035580
      00035590
      00035600
      00035610
      00035620
      00035630
                                       148

-------
   60 OTBUFF
-------
                            APPENDIX B

"EXTRACTION OF MASS SPECTRA FREE OF BACKGROUND AND NEIGHBORING COMPONENT
   CONTRIBUTION FROM GAS CHROMATOGRAPHY MASS SPECTROMETRY DATA"
        R. G- DROMEY, M. J. STEFIK, T. C.  RINDFLEISCH, AND
            A. M.  DUFFIELD, ANAL. CHEM., 48, 1368(1976)
                                150

-------
      Reprinted with  permission  from  Analytical Chemistry.
      Copyright by  the  American  Chemical  Society.
Extraction of Mass Spectra  Free of Background and
Neighboring Component Contributions from Gas
Chromatography/Mass Spectrometry Data

R. G. Dromey,1 Mark J. Sieflk, Thomas C. RlndfMsch/ and Alan M. Outfield*
Departments o! Computer Science. Genetics, and Chemistry. Stanford University. Stanford, Calif. 94305
An effective, minicomputer-based matted Is described for
systematically extracting resolved max spectra of mixture
components from GC/MS data. Using tabular peak models
derived directly from the raw data, the spectra have column
bleed background removed and are corrected for Interference
from neighboring ehrtants and peak saturation. Individual
components are detected In the data by means of a pair of
histograms which statistically characterize the positions of
mass fragmentogram peak modes. These data-adaptive cor-

  1 Present address, Research School of Chemistry, Australian Na-
tional University, Canberra, A.C.T., Australia.
  2 Present address, School of Physiology and Pharmacology, Uni-
vemity of New South Wales, 2033, Australia.

13*8 . ANALYTICAL  CHEMISTRY, VOL. 48, NO. B. AUGUST 1976
rectton* avoid costty Iterative numerical procedures and avow
obtaining representative mass spectra from GC/MS dsta of
complex mixtures on a routine basis. Using this approach,
components that ekite within toss than two spectral scan tknat
of each other can be detected and their mass spectra wen
  With the increasing application of gas chromatography/
mass spectrometry (GC/MS) systems to mixture component
identification in biomedical research (1.2) and other areas (3),
it has become important to be able to systematically isolate
and identify minor components in the complex mixtures being
analyzed. Because of instrumentation limitations, the mass
                                        151

-------
                                                                               RAW SPECTRUM (No. 492)
                     "it
Figure 1. (a) Spectrum of Indole acetic acid 3-mothyl ester from a GC/MS analysis of human urine before processing, (b) Resolved spectrum of
Mole acetic acid 3-methyl ester
spectra obtained from a GC/MS analysis of a complex mixture
are often markedly different from the spectra of the corre-
sponding, pure compounds. Differences may be caused by
contributions  from  unresolved neighboring  components
during partial separation and also from GC septum and col-
umn bleed. These extraneous contributions may severely
distort the relative intensities of ions in the mass spectrum of
e particular component as well as contribute peaks that are
not characteristic of the component being examined. Char-
acterization and removal of these spurious ion contributions
is especially important in the analysis of minor constituents
where  the mass spectra of interest may be substantially
masked or distorted.
  Our objective has been to implement a solution to these
problems which is general and can systematically and reliably
resolve GC/MS data with a minimum of human intervention.
At the same time we have constrained the design so that the
programs can run on a laboratory minicomputer. The first of
these objectives has necessitated the use of a relatively com-
plex mathematical treatment of the GC peak profile analyses
as compared to that previously reported by Biller and Bie-
mann (4), Both the present approach and that of Ref. 4 are
based on analyses of mass fragmentogram profiles (4-6), a
method which has been in use in various laboratories including
our own, for a number of years. The method described here,
however, differs substantially in the extraction of information
from the profiles and thereby avoids several serious limitations
inherent in the system  described previously (4). By using
tabular models of the elutant peak shapes together  with a
polynomial approximation to the GC background, and by
deploying the elutant location and multiplicity information
gained in analyzing individual fragmentogram profiles to as-
sist in analyzing the others, we can achieve significant ad-
vantages in the quality of the  reduced data. These include
better final GC resolution, the proper assignment of ions to
resolved elutant spectra (whether or not they are shared be-
tween  neighboring component!), more accurate  spectral
amplitudes free from background contributions, and the re-
covery of usable information from distorted data as in satu-
rated peaks. We feel these improvements are important to a
ijrstem which can reliably extract component spectra of suf-
ficiently  high quality from GC/MS runs to enable more de-
finitive library matching, easier  human interpretation of
unknowns, and even the addition of extracted spectra to a li-
brary as  authentic spectra. In our experience, these are es-
sential assets for a GC/MS data system which is to be routinely
applied in medical research and amply justify the complexity
of the analysis.

                  EXPERIMENTAL

  The GC/MS computer system used in this investigation consists
of a Finnigan 1015 Quadrupole tnasa spectrometer interfaced to a
PDF-11/20 minicomputer system for data acquisition. In one frequent
mode of operation a complete mass scan (from mass 40 to 450) is
completed each 3.7 a and 600 consecutive mass spectra are collected
during a typical GC/MS analysis. Our initial experience of comparing
the experimental mass spectra from a complex GC/MS analysis with
a library of known mass spectra produced very poor results because
of contamination of the experimental data by spectra of column bleed
and of neighboring, unresolved components. Tolerable matches were
only achieved when a component was present in large quantity in the
GC/MS analysis. In order to overcome these problems, we have de-
veloped a computer program capable of systematically extracting from
the raw GC/MS data, spectra representative of the pure elutant
compounds.
  The raw mass spectrum (Figure 1 a) of indole acetic acid 3-methyl
ester obtained from a GC/MS analysis of the acidic fraction (after
methylation) of human urine typifies this situation. This component
elutes at or near spectrum number 492 in the total ion plot (TIC)
shown  in Figure 2. Closer examination  of Figure 2 shows that this
component is submerged both in mass spectral contributions from
neighboring components and background from GC column bleed. For
comparison, a library spectrum (7) of indole acetic acid 3-methyl ester
is shown in Figure 3. Figure Ib shows how, after processing the raw
GC/MS data by the method described below, we can retrieve a high
quality mass spectrum of indole acetic acid 3-methyl ester free from
the environmental perturbations present in Figure la.
  Thus, in the systematic analysis of GC/MS data the problem is First
to detect where in the GC trace each component shows ite maximum
ion intensity and then to extract from these regions representative
spectra for each of the detected components. The extracted mass
spectra should be as free as possible from intensity distortions relative
to their library counterparts, and from the pretence of extraneous ions
(e.g., peaks from either neighboring components or gas chromato
graphic column bleed).

            DESCRIPTION  OF  METHOD
  To obtain a reliable solution to these problems, it is neces-
sary to analyze a number of spectra on either side of the ion
current maximum for each elutant. A basic assumption of our
approach is that the mass  spectra of two neighboring unre-
solved elutants can be distinguished; that is, there exist some
masses for which ions occur in the mass spectrum of one
component but not in the other and vice versa. A schematic
representation for two closely spaced  elutants is  given in
Figure 4. By locating the "resolved" or singlet fragmentogram
peaks  at such masses (detected on  the basis of profile mor-
                                                         ANALYTrCAL CHEMISTRY, VOL. 48. NO. 9,  AUGUST 1976 • 1369
                                                         152

-------
                    MC=
                                                    a>ECT*UM NUMBER-
 Flgur. 2. Total km current plot lor a QC/MS analysis of a urine sample. Components were found at vertical bar marks on TIC
               INDOU ACETIC ACID
                 METHYL ESTER
                                130

                                 LISBARV S
             .....  r.  r
                                             M*
                    •0   100   120
                             M/E
                                      160   1W  200
 Figure 3. Mass spectrum of Indote acetic acid 3-methyl ester taken
 from a library of biological compounds

 phology), one can infer directly the positions of the elutants
 present and derive tabular models of the individual peak
 shapes. These models can be used subsequently to separate
 the unresolved fragmentogram complexes. The use of tabular
 peak models derived  from the data itself accurately accom-
 modates the a priori unknown  peak profiles of particular
 elutants without solving for multiparameter, nonlinear model
 functions. Since the data are sampled often enough to satisfy
 the sampling theorem (8), these tabular models contain the
 necessary information to reconstruct a continuous peak en-
 velope and can therefore be used as if they were continuous
 analytical models. For the typical peak shapes encountered,
 the collection of 5-10 mass spectra per singlet elutant peak
 represents a sampling frequency greater than twice the Fou-
 rier bandwidth of the peak. In addition, the mass by mass
 analysis of the fragmentogram peak complexes facilitates the
 mass dependent subtraction of background. (The large vari-
 ation in background levels for different masses is a function
 of both the type of GC column used and the mixture being
 analyzed.)
  By addressing the problem in this way, we have been able
 to produce accurate intensity information for the processed
 mass spectra  and simultaneously distinguish with  greater
 confidence which masses contribute  to  particular elutant
 spectra. We have been able to distinguish reliably elutants
 coming off within one and a half to two spectral scan times of
 each other. The succeeding sections discuss in more detail the

1370 . ANALYTICAL CHEMISTRY. VOL. 48, NO. ».  AUQUST  1976
                              of the set of partial mass frag-
mentoyams for two closely spaced elutants. Components A and B have
some masses in common
procedures used to detect and resolve the mass spectra of
unique elutants.
   Detection of Elutants in GC/MS Data. Elutant detection
involves finding the location of each mixture component in
the GC/MS data, even if it does not have a corresponding peak
maximum in the overall total ion current trace. Ideally for a
given elutant, the fragmentograms for all its ion masses will
show maxima at the same time and, in practice, this holds for
well-resolved  materials. However,  for  partially resolved
mixtures, the complicating  factors of peak overlap and
background contributions can caus-  fragmentogram maxims
for neighboring components to show significant variation in
their positions on the time axis. Reliable position information
for each elutant is best derived from the fragmentogram
profiles containing singlet peaks for that elutant, that is, from
fragmentograms at those spectral masses unique to the elutant
relative to its neighbors.
  The approach used for elutant detection is to compute two
histograms of candidate singlet peak positions and to select
as elutant locations significant histogram maxima. The first
histogram measures the number of singlet mass fragmento-
gram profiles which reach maxima in each time interval. The
second histogram measures  the total singlet ion intensity
above background at these maxima. These two types  of his-
togram contribute complementary information for judging
elutant locations. At a given elution time, the histograms in-
clude fragmentogram peak maxima from all masses over seven
spectra. The position of each maximum is determined by s
parabolic least squares interpolation about the top five points
in the sampled peak data. If the intensities of the five  points
contributing to the maximum are Y.2, V-i, YO, Vi, and Vj,
then the expression for the time coordinate of the maximum
                                                  153

-------
            io(2Y-2 - v-i - 2y0 - YI + 2y2)

The time coordinates of maxima are estimated to one third
of the time to collect each spectrum in order to separate very
close neighbors. Because we measure peak locations to one
third of a spectral scan time, appropriate shifts are also in-
cluded to account for the fact that higher masses are measured
later in each spectral scan than lower masses. To build these
histograms, the program examines the profiles of each mass
fragmentogram in the data. Only peaks with intensities above
t prescribed threshold are added into their appropriate time
positions in the histograms. Peaks that are obvious multiples
(multiple eztrema) are not incorporated into the histograms
but are marked for later resolution. After all of the histogram
Information is collected for a given region, components are
defined to be detected at locations where both the intensity
and peak count histograms show maxima that are above a
threshold. This statistical approach, looking for "clusters" of
fragmentogram peaks in the histograms, does not depend
upon a correct decision for each peak but rather on a pre-
ponderance of good decisions looking over all of the data. It
will fail to resolve elutants very close together which do not
have enough distinguishing mass  spectra) components  as
described above. In general, however, using this approach we
are able to detect and resolve spectra reliably that elute with
a separation in time as small as one and a half to two spectral
scan times. (Two scan times correspond to 25% of a typical GC
peak width at the scan rate we use.) Elutants this close often
do not show multiple extrema in the fragmentogram profiles
of masses common to both spectra and could not be separated
properly except for this type of procedure. If two elutants are
separated by less than 1.5 scan times, resolution becomes less
certain depending on their relative concentrations and mass
spectral  distinctness.
  Estimation of Spectral Intensities and Background for
Well Resolved Elutants. Once the locations of elutants in
the GC effluent have been determined, we proceed to compute
a resolved spectrum for each material. To illustrate the
principles involved in spectral amplitude and background
estimation, we consider the simple case of an elutant that is
well separated in time from its nearest neighbors. This anal-
ysis will be extended to the more complicated case of multiple!
resolution in a  later section. By "well-separated" we imply
only that there are no maxima in the elutant detection histo-
grams for three or four spectra on either side of the elutant
under consideration. In such a situation, each of the mass
fragmentogram profiles in  the vicinity of the elutant will
consist of a background on which is superimposed a peak with
amplitude representative of the elutant spectral component
at that mass. The background (contributed by both GC col-
umn bleed and possible tailing from nearby, high-concen-
tration elutants) is distinguished from the elutant peak by the
fact that it varies much more slowly with time. Reasonable
estimates can be made by assuming that, for any particular
mass fragmentogram, the background amplitude varies at
most linearly with elution time in the vicinity of a given elu-
tant. This approach to background determination, using the
actual fragmentogram characteristics around each  elutant,
automatically tracks changes  in the bleed levels observed
during a  run. It should be noted that our model is a first-order
approximation  subject to some error. A more accurate ap-
proximation  would  involve representing the background
variations over a larger span of spectral scans than we are able
to manage with the current program organization and com-
puter memory limitations. We feel that the linear estimate is
justified, however, in that it produces results within the error
limits from other data uncertainties.
 To complete the estimation process, we use a model peak
   to determine the contribution of each mass fragmentogram
   to the elutant spectrum. Much work has been done on the
   analytic approximation of gas chromatographic peak shapes
   (9,10). Our experience has been that relatively simple models
   do not adequately approximate the range of shapes encoun-
   tered and more complex models require large amounts of
   computing to determine model parameters.  Noting that a
   separate model must be developed for each elutant and with
   a view toward obtaining the peak shape and definition nec-
   essary for multiplet resolution within reasonable computing
   resources, we have approached the problem by using tabular
   peak models taken from the data itself. Such models, defined
   at discrete sample points, can be evaluated at any required
   intermediate point by interpolation (since the sampling the-
   orem is satisfied) and automatically reflect any peak asym-
   metries which may be present. For a given elutant, the model
   will be independent of mass, assuming that relative molecular
   fragmentation probabilities do  not change  with elutant
   pressure within the mass spectrometer. A number of criteria
   should be satisfied by the tabulated model peaks. They should
   be singlet peaks superimposed on as small a background as
   possible and they should be relatively intense in order to en-
   sure a good signal-to-noise ratio and good definition of peak
   skirts.
     Candidate singlet peaks may be distinguished from doublet
   or background peaks by the feature thet they are relatively
   sharp. One way to measure peak "sharpness" is to use a log-
   arithmic rate function defined as follows:
          rate •
                          y,
   where the Y, are evaluated at equal scan widths at each side
   of the mode of the peak. It can be seen that this rate will be
   large for peaks which are sharp and smaller for peaks which
   are broad. The rate as defined is also independent of ampli-
   tude for peaks of identical shape. A peak with a computed rate
   below a threshold appropriate to the experimental conditions
   is considered to be either an artifact of the gas chromatograph
   (background peak) or a multiplet and is not included in the
   detection histograms.
     During the process of computing the detection histograms,
   a list is kept of the unimodal fragmentogram peaks having the
   highest rate factors in the region under analysis. When a
   component is detected in a given region, a model peak is then
   immediately in hand that can be used in the peak  height es-
   timation and background removal process. The local minima
   just on either side of the model peak are used as estimates of
   the local background (a straight line through the greatest of
   these minima is removed before the model peak is used for
   analysis). The selection of the peak with the highest rate factor
   as our model peak has worked well in producing models which
   are singlets and suffer least from interference by background
   and neighboring fragmentogram peaks.
     Given the fragmentogram peak model for this case of a
   well-separated elutant, we can now correct the individual mass
   fragmentograms  for background and  estimate true  mass
   spectral intensities for the elutant. For the fragmentograms
   exhibiting peak maxima "near" the location of this elutant (see
   below for detailed selection criteria), each peak in the set is
   quadratically interpolated to align it on a common time origin
   (this removes the time shift between collection of low and high
   mass data). This is done by fitting a parabola through suc-
   cessive groups of three points near the peak mode and inter-
   polating to give four equally spaced points about the mode,
   separated by one spectral scan time. With the peaks in this
   standard form, they are ready for the least squares analysis
   below. Assuming a linear background model over the region
   of 5 to 10 scan intervals under consideration, the local back-
   ground B, at time t it approximated  by

ANAIYTICAL OCMISTRY, VOL.  41, NO. 9. AUGUST 1976 • 1371
                                                     154

-------
                      S, ~ c + dt

where c a the background offset and d is ita slope The in-
terpolated elutant peak model is normalized to unit area and
has amplitudes P, at times t. Then for a given mass frag-
mentogram, the  amplitude of the actual fragmentogram
profile Y, at time t can be approximated by

                   Y, ~ pP, + (c + dt)

where p measures the elutant amplitude above background.
Note that this model assumes a superposition principle based
on the earlier assumption of constant relative fragmentation
probabilities and a linear encoding of ion current information.
If ion current data are obtained from nonlinear electronic
systems or read from Him, the peak model itself would be
amplitude dependent and this linear analysis could not be
applied until appropriate amplitude linearization corrections
were made. From the above model, we can derive a least
squares estimate for the elutant amplitude p and the back-
ground parameters c  and d by minimizing the error func-
tion
 according to the conditions


                   dp*"de  "ad*°

 The summation in the error function is over all available
 points in the peak profile as  well as the neighboring back-
 ground points within the window of scans contained in the
 computer's  memory. These  conditions  yield three linear
 equations in the three parameters which can be solved by
 standard techniques (11). From the solution of these equa-
 tions for the value of p, we get the spectral intensity for the
 mass under consideration. This analysis is applied to all mass
 fragmentograms with maxima near the  elutant location to
 obtain the complete, intensity-corrected spectrum. It is worth
 noting that this method, using a tabular model peak derived
 from the date and elutant locations obtained from the de-
 tection histogram analysis, reduces the calculation for each
 mass spectrum intensity to the solution of a set of linear
 equations. Specifically, this avoids iterative methods for de-
 termining the parameters of a theoretical  peak model and for
 determining elutant time positions.
   Fragmentograms are selected for this analysis on the basis
 of several criteria. Given the nominal elutant position from
 the detection histogram analysis, a fragmentogram is excluded
 (mass spectrum assigned zero intensity) if it has no local peak
 maximum or if its maximum is displaced from the reference
 elutant position by more than two thirds of a spectral scan
 time on either side. Each fragmentogram peak meeting this
 test must also have an acceptably high rate factor, to be in-
 cluded in the analysis. For peaks of masses greater than 200
 amu, we require a rate factor greater than 25% of the rate for
 the model peak. This  restriction is useful  for eliminating
 contributions caused by peaking in column bleed components.
 In carefully examining GC/MS data sets, we can observe that
 masses characteristic of the spectra of column bleed compo-
 nents show maxima in their mass fragmentograms just prior
 (one to two spectra) to the elution of an actual component In
 essence, the component appears to "push"  the bleed out ahead
 of itself. Because these peaks are formed by a different process
 than normal elutant mass fragmentogram  peaks, they usually
 have a much broader shape. Consequently their rate factors
 will be significantly reduced and they can be eliminated by
 the rate threshold criterion. The  combination of the frag-
 mentogram  peak location criterion together with the mini-
 mum rate criterion effectively discriminates against extra-

1372 . ANALYTICAL  CrCMISTRY. VOL. 4», NO. 9,  AUGUST  1878
       neous contributions to the intensity-corrected spectra without
       removing authentic mass peaks.
         Extraction of Poorly Separated Elutant Spectra. Many
       instances'arise in the analysis of GC/MS data where two or
       more elutants are poorly resolved by the gas chroma tograph.
       The resulting mass spectra in such a region exhibit ion in-
       tensity distortions which reflect the interactions (overlap)
       between adjacent elutants in addition to the ion contributions
       of background. The extension of the above procedures to the
       general case is not difficult Through the histogram detection
       and model procedures, one can extract normalized peak
       models P, Q, ft,... for the various elutanta present Then with
       the assumption of a linear background, the elutant contri-
       butions to each fragmentogram profile Y can be estimated by
       minimizing the error function

             E - £(y, -pP, - qQ, - rR, -  ... - c - dt)1

       with respect to the elutant amplitudes p, q, r, ..., and the
       background coefficients. Sets of linear equations result for
       each mass to extract the resolved spectra. In practice, we have
       not implemented this full procedure beyond the doublet case.
       Through the following approximations, reasonable results are
       achievable within available minicomputer resources. Using
       the histogram method described earlier,  neighboring elutants
       are handled with a "look ahead" procedure. That is, infor-
       mation about an elutant that has just been detected is stored
       and the detection algorithm is applied to the data in the im-
       mediate neighborhood by extending the  range over which the
       detection histograms are calculated. If by including this ex-
       tended region an additional elutant is detected, we record the
       position of its mode, select a model peak for this  second elu-
       tant using the rate criterion, and initiate a doublet resolver
       algorithm. At present, the extended histograms project four
       spectral scan widths beyond the position where the first elu-
       tant of the multiplet was detected (limited by computer
       memory). The same criteria are applied  as in the singlet case
       to decide which fragmentogram peaks belong to the pair of
       detected components. The model used  to process the com-
       posite fragmentogram peaks (many of which may be singlets
       belonging to either elutant) assumes that there are two over-
       lapping peaks superimposed on a linear background. The
       doublet model represents an oversimplification of some sit-
       uations as, for example, in the case where 3 components elute
       within a very brief interval. By applying it, however, to suc-
       cessive pairs of elutant peaks (taking first-order account of
       peak tail contributions from any earlier elutant), it provides
       acceptable accuracy and peak  resolution effectiveness. As
       indicated above, a fit of the two peak models P and Q with a
       linear background to the fragmentogram profile Y may be
       described by the approximation
                       Y, ~pP, + qQ, + c + dt

       Minimizing an error function analogous to the earlier singlet
       case results in 4 linear equations in the peak amplitudes p and
       q and the background parameters c and d. This set of equa-
       tions again can be solved by standard methods.
         In cases where peaks are actually singlet peaks, the solution
       should yield zero for the amplitude of the missing component
       In practice, for such cases the amplitude of the second com-
       ponent is a very small  positive or negative value which is
       representative of how well the model fits the data. Amplitude
       results for masses that belong to the second component of the
       doublet are stored temporarily until this component is moved
       into the processing window at which time they are incorpo-
       rated into the analysis of the newly detected component
         Reconstruction of Saturated Peaks in Elutant Spectra.
       From a practical viewpoint, a fairly common occurrence in
155

-------
100

7S
u
M











J







SATURATED SPECTRUM


111
J.JLM ,1,1*1 ,'i|<. ( ,11.^,1.1.',. (.I'M. >.',.. IM I'. ^

                 (0
                                                                            CORRECTED SPECTRUM
                                                                         TT
                                                                                  /
                                                        ml,
Figure S. (a) Saturated unprocessed mass spectrum for tatracosana. (b) Spectrum of tetraeoaana after procasalng and correction lor satura-
tion
GC/MS data collection systems is the problem of mass peak
saturation. Saturated peaks occur when the concentration of
a component in the ion source is such that for one or more ion
masses the detection system analog-to-digital converter be-
comes overloaded. Saturated peaks an easily detected because
of their characteristic flat tops which have an amplitude de-
termined by the overload limit of the detection system (e.g.,
the saturation value is 4095 for a twelve-bit analog-to-digital
converter).
  To obtain accurate amplitudes for component spectra that
include saturated mass  peaks, we must  reconstruct these
peaks to estimate their true amplitudes. A convenient way to
do this in the singlet case is to use the least squares model that
we derived in the preceding sections. To actually apply it for
reconstruction of saturated mass fragmentogram peaks, we
need to make a small modification to the equations. Instead
of summing over all the points in the peak, we sum over only
those points that are not saturated in the fragmentogram. As
an estimate of the peak mode, we use the mode of the intensity
histogram for the component being analyzed. An example of
reconstruction of a mass spectrum with saturated ion inten-
sities is given in Figure S. Figure Sa shows a saturated spec-
trum of tetracosane (spectrum number 545 in Figure 2) and
Figure  5b is the corresponding reconstructed spectrum. It is
clear that the reconstructed spectrum will give a far better
match with a library spectrum than the saturated spectrum
which is badly saturated at masses 43,57, and 71.
  Before leaving the discussion of saturation, we should point
out that we have not in practice extended the procedure for
saturation correction of singlet peaks to the doublet case as
we believe that it would be inadequate for reliable intensity
estimates. If too many points are overloaded, there will be
insufficient data to accurately estimate the amplitude of each
multiple! component Despite such correction algorithms,
there is no substitute for the collection of good quality raw
data at the start

           RESULTS AND DISCUSSION
  The program based on the algorithm outlined in the pre-
ceding sections has been tested on a wide variety of biological
samples. It fits comfortably into a DEC PDF 11/45 computer
(with 28K words of memory) and takes approximately 8 min
to analyze a raw GC/MS data set of 600 mass spectra (scanned
from masses 40 to 450). Much of this time is spent in reading
toe raw data from the disk and other input-output operations.
Copies  of the program, which is written  in FORTRAN, are
available from the authors. Currently, this program forms part
   of an automated' analysis system for the GC/MS analysis of
   urine  and blood samples. The program reduces the raw
   GC/MS data set of approximately 600 spectra to a set of about
   60 resolved elutant spectra which are then matched against
   a library of mass spectra of biological compounds. This whole
   process takes about 20 min and produces an analysis of the
   sample, with known compounds in the mixture identified and
   the remaining unknown set marked for further study by
   chemists or other DENDRAL programs (J2-14).
     In evaluating performance of the program, a major issue is
   how well it is able to detect elutants in the data. The vertical
   bars on the TtC (Figure 2) indicate all the places where the
   program detected and isolated a component from the raw
   GC/MS data. The program's power of detection is illustrated
   for example by the elutant detected near spectrum number
   492 in the total ion current plot shown in Figure 2. Although
   there is no evidence of a maximum in the TIC in the region
   near 492, the program was able to detect and isolate a good
   quality spectrum of indole acetic acid methyl ester (Figure 1).
   In the raw data, this spectrum is clearly submerged in back-
   ground and overlapping contributions. A comparison of the
   resolved spectrum (Figure Ib) with a library spectrum (Figure
   3) shows that the basic  spectral intensity profiles are very
   similar even including the very low intensity ion of mass 89.
   Some very small ions (of intensity less than  5%  relative
   abundance) are absent from the resolved spectrum because
   they have been lost in the background noise. It is worth noting
   that there are no peaks present in the resolved spectrum that
   are not in the library spectrum, that is, the extraneous mass
   spectral peaks in the raw data including peaks at masses 105,
   253, and 315 are not included in the resolved spectrum. The
   relative intensities of the mass spectral peaks at masses 51,
   62,66, and 77 have been changed significantly from their levels
   in the raw data. This illustrates the importance of correcting
   the intensities for background. The mass spectral peaks at
   masses 51,52,63,78, and 129 appear to maximize near spec-
   trum 496 in the raw data instead of spectrum 492 because of
   the overlapping contributions of a poorly resolved elutant
   Similar examples of the power of this technique exist in other
   parts of the GC profile in Figure 2.
     The detectability of unresolved elutants is clearly a function
   of their amplitude relative to neighboring components and
   background. One way to characterize this is to measure the
   ratio of the total ion intensity (sum of the mass spectrum
   amplitudes) in the resolved spectrum compared to that in the
   unprocessed  spectrum including background and  overlap
   effects. The mass spectrum of the processed component at

ANALYTICAL CHEMISTRY, VOL. 48, NO.  9. AUGUST 1976 • 1373
                                                      156

-------
                 5100,
                       L-L..,,
                      10         100
                                                                             RAW»fCTRUM (No. 117}
T
                                                                               RESOLVED SPECTRUM
                                                   HI*
                                                   ISO
                                                          m/i
"»••••«•> "•» spectrum of «*nrtho><)rpheriyiBce1fc add nwlty
•do manyi ester
                  100
                                                                             RAW SPECTRUM (No. 318)
                |1081

                2  re

                   to
                                           3SO

                                    RESOLVED SPECTRUM
                                                      200
                                                                           300
Flgun 7. (a) Spectrum of an unknown aromatic ester before processing, (b) Resolved spectrum of unknown ester In Figure 7a
spectrum number 492 comprises only 4% of the total raw ion
current. It can be expected that there will be problems de-
tecting components with an ion current ratio that falls much
below a level of 4%. Also if two compounds elute within less
than 1.5 to 2 spectral scan times of one another, there is an
increasing chance that the program will make the wrong de-
cision as to whether there is one or actually two elutants
present. Such errors are dependent on the ion current ratio
between adjacent elutants, the similarity of their mass spectra,
and the stability with which peak positions can be determined.
  At an example of doublet resolution, consider the region
near spectrum numbers 317 and 318 in Figure 2. The program
detects that there are two elutants present and Figures 6 and
7 illustrate the raw and resolved spectra at these locations. The
spectrum in  Figure 6b is a good representation for 4-
methoxyphenylacetic acid methyl ester. The other component
is an unknown aromatic ester.
  We have evaluated the efficiency of background removal
for kinglet elutants by examining their mass fragmentograms.
After calculating the least squares peak and background levels,
we concluded that the computed result* are consistent (within
5-10%) with human estimates. They tended to be less accurate
for very weak peaks whose shapes were more sensitive to noise
distortions.
  For the multiple! case, where the peak profiles can be con-
siderably more complex, there is a stronger possibility that

1»74 * ANALYTICAL  CHEMISTRY, VOL. 48. NO. 9. AUGUST 1976
                the model will not produce accurate amplitude information.
                In such cases, as when there are three rather than two elutants
                present, there is a danger that background contributions will
                be incorrectly estimated particularly with the limited number
                of scans that can be held in our minicomputer memory at one
                time. We feel however that use of a more complex model for
                triplets is not likely to be able to guarantee much greater
                precision. A sequential application of the doublet model has
                produced acceptable results in our experience with the pro-
                gram. Problems most frequently occur when a small amount
                of an elutant occurs just prior to, or just after, an elutant of
                high concentration. The intensities of peaks in the small
                elutant that are common to the large elutant tend to be less
                accurately calculated than singlet peaks and sometimes may
                even be discarded as negligible if their intensity relative to the
                Urge peak falls much  below 10%. This may be especially im-
                portant for the molecular ions of compounds with the same
                molecular weight which would be expected to elute near each
                other.
                  Comparison with library mass spectra has indicated that
                correction of intensities for saturated singlet peaks is satis-
                factory. However, as expected, the accuracy of the calculation
                decreases as peaks become more heavily saturated. In our case,
                we are working with model peaks that extend over nine points
                (i.e.,  nine scan widths). If more than four of a peak's nine
                points are saturated, we can expect that its estimated intensity
                                                     157

-------
will have only limited accuracy because there is insufficient
information left to accurately characterize ita ahape.
  Conditions arise in the raw GC/MS data for which it is not
possible to extract resolved mass spectra unambiguously. One
case is when the elutant-to-background ratio falls significantly
below 5%. In these cases, the very weak intensity ions, in-
cluding isotope ions, usually do not appear in the resolved
mass spectra. The other difficulties arise when it is not pos-
sible to detect the presence of multiple elutants because they
occur within  less than one mass spectrum scan time of each
other. In this case, the processed spectrum  represents the
mixture of the two elutants.
  In general, we have found that the present system works
very well and is capable of detecting and isolating high quality
representative mass spectra in GC/MS experiments involving
complex biological mixtures.

                ACKNOWLEDGMENT
  We thank D. Smith, W. Pereira, and W. Yeager who have
contributed in a major way to the continued refinement of the
computer programs implementing these algorithms and to the
critique of results from their operational use in our laboratory.
We also acknowledge the work of B. E. Blaisdell of Juniata
College, Huntingdon, Pa., on an exploratory alternative ap-
proach to the present problem.

    ',           LITERATURE CITED
 (1) R A. Hues and K. Biemann, Aral Own.. 42,855 (1970).
 (2) C C Sweeley. N, D. Young. J. f. Holland, and S. C. Gates. J. Ohromwoor.,
    M, 507 (1974).
 (3) W. H. McFadden. "Techniques of Combined Qes Chromatography/Mass
    Speclrometry: Application* In Organic Analysis". Wiley Interscience.
    London, 1(73.
 (4) J. E. Bllter and K. Biemann. Anal. left. 1, SIS (1974).
 (6) R. E. Summon.. W. E. Perelra. W. E. Reynolds. T. C. Rlndfleisch, and A.
    M. DuHWd. Anil. Cnem. 4*. 582 (1974)
 (6) R. N. SHHwell, 22nd Annual ASMS Conference—Mass Spectrometry.
    Philadelphia, Pa., 1974, p 4S4.
 (7) "Mass Spectra of  Compounds of Biological Interest".  US. Al. Energy
    Com. Hip.. No. TO-26M3, S. P. Markey. W. 6. Urban, and S P. Levlne.
    Ed.
 (8) See for example: R. S. Ladtoy. "Digital Computer and Control Engineering",
    McGraw-Hill Book Co.. New York. 1960, p 742
 (9) E. Orushka. M. N. Myers, and J. C.  OMdlngs. Anil.  Cham., 42, 21
    (1970).
(10) C. D. Scon. 0. C. ChUcote, and W. W. Pitt. CKn. Cnem (Wiraton-Salem,
    W.C.), «, 637 (1970).
(11) See for example: S. D. Conte and C. de Boor,  "Elementary Numerical
    Analysis: An Algorithmic Approach". McGraw-Hill Book Co.. New York,
    1972, p 241 and following.
(12) A. Buchs, A. B. Oelflm, A. M. Outfield. C. Djerassl, B. Q.  Buchanan. E. A.
    Felgenbaum. and J. Ledarberg. H»V. CMn. Ada. S3,1394 (1970).
(13) R. E. Carhart, D. H. Smith, H. Brown, and C. Djerassi. J. Am. Cnem. Sac.,
    97, S75S (197S).
(14) R. G. Dromey, B. Q. Buchanan. 0. H. Smith. J. Lederberg. and C. Djerassi.
    J. Org. Cnem., 46,  770 (197S).
RECEIVED for review September 15,1975. Accepted April 30,
1976. This work was supported by grants (Nos. RR-612 and
GM-20832) from the National Institutes of Health and (No.
NGR-05-020-632) from the National Aeronautics and Space
Administration.
                                                       158

-------
                                    TECHNICAL REPORT DATA
                             (Please read Instructions on the reverse before completing)
          2-79-194
                                                            3. RECIPIENT'S ACCESSION-NO.
J4. TITLE AND SUBTITLE


  COMPUTER  PROGRAM FOR  REDUCING MASS SPECTRA DATA
  FROM GC/MS SYSTEMS
                                                            5. REPORT DATE
                                                             October 1979
                                                            6. PERFORMING ORGANIZATION CODE
|7. AUTHORIS)

  D. Rosenthal
                                                            8. PERFORMING ORGANIZATION REPORT NO.
|9. PERFORMING ORGANIZATION NAME AND ADDRESS

  Research  Triangle Institute
  P.O. Box  12194'
  Research  Triangle Park,  N.C.   27709
                                                            10. PROGRAM ELEMENT NO.
                                                              1AD712   BD-014    (FY - 78)
                                                            11. CONTRACT/GRANT NO.
                                                              68-02-2745
 J12, SPONSORING AGENCY NAME AND ADDRESS   ~~
   Environmental! Sciences Research Laboratory -RIP.NC
   Office of Research  and Development
   U.S.  Environmental  Protection Agencv
   Research Triangle Park. N.C.  2771V	
                                                            13. TYPE OF REPORT AND PERIOD COVERED
                                                              Final  9/77 - 3/79
                                                            14. SPONSORING AGENCY CODE
                                                              EPA/600/09
 |15. SUPPLEMENTARY NOTES
 116. ABSTRACT
         Existing computer programs for  deconvoluting mass spectrometry data derived
    from gas chromatography/mass spectrometry/computer systems were  evaluated, and the
    most efficient method was introduced unto an EPA UNIVAC computer.   The program choser
    was that reported  by Rindfleisch and his co-workers at Stanford  University.  The
    accompanying program listing is included.  The Rindfleisch program was tested with
    both standard runs and environmental samples.  Sample components were successfully
    identified by an  independent computer search program with an  accuracy approaching
    80%.
                                 KEY WORDS AND DOCUMENT ANALYSIS
                   DESCRIPTORS
                                                b. IDENTIFIERS/OPEN ENDED TERMS  C.  COSATI Field/Group
    Air pollution
   *Computer system  programs
   *Data reduction
   *Mass spectra
    Gas chromatography
    Mass spectroscopy
                                                                                138
                                                                                098
                                                                                20H
                                                                                07D
  13. DISTRIBUTION STATEMENT


    RELEASE TO PUBLIC


   -•••MMi^«MMMMMM»«BM"WI
  EPA Form 2220-1 (9-73)
                                                19. SECURITY CLASS (ThisRep.
                                                  UNCLASSIFIED	
169
                                               20. SECURITY CLASS (Thispage)

                                                  UNCLASSIFlf

                                              159
                                                                          22. PRICE

-------