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
------- |