905R84110
5658
STANDARD OPERATING PROCEDURE FOR THE GC/MS
DETERMINATION OF VOLATILE ORGANIC COMPOUNDS
COLLECTED ON TENAX
Automated Data Processing
Selected Substances, Quantitative (LOOKS)
All Substances, Qualitative (SEEK1)
Quality Control
R. E. Berkley, J. E. Bumgarner, D. J. Driscoll
C. M. Morris, and L. H. Wright
Environmental Monitoring Division
Environmental Monitoring Systems Laboratory
U. S. Environmental Protection Agency
Research Triangle Park, North Carolina 27711
ENVIRONMENTAL MONITORING SYSTEMS LABORATORY
OFFICE OF RESEARCH AND DEVELOPMENT
U. S. ENVIRONMENTAL PROTECTION AGENCY
RESEARCH TRIANGLE PARK, NORTH CAROLINA 27711
U.S. Environmental Protection Agency
Region V, Library *
230 South Dearborn Street *
Chicago, Illinois €0604
-------
Environmental Protection* Agency
-------
EMSL/RTP-SOP-EMD-021
June 27, 1984
Revision 0
This document contains 162 pages.
STANDARD OPERATING PROCEDURE FOR THE GC/MS DETERMINATION OF
VOLATILE ORGANIC COMPOUNDS COLLECTED ON TENAX
Automated Data Processing
Selected Substances, Quantitative (LOOKS)
All Substances, Qualitative (SEEK1)
Quality Control
DISCLAIMER
This Standard Operating Procedure (SOP) has been reviewed in accordance
with the U. S. Environmental Protection Agency's peer review and administra-
tive review policies. The SOP is a statement of a procedure used within the
Environmental Monitoring Systems Laboratory/RTP on the approval date, is
subject to revision, and must not be construed as an EPA-approved procedure
generally applicable to the activities of other organizations. Mention of
trade names or commercial products does not constitute endorsement or recom-
mendation for use.
R. E. Berkley, J. E. Bumgarner, D. J. Driscoll
C. M. Morris, and L. H. Wright
APPROVALS:
11-
1 .-
J. F? Walling — Chief, PA>
-------
-------
CONTENTS
1. Operating Characteristics 1
1.1 Principle and applicability 1
1.2 Range and limit of detection 1
1.3 Interferences 1
1.4 Accuracy and precision 1
2. Apparatus and Materials 2
2.1 Apparatus 2
2.2 Reagents 3
2.3 Instrument configuration 4
3. Operating Procedure 8
3.1 Method of operation 8
3.2 Initial start-up procedure 9
3.3 Daily operation 12
3.4 Data processing 20
4. Quality Assurance 38
4.1 Instrument tuning and standardization 38
4.2 Calibration for quantitative analysis 38
4.3 Daily QA check and analytical run sequence 38
4.4 Corrective actions 41
4.5 Data and record keeping 42
4.6 Routine maintenance 43
4.7 Troubleshooting 43
5. Supplemental Programs 45
5.1 Qualitative Survey 45
References 48
Appendices
A. Listing of Procedure ZERO 49
B. Listing of Procedure TXSTND 50
C. Listing of Procedure TXACQU 51
D. Listing of Procedure LOOK9 52
E. Listing of Supplemental Procedures 59
F. Listing of Program LWQUANE 61
G. Listing of Program MATH 86
H. Listing of Procedure SEEK1 99
I. Listing of Program LWRPRT 101
J. Listing of Program MEPR 118
K. Listing of Program RLQC 130
L. Listing of Program GROB 145
M. Listing of Procedure GROB 157
N. Letter of Permission from Finnigan MAT 159
iii
-------
SECTION 1
OPERATING CHARACTERISTICS
1.1 PRINCIPLE AND APPLICABILITY
Trace organic contaminants in air are collected on Tenax GC porous
polymer. This procedure consists of thermal desorption and analysis of
adsorbed material. Compounds are separated into fractions by high resolu-
tion, capillary column, gas chromatography and analyzed by low resolution,
electron impact, mass spectrometry. Computer assisted data reduction is
used to identify and quantitate selected compounds. This procedure has
been written for the Finnigan 4023 gas chromatograph/mass spectrometer/
computer system and may not be directly applicable to other instruments."
1.2 RANGE AND LIMIT OF DETECTION
Both range and limit of detection depend strongly on the properties of
individual compounds. Specific directions and cautions are given in Sec-
tion 3.4. Absolute limits of detection may vary from 0.1 nanogram (ng) to
about 50 ng. Extreme curvature of the calibration plot may begin at levels
as low as 1000 ng and must be determined for each compound.
1.3 INTERFERENCES
Chemical interferences may occur when contaminating organic compounds
are present in the sorbent bed. This may result from inadequate prepara-
tion of Tenax cartridges, excessive storage duration, or poor sample han-
dling practices by laboratory or field personnel. Artifacts may form
during sampling, storage, or desorption but little is known about this
process. Incomplete chromatographic separation should be indicated by
interpretive parameters. (See Section 3.4.5)
1.4 ACCURACY AND PRECISION
Accuracy is unknown. Precision depends greatly on the substance and
method of introduction. Direct gas injections typically are repeatable to
± 20% at a 300 ng level. Repeatability of thermal desorptions may be ± 30%
at a 300 ng level.
-------
SECTION 2
APPARATUS AND MATERIALS
2.1 APPARATUS
2.1.1 Sampling
Equipment and procedures are specified in related operating procedure
EMSL/RTP-SOP-EMD-018.
2.1.2 Analysis
A. Finnigan #4021 quadrupole mass spectrometer equipped with a 9610_
gas chromatograph and an Incos data system.
B. Printronix impact line printer.
C. NuTech Model 320 thermal desorption unit.
D. Tylan mass flow controllers with digital readout box.
E. Stopwatch.
F. Neslab Model 75 recirculating cooler.
G. Oewar flasks.
H. Scientific Glass Engineering Co. 50-m Pyrex wall coated open
tubular column with 0.5 mm bore, coated with 0.8-um layer of SE-30 silicone
gum rubber.
I. Valco zero dead volume tee.
J. Thirty centimeters of 0.5-mm ID nickel transfer line (coated with
1% OV-17 solution) leading from the thermal desorption unit to the zero
volume tee.
K. Five centimeters of 0.5-mm ID nickel transfer line (coated with
13> OV-17 solution) leading from the direct injection port to the zero dead
volume tee.
L. Fifty-four centimeters of 0.5-mm ID glass-lined stainless steel
transfer line leading from the capillary column to the ion source inlet of
the mass spectrometer.
-------
M. Helium leak detector.
N. Valco zero dead volume fittings.
0. Swagelok fittings.
P. Graphite and vespel ferrules of appropriate sizes.
Q. Copper tubing for helium and nitrogen lines into the system.
R. Soap-bubble flowmeter.
S. Rotameter — Range 0-15 ml/min.
T. Tenax GC cartridges.
U. Hamilton gas-tight syringes of various volumes (10 to 1000 pi)-
V. Forceps.
W. Cotton pad measuring 15 x 5 x 1 cm, with taped ends.
X. Grob-type injection port available through commercial sources.
Y. Heating tape.
Z. Variable voltage transformer (120 volt input, 140 volt output).
AA. Pressure regulators for gas cylinders.
BB. Whitey 3-way valves.
CC. Iron-constantan thermocouple with temperature readout.
2.2 REAGENTS
WARNING
All substances discussed in this procedure are hazardous.
Inhalation and contact.with all of them must be avoided.
Medical monitoring of personnel must be conducted and all
special operating procedures must be observed.
A. Helium (high purity).
B. Nitrogen (from laboratory utility line).
C. Compressed air (dry grade).
D. Liquid nitrogen (commercial grade).
E. Perfluorotributylamine (FC-43) for standardization compound.
3
-------
F. Chemicals for the preparation of Grob-type mixtures and calibra-
tion standards.
G. Ethylene glycol (commercial grade).
2.3 INSTRUMENT CONFIGURATION
Schematic diagrams of instrument arrangements are shown in Figures 1
through 3.
-------
0)
-C I
U I
LO
c
o ••
•f- en
•u S-
Q. O)
J. -M
O , J
0> »— 3
:*: a) 4J
.^
u -o
• -r- O)
wi ^- i
>»^. V)
I/I "O (/I
C «3
C <0 i—
O C7>
u ««r«.
C •(-> S-
•f-
O) -C r-
U I
•4J i— VO
IB
t/1 (O O
0)
01
-------
"1
•r
c
o
o
Q.
s_
-------
m'
c
o
u
IT
9
s-
OJ
jQ
O
>
OJ
(O
•o
(J
•M
-------
SECTION 3
OPERATING PROCEDURE
3.1 METHOD OF OPERATION
3.1.1 Introduction of Samples
Two methods are used to introduce samples into the GC/MS, thermal
desorption and direct injection.
Thermal desorption is accomplished by heating a Tenax GC cartridge
while purging it with a helium stream. Desorbed material from the car-
tridge is freeze-trapped at liquid nitrogen temperature in a nickel capil-
lary tube. This trap is subsequently switched into the gas chromatograph
carrier stream and heated. The sample passes via a heated transfer line
into a capillary gas chromatograph column.
Direct injection through a septum into a Grob-type injection port is
done with a gas-tight microsyringe. The injection port is run in "split-
less" mode. The sample passes via a heated transfer line into a capillary
gas chromatograph column.
3.1.2 Cryofocusing
The sample is freeze-trapped at the head of the chromatograph column.
A short length of the column is cooled to -196°C, so that condensable
material entering the column freezes onto the walls. When cooling is
discontinued, the cold section rapidly warms to oven temperature, so that
the sample begins passage through the column in a very narrow band. This
procedure is used to counter the effect of dead volume in the thermal
desorption unit and the effect of slow syringe injection of large gas-phase
samples.
3.1.3 Sample Component Separation
Individual chemical compounds in the sample are separated during
passage through the capillary gas chromatographic column so that they enter
the detector individually or as mixtures of at most two or three compounds.
3.1.4 Detection
Components pass from the gas chromatographic column directly into the
ion source chamber of the quadrupole mass spectrometer, where they are bom-
barded with electrons emitted from a hot filament. The neutral molecules
8
-------
are ionized to form various products, including positive ions. The posi-
tive ions are electrically extracted from the ion source and injected into
the quadrupole mass filter, where they separate according to mass. The
quadrupole mass filter consists of four parallel rods. Opposite rods are
connected to radio frequency (r.f.) and direct current (d.c.) voltages, one
pair of rods being 180° out of phase with the other. Only ions of one
particular mass-to-charge ratio value can pass down the center of the field
for a particular value of r.f. and d.c. voltages. A mass spectrum is
obtained by sweeping the voltages from a low value to a high value at a
constant r.f./d.c. ratio (See Millard, 1979; Paul and Steinwedel, 1953).
From chromatographic retention times, mass/charge ratios, and relative
abundances of the ions the identities of the chemical compounds present in
the ion source are inferred. From absolute intensities of selected ions
the amount of each compound present can be estimated.
3.1.5 Data Processing
Data are processed automatically by computer.
Acquisition
<•
Ion current scans are acquired under computer control and stored in
digital form on a magnetic disk, pending retrieval and further processing.
Reporting
Software routines of the Incos data system are used to retrieve data
stored on disk and to reconstruct mass spectra, total-ion-current chromato-
grams, and single-ion chromatograms. Software routines are used to search
chromatograms for peaks having retention times corresponding to preselected
compounds of interest. Individual mass spectra from the selected chromato-
graphic peaks are compared with a library of mass-spectral data to estab-
lish the identity of the compound. Peak areas from single-ion chromato-
grams are compared with calibration data to determine the total amount of
each compound present.
Inspection
The resulting computer generated reports are examined manually for
apparent errors.
3.2 INITIAL START-UP PROCEDURE
3.2.1 Gas Supply
A. Turn on power to Tylan mass-flow controllers.
B. Turn on helium and set line pressure to 60 psig.
C. Turn on compressed air and set line pressure to 40 psig.
D. Turn on nitrogen. (Line pressure is 30 psig.)
9
-------
E. Adjust the mass-flow controllers to suitable flow rates. The
following readings are typical:
Carrier flow through thermal desorption unit 1.2 ml/min
Carrier through injector 1.2 ml/min
Injector septum purge 2.6 ml/min
Thermal desorption unit purge 10 ml/min
Air and nitrogen flow rates are not controlled.
3.2.2 Cooling System for Diffusion Pumps
Turn on the recirculating water cooler and adjust the 50% ethylene
glycol/water coolant temperature to 18°C.
3.2.3 Mass Spectrometer Vacuum System
A. Turn on the master power switch.
B. Activate the vacuum system. (Finnigan 4000 Operator's Manual,
pages 2-19 to 2-20).
C. Set manifold temperature to 105 ± 5°C.
D. Set ionizer temperature to 260°C.
3.2.4 Gas Chromatograph
Turn on the master power switch for the chromatograph.
Enter the following parameters in the GC microprocessor.
Injector temperature 200°C
Detector B temperature 200°C
(Transfer line from GC to MS)
Maximum oven temperature 245°C
Initial column temperature . 30°C
Initial hold time 0.1 min
Temperature program rate 4.0°C/min
Final column temperature 240°C
Final hold time ' 0.1 min
(Procedures for inserting parameters in the GC microprocessor are
discussed on pages 2-10 through 2-16 of the Finnigan 9610 Gas Chromatograph
Operator's Manual.)
3.2.5 Thermal Desorption Unit
CAUTION
If the desorption unit is newly installed or the flow
system has been exposed to air, the temperature must
10
-------
be raised to the set points in 30°C increments and the
valve rotated at the end of each increment. Otherwise
the valve may seize.
A. Set all vernier dials to zero.
B. Turn on the power to the thermal desorption unit.
C. See caution above. Set the following temperatures for the block,
trap, and transfer line on the vernier dials on the control box:
Block 270°C
Trap 190°C
Line 210°C
Attach a thermocouple to the transfer line in the chromatograph oven
and wrap it with heater tape. Connect a variable voltage transformer and
set it to obtain a temperature of 150 to 170°C.
CAUTION
When oven temperature reaches 150°C, the variable
transformer must be switched off or the transfer
lines may overheat and strip off the OV-17 coating.
3.2.6 Incos Data System
A. Turn on master power.
B. Load a clean disk and turn on the disk drive. (Refer to Incos
MS/OS Manual, Section 2.2.4.)
C. Bootstrap the computer. (Refer to Incos MS/OS Manual, Section
2.1.)
D. Turn on the terminals.
E. Turn on the line printer.
F. Set the data system internal clock (Incos MS/OS Operator's Manual
Section 3.2.3).
G. Start the MS/DS interface scanning (Incos MS/DS Operator's Manual
Section 3.2.2).
H. Check system parameters via Incos data system. To do this, type
[(SYST CR)]. ( is the "return key.) The following parameters should
be duplicated:
11
-------
Interface Number 0
Sub-Interface 0
2nd Acqu Interface -1
Sub-Interface -1
Number of Acqu Buffers 16
Instrument Type 0
Full Scale Mass 1024
Zero Scale Mass 1
Intensity/Ion 2
Acquisition Direction UP
Samples/Peak-Centroid 10
Samples/Peak-Fragment 10
Peak Width (MMU) 1000
Offset at Low Mass (MMU) 0
Offset at High Mass (MMU) 0
Voltage Settling Time (MS) 4
Mass Parameters:
Minimum Peak Width 1
Min Frag Width as % Peak Width 80
Baseline to Subtract 0
Minimum Area After Merge 1
Merge Tol As % Peak Width 80
Area Tol (Delta Sqrt Area) 20
Align Tol as % Peak Width 80
Max # of Peaks to Read 2000
Mass Def at 100 AMU (MMU) O*1
Noise Rej for Enha (0-4 S.D.) 2
Tail Rej for Enha.Cl = None) 0
Bkgnd Multiplier in Add 1.000
Add or Average in Add Add
3.3 DAILY OPERATION
3.3.1 Daily Start-Up
A. Check thermal desorption unit temperatures.
B. Check the data system. Turn on terminals. Turn off disk-drive
protection. . .
C. Check the data system internal clock. Reset if necessary. The
clock must always be reset after bootstrapping the data system.
D. Start the MS/OS interface scanning, if necessary. Scanning must
always be restarted after bootstrapping the data system. The scan param-
eters are as follows:
** Parameters marked with asterisk are not standard and must be reset after
bootstrapping.
12
-------
Acquisition Direction Up_
Mass Range (AMU) Low (35) High (320)
Scan Time (Seconds) Up (1.95) Down (0.00)
Hold Time (Seconds) Top (0.00) Bottom (0.05)
E. Turn on the mass spectrometer filament, electron multiplier, and
oscilloscope. Switch the ionizer mode from vent to EI/DIR. Turn on the
PPINICI accessory, if present.
F. Set the following parameters:
Mass Spectrometer:
Ionizer Mode EI/DIR
Preamp Sensitivity 10-7
Emission Current -0.45
Electron Multiplier Voltage 1000 to 1500
(as indicated by tuning
characteristics)
Electron Energy 70.0 EV
Mass Filter 10 AMU/SEC ~-
Filter X100
Total Ion Current Sensitivity 1
Resolution Normal
Display TIC
Response Fast
Data System: parameters for automated zero, calibration, and acquisi-
tion procedures are entered as follows:
Procedure ZERO: (Refer to Appendix A for software)
Number of Scans 200
Mass Range 50-350
Scan Rate 1.95 sec
(The zero scans are displayed on the terminal in groups of 50.)
Procedure TXSTND: (Refer to Appendix B for software)
Number of Scans 30
Mass Range 35-650
Scan Rate 1.95 sec
(The standardization diagnostics are displayed on the terminal after
the acquisition. )
Procedure TXACQU: (Refer to Appendix C for software)
Mode Centroid Positive Ion
Minimum Peak Width 1
13
-------
A/D Threshold 1
Minimum Fragment Width 80%
Baseline 0
Minimum Area 0
Peak Width 1000
Number of Scans 4500
Mass Range 35-320
Scan Rate 0.8 sec
(The reconstructed gas chromatograph and mass spectral acquisition is
displayed on the terminal in 250-scan increments. These procedures are
programs contained in the Incos Data System software.)
3.3.2 Procedure for Zeroing the Mass Spectrometer
A. Switch the scope mode to "Data System."
B. Run automatic procedure "Zero." To do this, type [Zero ].
("" is the "return" key.)
C. Adjust the fine preamp sensitivity dial until one or two noise
spikes per scan show up on the terminal display. At the end of this proce-
dure, the data system will display a "map" of 50 scans. A hard copy of
"Zero" may be obtained at this time by typing [H].
3.3.3 Procedure for Tuning^ the Mass Spectrometer
A. Switch the scope mode to "single."
B. Set the scope sensitivity to 0.5 volt/division.
C. Switch the scope display to "split."
D. Center mass 69 in the left half of the screen, and mass 219 in
the right half. This is done using the mass marker and adjusting the
"First Mass" and "Second Mass Range" controls.
E. Introduce the standardization gas (FC-43) into the source by
depressing the "Cal Gas" button and opening the calibration gas metering
valve about m turns. Approximately the same ionizer forepressure reading
should be used from day to day; this reading will vary from instrument to
instrument.
F. Adjust the peak width at the base to about 1 cm for both the 69
and 219 peaks with the first mass and second mass range controls.
G. Adjust the five lens controls, the "Quad Offset" controls, and
the "Offset Program" controls for optimum peak amplitude and peak shape.
Although these seven controls have primary functions, they are interdepen-
dent. Quad offset, Lens 1, and Lens 2 are primarily responsible for peak
shape. The offset program raises the quadrupole offset voltage ramp for
the higher masses. Lenses 3, 4, and 5 primarily influence the amplitude of
14
-------
the peaks. The ion source must be tuned by making small adjustments to
these seven controls to obtain the best combination of peak shape and
amplitude. The peak shape should be as close to Gaussian as possible
without being adjusted past the point where the edge of- the peak begins to
lift off the base line.
H. Adjust the "Quad Offset" and "Offset Program" controls so that
the M/Z 219 peak is approximately 25% of the height of the M/Z 69 peak.
The height of the M/Z 69 peak may be reduced by turning the quad offset
knob counterclockwise, and the height of the M/Z 219 peak may be increased
by turning the offset program knob clockwise. These adjustments are made
concurrently.
I. Remove FC-43 from the source by releasing the "Cal Gas" button.
Switch off the split scope display.
CAUTION
An apparently satisfactory tune may be achieved in an
unstable region. If this occurs instrument response
will not remain constant over several days. The stabi-
lity of the tune should be checked prior to the start
of each instrument calibration by directly injecting
3 standards of the same concentration each day, once
early A.M., noon, and late P.M., for 3 consecutive work
days. Any data from these injections deviating more
than ± 20% from the mean or showing a definite trend
in one direction indicates that the tune is unstable.
3.3.4 Procedure for Standardizing the Mass Spectrometer
A. Switch scope to "Data System."
B. Reintroduce FC-43 into the source. Adjust the ionizer forepres-
sure to standard values.
C. To run automatic procedure "TXSTND," .type [TXSTNO Filename ].
"Filename" is any combination of numbers and letters. There can be as few
as one or as many as eleven alphanumeric characters in a filename. It
identifies the calibration file that is created for future retrieval and
use.
D. If the standardization is acceptable, remove the FC-43 from the
source by releasing the "Cal Gas" button and turning off the metering
valve. The criteria for an acceptable standardization are as follows:
Diagnostics:
Base Peak Fit < 15
Mass Range < 50 to £ 414
Projection Error (MMU) < +75 to > -75
Fit Error (MMU) < 1.5%
15
-------
Typical standardization Table:
Total Ion Intensity or RIC (80,000 ± 10%)
% Relative Ion
Key Mass Abundance Intensity
51 1.75 ± 10% 700 ± 10%
69 100 Absolute 40000 ± 10%
100 12.0 ± 10% 5400 ± 10%
119 12.0 ± 10% 5400 ± 10%
131 35.0 ± 10% 13800 ± 10%
169 3.0 ± 10% 1360 ± 10%
219 24.0 ± 10% 9000 ± 10%
264 3.7 ± 10% 1600 ± 10%
314 0.25 ± 10% 100 ± 10%
The ± 10% acceptable variability in the values listed in the standard-
ization table is based on instrument stability studies. It is not practi-
cal to force all the values closer than ± 10%. Variance up to ± 10% has
minimal effect on the reproducibility of data. Because tuning variables
are interdependent, one can spend prodigious amounts of time trying to
reduce variance further. If the standardization is rejected because of
total ion intensity, it can probably be corrected by slight adjustment of
the "calibration" gas metering valve, followed by restandardization. If
standardization is rejected because of the diagnostics, the percent rela-
tive abundances, or the ion intensities, the instrument must be retuned and
restandardized. If the standardization is accepted, scan #20 is automati-
cally used by the data system as the standardization table for that day. A
hard copy of the table may be obtained by typing [LIST filename/H]. If
it is necessary to change a data disk before the end of the day, this table
must be copied to the new disk. (Refer to Incos MS/DS Manual , Section
3.7.1.)
3.3.5 Procedure for the Introduction of a Sample by Thermal Desorption from
a Tenax GC Field Sampling Cartridge
A. Type [STAT]. Ascertain from the displayed list that disk 0
in the data system has enough room for the data acquisition. Allow about
4000 sectors for most samples. (See Page 22 of the MS/DS Operator's Manual
for the procedure for changing disks.)
B. Enter Method 1 containing GC operating parameters on the GC
microprocessor.
C. Type [ACQU] on the terminal. This will display the informa-
tion log for the previous sample and prompt "ACQU." Type [A]. The
terminal will display prompts in the following order (see 10.6.3 for for-
matting):
SAMPLE ( ): Type submitter's sample identification
CONDITIONS ( ): Type [TENAX]
16
-------
FORMULA ( ): Type []
MOLECULAR WEIGHT (0.0000): Type in [ ] air volume in cubic meters .
(This is a nonstandard use, specific to custom
software.)
SUBMITTED BY ( ): Type submitting organization's name
ACCOUNT NO ( ): Type in account number if appropriate
ANALYST ( ): Type operator's initials
At this point, the terminal will display the new information and
prompt "ACQU." Type [K]. This will keep this information in the log
through the next and all subsequent acquisitions until it is changed by the
above procedure. Exit from ACQU by typing [E].
D. Type [TXACQU Filename] on the terminal, but do not press .
("Filename" is the name of the data file for sample identification.)
E. Enter the sample information and filename in the GC/MS logbook.
F. Switch the thermal desorption trap from heat to cool and turn on
the nitrogen flow. Submerge the external copper coil in a 1iquid-nitrogen-
filled Dewar flask and cool to a reading of approximately -150°C. The,;
liquid nitrogen will need periodic replenishing.
G. Spike Tenax cartridge with 100 pi of the PFT-FIB internal stand-
ard mixture.
H. Cool the GC oven to 30°C. This temperature can be maintained by
leaving the oven door open.
I. With the valve on the desorption unit set to desorb, carefully
insert the Tenax cartridge into the desorption chamber with forceps, close
the chamber, and start the stopwatch. Do not handle the cartridge with
bare hands. Desorb for a total of eight minutes.
J. After six minutes, soak the cotton pad in liquid nitrogen for 40
sec and carefully wrap it around the head of the capillary column, securing
it with a paper clip.
K. At eight minutes, turn the valve on the desorption unit quickly
. from desorb to inject, switch the trap from cool to heat, turn off the
nitrogen flow, and press the "Start Run" key on the GC microprocessor
simultaneously with the key on the data-system terminal. This starts
the GC temperature program and the data acquisition.
L. Press the "column display" key on the GC microprocessor, and when
the reading reaches 38°C (after two minutes), remove the cotton pad and
close the GC oven door.
M. The trap temperature on the digital readout will overshoot zero
by about 25°C. At this time, turn the thermal desorption unit valve back
to desorb and remove the Tenax cartridge.
17
-------
N. At the end of the run, the GC will recycle and cool to 30°C, and
the data acquisition will stop automatically after 4500 scans have been
acquired.
0. The analysis may be stopped before 4500 scans by pressing the
"stop run" key on the GC microprocessor. The data acquisition may then be
stopped by typing [D] on the data system terminal and then typing
[ESTOP].
P. Repeat this procedure for each Tenax cartridge to be analyzed.
3.3.6 Procedure for Introduction of a Sample by Direct Injection
A. Type [STAT]. Ascertain from the displayed list on the termi-
nal that disk 0 has enough room for the data acquisition. Allow about 4000
sectors for most samples.
B. Enter Method 1 on the GC microprocessor.
C. Type [ACQU] on the terminal. This will display the informa-
tion log for the previous sample and prompt "ACQU." Type [A]. The
terminal will display prompts in the fol-1 owing order:
SAMPLE ( ): Type submitter's sample identification
CONDITIONS ( ): Type [Direct Injection ]
FORMULA ( ): Type []
MOLECULAR WEIGHT (0.000): Type the equivalent volume of sample injected
. The "equivalent volume" is the number
of microliters of vapor from a 6 microliter
static dilution bottle that would give the
same size sample.
SUBMITTED BY ( ): Type submitting organization's name
ACCOUNT NO ( ): Type in account number if appropriate
ANALYST ( ): Type operator's initials
At this point, the terminal will display the new information and
prompt "ACQU." Type [K]. This will keep this information in the log
through the next and all subsequent acquisitions until changed by the above
procedure. Exit from ACQU by typing [E].
D. Type [TXACQU filename] on the terminal, but do not press .
("filename" is the name of the data file for sample identification).
E. Enter the sample information and filename in the GC/MS logbook.
F. Cool the GC oven to 30°C. This temperature can be maintained by
keeping the oven door open.
G. Soak the cotton pad in liquid nitrogen for 40 sec and carefully
wrap it around the head of the capillary column, securing it with a paper
clip.
18
-------
H. After cooling the column head for forty seconds inject the vapor
sample with a gas-tight syringe through the Grob-type injector.
CAUTION
Samples must be injected slowly (10 to 30 sec, depend*
ing on sample size), or splitting of peaks may occur.
Immediately after injection is completed, remove the syringe from the
injection port and press the "Start Run" key on the GC microprocessor
simultaneously with the key on the data system terminal. This starts
the GC temperature program and data acquisition.
I. Press the "column display" key on the GC microprocessor, and when
the display reaches 38°C (after two minutes) remove the cotton pad and
close the GC oven door.
J. At the end of the run, the GC will recycle and cool to 30°C, and
the data acquisition will terminate automatically after 4500 scans have
been acquired.
K. The analysis may be stopped before 4500 scans by pressing the
"stop run" key on the GC microprocessor. Data acquisition is then stopped
manually by typing [D] on the data system terminal and then typing
[ESTOP].
L. Repeat this procedure for each direct injection.
3.3.7 Overnight Shutdown Procedure
A. Turn off filament.
B. Turn off scope.
C. Turn off electron multiplier.
D. Turn off PPINICI accessory, if present.
E. Switch ionizer mode from EI/DIR to vent.
F. Leave GC oven door open.
G. Enter "Max Temp" 50 on the GC microprocessor.
H. Turn off terminal.
I. Turn on cartridge protection on each disk drive.
19
-------
3.4 DATA PROCESSING
3.4.1 Principle
Data from GC/MS runs are normally processed by the GC/MS data system
(DS) in an automated procedure which locates the compounds of interest in
the data set, quantifies those compounds for which calibration data are
available, and prints a two part report. The first section, e.g., Figure 4
presents the quantification parameters and results for those compounds
present and quantifiable. The second part, a summary report, e.g., Figure
5, lists those compounds which were searched for in the sample, indicates
which ones were not found, prints the identifying characteristics and
quantification results for those which were found, and presents comments
for the operator's benefit, such as the criteria which caused a peak to be
rejected or the center scan for any search which failed. The information
in the report is also saved in a DS file for archival storage and DS trans-
fer purposes.
3.4.2 Automated DS Procedure
Use of the various DS commands is described in Sections III and V of,
"Finnigan/Incos Operators Manual," Finnigan Instruments, San Jose, CA,
(1978). An extended discussion of the methods of calculation used by the
DS is found in the Sections 6 and 7 of the "MSDS System Reference" portion
of the same manual. The procedural language commands used are presented in
Appendices D and E of this SOP.
The library referenced in the following paragraphs is a DS file com-
posed of one entry for each compound of interest. For each entry, the
library contains the compound name, its mass spectrum from the EPA/NIH Mass
Spectral Data Base, its absolute retention time, and its retention time
relative to perfluorotoluene (PFT), an internal standard, as determined
from authentic standards. Response lists (RL) are compound specific DS
files containing the quantitative calibration data for each of the target
compounds. The MSDS procedure LOOK9 requires that the first library entry
be a dummy.
The parameters purity, fit, and rfit are obtained through vector
comparisons of experimentally obtained spectra with the library spectra.
For a detailed explanation of these parameters see Sokolow (1978).
The automated procedure attempts to locate chromatographic peaks
corresponding to target compounds by a reverse library search using the
following criteria:
Scan window:
for internal standards: ± 100 scans from library scan number
for single compounds: ± 20 scans from the calculated scan
for isomer groups: -20 and +20 scans from the calculated
scans for the earliest and latest elut-
ing members of the group, respectively
20
-------
QUANTATIT1ON REPORT
-------
LWRPRT REV 48 4/16/84
PROJECT:
SAMPLE ID. BIG 37
AIR VOL 50 00000 DATE REC'D. DATE RUN: O4/10/B4 DATA FILE 84II27B
NO COMPOUND
ION SCAN DET LIM NORM PUR FIT R- F/P R/P AMOUNT CONC AMOUNT/
(NO RRT ITY FIT (NO (UG/M3) DET LIM
1 434.-64-0 PERFLUOROTOLUENE (INT STD)
217 444 1.25 J.QO 846 929 850 1.10 1.00 212.44 0.OO47S 16* 609
2 348-32-7 1-FLUORO-2-IODO BENZENE (INT. STD.)
222 13*2 1.60 0.98 959 993 959 1 04 1.00 252 66 0. OOS55 157 427
3 71-55-6 BENZENE
78 477 0.09 1.00 992 999 992 l.Ol 1.00 118 16 0 00286 1294 B«b
4 1076-43-3 HEXADEUTEROBENZENE (SPIKE)
NOT FOUND
5 108-88-3 METHYLBENZENE
91 661 0 05 0.99 966 995 966 1 03 1 00 117 69 0 00285 2198 440
6 2037-26-3 OCTADEUTEROMETHYLBENZENE (SPIKE)
NOT FOUND
7 95-47-6 1,2-DIMETHYLBENZENE
106 972 0 04 0 98 938 990 944 1.06 1.01 118 51 0 00287 26o4 750
B 108-67-8 1-3.S-TRIMETHYLBENZENE
NOT FOUND
9 100-41-4 ETHYLBENZENE
91 889 0 04 0 98 965 1000 965 1.04 .4. OO 120.82 0. OO292 3016 920
10 100-42-5 ETHENYLBENZENE
104 960 0. 05 0 98 970 996 97O 1. 03 1. 00 125 51 0. OO301 2754 20C
11 98-82-8 (1-METHYLETHYL) BENZENE
NOT FOUND
(continued)
Figure 5. Example of quantitation report.
22
-------
Figure 5 (continued)
AMOUNT CONC AMOUNT/
(NO (UG/M3) DET LIM
NO COMPOUND
ION SCAN DET LIM NORM PUR FIT R- F/P R/P
(NO RRT ITY FIT
12 104-51-8 BUTYLBENZENE
NOT FOUND
13 99-87-6 l-METHYL-4-
-------
Peak identification: peak %-width g 5 scans, purity £ 200,
fit 2 700.
Peak selection: the scan list is partitioned in order of
increasing distance from the center of
the scan window, except for isomer groups.
The automated procedure begins by attempting to locate the two inter-
nal standards, PFT and fluoro-2-iodobenzene (FIB). If the early eluting
standard, PFT, is not located a warning message is printed and the proce-
dure is terminated. If only the late eluting internal standard is not
found, the procedure uses the scan number calculated from the library
retention time for this standard as a default value.
Alternatively, the operator may specify scan numbers for the internal
standards and then initiate the remainder of the automated procedure.
The procedure cycles through the compounds in the library list attempt-
ing to locate each compound in turn. The center scan of the search window
is calculated by the following algorithm:
a>"(Lx - Lj|)/(Lb - Lft)
If L S L S L then:
a x b
Else if L < L then:
x a
Else (l_x > Lb):
Cx - Ta * (Tb ' T,
C = T + L - L
x a x a
C = T. f L - L
x b x b
where: T = experimentally determined retention time
L = retention time from the GC/MS spectral library
C = calculated retention time
a references the early eluting internal standard
b references the late eluting internal standard
x references the target compound
For isomer groups, the above calculation is performed for both the
earliest and the latest eluting members of the group.
If one or more peaks are identified in the search for a target com-
pound, the resulting scan list is partitioned to order the scans in increas-
ing distance from the center of the search window. The mass spectra in the
partitioned list are sequentially compared to the library entry for the
target compound in order to obtain the mass weighted purity, fit and rfit.
The following ratio ranges are tested.
Fit/purity > 0.99, < 1.30
Rf it/purity > 0.99, < 1.05
If rfit/purity passes but fit/purity exceeds 1.29 the spectrum is
enhanced, reprocessed through the library comparison, and tested against
the above criteria.
24
-------
If the mass spectrum at the peak maximum passes either of the above
tests, the procedure attempts to quantify the peak. If the target Is a
single compound, only the first peak to pass the qualitative criteria is
processed further. If the target is an isomer group, all peaks detected by
the search are processed through the qualitative filters and all that pass
these filters are quantified.
If no peaks are found by the search or pass through the qualitative
filters, a "not found" entry is placed in the report.
NOTE: The normalized relative retention time criteria, nrrt = (T /T )
X Q
(L /L ) > 0.95, < 1.05, used in an earlier version of this SOP
X cl
(EMSL/RTP-SOP-EMD-014) has been superseded by the narrower re-
tention time windows used in LOOK9.
The failure of a peak to satisfy these criteria does not necessarily
prove the absence of the compound in the sample. Interfering compounds or
low levels of the compound of interest may cause the test values to fall
outside of the acceptance range. It is also possible to obtain acceptable
values for fit/purity and rfit/purity, but have a questionable identifica- -
tion. If the absence of a particular compound is of crucial importance and
the OS procedure fails to locate the compound, or for any compound which
has a fit, purity, or rfit less than 700, manual inspection of the data by
a person skilled in the interpretation of GC/MS data is necessary for
confirmation.
Peak quantification. The procedure attempts to quantify peaks which
have been qualitatively identified. Quantification is based on integration
of the extracted ion current profile (EICP) of a quantisation mass or ion
for the compound. This mass has been previously selected for each compound
based on its spectral uniqueness, intensity, and lack of potential inter-
ferences from known coeluting compounds. Currently used masses are listed
in Table 1. The EICP is computer constructed and integrated under the
following constraints:
Scan window: ± 30 scans from the qualitatively iden-
tified scan-
Baseline: determined over a ± 20 scan window and
subtracted from the profile
EICP peak criteria: £ 5 consecutive scans with height > 10 x
noise
Peak top: must be the maximum over a ± 3 scan range
and lie within ± 2 scans of the maximum
of the qualitative peak
Integration end point: the intercept of the peak and a line 5 x
noise above the baseline
For those peaks which pass the integration criteria the compound name,
quantitation mass, scan number at peak maximum, retention time, and inte-
gated peak area are entered in the quantitation report.
25
-------
Reduction of quantitation data. Conversion of the integrated peak
areas from the quantitation report into weight and concentration units is
accompli shed-by the PAB/EMD/EMSL/RTP program LWQUANE. The weight of each
compound found is calculated from the peak area via a quadratic equation.
Coefficients for the quadratic are derived for each compound by least
squares fit of the data in its response list (cf. 3.4.5). Any quantities
less than the limit of detection, in excess of the maximum of the calibra-
tion curve, or above the upper limit of the calibration range are not
reported as numerical values.
Calculation of weight from peak area is accomplished by assuming a
convex curve and applying the equation:
x = (- b + sqrt[b*b - 4c(a - y)])/ 2c
where:
x = weight in ng
y = peak area
a,b,c = coefficients of the quadratic equation in order of
increasing powers of x ^
From these data the limit of detection is also obtained. It is defined
as:
1 = a + 3.3 s
where:
1 = limit of detection for the compound
a = intercept from the quadratic equation
s = standard deviation of the lowest concentration measurements
Calculation of concentration is via the equation:
m = 1000 * x / v
where:
m = concentration of the compound in ug per cubic meter
v - volume of air sampled in cubic meters.
3.4.3 Automated Procedure Software
In addition to the standard MSDS software (Version 3.1 01/79 Rev C)
provided with the OS, the LOOK9 procedures listed in Appendix D, and the
supplemental procedures listed in Appendix E, the following files must be
stored on one of the OS discs. The # in the "Q#" designations is a number
referencing a particular instrument and data system, for which retention
and response parameters are uniquely determined.
26
-------
Filename
LIBRARYQ0.LX
LIBRARYQ*.LS
LIBRARYQC.LX
LIBRARYQC.LS
QC.LL
MEPR.MS
Rev 29
1/19/84
RESP.MS
MATH.MS
Rev 45
5/30/84
LWRPRT.MS
Rev 50
5/02/84
LWQUANE.MS
Rev 106
4/16/84
Contents
Two files which together constitute the target compound
library. Contains the EPA/NBS mass spectra, experimentally
determined retention time, and quantitation mass for each
compound.
A library list of LIBRARYQ* entries in the sequence used
for output. The first and second entries must be the early
and late eluting internal standards, respectively. Next are
entries for compounds which are analyzed on an individual
basis. This group is terminated by a reference to library
entry number 1. The remaining entries are paired references
to the earliest and latest eluting members of isomer groups.
The library name of the latter entry in each pair is used in
the reports.
Library files identical to LIBRARYQ# except for references
to the Internal standard. Used to maintain quality control
response lists.
Library list pointing to the LIBRARYQC entries for the
internal standards and compounds used in the daily calibra-
tion quality control analyses.
A PAB/EMD/EMSL/RTP program which creates method and proce-
dure files from an argument string and STAT variables.
Version of RESP taken from a later (6/80) release of MSDS.
A PAB/EMD/EMSL/RTP program which is used to perform various
calculations and tests crucial to the operation of LOOK9.
These include the interpolation of retention times and test-
ing of qualitative criteria. (Listing provided in Appen-
dix G.)
A PAB/EMD/EMSL/RTP program which writes the qualitative por-
tion of a report file on the disk. The file is created as
"datafilename.QR." LWQUANE merges quantitative results
into the .QR file. LWRPRT also reports the information in
the QR file in several different formats. The QR files are
suitable for archival storage of reduced data and for trans-
mission of data to other computer systems via magnetic tape.
PAB/EMD/EMSL/RTP version of the Finnigan QUAN program, per-
forms many of the functions of QUAN and some functions not
available with QUAN, also formats the output differently.
This program appends the quantitative information to the
report file. (List provided in Appendix F.)
27
-------
Filename Contents
RLQC.MS PAB/EMD/EMSL program which performs quality control analyses
Rev 29 on response lists,- including the generation of quality con-
3/21/84 trol charts and summary reports.
GROB.MS PAB/EMD/EMSL program which performs resolution, peak assyme-
Rev 32 try factor, and acidity/basicity calculations on CHR0.99
6/84 files obtained from GC/MS analyses of Grob capillary column
test mixtures.
LIBRARYXX.LS A single entry library which contains the compound "NO
LIBRARYXX.LX LIBRARY MATCH." Used by the SEEK procedures.
LIBRARYGR.LS Data system specific library for the Grob mixture compounds.
LIBRARYGR.LX
GR.LL Library list which points to the LIBRARYGR entries in the
sequence required by GROB.PR.
3.4.4 Operational Procedures for LOOK9
The automated data processing routine may be initiated for either a
single data file or for a series of data files. With the procedures and
the appropriate data and calibration table files stored on one of the OS
discs and the OS operating under MSDS, the steps to initiate automatic
processing of a single file are:
A. Enter the data filename into STAT variable $1.
B. Enter the calibration filename into STAT variable $2.
C. Set library list, STAT variable 6, to Q# where # is the
number of the instrument in use.
D. Enter the command sequence "LOOK9;LOOK9R."
To permit operator definition of the internal standard scan number
execute 3.4.4, A through C, then follow these steps:
E. Enter the command "LOOK9X" and respond to the program
prompts.
F. Enter the command "LOOK9R" to generate the report.
To process a series of data files:
G. Create a NAMELIST of the desired files.
H. Enter the NAMELIST filename in STAT variable $5 and set STAT
variable !5 to 0.
28
-------
I. Execute 3.4.4 B and C.
J. Enter the command sequence "LOOK9L; SETN; LOOK9V."
•
To process a series of data files with operator defined internal
standard scan numbers:
K. Execute 3.4.4 F, G, B, and C.
L. Create a scan list "LOOKSTDSX. SL" with two entries per
namelist entry. The entries should be PFT scan for first namelist file,
FIB scan for first namelist file, etc.
M. Enter the command sequence "LOOK9Y;SETN;LOOK9V."
To process a data file for quality control purposes:
N. Execute 3.4.4 A and B.
0. Enter the command "LOOK9Q."*
*NOTE: LOOK9Q uses QC.LL and LIBRARYQC. It temporarily prefixes the
data filename with a "Q." The .QL file generated by this pro-
cedure will have a "Q" prefixed to the normal filename.
3.4.5 Calibration
Prior to initiating a calibration all old RL's referencing the tar-
get compound library and the quality control library, LIBRARYQC, must be
deleted. A response list (RL) file is prepared for each of the compounds
of interest using mixtures of authentic samples of the compounds at multi-
ple concentration levels. Preparation of the calibration mixtures is
described in EMSL/RTP-SOP-EMO-011 and -019. If a static dilution bottle
(SOB) is employed, three bottles of differing composition must be used to
obtain the lowest levels. Each calibration mixture should contain the
internal standards. Figures 6 and 7 display the large range of quantita-
tion available by withdrawals of various sizes from a single SOB. Over a
three-day period a minimum of one analysis per concentration level per day
is performed. Data are acquired as directed in Section 3.3.6.
The calibration files are processed as directed in Section 3.4.4,
except that in step C, a library list referencing only those compounds in
the calibration mixture is used.
The quantitation lists (QL) obtained through LOOK9 are converted into
RL's from which the calibration curves are obtained. The procedures listed
in Appendix E are used to facilitate the necessary editing and file manipu-
lation.
First, the QL's are edited to delete any erroneous entries. Any
compounds missed by the automated procedure are located and entered into
the appropriate lists. The procedure LWSEAR is used to insure that the
29
-------
quantitation parallels that used by the automated procedure, LOOK9. If an
Individual compound at a particular concentration level falls the F/P
criteria and if concentration levels above and below pass the F/P criteria,
then it is valid to manually extract the area for the missing data and
append this value to the QL file (cf. Section 3.4.5).
The first entry in all QL files must be an entry for PFT with area.
If it is not LWQUANE will not insert data from the QL into the RL files.
If necessary, lower concentrations of PFT are integrated using the "manual"
integration commands under CHRO. Since only the mid-range concentration of
PFT is actually used for quality control purposes, this interference with
the limit of detection calculation is not significant.
Response lists are generated from the corrected QL's. If a namelist
containing the data files to be processed is created, then LWMKRL may be
used to automatically append entries to the appropriate RL's. LWRLDP may
then be used to create hard copies of the retention times and calibration
curves produced by the RL data. These graphs should be carefully inspected
and any obvious mistakes corrected. Further editing of the RL files is
necessary to terminate the upper end of the calibration curve within the
linear range and to eliminate flyers attributable to bad injections and
"not found" entries at the lower end of the curve.
If most of the compounds in a QL generate data points beyond the two
sigma boundaries of the calibration curve, that injection may be regarded
as a flyer. All points from that sample may be deleted from the RL's. It
is not valid to eliminate individual entries on this basis while leaving
others from the same sample.
For each RL, starting with the lowest concentration level, delete all
entries for each concentration level until a level is reached at which
there is at least one non-zero entry.
The calibration curves used by the quantitation program result from a
least squares fit to a quadratic equation. With some compounds a point is
reached at the upper end of the calibration range where the curve becomes
decidedly non-linear. Although LWQUANE will not quantify data beyond the
maximum of the quadratic curve, the curve should be terminated before it
enters the non-linear region. This may be done by visually inspecting the
RL plots and arbitrarily choosing a termination point or by applying the
following equation:
m = [-25*(b + 2*c*500) -b]/(2*b)
where:
b & c - coefficients from the quadratic equation
m = maximum concentration considered valid
The equation sets the cutoff at a concentration where the slope has degen-
erated to 25% of its value at 500 ng, an amount at which the curves have
30
-------
experimentally been found to be linear. Either by inspection or by calcu-
lation, all entries in the RL corresponding to amounts in excess of the
cutoff value are deleted from the RL.
Finally, the data in the RL's are used to update the absolute and
relative retention times in LIBRARYQl to the average values obtained during
calibration. LWRTUP is used to automate this process. For those compounds
which are included in isomer groups, the individual RL's are inspected for
similarity. Either the most representative RL may be assigned to the
library entry for the latest eluting compound, or the RL's may be combined.
A library entry is created in LIBRARYQ* with a compound name indicating the
compounds in the group, and the group RL is associated with this library
entry.
During the calibration process the data base for future quality con-
trol is also generated. This requires a second user library, LIBRARYQC,
and a library list, QC, which points to those entries in LIBRARYQC which
are used for quality control. Note that under this specification each
instrument's quality control samples must be processed on that instrument's
DS and a dual acquisition OS setup is prohibited.
Those calibration samples at the 50-ul level and the quality control
samples (cf. 4.3.1) acquired during the calibration period are processed
using LOOK9Q as described in Section 3.4.4 N and 0. This represents a
second processing for the 50-ul calibration samples. For this process the
base command in LOOK9 (e.g., "83,2,84" in LOOK9P.PR in Appendix D) should
be deleted. When the calibration is complete the base command should be
replaced and specify the last date of the calibration process. The quality
control response lists, QC#####.RL should contain at least 10 entries to
provide reasonable statistics. If this is not the case, incorporate the
next successive quality control samples until this minimum is reached, and
update the base data in LOOK9Q accordingly.
3.4.6 Calibration Data Processing Procedures
To search for and quantify a specific compound:
A. Enter the data filename into STAT variable list position $1.
8. Enter the calibration filename into STAT variable $2.
C. Set the library specifier, STAT variable 4, to the appropri-
ate library and library entry number.
D. Enter the command "LWSEAR".
E. Position the display by means of the "D" command so that
only the target compound is labeled if it is found.
1. If the target compound is found enter the command "E".
2. If the compound is not found enter "control-Z" followed
by "Z".
31
-------
To append quantitation data to a RL:
F. Repeat 3.4.6 A and B.
G. Enter the QL filename in STAT variable $8.
H. Enter the commands "QUAN(E);RUN LWQUANE(I;D;M-l;>j,k,-l;E)"
where "j" and "k" are the numbers of the first and last QL entries to be
appended to RL's.
To append the quantitation data from a series of files to the appro-
priate RL's:
I. Create a name list of the files whose QL's are to be pro-
cessed. Enter the name!1st filename in STAT variable $5.
J. Enter the command "LWMKRL".
To hardcopy a series of RL's, and the retention time and calibration
curves generated from them:
K. Enter the filename of a library list containing the library
entries whose RL's are to be processed in STAT variable $6 and set STAT
variable !6 to 0.
L. Enter the command "LWRLDP".
To update the library retention time and relative retention time
entries for a series of compounds:
M. Enter the filename of a library list containing the library
entries to be updated in STAT variable $6 and set STAT variable !6 to 0.
N. Enter the command "LWRTUP".
To move PFT into the first position in a QL from a later position:
0. Enter EDQL data file, TEMP .
P. Delete all entries but PFT.
Q. Enter the commands "W;I".
R. Delete the PFT entry.
S. Enter the commands "A;E".
T. Rename TEMP.QL to the data filename by:
"EDQL TEMP, data file (W;E)."
32
-------
TABLE 1
COMPOUNDS IDENTIFIED AND QUANTIFIED BY AUTOMATED GC/MS DS PROCEDURE
WITH TYPICAL DETECTION LIMITS
COMPOUND
QUANTITATION
MASS (m/z)
DETECTION LIMITS
(ng)
perfluorotoluene (internal standard)
l-fluoro-2-iodo benzene (int. std.)
benzene
methyl benzene
1,2- dimethyl benzene
1,3, 5- trimethyl benzene
ethyl benzene
ethenyl benzene
(1-methyl ethyl) benzene
butyl benzene
1-methyl -4- (1-methyl ethyl ) benzene
chlorobenzene
bromobenzene
1,2-di chlorobenzene
1-ethenyl -4-chl orobenzene
tri chl oromethane
tetrachl oromethane
bromochl oromethane
bromotri chl oromethane
di bromomethane
tri bromome thane
1,1-di chl oroethane
1,2-di chl oroethane
1,1, 1-tri chl oroethane
1 , 1 ,2- tri chl oroethane
1,1,1, 2- tetrachl oroethane
1,1,2, 2-tetrachl oroethane
pentachl oroethane
217
222
78
91
106
120
91
104
105
91
119
112
156
146
138
83
82
130
163
174
171
63
62
99
85
131
83
167
0.3
1.6
2.6
2.0
0.5
2.5
1.6
1.7
1.1
0.7
4.0
1.7
14.1
12.4
2.0
2.7
2.1
2.1
1.6
4.5
8.5
5.7
3.8
1.7
2.1
0.9
6.5
1.8
(continued)
33
-------
TABLE 1 (continued)
COMPOUND
QUANTITATION
MASS (m/z)
DETECTION LIMITS
(ng)
1,1-dichloroethene
trichloroethene
tetrachl oroethene
bromoethane
1,2-dibromoethane
1-chl oropropane
2-chloropropane
1,2-dichl oropropane
1,3-dichl oropropane
1, 2, 3- trichl oropropane
l-bromo-3-chl oropropane
3-chloro-l-propene
1,2-dibromopropane
2-chlorobutane
1 , 3-di chl orobutane
1-4-di chl orobutane
2-3-di chl orobutane
l,4-dichloro-2-butane(cis)
3 ,4-di chl oro-1-butane
tetrahydrofuran
1,4-dioxane
1-chl oro-2 , 3-epoxypropane
2-chl oroethoxyethene
benzaldehyde
1-pheny 1 ethanone
benzonitrile
ISOMER GROUPS
1,3- & OR 1,4-dimethylbenzene
1,2- & OR 1,3-dichlorobenzene
2- & OR 3- & OR 4-chloro-l-methyl benzene
96
132
166
108
107
42
43
63
76
75
158
41
121
57
55
55
90
75
75
72
88
57
63
77
105
103
106
146
126
16.9
0.8
2.6
7.8
3.3
1.7
3.4
4.0
9.6
34.7
1.6
1.6
14.4
3.5
0.5
8.2
5.1
21.9
6.5
1.2
3.9
18.1
18.2
5.9
2.9
1.3
0.5
1.3
0.5
34
-------
CALIBRATION SAMPLE SIZES FROM A SDB INJECTED WITH
6 MICROLITERS OF LIQUID PER COMPOUND
COMPOUND
2-CHLOROPROPANE
1,1-DICHLOROETHENE
BROMOETHANE
1-CHLOROPROPANE
BROMOCHLOROMETHANE
TRICHLOROETHANE
TETRAHYDROFURAN
PERFLUOROTOLUENE
1,2-DICHLOROETHANE
1,1,1-TRICHLOROETHANE
BENZENE
TETRACHLOROMETHANE
DIBROMOMETHANE
1,2-DICHLOROPROPANE
TRICHLOROETHENE
1,1,2-TRICHLOROETHANE
2,3-DICHLOROBUTANE
1,3-DICHLOROBENZENE
1,3-CHLOROMETHYLBENZENE
1,3-DIMETHYLBENZENE
VOLUME
10
25
OF VAPOR
50
ALIQUOT (MICROLITERS)
100
250
500
750
(NANOGRAMS DELIVERED)
25
35
42
26
57
43
26
48
36
38
25
46
71
33
42
41
32
37
31
25
62
87
105
64
143
107
64
119
89
96
63
114
178
83
105
103
80
93
77
62
124
174
210
128
286
214
128
239
178
192
126
229
356
166
210
206
160
185
154
124
247
348
420
256
572
429
255
477
355
384
253
458
712
332
420
412
320
370
308
248
618
870
1050
640
1430
1287
638
1192
888
960
632
1145
1780
830
1050
1030
800
926
770
621
1236
1740
2100
1280
2860
2574
1275
2385
1775
1920
1265
2290
3560
1660
2100
2060
1600
1851
1540
1242
1860
2610
3150
192^
4290
3210
1920
3570
2670
2880
1890
3435
5340
2490
3150
3090
2400
2776
2310
1863
(continued)
Figure 6. Calibration sample sizes from an SDB injected with
6 ul of liquid per compound. Nanograms delivered.
35
-------
Figure 6 (continued)
COMPOUND
BROMOTRICHLOROMETHANE
METHYLBENZENE
1,3-DICHLOROPROPANE
1,2-DIBROMOETHANE
TETRACHLOROETHENE
CHLOROBENZENE
1,2-DIBROMOPROPANE
ETHYLBENZENE
TRIBROMOMETHANE
ETHENYLBENZENE
1,2-DIMETHYLBENZENE
1,1,2.2-TETRACHLOROETHANE
BROMOBENZENE
BENZALDEHYDE
PENTACHLOROETHANE
l-BROMO-3-CHLOROPROPANE
l-FLUORO-2-IODOBENZENE
VOLUME
10
25
OF VAPOR ALIQUOT (MICROLITERS)
50
100
250
500
750
(NANOGRAMS DELIVERED)
58
25
34
63
47
32
56
25
83
26
13
46
43
30
48
42
55
144
62
86
157
116
80
139
62
208
65
63
114
108
75
121
106
137
289
125
171
313
233
159
278
125
415
130
127
228
215
150
242
212
273
578
249
342
626
466
318
556
249
830
261
253
456
430
300
483
424
547
1445
623
855
1565
1165
795
1390
623
2075
652
633
1140
1075
750
1208
1060
1366
2890
1245
1716
3130
2330
1590
2780
1245
4150
1305
1265
2280
2150
1500
2415
2120
2733
4335
1875
2565
4695
3495,
2385
4170
1875
6225
1950
1905
3420
3225
2250
3630
3180
4100
36
-------
CALIBRATION SAMPLE SIZES FROM A SDB INJECTED WITH
4 MICROLITERS OF LIQUID PER COMPOUND
VOLUME OF VAPOR ALIQUOT (MICROLITERS)
10 25 50 100 250
(NANOGRAMS DELIVERED)
COMPOUND
1,3,5-TRIMETHYLBENZENE
1-METHYLETHYL BENZENE
BUTYL BENZENE
l-METHYL-4-(1-METHYLETHYL) BENZENE
1,4-DICHLOROBENZENE
l-ETHENYL-4-CHLOROBENZENE
1,1-DICHLOROETHANE
1,1,1,2-TETRACHLOROETHANE
1,2,3-TRICHLOROPROPANE
3-CHLORO-l-PROPENE
2-CHLOROBUTANE
1,3-DICHLOROBUTANE
1,4-DICHLOROBUTANE
1.4-DICHLORO-2-BUTENE (cis)
3,4-DICHLORO-l-BUTENE
1,4-DIOXANE
1-CHLORO-2.3-EPOXYPROPANE
2-CHLOROETHOXYETHENE
1-PHENYLETHANONE
BENZONITRILE
1,2-DICHLOROBENZENE
1,4-CHLOROMETHYLBENZENE
1,2-CHLOROMETHYLBENZENE
1,4-DIMETHYLBENZENE
l-FLUORO-2-IODOBENZENE
PERFLUOROTOLUENE
Figure 7. Calibration sample sizes from a SDB injected with
4 ul of liquid per compound. Nanograms delivered.
500
17
17
16
16
24
22
23
30
27
18
17
'21
22
23
22
27
23
20
20
19
25
20
21
17
36
32
41
41
41
41
59
55
56
74
67
45
42
53
55
57
55
68
57
50
49
48
63
51
52
42
91
80
83
83
82
82
119
111
113
148
133
90
84
107
109
114
110
136
113
100
99
97
125
102
104
83
182
159
166
166
165
165
238
221
225
295
266
180
167
214
219
228
220
272
227
201
197
194
250
204
208
166
364
318
414
414
412
412
594
553
564
738
665
450
418
535
547
569
551
681
567
502
493
484
626
512
519
416
911
795
828
828
824
824
1189
1107
1127
1476
13 Si"
900
836
1069
1093
1138
1102
1361
1133
1004
987
968
1251
1025
1037
832
1822
1590
37
-------
SECTION 4
QUALITY ASSURANCE
4.1 INSTRUMENT TUNING AND STANDARDIZATION
Refer to sections 3.3.3 and 3.3.4. These procedures serve to monitor
ion-source performance character1?sties over time. Permanent records of
this information are maintained in the laboratory. Criteria presented in
sections 3.3.3 and 3.3.4 were derived from performance histories of mass
spectrometers located in EMSL/RTP.
4.2 CALIBRATION FOR QUANTITATIVE ANALYSIS
Refer to quantitative analysis calibration procedures in section
3.4.6. If quantitative responses in area counts of the daily external
standard mixture fall outside control limits or show a seven-day trend
above or below the established mean on the control chart, the original
calibration curve must be checked. Standards from an SDB must be injected
at a minimum of three concentration levels, roughly spanning the range of
the calibration curve. If any value generated by the calibration check
deviates by more than ± 30% from that predicted by the original calibra-
tion, a new calibration must be performed.
CAUTION
Each mass spectrometer source must be individually
calibrated. Replacement of source parts or elec-
tron multipliers may necessitate recalibration.
4.3 DAILY QA CHECK AND ANALYTICAL RUN SEQUENCE
4.3.1 External Standard Mixture
An SDB is prepared as described in EMSL/RTP-SOP-EMD-011 and -019. It
contains all compounds listed in Figure 6. One 50-ul injection is made at
the beginning of each day and serves to check mass spectrometer quantita-
tive response. This data file is processed by LOOK9Q as described in 3.4.4
N and 0 to generate the quality control summary report. If an operator
error biases the results of the quantitation, the data entries in the
QC#####.RL's must be deleted and the quality control injection repeated.
Retention times are greatly influenced by cryofocusing technique. On an
intermittent basis, where the cause can be traced to an operator error,
retention time errors may be ignored, but the reason should be logged by
the operator at run time. Frequent retention time control or warning
38
-------
messages indicate a system failure and cannot be ignored. Errors resulting
in "WARNING" or "OUT OF CONTROL" messages in the summary report should be
verified by display of the appropriate control charts using RLQC. The dis-
play options available under RLQC are detailed in the OS file EXPLRLQC.OS.
A listing of this file precedes the FORTRAN listing of RLQC in Appendix K.
Unexplainable retention time failures require recalibration of the
retention times for all target compounds. Failure of peak area criteria
requires a detailed test described under 4.2. The following statistics are
typical for the summation of total nanograms derived from the external
standard analysis over a 36-day period at EMSL/RTP.
N = 27
Spike level = 6738 ng
Mean response = 6517 ng
Standard deviation = ± 325 ng
% RSO = ± 4%
4.3.2 Grob Mixture
•
One Grob-type mixture is directly injected every other day as a check
of gas chromatographic column performance. Initially this mixture was
spiked by flash vaporization onto Tenax cartridges, however, it was felt
that the results generated by this procedure were being biased by the Tenax
cartridge and did not accurately reflect column performance. The procedure
was changed to correct this deficiency. The new procedure involves prepar-
ing an equimolar mixture containing the following compounds in methanol.
The dilution factor in methanol is 1 part in 1800.
1 Ethyl benzene
2 0-Xylene
3 Acetophenone
4 2-Nonanone
5 Dimethylani1ine
6 Dimethyl phenol
From this solution a 10 M! liquid syringe is filled to the 1 pi mark
and the plunger depressed. The volume remaining in the needle is directly
injected into the GC. The quantitative portion of the Grob cited in EMSL/
RTP-SOP-EMD-014, February 28, 1983, Revision 1, has been dropped from use.
Qualitative GC column performance check
Data manipulations to obtain performance measures are defined in A-D.
A. Resolution: (2dW)/(Wl + W2) = * 2.5
dW = difference in retention times between
ethyl benzene and 0-xylene
Wl and W2 = average width of the peaks
measured at the base
39
-------
B. % Peak asymmetry factor (PAF):
% PAF = 100 X B/F
70 < (% PAF for acetophenone) < 120
70 < (% PAF for 2-nonanone) < 120
B = area of back half of peak
F = area of front half of peak measured
at 10% above baseline
C. Acidity test (AT):
AT = PAWB/PAA = 1.0 ± 10%
PAWB = Peak area for dimethyl aniline
PAA = Peak area for acetophenone
D. Basicity test (BT):
BT = PAWA/PAA = 1.0 ± 10%
PAWA = Peak area for dimethylphenol
PAA = Peak area for acetophenone
The limits presented above for the acidity and basicity tests may not
be obtainable in commercially available WCOT columns. Care must be exer-
cised if attempting to run acidic or basic components on columns falling..
outside the stated limits.
These calculations are performed automatically by the procedure GROB.
PR (cf. Appendix M). To operate this procedure:
A. Enter the data filename into STAT variable $1.
B. Enter the calibration filename into STAT variable $2.
C. Enter the command "GROB".
CAUTION
Limits are two standard deviations above and below
the mean. Subsequent data must fall within the
control limits. If a seven-day trend above or below
the mean appears or the points begin to fall outside
the control limits, the calibration is checked as
described in Section 4.2. Data are stored on tape
and may be used to replot the chart whenever new
data are added.
4.3.3 Perfluorotoluene (PFT) and Fluoro-2-iodobenzene (FIB) Internal Spike
Each sample cartridge is quantitatively spiked with 100 ul of (PFT)
and (FIB) taken from a 6 ul static dilution bottle. PFT serves to check
the efficiency of material transfer. The following statistics were gener-
ated from data during analyses performed over a 36-day period at EMSL/RTP.
40
-------
N = 254
Spike level = 477 ng (PFT)
Mean response . = 467 ng
Standard deviation = ±40 ng
% RSO = ±8%
Responses to (FIB) were not checked. Response to the PFT spike must be
consistent within ± 20%.
4.3.4 Tenax Blank Cartridge Check
One unused Tenax cartridge (not a field blank) should be run during
each analytical study as a check on cartridge background contribution.
4.4 CORRECTIVE ACTIONS
4.4.1 Failure of External Standard Mixture to Meet Criteria
A. Repeat injection.
B. Check SOB and syringe.
C. Check septum.
D. Check system for leaks.
E. Check temperature zones.
F. Check electron multiplier (pages 1-42 and 1-43 of the Finnigan
Maintenance Manual).
G. Check continuity of lens leads (pages 4-12 to 4-13 of the Finni-
gan 4000 Operator's Manual).
H. Call service representative.
4.4.2 Failure to Meet Grob Mixture Criteria for Column Performance
A. Repeat injection.
B. Check for leaks.
C. Check temperature zones.
0. Replace column.
41
-------
4.4.3 Failure to Respond to Expected Level to PFT Internal Standard
A. Direct injection of PFT from SDB.
B. Check system for leaks.
C. Check heated zones.
D. Check multiplier.
E. Call service representative.
4.5 DATA AND RECORD KEEPING
4.5.1 Sample Logbook
The following information is recorded in the sample logbook:
A. File name.
B. Sample description.
C. Mode of sample introduction.
D. Name of analyst.
E. Comments.
F. Date of analysis.
G. Data storage information (tape or disk #).
4.5.2 Tape Logbook
The following information is recorded in a computer tape logbook:
A. Tape #.
B. Tape file #.
C. Sample file name.
4.5.3 Standardization Logbook
This book contains printouts of all instrument standardization tables.
4.5.4 Service and Maintenance Logbook
This book contains dated records of all service and maintenance per-
formed on the mass spectrometers and data systems.
42
-------
4.5.5 Quality Control Charts
The following parameters should be maintained in the form of quality
control charts on.each instrument:
A. External Standard (summation of total nanograms).
B. (PFT) Internal Standard (nanograms).
C. Grob parameters.
4.6 ROUTINE MAINTENANCE
Each day the entire system is checked for leaks. The ion source and
rods are cleaned, and the cooling system and the data-system filters are
changed as required to maintain optimum instrument performance. The proce-
dure for changing the data system filter is given in Section 3.5 of the
Incos Data System Service Manual. The procedures for changing the cooling-
system filter and cleaning the ion source and rods are given in the Finni-
gan 4000 Operator's Manual on the following pages:
Changing cooling system filter pages 4-40 to 4-41
Cleaning ion source pages 4-6 to 4-16
Cleaning rods pages 4-17 to 4-20
The vacuum-pump oil is changed as required. For this procedure, see
pages 1-39 to 1-41 of the Finnigan 4000 Maintenance Manual. After every
loss of vacuum due to power failure or routine maintenance, the system is
baked out, the RF is retuned, and the resolution and sensitivity are
adjusted to the manufacturer's specifications. These procedures are given
in the Finnigan 4000 Operator's Manual on the following pages:
RF tuning pages 4-26 to 4-27
Resolution and sensitivity pages 4-27 to 4-34
Bakeout pages 4-40
4.7 TROUBLESHOOTING
The thermal desorption unit purge is monitored by a rotameter. A
decrease in the flow may indicate a leak in the unit, which must be found
and corrected. In EI/DIR mode with no calibration gas or sample in the
source, the manifold pressure is approximately 3.8 x 10-6 Torr. An in-
crease in this pressure may indicate a leak in the vacuum system. This
must be found and corrected. A substantial decrease in manifold pressure
may indicate a septum leak. The septum must be changed. Complete loss of
mass spectrometer sensitivity indicates an open or shorted filament. The
procedure for replacing a filament is given on pages 4-6 to 4-16 of the
Operator's Manual. A gradual loss of mass spectrometer sensitivity indi-
cates either a dirty source and rods or a dirty electron multiplier. The
procedure for cleaning and/or replacing the electron multiplier is given on
pages 4-20 to 4-24 of the Operator's Manual. Flashing digital readouts on
the mass spectrometer console indicate loss of vacuum in the source. The
43
-------
procedure for evacuating the source is given on page 3-42 of the Operator's
Manual.
44
-------
SECTION 5
SUPPLEMENTAL PROGRAMS
5.1 QUALITATIVE SURVEY
5.1.1 Principle and Applicability
To provide a qualitative survey of unknown compounds eluted from the
Tenax cartridges a procedural language program, SEEK1, has been developed.
The differences between LOOKS and SEEK1 are notable, especially in the
manner In which peaks are located. The restrictions placed on the qualita-
tive Identification of compound by SEEK1 parallel as closely as possible,
those used by LOOKS. However, the results obtained via this procedure are'
much more tenuous than those obtained with LOOKS due to the absence of the
additional chromatographic criteria.
SEEK1, like LOOKS, generates a QR file. In order to prevent the
possible destruction of a LOOKS generated QR file SEEK1 first appends an
"S" prefix to the sample TI and TX files. The procedure develops a scan
list of significant Mass spectra in the GC/MS data file using the Biller-
Biemann type peak finding algorithm of the MSDS MAP program. The following
restrictions are applied to the search:
Mass range: 35-320 m/z
Minimum Intensity: 256 counts
Range for local maxima: ± 2 scans
Minimum peaks/scan: 3
Noise rejection: 3 standard deviations
The mass spectra referenced by the scan 11st are then individually
enhanced and subjected to a forward library search against the NBS-EPA Mass
Spectral Library stored in the OS. The best fit from this search is sub-
jected to the same fit/purity and rfit/purity tests as are used in LOOK9.
If the library comparison passes these tests the scan number, qualitative
parameters, and library entry name are passed to a .QR file. If no satis-
factory library match can be found the scan number and a "not found" entry
are passed to the QR file. When all entries in the scan list have been
searched against the library a report is hardcopied. The original data
filename 1s then restored, leaving a QR file with an "S" prefixed to the
original filename.
An example of SEEK1 output is presented in Figure 8. A listing of
SEEK1 1s provided in Appendix H. In addition to the standard MSDS pro-
grams, SEEK1 requires several of the programs described in 3.4.3 and
LIBRARYXX whose first and only entry has the name "NO LIBRARY MATCH."
45
-------
U. S. ENVIRONMENTAL PROTECTION AGENCY
EHSL/EMD/PAB. RTP. NC 27711
The following list presents tht results of a qualitative analysis of
vapor phase organic* which have been trapped on Tenax CC and subsequently
thermally desorbed and analyzed by combined gas chromatography/ mass
spectrometry (CC/MS).
The identifications are produced by an automated data processing
routine in which CC peaks are located by a modified Biller-Biemann
algorithm The centroid mats spectrum from each peak it background corrected
and tested against the data system's library of standard spectra by vector
comparison method*. The only compounds which this procedure can test for
identity are those which have a molecular weight less than 321 and whose
mass spectra are contained in the EPA/NIH data base supported by
Finnigan/INCOS USDS Rev. 3. 1, 3/79 159409 mast spectra).
Each identification must have a "fit" of at least 70O (99? is a
perfect match) If more than one library spectrum passes this criterion, the
entry with the largest fit is chosen. The CAS number, name, and vector
comparison parameters purity, fit, and rfit are reported for the entry The
ratios fit/punty (F/P) and rfit/purity. (F/P) are then calculated If these
ratios fall outside ranges which have been found to be acceptable under much
more rigorous conditions it it noted in the report. Failure of R/P should be
interpreted as a misidentification, failure of F/P may result from either
mi s identificat ion or from interference by a coeluting compound
While precautions have been taken to insure that identifications
made by this procedure are reasonable, in the absence of additional evidence
the presence of the listed compounds mutt be regarded as presumptive but not
confirmed. Misidentification between chemical itomert it possible
Identification by this method does not distinguish between artifacts
*t"i atmospheric constituents.
Failure of this procedure to identify a compound does not prove the
absence of that compound as as atmospheric constituent.
LWRPRT REV 48 4/16/84
PPO.'SCT
SAMPLE ID BIG 37
AIR VOL.90 00000 DATE REC'D DATE RUN 04/10/84 DATA FILE 84II27E
NO COMF OUND
SCAN PUR FIT R- F/P R/P
1TY FIT '
1 75-2
-------
CAUTION
The disclaimer header printed by SEEK1 Is Intended to
prevent misinterpretation of the report; 1t should not
be Ignored!
5.1.2 SEEK1 Operating Procedures
The qualitative identification routine may be Initiated for either a
single data file or for a series of data files. With the procedures and
the appropriate data and calibration table files stored on one of the OS
discs and the DS operating under MSDS, the steps to Initiate automatic
processing of a single file are:
A. Enter the data filename into STAT variable $1.
B. Enter the calibration filename into STAT variable $2.
C. Enter the command "SEEK1".
To process a series of data files:
D. Enter the calibration filename Into STAT variable $2.
E. Create a NAMELIST of the desired files.
F. Enter the NAMELIST filename in STAT variable $5 and set STAT
variable ! 5 to 0.
G. Enter the command "SEEK1L".
47
-------
REFERENCES
1. Mlllard, B. J. 1979. "Quantitative Mass Spectroscopy," Hcyden & Son,
Ltd., London.
2. Paul, W. , Reinard, H. , and vonZahn, U. 1958. "Quadrupole Mass Filter
Theory." Z. Physic, Vol. 152, p. 143.
3. Sokolow, S. , Karnofsky, J. , and Gustafson, P., 1978. "The Finnigan
Library Search Program." Finnigan Application Report 2, pp 1-45.
48
-------
APPENDIX A
Listing of Procedure ZERO
C ZERO. PR 3
SCANO9; 650; 1. 99, , , 0. OS)
SET2 TENAX. CT, ACOU/0 0: ZERO
-------
WAIT
»ao
f
«r
C
Listing
of procedure TXSTNO
ERASE
rKo CH.FIT PR 3 so
-------
APPENDIX C
Listing of Procedure TXACQU
C TXACQU PR 3
SCAN (33. 320; 0. 80; ; ; 0. 05)
ACQU
MAP/C
-------
APPENDIX D
Listing of Procedure LOOK9
CLUODPROC80 OS 6/6/84
PROCEDURE LOOK, 9
AN WSDS MACRO PROCEDURE TO QUALITATIVELY IDENTIFY TARGET COMPOUNDS
IN A GC/MS DATA SET AND QUANTIFY THOSE WHICH PASS CRITERIA FOR AN
ACCEPTABLE QUALITATIVE IDENTIFICATION.
LOCK* SUPERCEDES LOOK 4. LOOK7. It LOOKS.
WRITTEN BY: LYNN H. WRI6HT * DANIEL J. DRISCOLL
EWSL/EMD/PAB MO-78
U.S. ENVIRONMENTAL PROTECTION AGENCY
RESEARCH TRIANGLE PARK. NC 27711
COMMERCIAL (919>-541-293i OR -2*38
FTS 429-2931 OR -2*38
LWOOPROC90 OS IS A TEXT FILE IN THE FORMAT REQUIRED BY
THE INCOS TEXT EDITOR (GE) MACRO "PRLOAO". WHICH IS APPENDED TO
THE £ND OF THE PILE.
TO -.ENERATE THE LOOK9 PR FILES ENTER GE FROM IDOS WITH THE
•€>LWDOP30C90 OSWALT MODE>CALT MODE:-
THEN POSITION THE CURSOR THE AT START OF THE LINE WHICH BEGINS
WITH " U2»" & ENTER HXAQA. THESE MAY BE INSERTED IN TEXT WITH GE BY
THE COMMAND "27i:ALT MODEXALT MODEJ".
USE OF STAT VARIABLES
3
10 USED TO SET UP INT STDS.
USED AS A TARGET CMPO STATUS FLAG IN LOCK9E. VALUES OF
STATIC **E TESTED IN LWRPRT TO CAUSE VARIOUS CONDITION
-ESSASES TO 3E PRINTED. NEGATIVE VALUES INDICATE THAT THE
PEAK FAILED VARIOUS QUALITATIVE TESTS. POSITIVE VALUES
PASSED THE OUAL TESTS. THE VALUES OF STATIC ARE CHOSEN SO
THAT THE ABSOLUTE VALUE OF THE NUMBER WILL HAVE SPECIFIC BITS
SET FOR VARIOUS CONDITIONS.
-1*3S4 RT BEYOND FILE LIMITS (BIT 14)
-5192 SEAR DID NOT FIND ANY PEAKS (BIT 13)
: -32. ^O PEAK FOUND BUT FAILED QUAL CRITERA
acDiTivE -32 FAILED RET TIME
-16 FAILED R/P (BIT 4>
-8 FAILED LOW F/P
-4 FAILED HIGH F/P (BIT 2)
-2 1 OR MORE MASSES SATURATED (BIT 1)
-1 ENHANCED (BIT 0)
: -0 PEAK FOUND. PASSED QUAL CRITERA
ADDITIVE 1 REQUIRED ENHANCEMENT TO PASS F/P
2 1 OR MORE MASSES SATURATED
4 PEAK INTEGRATED
52
-------
APPENDIX D (continued)
11 ARC IN INT STDS ROUTINE, LOOK95, LOCK9T, V 1ST PART Of L.OOK9C
12M3 DEFINE SEARCH WINDOW
13-19 ARGUMENTS RETURNED BY SEAR, L1BR, ETC.
USE OF LWMATH STORAGE
1 RET TIME OF 1ST INT STD (SI)
2 2ND
5 RATIO (S2-S1)/(L2-L1>
6 TEMPORARY SCRATCH
7 SATURATED MASS FLAG
8 SCRATCH IN LOOK9I
9-32 NOT USED
TEMPORARY PROCEDURES & METHODS CREATED BY LOOK?
LOCKT1 SEART1
LCOKT2 MEPRT1
LOCKT3 HATHT1, MATHT2, MATHT3
3
C LOOK9. PR LOCATE INT STDS V PROCESS DATA FILE:
ERASE,IF !21C EXIT IF NO DATA FILE 3
RUN MEPR (l.SEART I i \, D-100. 100; \ C CLEAR MATH STORAGE FILE 3
RUN LWRPRT(OE) C START A NEW REPORT 3
RUN PEPRU. MATHT1; \; Rl; T'; 56/ R3s -i -i li 1; R3; •> R6, R4; -i -; C, R2< R2; +i T\: \. W, E>
RUN MEPR(I;MATHT2; \, 100 >
RUN MEPR( li MATHT3: \; R6, ! 19) «i . Si *. *16< ' 16. Xi C; B100, 104, -16; 0; -16> X, C; *; R7, 4-; \.
£ END LOOK9A. PR 3
53
-------
APPENDIX D (continued)
C LOOK9X. PR PROCESS DATA FILE WITH
OPERATOR ENTRY OF INT STO SCAN NUMBERS 3
ERASE, IF !2U EXIT IF NO DATA FILE 3
SETS LOOKSTDS
EDSL <-;C ENTER "PFT SCAN »i FIB SCAN »>W;E 3
LOCK9A
LOOK9C
RETU
C END LOOK9X. PR 3
C LOOK9L. PR PROCESS FILES IN . NL VIA LOOK9
OETN
LOOK*
LOOP
RETU
C END LQOK9L. PR 3
t LOOK9Y. PR PROCESS A NAME LIST OF FILES
USING INT STD SCAN NUMBERS FROM LOOKSTDSX 3
CETN
LOOK9Z
LOOP
RETU
C END LOOK9Y. PR 3
C LOOK9Z. PR 3
EP-ASEi IF !21C EXIT IF NO DATA FILE 3
SETS LOOKSTDSX <9. »S, <9
SETS, SET10 IliCETSC RETRIEVE 2 SCAN ft'S LINKED TO NL 3
EDSL LCOKSTDS(-. '10; '1,W;E)C « TRANSFER TO LOOKSTDS 3
LOOK9A
LOOK9C
RETU
t END LOOK92. PR 3
54
-------
APPENDIX D (continued)
C LOOK90. PR 3
RUN MEPR< Ii MEPRTli C3; \( FILE; \; C3; \> fi \» C3 \i R/N i \; C3i Wj E>
RUN FlEPRd 'iLOOKTli tTli «li \i , Q; \; »li \i i R/N i \; • !; \j . TX> Qi \; «1> \; ; E; \;P; Ui E)
RUN flEPR < I '»LOOKT3i \iSETl Q; \i #1; \j . TI j \;W; E)
RUN MEPRU'iLOOKT2;tTli \i Q; \i*li\i . TI. i \i»li \; i R/N Qi \; »1» S» . TX/ > Si »li \i i E; \; f
FILE(K/N RLOC 99; E)
EDNL LOOKTEMPC-. «4, «6, »8i •!, W; E)C SAVE CURRENT FILENAMES 3
LOOKT1 t PROTECT CALIBRATION DATA BY RENAMING DATA FILE 3
LOCXT3
SETL QC
SET4 QC
LOOK9
SETL
--: LOOK9P
* FILES (C/N RLQC1. 99, M ;E)
* LOOKT2 t RESTORE ORIGINAL DATA FILENAME 3
SETN; 5ETN. SETA »1 C RETRIEVE ORIGINAL FILENAMES 3
CETN. SETA •!
•JETNi SETS »i
CETN
C END LOOK9Q. PR 3
C LOOK9V. PR PRINT A ML OF REPORTS J
GETN
SETO *l
LOCK9R
LOOP
RETU
C END LOOK9V PR 3
C LOOK9S PR LOOK FOR AN INT. STD 3
LOOK9T
SET 1C ONLY IF NO SCAN FOUND 3
LCOK9N
RETU
C END LOOK9S. PR 3
t LOOK9T. PR A SUB PR OF LOOK9S 3
CETL
RUN f1A7H(T'.T\, »l.«lli 100; -; »12; 200i *i »ia WiE)
LOOK9H
IF '27 t CONT IF ANYTHING FOUND 3
t PARTITION THE . SL 3
EDSL LOOKTEHP1.LOOKTEMP2 (-! 12, 79i - ! 13. 79, Wi I< -> I. 24. -> 12. 9Oi -! 13. 90. A, I; -'I,
SETS LOOKTEMP2
LOOK9F
IF !10«3C CHECK THIS ONE 3
LOOK9N
SETliC FOUND A SCAN. NO NEED FOR LIB SCAN 3
RETU LOOK9S
C END LOOK9T PR 3
55
-------
APPENDIX D (continued)
C LOOK9C. PR MAIN ROUTINE OF LOOK 3
SETS LOOKSTDS; IF *27,»1;IF »3. !27C MUST HAVE 2 STDS 3
SET10 !6C !6 SHOULD -2 IF FROM LOOK9, 0 IF FROM LOOK9X 3
SETL;CETL; SETS; CETSC RETREIVE 1ST IMT STD 3
RUN MATHC STORE TIMES IN MATH 3
SETS.CETLC 2ND INT STD 3
RUN HATH(P>T;S2;Rl;-»T';S4;R3i-j/>S9;KiE)C STORE TIMES. CALC * STORE RATIO 3
SETL !10
PRIN/L C CREATE SEARTl. ME FOR CMPD SEARCH 3
LOCX9D
LOCK*I C NOW DO THE ISOMERS 3
SDSL LOOKSTDS.LOOKSTDS <-.U.EU TRY TO PREVENT FUTURE FALSE START 3
t END LCCK7C.PR 1
C LOOK9D. PR 3
iETL
IF '4,*1C CnECK FLAG FOR START OF ISOMER ROUTINE 3
C CALC SCAN FOR CURRENT LIB ENTRY b PUT IN !1 3
RUN MATH(P;«T1;«1;20;+; »13. 40; -; »12; W. E)
LOOK9E
LOCK9N
LOOP
C END LOOK9D. PR 3
C LOOK9I.PR ISOMER EQUIVALENT OF LOOK9D3
CETL. SET'.0 ! 4; SETL
C CALC SCAN FOR 1ST ISOMER LIB ENTRY t PUT IN !1. 1ST SEAR SCAN IN !12 3
C CALC SCAN FOR LAST ISOMER LIB ENTRY .PUT LAST SEAR SCAN IN !13 3
RUN MATH(P> tTl; 20; *; »13; >4; SB; ' 10; «4; fTl;»l; 20; -; *12; R8; «M; W; E>
RUN MEPRd.SEARTl; \;D; \; ! 12; C; !13;U;E)C SEART1.ME FOR ISOflERS SEARCH 3
LDOK9J
LOOP
C END LOOK9I. PR 3
C LOOK9E. PR 3
LOOK9H
IF '27 C CONT IF ANYTHING FOUND 3
EDSL LOOKTEMP1.LOOKTEMP2 <-!12. 16;-! 13. 16* W; I; -! 1, 3; -! 12. 12i-!13. 12; A; !;-!!, 7,
SETS LOOKTEMP2
LOOK9F
RETU
C END LOOK9E. PR 3
C LOOK9J. PR MAIN ISOMERS ROUTINE. EOUIV LOOK9E 3
LOOK9H
LOOK9K
LOCK9N C NEED 1 NOT FOUND ENTRY 3
RETU
C END LOOK9J. PR 3
56
-------
APPENDIX D (continued)
t LOOK9H. PR HUNT FOR A COMPOUND 3
SET14;SET15; SET16; SET17,SET18; SET19
SETS LOOKTEMPliEDSL <-;W;E> t CLEAR THE . SL 3
SET1O >»16384 C FLAG AS OUTSIDE SCAN RANGE 3
IF #1121,!13 C CAN'T SEAR IF « OF SCANS IN FILE < LIMIT OF SEAR 3
IF '12
SET10 .»8192 C INSIDE SCAN RANGE. NOTHING FOUND 3
SEAR < I,-; V100000;M33, 320, *;U200;N<3, 200.700; tTl,E>
RETU
C END LOOK9H. PR 3
C LOOH9F. PR 3
SETS
' LOOK9C
*: IF . !10 C GOT A HIT OF SOME KIND. DON 'T FINISH THE SL 3
* LOOP
RETU
C END LOOK9F PR 3
C LOOK9K. PR CORRESPONDS TO LOQK9F 3
IF !87
«ETS LOOK9J
I.OCK9C
LOOK9N
LOOP
C END LOOK9K. PR 3
C LOOK9G. PR SCAN » SHOULD BE IN !1 UPON ENTRY 3
LIST(-2";E);SET10 (1 C TRAP FOR SATURATION 3
SETS !7. tliCETS. SET10 •10. !1 C RETREIVE PROPER SCAN » 3
LIBR/V (CiJI;LiE)C CCT PURITY, FIT. RFIT. & TEST FOR SAT 3
t STORE SAT FLAG !> CALC F/P Si R/P. SET F/P AND R/P TRAPS IN ! 10.
NOTE RET TIME NOT TRAPPED 3
RUN MATH (P; !10;S7;K; tT2, tT3;*lOi W; E)
LOOK90
IF «10«4
SET10 . 110, SET13 !2BC IF PASSED QUAL TESTS !10 SHOULD BE >"0, C-3 3
CHRO (I. 0, N-5, 3; »; *. R; C-2, S; A>-1, 9) D-30. 3D; E)
RUN MATH(!28; '13; -; -; 0; 0;4; '10; *; «10;U; E)
RETU
C END LOOK9G. PR 3
C LOOK90. PR ENHANCE IF ONLY FAILED HIGH F/P 3
IF !10»7 C !lO<-6 FAILED SOMETHING BESIDES HIGH F/P 3
IF .!10*2 C IF !10»0 OR -2 PASSED ALL QUAL CRITERIA 3
LIBRC 'id J1;E)C REPORT NEEDS PURITY. FIT. d RFIT 3
RUN MATH C TEST AGAIN !• FLAG AS ENHANCED 3
RETU
C END LOOK90.PR 3
57
-------
APPENDIX D Ccontlnued)
C LOOK9N. PR PUT ENTRIES IN REPORTS 3
RUN LWRPRT (>(E>
IF «4, !10
EDQL <-iN»»iAiE> C IF NOT INTEGRATED. PUT NOT FOUND IN . QL 3
RETU
C END LOOK9N. PR 1
C LOOK9R. PR HARDCOPY REPORTS 3
IF !28
RUN LWaUANE
RUN LWRPRT (Fl; HJE)
RETU
C END LOOK9R. PR 3
t LOOK9M. PR ADD INFO FOR MANUALLY LOCATED
COMPOUNDS .TO EXISTING . OL ASSUMES SCAN » IN !1 fc «4, !4
POINT TO CORRECT LIBR ENTRY.
LOOK9M SHOULD APPEND TO THE .OR FILE BUT DOES'T. 3
CHRO (1,0, N-S. 3;»i «iR;C-2. 2; A>-1, St D-30.X;E) C QUANT IT ATE 3
LIBR/V(C, J1;E)C REPORT NEEDS PURITY. FIT. V RFIT 3
RETU
C END LOOK9M. PR 3
C LOOK9P. PR 3
OETL
RUN RLOC(B3. 2. 84iYl; S; E>
LOOP
C END LOOK9P. PR 3
C BEGIN PRLOAD 3. UO. ZUZ<24 SPXL BRACXSP>" NOT FOUND END;
ELSE
3.U1:S. PR»< C IF ".PR" CAN'T B FOUND EM>> ELSE
3.U2Q2-Q1-10-LC IF PRNAME. PR HAS A VALID * OF CHARS THEN
30L.U3Q1.08XXC STORE PRNAKE. PR
3QZJI:SC END «OX«I/ 3«U4*/*OLXYK»C CREATE A SEARCH SUBR. IN Y
3QOOQYQ4i C IF ' END PRNATIE. PR '3
3ZJIE03: »GXtI/*Q3. Q5U»EC»/*C CREATE SUBR TO WRITE PRNAME.PR
3I'A*GXI WRITTEN*13tI/«/»C t> FLASH MESSAGE
3-L2XU2KQWC * EXECUTE SUBR
3QSJ-2D. UO'CCLEAN UP Ic SET POINTER TO END OF PRNAME. PR
3Q2-Ql-9"Ct IF NAME. PR IS NOT A VALID « OF CHARS LONG
3Q2UO'C SET POINTER TO POSITION WHERE SEARCH ENDED
3»C END PRLOAD 3
58
-------
APPENDIX E
Listing of Supplemental Procedures
C SFrtCSAUXPRS. OS AUXILLARY PROCEDURES USED BY EMSL/EMD/SFMCS
FOR ROUTINE DATA COLLECTION fc PROCESSING.
TO GENERATE THESE PROCEDURES POSITION THE CURSOR THE AT START OP THE
LINE WHICH BEGINS WITH ". U2»" fc ENTER "XAQA^ALT HODEXALT HODE>" 3
. USS3LSC BEGIN PRLOAD 3»OL.UOSC END PRLOAD 3». U1QO. 01XVVQO.Q1K»Q2JL»QVEV«
C LWLBED.PR A PROCEDURE TO UPDATE ENTRIES
IN A LIBRARY. REQUIRES THE INPUT LIBRARY NAME IN STAT *4
V TH£ OUTPUT LIBRARY NAME IN STAT »3 3
IF '2*.!4C STOP AT END 3
SETA '4*1C INCREMENT LIBRARY POINTERS
EDLB <»dl. I '; ; ; ; . i ; ; ; i * ; 01. 1; i iE>
LOOP
C END LWLBED PR 3
C LWRTUP. PR 3
GETL. RESPINO; XO; Y4, 0. C ' 1; Y5; Di C ' 1; E)iLOOP
C END LWRTUP PR 3
C LWMKRL. PR 3
C STEP THRU A . NL APPENDING DATA TO . RL'S 3
CETN. SETS »liOUAN(E);RUN LWQUANCiE). LOOP
C END LWMKRL. PR 3
C LWSEAR.PR SEARCH FOR PEAKS AS IN LOOK9. BUT STOP
DISPLAY SO OPERATOR CAN SHIFT WINDOW. IF EXIT WITH "E" CONTINUE
TO INTEGRATE AS IN LOOKS & ADD TO . QL. IF EXIT WITH "CTL-Z"."Z"
RETURN TO MSDS WITHOUT INTEGRATING fc ADDING TO . QL
3SEAR/V (I. -. *i &. VI00000, M39, 320. USOO; NO.200. 700; D-30, 30; )
SETS «1;SET1 '17
CHRO -1. 5; D-30. 30; E) C QUANTITATE 3
LIBR/V(C.Jl.E)t RETURN PURITY. FIT. fc RFIT 3
C END LWSEAR. PR 3
C LWQLDP.PR DUMP A . NL OF . QL'S
3GETN;SETS •!.EDOL
LOOP
C END LWRLDP.PR 3
59
-------
APPENDIX E (continued)
C BESIN PRLOAD 3. UO. ZUKQOJ: S
C »; C IF "<24 SPXL BRACXSP>" NOT FOUND END;
ELSE
J.U1:S. PR«; C IF ".PR" CAN'T B FOUND ENDi ELSE
3.U202-01-10-LC IF FRNAME. PR HAS A VALID « OF CHARS THEN
30L. U3Q1.02XXC STORE PRNAME.PR
302JI:St END tCXtl/ 3»U4»/»OLXYK»C CREATE A SEARCH SUBR. IN Y
300JOYQ4;C IF "- NOT FOUND ENDi
ELSE
313.13I» U5C ADD 2 'S
32JIE03 »CXtI/«Q3,Q5W«EC«/tC CREATE SUBR TO URITE PRNAME. PR
:i-A»CXI URITTEN*13tI/«/»C
-------
APPENDIX F
Listing of Program LWQUANE
LWOUAN ACCEPTS THE FOLLOWING COMMANDS.
D (DISPLAY DATA FROM QUANTITATION FILE
H(~> iHARDCOPY AS FOR 'D'
A i COMPLEMENT AREA/HEIGHT FLAG
COMPLEMENT FLAG CONTROLLING DISPLAY CF:
F .DATA FILE HEADER Fl iNAME LIST
F2 ; LIBRARY COMPARISION
L J. K iJ—1: SET RESP FAC TO 1.0
; J—2: USE RESP FAC FROM LIBRARY (DEFAULTSETTINC)
;£LSE COMPUTE * USE RESP FAC FRCM RESP LIST, USING ALL PTS.
iJ-0: AVERAGE
;J-l: LINEAR FIT
. J»8: QUADRATIC FIT
M .COMPLENT FLAG TO USE WEIGHT FRCM ACQU TO CALC REL. AMOUNT
Ul (J) .USE USER PARAMETER #1 AS MULTIPLIER IN AMOUNT COMPUTATION
;J»-1 USE UP1 AS LIMIT OF DETECTION
02 iUSE USER PARAMETER «2 AS RETENTION INDEX
B X ;MULTIPLY ALL AMOUNTS BY X
ft (. J, X) .UPDATE RESPONSE FACTORS OF ALL COMPOUNDSC COMP 'S J TO K)
T (,J,K) ;UPDATE RETENTION TIMES OF ALL COMPOUNDS
S (.J.K) iUPDATE REL. RET. TIMES OF ALL COMPOUNDS (COMP'S J TO K)
< <» (J.K) * CREATE (APPEND TO) RESPONSE LISTS (FOR ENTRIES J TO K>
«XY ; EXECUTE OUANXY ME
I ;INITIALIZE PARAMETERS P (K) (GET (SAVE) PARAMETERS
E (2) iEX IT (TO MSDS) 0 .HARDCOPY THIS PAGE
ED .EXIT TO EDQL
OUAN ACCEPTS THE FOLLOWING MODIFIERS.
/K .OUTPUT TO QUAN. 99
/V ;SET MSDS VARIABLE !19 TO NUMBER OF ERRORS (R,S.T,<.»
61
-------
APPENDIX F (continued)
C LWQUANE. FR
C VERSION LUQUAN106. FR 4/16/84C
C VERSION WITH REPORT MODIFICATIONS
C
C A DRASTIC MODIFICATION OF FINNIGAN QUAN. FR
C BY L. H. WRIGHT. U. 8. ENVIRONMENTAL PROTECTION AGENCY
C EMSL/EMD/PAB/SFMCS MD-7B
C RESEARCH TRIANGLE PARK, NC 27711
C
C IQ( .0) USED FOR DEFAULT VALUES
C IQ< . 1> REF COMPOUND
C IQ( .3) 1ST ION OF CURRENT CMPD
C IQ( .MAXQ) INITIAL STORAGE OF CURRENT CMPD INFO
C IQ( .3 TO MAXQ-1) POSSIBLE FUTURE EXPANSION TO MULTIPLE ION QUANT
PARAMETER TTO-10. TTI-lO. LPT-2. DSK-1
PARAMETER LENS-27,LEN-4A.MAXQ-2.ION-2, LENH-84.LENS 1*28. LENR-22
PARAMETER LENQH-140. LENQL-66, LENQ-104. LENK*63 iMUST CCNFORl
COMMON /CDESC/ IDESC(11).JDESC(11>. KDESC(11). LDESC(11). MDESC(11).
& HONTH(12).ERRME5S
EQUIVALENCE
& (KDESC4,KDESC(4)>
C INFO FOR REF CMPD
COMMON /CRPARX NAMER(36>. IUREFR(20)
X COMMON /CRPAR/ IUREFR(20)
COMMON /CRFIL/ IRFILE(LENR).IDTLM(2). IA1. IA2. RAMNT.RRT.
fc NTREES. COEFFC16)
EQUIVALENCE
tc (KQ(1), IRFILE(1».
& (RFAM. IRFILE(ll)).
Si (RFAR. IRFILE(7>).
& (RFHI. IRFILE(9)>.
S. UCOEFF1.COEFFU)).
Si (AMOUNT. IAD,
Si (SY, COEFF(6».
S< (SY2. COEFF(7)),
Si (SX.COEFF(S)).
S. (SX2, COEFFC9) ).
% (SX3.COEFF(IO)).
DC (SX4. COEFF(ll)).
Si (SXY, COEFFU2M.
Si (SX2Y. COEFF(13».
«. (SMIND2. COEFFU6M,
Si (DTLM. IDTLM)
COMMON /CNMFN/ N, M, L. LI. L2. FN, FMj IFL1. IFL2.
Si FL1D. FL2D. IDT(4), JRFILE. IUNEU(2)
EQUIVALENCE
Si (UNEW. IUNEU),
Si (FL, IFL1)
62
-------
APPENDIX F (continued)
COMMON /COUAN/ IFILE<7), IDATE (4), IRUNTIME, I TOTAL &IZE-LEN, EQ -
* FMASS. SMASS, ISCAN. RET, METH(2), AREA, HIT. LNAME.LNUM. i LENS
It . IREF, RFAC. RFILE. ICNT, AMNTL. RETL, RRTUi AMNT, IUN1. IUN2. LFOUND.
t RIU2 »LEN
EQUIVALENCE
I.
(SMH, IHEAD(38»
(IUH.IHEAO(4O))
(IUL,IHEAD(41))
(LNH. IHEAD(42))
(LNO. IHEAD(43»
(IFMRH. IHEAO(79)>,
«< .
& (IUHR, 1HEAD<83»,
Si (IULR. I HEAD (84))
COMMON /CPARA/ ;LHW IFWT ET AL WILL HAVE TO BE ADDED HERE FOR P TO
8. IFHEAD. IFNAME. IFLIB. IFREST. IFAREA, IFRFILE. IFRFAC. IFUPl, IFUP2.
Si NFIT, BFAC
INTEGER STAT(0:MAXO),JQ(LEN).KQ(LENK). JUNK(SO>. NAME136). LDNAME(6),
Si IHEAD(LENH),ERK(3).ERRMES5(13. 7)
COMMON /CAREA/ IAREA(44)
INTEGER
Si INST(3), SAMPLEO2). DATE(4). RUNTIME. ANALIST(4),
Si FORMULA(IO). ICONDITIONSO2), SUBMITTED* 4). ACCOUNT(4).
63
-------
APPENDIX F (continued)
NCALIB(M). NDATAF(11).
DFSW.DF5U1,OFILE. SFILE,
HIMASS,SCNFCN. THRESHOLD.
SAMP INT,BASE. HIREF, UP SCAN
OflMON /CHAIN/
NPROG.DFSU, DFSW1, ITEMP(19).
DFILE<12,6).SFILE(il. 4).
INSTD (3 >. IREFTABLE(It),
IADD1. IADDS, ISU81, ISUB2,ISUB3, ISUB4,
JADD1. LXBRNAME. LIBRNUMB.IBUF,
ISCN(49>. XACQ(IOO), IDAT(4S>
QUIVALENCE
(ITEMP1.ITEMP),
(ITEMP14.1TEMP(14)).
(ITEMP i 5.ITEMP(19)).
< IDF14, DFILEU,4»
FOR SCAN PARAMETERS
EQUIVALENCE
t
Si
St
t<
Si
Si
*
Si
tc
Si
Si
Si
Si
Si
tc
Si
Si
Si
Si
Si
V
Si
Si
Si
Si
(NDATAF.ISCN(l)),
(LOWMASS.ISCN(IS)).
(HIMASS.ISCN(13)).
(UPTIME.ISCN<14)).
(DOWNTIME.ISCNC16)>.
(TOPHOLD.ISCN(IB)).
(BOTTOMHOLD.ISCN(20)),
(SCNFCN. tSCN(22)).
(IACCVOL.ISCNC23)).
(ITCON.ISCN<24)>,
(JADCS.ISCN(25)>,
(NPT. ISCN(S6».
(JXOND.ISCN(27)>.
(NSAMP.ISCN(2B)).
(UPSCAN,ISCN(29)).
(INST.ISCNOOM.
(RESOLUTION,ISCN(33)),
(THRESHOLD. ISCNO9) ).
(MRATE, ISCN(36».
(SAMP INT. ISCN(37».
(MAREA,ISCN(38)).
(MINUIDTH, ISCNO9) ).
(MINFW.ISCN(40)).
(IBSLN.ISCN(41)>,
(ISAT, XSCN(42)).
(XTRLR.ISCN(43)>.
(M2ERO. ISCNC44)),
ISCN(4S)>
PARAMETERS
FOR ACQUISITION
EQUIVALENCE
Si (DATE. XACQ(1».
Si (RUNTIME. IACQ(9».
Si (NSCANS. IACQ(6)>.
Si (MSCANS. IACQ(7) >.
Si (WEIGHT, IACQ(8)>.
Si (SAMPLE. IACQ(10».
;ORIC DATA FILE NAME
;LOW MASS FOR SCAN
;HI MASS FOR SCAN
iUPSCAN TIME (IN SECS)
iDOWNSCAN TIME (IN SECS)
iHOLD TIME AT TOP (SECS)
iHOLD TIME AT BOTTOM (SECS)
i SCAN FUNCTION FOR ACQUISITION SCAN
-------
APPENDIX F (continued)
t ),
I (SUBMITTED- IACO<74»,
ti (ANALIBT. IACQ<78>),
ti (ACCOUNT, ZACQ(82»<
te (FORMULA, IACQ( 86))
FOR ACCUMULTED INFO.
EQUIVALENCE
(MINAREA.IOAT(1)>,
(MERGE,IDAT(2)),
(IATOL. IDAT(3>),
(JTOL. IDAT<4)).
(LASTPEAKS, IDATO) ),
(IOEF, IOAT(6».
(INOCT,IDAT(B)).
(ICUCT,IDAT(9)),
(IBKCT. IDATUOM.
(SCNRATIO, IDAT(ll)).
(JSAMPINT, IDATC23)).
(JRATE, IDAT(26)>«
(JACCVOL. IOAT(27».
(LOWREF.IOAT(28)>.
(HIREF.IDATC29)).
(NUMREF. IOATOO) )>
(JSCAN, IDATO1 )>,
(NCALIB. IDATO2)),
(BASE,IDAT(43)>,
(ITOT,IDAT<44)>,
(LASTPEAK. IDATC43))
JMINAREA AFTER READ
iMERGE TO AS X OF RES
iALIGN TOL (ADD AND SUBTR)
i MAX PEAKS TO READ IN
I MASS DEF AT 100 AMU IN MMU
>NOISE REJ FOR ENHA
iTAIL REJ FOR ENHA
iMAX BACKGROUND INTERVAL FDR ENHA
JMULT BACK BY A FACTOR OF IN ADD
*CALI SAMP INT
>CALIBRATION RATE
iCALI ACC VOL
;LOU REF MASS, CALIB DATA
iHICH REF MASS
iCOUNT OF REF PEAKS KNOWN
iCALI SCAN #
iCALIBRATION TALBLE NAME
iBASE INDEX, COMPUTED VALUES
(TOT ION
iPEAK COUNT
DATA
V
&
*
&
fc
&
DATA
DATA
DATA
DATA
DATA
DATA
ERRMESS /"BAD LIBRARY ENTRY
"NOT ENOUGH INFOi DO 'D' ".
"BAD R.LST. .OP XX; CODE XX ",
"NO USER PARAM IN LIB. ENT.",
"THIS PEAK NOT FOUND
"BAD LIB. ENTRY (REF. COMP. )",
"LIB. ENT. DOESN'T MATCH LIST"/
/O.31,59.90-120,191,181, 212, 243, 273. 304, 334/
/"1<0>",0. 1. "BOLwaUAN".2*O. "99". O/ i USED AS . ER FOR ERR1
/"D<0>". 0. 1, "LWQUAN»«", 2*0. "ME",O/ J METHOD FILE
/"D<0>",0.1.8»0/ ;DATA FILE
/"D<0>",0, 1,6*0, !'RL".0/ (RESPONSE LIST
MONTH
IDESC
JDESC
KDESC
LDESC
PIDESC
/"D<0>",0, 1.6*0. "QR",0/
iREPORT FILE
1800 FORMAT ,T14, " OUANTATITION REPORT (LWQUANE REV 1O6 4/16/84 )-)
LENQ2-LENO+LENQ
LENR 2*LENR +LENR
KILLFLAG— 1 > NEED TO KILL ERROR FILE
ERK(2)-": <"
JCH— 1 j . RL I ERROR REPORT CHANNEL
LCH— 1
LCH1 — 1 iLIBR CHANNELS
MCH— 1
ICH— 1 ;QUAN LIST CHANNEL
CALL IJBNM(IDESC<4) )
NOTE. NO INST NAME TO SET ?????
65
-------
APPENDIX F (continued)
CALL IUSNM(JDESC(3)>
CALL IUSNM(KDESC<3»
CALL IUSNM(MDESC<3»
AREAZ-100. iDUMMY REFERENCE PEAK
HITZ-100. iAREA, HEIGHT
AMTZ-100. (ETC.
RETZ-3600
UMZ-0 ;
FMZ-0. »
SMZ-0. >
UNZ-O. i
IREFZ-0
IFRL—1 ( . RL STATUS. -1 OK TO WRITE. 0 ALREADY WRITTEN
NE -1 OR 0. CREATE OR APPEND STATUS-WRITING
NTFNDRL-0 iIF "NOT FOUND" DON'T PASS TO . RL
IE-34K
CALL GTLENtlC.IDF14.«8800. IE. 2*LENS) iGET » OF ENTRIES IN . QL
MODE-9
INPUT-0
CALL CTINT(ICTR)
IFUCTR) GOTO 9001
WRITE(TTO.7373) ;FAIL SAFE ERASE
LWQUANE DOESN'T SAVE OR GET PARAMETERS
C INITIALIZE
910 WRITE(TTO) "LWOUANE INITIALIZED"
NF1T—3 ;NO RESP FACTORS
IREFDFLT-0 JDON'T DEFAULT TO LIBR RET TIMES CK THIS
IFRFILE-0 iDON'T USE .RL
1FQRF1LE-0 >DON'T WRITE TO .OR
IFUP1-0 iDON'T USE UP 1
IFUP2-0
IFAREA—1 i AREA/HEIGHT
IFHEAD— 1 JFULL HEADER
IFLIB-O ;LIB COMP DATA
IFLIMD-0 (NO LIM. OF DETECT. CALCULATIONS OR USE
IFWT-0 iDON'T USE WT FROM ACQU FOR ANYTHING
IFRFP-0 iDON'T PRINT RFAC CAL PARMS
X BFAC-1.
1011 IF< INPUT. EQ. "K ") GOTO 9300
CALL STINT(60OOK>
GOTO 901
9001 CALL CTOBF tFLUSH TTO OUT
IF(ICTR. EQ.2000K) GOTO 9002
WRITE (TTO) -""D"
GOTO 9004
9002 DFILE(1.S>-0 iSTOP PROC
WRITE(TTO) "~Z"
9004 MODE-9
CALL RESET iWHO KNOWS
CALL TSAVE(DFILE(1,6>.*9003. IE, IEE> iFLUSH LIST
900S CALL CTIBF
CALL STINT(6000K)
KCHAN-TTO
66
-------
APPENDIX F (continued)
IDSW-O
GOTO 9302
9303 WRITE )WILL BE 0 IF TTO COMING UP
CALL TPOP(DFILEU.6).*9770. IE, IE)
IFC) GOTO 9300 .MORE DISK STUFF AVAL
9302 IF(IDSW) GOTO 1000 iDO DISPLAY
WRITE(TTO,2111)
2111 FORMAT<" LWQUAN: "Z)
CALL IGET1 (INPUT. IFL. IBIT. 9. N. FN, 49004, »930l )
9340 IF(IFL. EQ. "t "> GOTO 9700
IF ((IFL. EQ. "<74> "). OR ")> GOTO 9OOO
IFUNPUT. EQ. "ID") CALL 8MSDS
IAREA(121-0
IF (INPUT. EQ. "ED") CALL LOADIT("EDQU")
IF(INPUT) GOTO 9341
IF(IFL) GOTO 2700
IFdDSW. OR. MODE. GT. 4) GOTO 9300 ; CAN'T CONTINUE DISP. PAR AM CHANGE
GOTO 1100 iNEXT PAGE OF DISPLAY
9341 INPUT« 3200, ;L PICK RESP FACTOR Si DET LIM ROUTINES
i 3800. ,-n WT USE FLAG
Si 2700.
Si 2700.
& 2700.
Si 940. i Q
Si 2700,
Si 2700.
Si 2700,
* 2700,
Si 2700.
67
-------
APPENDIX F (continued)
fc 2700.
S< 2700.
& 2700.
fc 9128)ICC
COTO 2710
7373 FORMATt-l"2>
C EXIT
9128 ISCN(1)-0
IBUF-0
CALL RESET
CALL LOADIT("EXEC")
C WRITE TO .OR FILE
7000 IFQRFILE—1
IFQRHI-IC
IFQRLO"!
IF (M) IFQRHI-MINOdC.M)
IF
IF UFQRLO. GT. IFQRHI) IFQRHI-IFQRLO+IFQRHI
XSCANTOL»MAXO(0. L)
COTO 901
C TOCCLE DATA FILE HEADER FLACS
3000 IF(N. EQ. 0) IFHEAD-. NOT. IFHEAD
IF(N. EQ. 2) IFLIB".NOT. IFLIB
IF(N. EQ. 3) IFRFP«. NOT. IFRFP
SOTO 901
C SET RESPONSE FACTOR SOURCE
3200 IF(N. LT. 0. OR. N. CT. 9. OR. H. LT. 0. OR. M. CT. 2) COTO 3210
IFRFILE-(N. CE. 3)
NFIT-N-3 ;0 AVERAGE. 1 LINEAR FIT. 2 QUADRATIC FIT
IFLIMD-M ; 1-UP1, 2-CALC FRH . RL
X IF tIFLIMD. EQ. 1) IFUP1-0 (OVERRIDE OTHER USE OF UP1
COTO 901
3210 WRITE(TTO) " INVALID ARGUMENT"
COTO 9004
68
-------
APPENDIX F (continued)
C TOCCLE AREA/HEIGHT FLAG
3900 IFAREA-. NOT. IFAREA
COTO 901
C SET MULTIPLIER FOR ALL AMOUNTS
X3700 iFAC-FN-
X IF (BFAC. LT. 0. > BFAC—BFAC
X COTO 90i
c SET FLAO FOR WEICHT USE
3800 IFWT-N
IF (N. CT. 1. OR. N. LT. -1) IFWT-0 i DEFAULT
COTO 901 iLHW
c DISPLAY fc HARDCOPY SETUPS
1000 IDSW-0
MLCNT-34
COTO 10054
1001 KCHAN-LPT
IF(DFSW.AND. 40K) COTO 10053
MLCNT-63
CALL OPLPT(LPT.«9004)
COTO 10054
10033 MLCNT-3000 ; ONLY ONE PACE HERE
CALL OPEN("1:LWQUAND. 99". LPT. IE)
10054 LPNTRE-3-IFLIB-lFRFP * LINES/ENTRY
LCNT-0
START PROCESSING
DO S3 1-1.6 i DEFAULT A FILENAME FOR HEADER COMPARISON
23 IQ(I,0)"OFILE(I*3, 4) ; CF 10O30
DO SO I-l.MAXQ
DO SI II-l.LEN
SI IQ(II. I)»0
SO STAT(I)-0
IAX1-24
IF (IFAREA) I AX 1-22 i AREA INDEX
IAX2-IAXlfl
IND-0
nODE-0
IE-34K
CALL FMOPRUDF14. ICH. «8800. IEE) i OPEN . QL
INDSAV-0 (HEADER LOOK AHEAD NOT ACTIVE
KHEADR-0 iNO VALID HEADER
C START LOOPING HERE
14OS IND-IND+1 iCET QL INFO FOR NEXT ENTRY
DO 1408 I-l.LENK
1408 KQm-0
IE-26K
IBYTE"< IND-1 )«LENS«S
CALL FMPOS(0< I BYTE, ICH. *8BOO. IEE)
IE-40K
CALL FMRD(IQd.MAXQ), ICH. LENS. S8BOO. IEE) i READ LENS WORDS
69
-------
APPENDIX F (continued)
C NOT SURE ABOUT THIS CODE, TRY TO CHECK INTERRUPTS
C CALL CTINT(ICTR)
C IF (ICTR) GOTO 9001
DO 1409 J-l.LEN t SETUP TO READ UBR
1409 JQ(J)-IQ(J, MAXQ)
IF (UFRL. EQ. "<74> " ). OR. (IFRL. EQ. "<76> ")) COTO 14O3 i PROCESS RL".
IF (IFHEAD. EQ. 0) COTO 1110
K"IQ( l.MAXO). AND. 77777K
IF(K. NE. 0) GOTO 100S ; NOT A NULL ENTRY
IF (KHEADR. NE.O) GOTO 1110
IF (INDSAV. LE. 0) INDSAV-IND
IF (IND.LT. 1C) COTO 14CC
KHEADR—2 ; HAVE TO USE . QL NAME
GOTO 1198
100B KDESC4«K.OR. 100000K jMAKE 10030 LOOP FAST
DO 1007 J-2. 7
1007 KDESC(vK3)«IQ(J. MAXQ) iNAME FROM ENTRY
DO 10030 J-1.6
IF(IO(J. 0).EQ. KDESC(Jf3» COTO 10030
DO 10039 1-1.6
10039 IQ»IQ INPUT
110O XE-34K
CALL FMOPRUDF14. ICH. «SBOO, IEE) t REOPEN . QL
1101 IF ((DFSW.AND. 4OK).NE. 40K) URITE (KCHAN.7373) iDON'T FF 01!
LCNT-MLCNT
IF (IFHEAD. EQ. 0. AND. IND. NE. 1) COTO 1030 i NO FILE HEADER
IF (KHEADR) 1199.1197.4221
1197 IQ<1.MAXQ)»KDESC4 i FLAG DISPLAYED
IQ(1.0)»KDESC4 iFLAC DISPLAYED
KDESC4-K
KHEADR—2
CALL FnOPR(KDESC.ICH1.S1131.IEE)
CALL FMRDUSCN, ICH1, 149. »10060, IEE)
KHEADR»-1 iCOT A FULL HEADER
1131 IF (INDSAV. LE. 0) COTO 1199 i NOT LOOKING FOR A HEADER
1198 IND-INDSAV-1 iCOT SOME KIND OF HEADER
INDSAV-0 iRETRElVE LAST IND PROCESSED
GOTO 1402
PRINT TABLE HEADER
1199 KHEADR-IABS(KHEADR)
70
-------
.APPENDIX F (continued)
WRITE(KCHAN, 1800) ; PROGRAM TITLE * REV DATE
IP-RUNTIME/100 i HOUR
1M-RUNTIME-IR»100
1802 FORMAT (/" FILE: "6A2". "A2.Z)
WRITE (KCHAN,1802. END-9004,ERR-9004) (DFILE(I.4),1-4,10)
IF(KHEADR.EQ. 2) COTO 10060
WRITE(KCHAN,1829,END-9004. ERR-9004) (KDESC(I),1*4, 10)
1829 FORMATdOX" DATA: "6A2".HA2. 2)
WRITE(KCHAN,1830) DATE, IR
1830 FORMAT(8X.4A2I3":"2)
CALL IFORMATUM. KCHAN. 2, "0",t9004)
WRITE (KCHAN) "rDO"
WRITE (KCHAN, 1840) SAMPLE
1840 FORMAT(" SAMPLE: "32A2>
WRITE(KCHAN. 4209) ICONDITIONS
4205 FORMAT(" CONDS.: "32A2)
WRITE (KCHAN.4200) FORMULA, IN5T. WEIGHT
4200 FORMAT (" FORMULA: "10A2.T30"INSTRUMENT "
* 3A2T90-SAMP. SI2E: "612. 4)
WRITE (KCHAN.4210) SUBMITTED.ANALIST, ACCOUNT
4210 FORMAT(" SUBMITTED BY: "4A2T30"ANALYST: "4A2T50"ACCT. NO.
LCNT-LCNT-9
10060 CALL FMCLS(ICH1.«1030>
1030 IF (WEIGHT.LE. 0) IFWT-O , IF NO WT GIVEN. CLEAR FLAG
IF (NFIT. NE.-3) GOTO 1801
WRITE (KCHAN)
WRITE (KCHAN.1818)
WRITE (KCHAN.1878)
GOTO 1890
1801 FORMAT(/" AMOUNTHZ)
WRITE(KCHAN, 1801)
IF (NFIT. GE. 0) GOTO 1818 i
IF(IFAREA) WRITE(KCHAN.1906)
1606 FORMAT (" -AREA • REF AMNT/iP.EF AREA"Z>
IFdFAREA. £Q. 0) WRITE
GOTO (1890.1860.1873.1876.1879). N
1850 FORMAT (" «1.0">
WRITE (KCHAN.1890)
GOTO 1811
1860 FORMAT (" FROM LIBRARY")
WRITE (KCHAN. 1860)
GOTO 1811
1873 FORMAT (" AVERAGE"!)
71
-------
APPENDIX F (continued)
*-
1676
1879
1859
1811
1878
1871
1872
1890
C
4221
4220
1412
14123
14126
14128
14129
14127
1413
«
1414
WRITE (KCHAN,1B73)
OOTO 1859
FORMAT (" LINEAR FIT"Z>
WRITE (KCHAN, 1876)
OOTO 1899
FORMAT (• QUADRATIC FIT"2)
WRITE (KCHAN, 1879)
FORMAT (" OF AREAS")
IF UFAREA) WRITE (KCHAN. 1899)
IF (IFAREA.EQ.0) WRITE (KCHAN,1811)
FORMAT (" OF HEICHTS")
WRITE (KCHAN,1890)
LCNT-LCNT-1
FORMAT (" NOT USED")
IF (IFLIMD. EQ. 0) WRITE (KCHAN. 1878)
FORMAT C FROM LIBRARY USER PARAMETER
IF (IFLIMD.EQ. 1) WRITE (KCHAN. 1871)
FORMAT (" CALCULATED FROM . RL")
IF (IFLIMD. EQ. 2) WRITE (KCHAN, 1872)
FORMAT (" DETECTION LIMITS ",Z)
LCNT-LCNT-2
WRITE(KCHAN)
PRINT COL HEADERS —
FORMAT (/,T29."TARCET COMPOUND QUANTITATION")
WRITE (KCHAN,4221)
WRITE(KCHAN.4220)
LCNT-LCNT-2
FORMAT(/" NO. CAS NO. I UP AC NAME")
WRITE(KCHAN,1412)
FORMAT(" M/E SCAN METH "Z)
IF(IFAREA) WRITE(KCHAN. 14129)
FORMAT(" AREA"!)
IF(IFAREA.EQ 0) WRITE(KCHAN. 14126)
FORMAT(" HEIGHT"Z)
IF (NFIT.EQ.-3) 80TO 14127
IF (IFLIMD) WRITE (KCHAN. 14128)
FORMAT <" 0. LIM. AMT/DL-Z)
WRITE (KCHAN.14129)
FORMAT (" AMOUNT"Z)
IF (IFUT.EQ. 1) WRITE (KCHAN, 14127)
FORMAT (" R.AMT (UC/M3)"Z)
WRITE (KCHAN)
IF (IFLIB) WRITE (KCHAN. 1413)
FORMAT (6X. " LIBRARY TIME TIME(L) RATIO",
" RRT RRT(L) RATIO R.FAC(L)
IF (IFRFP. NE. 0. AND. IFRFILE) MITE (KCHAN. 1414)
FORMAT (7X,"RL ENTRIES A B
STD. ERROR1*)
LCNT-LCNT-LPNTRE
WRITE (KCHAN)
R. FAC")
1403 AMNTL-100.
72
-------
APPENDIX F (continued)
RETL-O.
RRTL-O. i UNDEF
RFAC-1. 0
RFILE-1.
RIU2-0.
IUN1-O
IUN2«0
LFOUND»0
AMOUNT-0. 0 > LHU DEBUG
URF-0. 0 i LHW DEBUG
IREF»0 i PRESET FOR DEFAULT VALUES
THAT IS ALL WITH OUT A LIB ENTRY. LETS SEE
NAHEF— 1 .ASSUME NAME 600D
IF(LNAME. EG. " — ". OR. LNUM. LE. 0 ) GOTO 1168 i NO NAME
J-LNUM-1
IF (LNAME. EQ. "•K0>"> GOTO 1134 i REF IS IN . QL
CALL LBRDO(LNAME, LNAMEL, LNUM- LCH. LCH1, IXX. JUNK, JUNK,
& -JUNK, NAME, MUU, IURETH. «1 169. IE, IEE, f»1169>
LFOUND— 1
LNAMEL-LNAME ; SO WONT CLOSE AND REOPEN
FIND REF PEAK
IF (LNUMR. AND. 1) GOTO 1114 i NO REF NAME
LNUMR«" ) LNAMER-IO(26. IREF)
IF (LNAMER. EQ. *-KO>" ) LNUMR-IQ(27. IREF)
IF (LNUMR. EO. 0) GOTO 1114
1133 IF (J. GT. 1C) GOTO 1114
IF(IQ(26, 1). EQ. LNAMER. AND. 10(27, 1). EQ. LNUMR) GOTO 11143
1134 STAT(1)-O .HAVEN'T COT THIS LIBR ENTRY
IE»26K
I-J«LENS
CALL FMPOS(0. I, ICH. «800. IEE)
IE-40K
CALL FMRDdQd. 1), ICH- LENS. «8800. IEE)
IF (LNAME. EQ. "*<0>") GOTO 1168 i FOR . QL REF
GOTO 1133
11143 IREF-1 i FOUND REF
IF (STAT(l)) GOTO 1114 (ALREADY HAVE REF CMPO LIBR INFO
CALL LBRDQ ( LNAMER, LNM1EL, LNUMR. LCH. LCH1, IXX, JUNK. JUNK,
& JUNK, JUNK, MUUft, IUREFR. *S007, IE/ IEE, *S007)
X & JUNK, NAMER. MWUR, IUREFR, C5007, IE, IEE. *5007)
LNAMEL-OJAMER
10(36, 1)*IUREFR(1 ) t RETLR
10(37, 1)»IUREFR(2)
10(38. 1)-IUREFR(9> i RRTLR
10(39, I)-IUREFR(IO)
10(34, 1)»IUREFR(13) i AMNTLR
10(39. 1)»IUREFR(14)
10(42, 1)-IUREFR( 17) i IU1LR
10(43. D-IUREFR(IB) i IU2LR
C SET UP RESPONSE FACTOR. MODIFY STUFF IN IURETH( ) fc TRANS TO J0( )
73
-------
APPENDIX F (continued)
jRIUS NOT USED ELSEWHERE
1114 IFUIURFL. AND. 1>. EO. 0) RFAC-URF
IF (NFIT. EQ.-3) GOTO 11149
IF {NFIT. EQ.-2) RFAC«1.0
IF (IFLIMD. EQ. 1) DTLM-LP1
IFdFUPi. AND. (IUP1L. AND. D.EQ. 0) RFILE»RFILE*UP1
X RFILE»RFILE*BFAC
11149 IF((IAL. AND. 1). EQ 0) AMNTL-UAMNT
IF(AMNTL. LE. 0. ) ATINTL«1OO. >IGNORE ENTERED
IF((IURETL. AND. 1).EQ.0) RETL-URET
IF«IURRTL. AND. 1). EQ. 0) RRTL-C'RRT
IF((IUS. AND. 1). EQ. 0) IUN1-IU1
IF ((IU2. AND. 1). EQ. 0) IUN2-IU2
OOTO 1170
1168 NAMEF«NAMEF+1 ;0 NOW
1169 NAMEF-NAMEFfl i0 OR 1
NOW
1170 DO 1171 J-l.LENS
1171 IQ'(J. ION)»IQ(J. MAXQ)
STAT(ION)«-1
DO 1180 J-LENS1-LEN
1180 IQ - >. OR. (IFRL. EQ. "<76> ")) COTO S020 iUPDATINC
URITE(KCHAN. 1119) IND
1119 FORMAT!I4Z)
IF(NAIIEF) 1116.1117.1118
1116 FORMAT(3X.34A2)
WRITEfKCHAN,1116) (NAME(I),1-1,34)
GOTO 14O1
1117 FORMAT(3XA2T6. 19" -"2)
URITEtKCHAN, 1117) LNAME, LNUM
1118 WRITE(KCHAN.11189)
11189 FORMAT (" UNKNOWN")
;FOUND.NOT FOUND. NOT DEP
C MAIN DATA BLOCK —
1401 IF (NFIT.NE.-3) OOTO 14O7
AMOUNT—1.0 iJUST IN CASE WE MISS A TRAP
GOTO 14O4
1407 IA1-IQCAX1, ION) (GET AREA (HEIGHT)
IA2-IQCIAX2. ION) ( IN AMOUNT
IF (IFRFILE) GOTO 9102 iGET AMOUNT VIA
RL. RET TO 14001
IR«IQ(2B.ION)
IFLl'IQCIAXl. IR)
IFL2-IQCIAX2, IR)
AMOUNT-AMOUNT/FL
IFL1»IQ(34, IR)
IFL2"10(39, IR)
AMOUNT"AMOUNT»FL
IFL1*IQ(29. ION)
IFL2-IQOO. ION)
IF (FL. GT.0.0) GOTO 1406
AMOUNT-0. 0
GOTO 1404
iREF INDEX
iGET AREA (HEIGHT) OF REF
i IN FL
; FIRST OP
iGET AMOUNT OF REF
;2ND OP
iRESP FAC
74
-------
APPENDIX F Continued)
1406 AMOUNT-AnOUNT/FL ; 3RD OP
140OI IFL1-IOO1. ION) ; OTHER STUFF. RESP fll£, UP1.BFAC
IFL2-IOO2. ION) i.RL RETURNS AT 14001
AMOUNT»AMOUNT»FL i4TH OP
1404 10(40,ION)-IAi iSAVE RESULT
10(41.IQN)-IA2
IF(ISCAN) eOTO 1205
WRITE(KCHAN, 1209)
GOTO 1290 (A NOT FOUND ENTRY
120S FORMATC1 NOT FOUND". Z)
IFCSMASS.LE. 0) GOTO 1220
MASS»(FMASS+SMASS+1. 0>/2 i AVO ti ROUND OFF
WRITE(KCHAN,1210) MASS
1210 FORMAT(" ".I4Z)
COTO 1230
1220 1F(FMASS.NE. 0. > COTO 1240
IF(SMASS. LT. 0. ) GOTO 1230
WRITE(KCHAN.1225)
1229 FORMAT(" RIC"Z)
COTO 1230
1230 FORMAT<" R"I2Z)
MASS—SMASS
URITE(KCHAN,1230) MASS
COTO 1230
1240 FORnAT(" TOT-Z)
WRITE(KCHAN, 1240)
1290 FORMAT (17.Z)
WRITE (KCHAN.1290) ISCAN
AM-AMOUNT+. 0003
AR-AREA
IF+ISHFT(IUN1. AND. 1760K,-4)*ISPSP
IS2»ISHFT(IUN1.AND. 17K.10)*ISHFT(IUN2. AND. 140000K, -6)
(, *ISHFT( IUN2. AND. 37400K, -€)*ISPSP
IS3«ISHFT(IUN2. AND. 374K, 6)*ISPSP
WRITE(KCHAN. 1270) METH. AR
1270 FORMAT (3X.2A2.F12. 0. Z)
IF (NAMEF CE. 0. OR. NFIT. EQ. -3) COTO 1290
IF (AMOUNT. CE. 0. O) COTO 1273
WRITE (KCHAN.1273)
COTO 1290
1273 FORMAT (" NO RESPONSE FACTOR". Z)
IF (IFLIMD. EO. 0) COTO 1283
IF (IFLIMD. EQ. 2) COTO 1274 ; SHOULD HAVE DTLM FROM . RL
IDTU1(1)»IQ(45' ION)
IDTLM(2)-IQ(46, ION)
1274 IF (DTLM. CT. 0. 0) COTO 1277
WRITE (KCHAN. 1277)
COTO 1283
1277 FORMAT (" NO DET. LIM. "Z)
AMTLIMD-AMOUNT/DTLM
75
-------
APPENDIX F (continued)
1281
1272
1280
1283
1282
1279
R-DTLM+0. 09
WRITE (KCHAN. 1280) M
IF (AMTLIMD. CE. 1. 0) GOTO 1281
AMOUNT-0. 0
WRITE (KCHAN,1281)
OOTO 1290
FORMAT (" NOT QUANTIFIABLE"!)
IF (WIT. LE. 0. OR. AMOUNT. LE. RFAMAX) GOTO 1280
WRITE (KCHAN, 1272) RFAMAX.IS1.IS2
FORMAT (* EXCEEDS CALIB. RANGE".
• ",C8. 4. 1X.2A2" ". I)
OOTO 1290
FORMAT (2X.F9. l.Z)
WRITE (KCHAN. 1283) AMTUMD
FORMAT (" ".F7. 2. Z)
WRITE (KCHAN. 1282) At1.ISl.IS2
FORMAT (" ",F8. 0. " "2A2, Z)
IF (IFUT. LE. 0) OOTO 1290
RAMNT-AMOUNT/(WEIGHT*1000)*. 0009
WRITE (KCHAN.1279) RAMNT
FORMAT (" ".F10. 3. Z>
iCONVERI FROM NG TO I
i SAMPLE RET TIME
1290 WRITE (KCHAN)
IF (IFLIB. EQ. 0. AND. IFQRFILE. EQ. 0) GOTO 1993
C LIB COMPARISON DATA BLOCK
IF (NAMEF. GE. 0) GOTO 1992
WRITE (KCHAN,1921) LNAME
1921 FORMAT (7X.A2,Z)
CALL IFORMAT(LNUM. KCHAN.9, "0", *9004)
IF (ISCAN. LE. 0) OOTO 1999
R-RET* 9
IRT-R/60.
IRT1«R-IRT*60.
WRITE(KCHAN,1920) IRT
CALL IFORMATdRTl. KCHAN, 2. "0". «9004)
WRITE (KCHAN,1922)
1922 FORMAT (IXZ)
IF(RETL.LE. 0. ) OOTO 1940
R-RETL+. 9
IRT-R/60.
IRT1-R-IRT*60.
WRITE(KCHAN. 1320) IRT
1520 FORMATdX. 19": "Z)
CALL IFORMATdRTl. KCHAN. 2. "0".«9004>
R-RET/RETL*.009 iRATIO SAMPLE/LIBR
WRITE(KCHAN. 1930) R
1930 FORMAT(F8. 2Z>
GOTO 1990
1940 FORMAT(9XZ)
WRITE(KCHAN,1940)
1950 IF (1REF) OOTO 1995
WRITE (KCHAN.1959)
; LIB RET TIME
76
-------
APPENDIX F (continued)
GOTO 1960
1535 FORMAT <" NO REF",Z>
IFLl-IQUe. IREF) i RECOVER REF1 RET TIME
IFL2»IQ(19, IREF)
RRT«RET/FL »SAMPLE RRT
R-RRT+. 005
WRITE (KCHAN.1560) R
1560 FORMAT (F9. 3Z>
IF COTO 1570
R-RRTL*. 0005 iLIBR RRT
WRITE(KCHAN,i960) R
IF (IREF.EO. 0) COTO 1531
R.RRT/RRTL+. oos iSAMPLE RRT/LIBR RRT
WRITE(KCHAN,1530) R
COTO 1580
1570 WRITE(KCHAN.1540)
1531 FORMAT(8XZ)
WRITE (KCHAN,1531)
1560 IFLl-IOdAXl, ION)
IFL2-IQ(IAX2,ION)
RF-RFAC*-. 0005
IF (LFOUNO) WRITE (KCHAN. 1590) RF
IF (NFIT. EQ. -3. OR. AMOUNT. LE. 0. 0) COTO 1989
RFC-FL/AMOUNT+O 0005
WRITE(KCHAN,1590) RFC
COTO 1500
1589 WRITE (KCHAN,1992)
1990 FORMAT(2X.C11. 4. Z)
PRINT LEAST SQUARES LINE COEFFICIENTS
C
1992
1999
1993
FORMAT (10X.Z)
WRITE (KCHAN)
IF (IFRFILE. EQ. 0) COTO 1994
IF (ISCAN.LE. 0) COTO 1994
IF (NTREES. LE. 0) WRITE (KCHAM 1996) (LDESC(I), 1-4, 10)
1996 FORMAT (10X."COULD NOT READ ".6A2.".".A2>
IF (IFRFP. AND.NTREES. CT.0) WRITE(KCHAN. 1994) NTREES.
Si (COEFF( J). J»l, 4)
1994 FORMAT (10X, I9.4(2X,C11. 4»
WRITE (KCHAN)
LCNT-LCNT-LPNTRE
IF (IFQRFILE) COTO 7009 i TRY TO PUT INFO IN REPORT
1400 IFdND. LT. 1C) COTO 14O2 > LOOP BACK FOR NEXT ENTRY
— FINISHED IF PASSED THRU 1400
IF ((IFRL. EQ. MC74> '
CALL FMCLSUCH. »90)
90 MODE-9
INPUT-O
). OR. (IFRL. EQ. "C76>
;CLOSE . QL
')) IFRL-0
{FINISHED
77
-------
APPENDIX F (continued)
JF(KCHAN. EQ. TTO) GOTO 1950
IFCFL. EQ. -" ") WRITE(KCHAN.7373>
1950 LNAMEL-"??"
JCH—1
ICH—1
LCH—1
UCH1 —1
UGH— 1
COTO 9303
C FLAG TO UPDATE . RL ENTRIES
SOOO IFRL-tFL. AND. IFRL
IF (IFRL) COTO 9002
WRITE (TTO) "RESPONSE LISTS ALREADY WRITTEN"
COTO 9004
9002 FORMAT <" APPENDING ENTRIES ".14." THRU ".14." TO RESPONSE LISTS.")
IF (M. OR. N) COTO 5001
N-l >IF NO RANGE. DO ALL ENTRIES
M«IC
5O01 FORMAT (" CREATING RESPONSE LISTS FOR ENTRIES ".14." THRU ".14)
NTFNDRL-O
IREFDFLT-0
IF NTFNDRL»-1 iALLOW GENTRIES IN . RL
IF (L LT. 0) IREFDFLT«-1 jDEFAULT RT ENTRIES TO LIBR VALUES
IFRLN«MAXO(t.N)
IFRLM-MINO ") WRITE (TT0.5001) IFRLN. IFRLM
IF ") WRITE (TT0.5002) IFRLN. IFRLM
IFRF1LE-O iDON'T PERMIT READ V WRITE ON SAME PASS
MLCNT-3000
KCHAN-LPT
CALL OPENW ("N:".LPT. IE) iOPEN NULL DEVICE
COTO 10054 jPLAY LJKE TTO SO WE GET SET-UPS
UPDATE .RL O4TRIES
9020 IF UNO. LT. IFRLN. OR. IND. OT. IFRLM) COTO 9011 i OUTSIDE UPDATE BOUNI
IF (IREF) COTO 5021
WRITE
-------
.APPENDIX F (continued)
IF (HILLFLAC. EO. 0) GOTO 19
CALL FMOPN(IDESC. NCH. *10, IEE)
10 CALL FMCLT(NCH. »11>
11 IF (DFSW1. AND. 2000K) SFILE (11. 4)»0
KILLFLAC-0
19 IF (STAT(ION).EQ.0) COTO 9008 I ERROR
IF ULNAME. EO. "—- >. OR. (LNUM. EQ. 0) ) COTO 9003
IF (LNAME.EQ. "*<0>") GOTO 9003
IF ((10(26. IREFKEQ. "—"). AND. (10(27, IREF). NE. OM COTO 9007
C CREATE A FILE NAME ( A DESCRIPTOR IN LDESC) MADE UP OF
C THE LIBRARY NAME AND ENTRY NUMBER WHOSE RESPONSE LIST
C WERE ABOUT TO ADD AN ENTRY TO. ALSO USE TO CREATE .RL .
C FILENAME TO READ FROM.
9100 LDESC<4)-LNAME jLIBRARY NAME
Nl-LNUM iLIBRARY NUMBER
I3YTE«(LDESC(4).AND.377K). EQ. 0 iONE LETTER OR TWO?
LDE5C(7)«0
DO 600O J-1.9 ; CREATE EACH DIGIT IN TURN
ID»H<0>0M+MOD(N1,10) iTHE APPROPRIATE DICIT
IB-14+IBYTE-J ;THE BYTE POSITION IN LDESC
I31-IB.AND.1 »TOP OR BOTTOM OF WORD?
IW»< IB-D/2 iWORD POSITION IN LDESC
LWD*LDESC(IW>
IF (IB1) LDESC(IW)-(LWD.AND. 377K)«-ISHFT( ID.8)
IF (IB1.EO.O) LDESC(IW)-(LWD. AND. 177400K)+ID
6000 N1-N1/10
IF (IFRFILE) COTO 9101 iCO READ . RL
JCH—1
IE-34K
LDESC d)-"D<0>"
IHEADOK-0
CALL FMCHMLDESC. »6O01>
COTO 6002
6001 LDESC(1)-"1<0>- ; OPEN NEW FILE IF NON-EXISTANT
6002 CALL FMOPN(LDESC, JCH,«5004, IEE>
IF (IFRL. EQ. "<74> ") COTO 6O001 J60O01 CREATES A NEW . RL
IE-30H
CALL FMRDdHEAD. JCH. LENH. •6O001. IEE)
IHEADOK—1
IF (NTFNDRL.AND. (ISCAN. EQ. 0)) COTO 6O009 iDON'T HAVE ENUF INFl
C VERIFY THE HEADER IF FILE EXISTS
IF (FMH. NE. FMASS)COTO 9010 ;ERROR TESTS
IF (SMH. ME. SMASS) COTO 9010
IF (IUH. NE. IU1) COTO 9010
IF (IUL. NE. 1U2) COTO 9010
IF (LNUMR. AND. LNH. NE. LNAMER) COTO 9O1O
IF (LNO. NE. LNUMR) COTO 9010
IF (IFMRH. NE. 10(13. IREF))OOTO 9010 iERROR TESTS ON
IF (IFMRL. NE. 10(14. 1REF»GOTO 9010 ; INFO IN HEADER
IF (ISMRH. NE. IQU9. IREF)) COTO 9010
IF (ISMRL.NE. 10(16,IREF» COTO 9010
IF (IUHR.NE. IU1) COTO 9010
IF (IULR.NE. IU2) COTO 9010
79
-------
APPENDIX F (continued)
60009 IE-26K
CAUL FMPOS(-1,-1, JCH. »5004, IEE)
COTO 6003
60001 IF (IEE. GT. 0) COTO 5004 jERROR
IF (ISCAN) COTO 60011
WRITE
CALL FMWRT
CALL FMWRT(LNAMER. JCH, 2. «5004. IEE)
C LOOKS TO LHW LIKE THIS JUSTS COSTS TIME—MHO KNOWS WHY
C THEY O'D IT. THIS SHOULD CAUSE UNNEC REREADS OF REF
C WHY NOT JUST 0 SOMETHING LIKE JUNK Si COPY IT OUT INSTEAD?
DO 60006 11-1,35 ; CLEAR REF CMPD INFO
60006 JUNK(II)»0 iUHY?—BECAUSE FINNIOAN DID IT
X60006 NAMER(II)-0 i WHY?—BECAUSE FINNICAN DID IT
IQ(42. D-0
10(43, 1>-0
IE-41K
CALL FMWRT(JUNK.JCH.35. »5004. IEE)
X CALL FMWRT(NAMER.JCH, 35. t5004, IEE)
CALL FMURTCI0(13. IREF). JCH.4, »5004. IEE) )FMASSR, SMASSR
CALL FMWRTUU1, JCH. 2. «S004. IEE)
C THINK IT SHOULD BE 10(42-43.1) INSTEAD OF IU1&2
6003 IE-41K
IF (MAKES IT EASIER TO CK .-RL VIA EDRL
IF (IREFDFLT) RET-URET
6004 M1-IDATE(4>-"00"
IVR»10*ISHFT(M1.-8)*-73 iJAN 73 IS DAY 1
IF (IYR. LT. 0) IYR«IYR+100
M1-IDATE(1)-"00"
MI-10«ISHFT(M1.-B)+W1. AND. 377K
IDAY-10*(IDATE(2)-"/0M)*ISHFT(IDATE<3)-M0/".-8)-l
IF ((MOD(IYR + 1,4>. EO. 0). AND. (Ml.OT. 2» IDAY-IDAYfl i LEAP YEAR
M1«MINO(12.MAXO(M1,1))
DAYS»365. «IYRf (lYR/4>+IDAY+f10NTH
IDAY-DAYS-10000
CALL FMWRT(IDAY,JCH, 1, »5004, IEE)
CALL FMWRT
-------
APPENDIX F (continued)
IFL1-I3O4, IREF)
IFL2-IQOS. IREF)
IF
7010 MCH—1
CALL FMCHK
IE-34K
CALL FMOPN (HDESC. MCH. «9760. IEE)
C CHECK HEADER
CALL FMRD > GOTO 7065 ; TEST FILENAME
7020 CONTINUE
CALL FMRD GOTO 7065
704O CONTINUE
CALL FMRD(JUNK.MCH, SO. «9760. IEE)
DO 706O 1-1.SO
IF . NE. LNUM) GOTO 7090
DO 7086 1-1.34
IF (JUNK(I*4). NE. NAME(I)> GOTO 7090
7086 CONTINUE
CALL FMRD (JUNK, MCH. LENQL-49. «9760, IEE) f TEST SCAN NUT1
IF (lABS(JUNK(l)-ISCAN).GT. 2) GOTO 7090 »DIFF PEAKS
CALL DMAD (IBYTE, LOBYTE, 0. 0. 2. LENQL)
CALL FMPOS (IBYTE, LOBYTE, MCH. $7090. IEE)
81
-------
APPENDIX F (continued)
CALL FMWRT(JQ(13),MCH,11,»9760, IEE) iFMASS.SMASS. ISCAN,Rl
CALL FMWRT (IDTLM,MCH.29. »9760. IEE) > IDTLM,AMOUNT.RAMNT,f
CALL FMWRT (LFOUND,MCH,1, 99760. IEE) i COEFFICIENTS
GOTO 7099
7098 MCH—I
GOTO 1400 iBACK TO THE . QL
7069 FORMAT
WRITE (TTO.7069) (MDESC(I). I»*. 10). IP
GOTO 7099
*='• C TRY FOR RESP FACTOR FROM FILE
\ 9102 GOTO 9*100 i GO BACK t GENERATE FILENAME
9101 NTREES-0
JCH—1
CALL FMOPR(LDESC.JCH, «917O. IEE)
DO 9110 1-1,16
9110 COEFF(I)«0. 0
MINTRE-O
RFAMAX-0. 0
RFAMIN-1.E79 iA VERY LARGE NUMBER
IBYTE-0
LOBYTE-2*(LENH-LENR)
9121 CALL DMAD
IF (RFAMIN. LT. 0. 98»RFAM) GOTO 9129 : NOT IN LOW RANGE
IF (RFAMIN. LT. 1. 02*RFAM) GOTO 9122
RFAMIN-RFAM >NEW MINIMUM
MINTRE-O
SMIN-O. 0
SMIND2-0. 0 '
MINTRE-O
9122 MINTRE-MINTRE+1 iAVERAGE fc STD DEV ROUTINE
SMIN-SMIN+RFAR
IF (MINTRE. GT. 1) 8MIND2-SMIND2*
Si ( (HINTRE)»RFAR-SMIN)»«2/(MINTRE«(MINTRE-1> )
IF (NFIT. EO. 0) GOTO 9121
9129 SX-SX+RFAM
SY-SY+RFAR
SY2-SY2*RFAR»RFAR
RFAM2"RFAM»RFAM
SX2-SX2*RFAM2
SXY»SXY*RFAM*RFAR
IFfNFIT. EO. 1) GOTO 9121
SX2Y-SX2Y*RFAM2»RFAR
82
-------
APPENDIX F (continued)
SX3«SX3+RFAM2»RFAM
6X4»SX4«-RFAM2*RFAn2
GOTO 9121
5130 IF »Y-A+BX
COEFF(2)»< NTREE5*SXY-SX »SY)
COEFF(1)-(SY»SX2-SX*SXY)
IFCNFIT. EQ. 2. AND. I. GT. 2) GOTO 919O
COEFF(2>-COEFF(2>/DENOM ;8
COEFF(1>-COEFF(1)/DENOM »A
AMOUNT-(AMOUNT-COEFF <1))/COEFF(2)
SD2-SY2-(COEFF(1)•SY+COEFFf2)*SX Y)
NCOEF-2
GOTO 9160
9190 COEFF(3)»SX2Y»DENOM-SX3»COEFF(2)-SX2«COEFF(1) i Y-A«-BX+CX"2
DENOM-SX4»DENOM+2»SX»SX3»SX2-
COEFF<2>»SX4»COEFF<2>*SX2»-COEFF(1>/DENOM ; A
COEFF<2>-COEFF(2)/DENOM 18
COEFF<3)-COEFF(3)/DENOM *(COEFF(1>-
«i AMOUNT»-COEFF( 2»/(2*COEFF<3> >
SD2-SY2-(COEFF(1)»SY+COEFF(2)«SXY+COEFF(3)»SX2Y)
NCOEF-3
9160 AMOUNT-AMAX1(AMOUNT. 0.0)
COEFF(4)-SORT(SD2/NTREES)
C CALCULATE DETECTION LIMITS IF POSSIBLE & REQUESTED
IF (IFLIMD. HE. 2) COTO 9190
DTLM-0.0
IF )
IF (NFIT. EQ. I) DTLM-DTLM/COEFF<2>
IF (NFIT.NE. 2) GOTO 9190
DTLM-(SQRT(COEFF<2)*«2*4*COEFF(3)»DTLM>-
fc COEFF(2»/(2»COEFF<3»
R—COEFF<2)/C2«COEFF(3>> ; CALC MAX OF QUADRATIC
83
-------
APPENDIX F (continued)
IF (COEFFO). LT. 0. 0) RFAMAX-AftlNl (R, RFAMAX)
GOTO 5190
5170 AMOUNT—I. 0 {INDICATES UNABLE TO CALC
5190 CALL FMCLSCJCH,t5192>
5192 JCH—1
GOTO 14001 (RETURN TO AMOUNT CALCULATIONS
ERROR MESSAGES •
;t> TEST AGAir
5003
sooe
5007
5010
IERR-1
GOTO 8904
IERR-2
GOTO 8904
IERR-6
GOTO 8904
IERR-7
GOTO 8904
5004 ERRMESSCS. 3>-ISHFT{IE/8. 8)*MOD. K-l,13)
B900 FORMAT(1X16A2"<7>'<>
IF (OFSU1. AND. 20QOK) OFILE(11. 4)-OFILE<11. 4>+1
NCH—1
IE-34K
CALL FMOPNCIDESC. NCH. *8901. IEE)
IE-26K
CALL FMPOS(-1.-1. NCH. «8901. IEE)
IE-41K
CALL FHWRT(ERK,NCH, 3. «89O1. IEE)
CALL FMWRT(ERRnESS(l, IERR).NCH. 13.48901. IEE)
CALL FMWRTUCR.NCH, 1. »8901, IEE)
GOTO 8903
8901 URITE (TTO.8903) IE.IEE
8903 FORMATC CAN'T WRITE ERRORS TO DISK; OPER: "016"
CALL FMCLS(NCH. «9303)
GOTO 9303
CODE:"OI6"<7>")
8800 URITE(TTO.8810) IE. IEE
8810 FORMATC' IDOS ERROR"/- OPERATION-DIS-
CO TO 9004
CODE"OI6)
9700 IF<(INPUT.AND. 377K). EQ. 40K) INPUT-INPUT-40K
JCESC(6)«INPUT
JDESC(10)-"ME"
CALL TPUSH(DFILE(1.6>,«9750. IE. IEE, JDESC )
GOTO 930O
9750 FORMAT("1FILE: "6A2"."A2,Z)
WRITE(TTO.9750) (JDESC(I).1-4.10)
GOTO 8800
9760 WRITE (TTO.9750) (MDESC(I). 1-4. 10)
84
-------
APPENDIX F (continued)
GOTO 8800
9770 URITE(TTO,9750) (DFILE
-------
APPENDIX G
Listing of Program MATH
MATH (REV 49. 9/30/82) ACCEPTS THE PO-LOWING COMMANDS:
0 (H) (DISPLAY (HARDCOPY) STAT LIST, STACK. * STOPACE REGISTERS
K (P) (KEEP (GET) STORAGE VALUES I I INITIALIZE STAT VAR
E (Z) »EX IT TO nSDS 0 »HARDCOPY THIS PAGE
«XY iDO nCTHOD LWHATHXY. ME
C(J) lCLEAR THE LAST (J) ENTRY(IES) IN STACK. J<0 ALL ENTRIES
C' »CLEAR STORAGE (ENTRIES J THRU K)
S J >STORE THE LATEST STACK VALUE IN REGISTER J
R J iRECALL STORAGE REGISTER J TO THE STACK
J ;ENTER J IN THE STACK
!J iENTER STAT VARIABLE J IN STACK
T('."> jENTER RET. TIME (SEC) OF SCAN IN STAT LIST (1) INTO STACK
;T'(T") 0 EXECUTE Al, A2, OR A3
RANGE I TO J
B';A1;A2;A3 »LIKE 8, THE 2 PRECEEDINB STACK VALUES SET RANGE
«J(.K) iPUT LATEST STACK VALUE INTO STAT LIST(J) AS AN INTEGER
;K-1 AS A UHOLE NUMBER WITH THE FRACTION OCCUPPYING J*l
-------
.APPENDIX G (continued)
MATH49. FR 9/30/84
PARAMETER TTO-10. TTI-10, LPT«2. DSK-1. I«Lf1-33
COMMON /CDE5C/ HOESCt11),MDESC<11>. IDESC(11), JDESC(11>,HSDESCC11)
DIMENSION ITOTL<0:3>. XFREE<0:3),tUSEDCO:3).IRSVD(0:3>.I8AD<0:3>,
li LTEQ«T(7).NOSKIP(7)
INTEGER IUSPARWC20)
COMMON /CLZBR/ USPARW( 10), JUNKOO). NAMEC36)
COMMON /CNMFN/ N.M.ULI. L2.FN,FHFL. FU1. FL2
COMMON /CSTAT/ ISTATO3), FSTATO3). FSTORE< XSLM), FSTACKCISLM)
EQUIVALENCE
(IFSTO.F8TORE).
(USPARW. IUSPARW).
(URET.USPARU(l)),
(•AREA. USPARW(2)>.
(UP1.USPARW(3».
(UP2. U8PARW(4) ),
CURRT. USPARUC9)>.
(UMASS. U8PARU(6».
(UAMNT.USPARU(7»,
(LNAMER. USPARW(B)),
(LNUMR.USPARW<9)).
INST(3). SAMPLE (32). DATE (4). RUNTIME. ANALI8T<4),
t> FORMULA(IO). ICONDIT10NS(32).8UBMITTEO<4>, ACCOUNTC4).
* NCALXB<11>.NDATAF(M>,
li DFSW, DFSW1.DFILE, SFILE-
Si HI MASS. SCNFCN. THRESHOLD.
li iAMPINT. BASE. HIREF, OPSC/«N
COMMON /CHAIN/
& NPROC. DFSW, DFSW1. ITEMP(lS).
Si DFILE(12. *>.8FIUE(11. 4).
Si INSTDO). IREFTABLEdl ).
Si 2ADD1. ZADD2. ISUB1. ISUB2, ISUB3. ISUB4,
S> JADD1.LIBRNAME. LIBRNUMB.IBUF.
Si I6CN<49). XACa(lOO). IDATC49)
EQUIVALENCE
Si (ITEMP1. XTEMP).
S. (ITEMPI3. ITEMP(J3».
«c (ITEMP14, ITEMP(14».
Si < ITEMP19. XTEMP <19».
Si
-------
APPENDIX 6 Ccontlnued)
EQUIVALENCE
(NOATAF. ISCN(l)),
(LOWMASS. ISCNU2)),
(HIMASS.ZSCN(13)>.
(UPTIME. ISCNU4) ).
(DOWNTIME, ISCN<16».
(TOPHOLD. ISCN(19».
(BOTTOMHOLD, ISCN<20)>,
(BCNFCN. ISCN(2S»,
(IACCVOL. ISCN<23>>.
(ITCON, ISCNC24M,
(JADCS, ISCN(2S».
(MPT, ISCN(26».
.
(THRESHOLD. ISCN(39».
(MRATE. XSCN(36».
(8 AMP I NT, I8CNO7)).
(MAREA. ISCN<38)>.
(MINUIDTH. ISCNO9) ).
(HINFW,ISCN<40».
(I1SLN. XSCN(41».
(ISAT. 1SCNC42M.
(ITRLR.ISCN(43)).
& (MZERO. ISCN(44»,
It (MFULL. ISCNC4S))
FOR ACQUISITION PARAMETERS
EQUIVALENCE
(DATE,lACQ(l)).
(RUNTIME. IACQ(9».
(NSCANS. IACQ(6».
(MSCAN3. IACQ(7».
(WEIGHT.IACO(B)>.
(SAMPLE. IACOUOM.
(ICONDITIONS. IACQ(42> >.
(SUBMITTED. IACG(74»,
(ANAL1ST,IACQ<78)>.
(ACCOUNT, IACQ<82».
(FORMULA.IACQ<86> >
FOR ACCUMULTED INFO.
EQUIVALENCE
& (MINAREA, IDATCD),
S< (MERGE.IDAT(2)>,
li (IATOL. XDATC3»,
& (ITOL. IDAT(4».
& (LASTPEAKS. IDATO) ).
& (IDEF, XDAT(6».
& (INOCT, IDAT(S) ).
S> (ICUCT, IDAT<9»,
Si (IBKCT. XDAT(IO)),
Si (SCNRATIO. IDAT(ID),
S< (JSAMPINT. IDAT<23».
Si . (JftATE. IDAT<26»,
(ORIG DATA FILE NAME
(LOW MASS FOR SCAN
lHI MASS FOR SCAN
(UPSCAN TIME (IN SECS)
iDOWNSCAN TIME (IN SECS)
JHOLD TIME AT TOP (SECS)
-------
APPENDIX 6 (continued)
CJACCVOL. IDAT<27», I CALI ACC VOL
>, I BASE INDEX. COMPUTED VALUES
OTOT, IDAT(44». I TOT ION
i PEAK COUNT
DATA JDESC/"D<0>", 0, 1. "LIBRARY<0>". 0, 0. "LX", O/
DATA KD£SC/"D<0>". 0. 1. "MATH". 4*0. "HE". O/
DATA MDESC /"1<0>". 0. 1. "BOMATH".3*0, "99". O/
DATA HSDESC/"1<0>".0. 1, "BOMSDSMSDS". 0, "99". O/
1801 FORMAT dOX. " MATft REV 49 9/30/84 "/)
LNAMEL-"??"
LI8READ-0
LCH— 1
LCH1—1
LNAMEL-0
DO 90 1*1.7
UTEOCT(I)«0
90 NOSKIP(I)-0
METHOD- I
CALL CTINT(ICTD)
IF(ICTD) eOTO 9001
CALL IJ1NM i GET JOB *
HSDESC<4).MDESC(4>
CALL lUSNMCnSDESCO))
C NOW OET ACOU PARAMETERS IF NECESSARY ft POSSIBLE
ZF (NDATAF) GOTO 99 i ALREADY HAVE SCAN P ARAMS
IE"34K tCET ACOU PAR AM FROM »1
CALL FMOPR(SFILE11. ICH. «99. IEE)
IE-4OK
CALL FMRDCNDATAF, ICH. 190. *99. IEE) J READ ALL IN CASE .MI
CALL FMCLSdCH. «99>
COTO 99
•5 FORMAT C CAN'T READ ".7AS,"! ACQUISITION PARAMETERS ZEROED'
CALL FMCLSdCH. »99)
WRITE (TTO. 99) (SFILEJ I. l> , 1-4. 10)
DO 94 1*1.49
XSCN(I>*0
IDAT(I)*0
IACO(I)*0
96 IACQ(101-I)-0
99 CALL STINTtAOOOK)
7373 FORMAT ("1"2>
, ICC-0
89
-------
APPENDIX G (continued)
GOTO 909
CET THE STAT VARIABLES —
910 WRITE (TTO) • MATH INITIALIZED "
909 DO 16 1*1.33
16 ISTAT-0
00 17 IU-0. 3 JHOW MUCH SPACE WE HAVE
1-10*30
CALL SPACEUTOTLCIU). IFREEUU). IUSEDUU), IRSVD(IU). IBAD(IU).
Si IU. IE. IEE)
17 ISTAT i !30»!33
DO 999 J-1.9
K-0
Kl-0
COTO (979.979.979.619.621. 622. 623. 624. 990). J
975 DO 9790 1*1.11 i DATA. CALL !> AUX FILES
9790 IDESC(I)-SFILE
OOTO (981.982. 983). J
9B1 K-IADD1 > ! 1
GOTO 969
962 IF (NDATAF) K-OSCAN i !2
. IDESC<10)-"TI"
CALL CTSCNCK1. IDESC. «590. IE.IEE)
OOTO 990
619 JDESC(7)-"Y<0>-*LIBRNAHE/2S6 i LIBRARY
JDESC(8)-(L1BRNA«E. AND. 377K)*296
IEE-12
CALL OTLENCKl. JDESC. »990.IE. IEE)
K-LIBRNUMB
COTO 990
621 KK*22 iNAMELIST
OOTO 639
622 KK»4 JLIBR LIST
COTO 639
623 KK-2 (SCAN LIST
OOTO 639
624 KK-54
-------
APPENDIX G (continued)
990 ISTAT(J)-K
ISTAT
ISTAT(20)»IBUF. AND. 7
IF (ICC) OOTO 901
COTO 2002
C CLEAR STORAGE
2000 IF (IFL. ME. "' "> GOTO 2100
« " IF (N.CT.0) COTO 3009
S- * 2002 N-l
H-ISLM
OOTO 2010
2009 N*niNO(N.ISLH)
i H-MAXOtN.fl)
H»HINO(I1. ISLfl)
2010 DO 2019 I»N,n
2019 FSTORE(I)*0.0
IF (ICC) WTO 901
COTO 2101
C '-'• CLEAR STACK
2100 IF (N) 2101.2102.2104
2102 N-l i DEFAULT IS LATEST ENTRY
OOTO 2104
2101 N-1SLH i CLEAR THE ENTIRE STACK
j 1SPT-ISLM
< 2104 N»HINO(N. ISPT,ISLM)
2109 IF (N.LE. 0) OOTO 9O1
FSTACM ISPT)-0.0
ISRT-ISPT-1
N»N-1
OOTO 2109
9001 CALL CTOBF . FLUSH TTO OUT
IFCICTR EO. 2000K) COTO 9002
URITE(TTO) "*D"
OOTO 9004
9002 DFILEU. 9>-0 » STOP RROC
WR:TE "~z"
9004 CALL RESET 'FLUSH LIST
9009 CALL CTIBF
CALL STINTC4000K)
KCHAN-TTO
IDSW-0
OOTO 9302
901 IDSU—1 (SET DISPLAY REQUEST SWITCH
9300 KCHAN-TTO
CALL ICETINCINPUT. IFL. IBIT. 9. N. FN, »9004, C9301)
91
-------
APPENDIX G (continued)
GOTO 9340
9301 I"DFILE<1.6> >WILL BE O IF TTO COMING UP
CALL TPOP(DFILE(1,6>.»9770.IE.IEE)
IF (METHOD. CT. I) HETHOD-METHOD-1
XF(I> GOTO 9300 iMORE DISK STUFF AVAL
9302 IF(IDSU) GOTO 1000 (00 DISPLAY
WRITE
IF (METHOD. CT. 1) HETHOD-METHOD-1
CALL 1CET1(INPUT.IFL. IBIT. 9.N.FN, 99004. *9301)
9340 IF (LTEOCTCMETHOD>. EO. 0) OOTO 9349
NOSKIP(METHOD >-NOSKIP < METH OD >«• 1
IF
<76>
')
GOTO 9100
COTO 9190
COTO 3600
COTO 3900
JCET METHOD FILE
iMULTIPLY
iDIVIDE
iPUT STACK VALUE IN ISTAT
iSTAT INTO STACK
") COTO 9200
"> COTO 9290
OOTO 4900
OOTO 2700
9342 IF (INPUT. EO. 0) OOTO 93OO
IF (INPUT.EQ. "ID") CALL 8MSDS
IF (INPUT. EO. "+ ") COTO 9000
IF (INPUT. EO."- ") OOTO 9O90
INPUTH-INPUT/296
INPUTL-INPUT. AND. 377K
IF (INPUTH. CE. (" O-.AND. 377K)
tr
IF (INPUTH. NE. ("
*
i FOR LACK OF ANYTHING ELSE TO 00
(ADD
iSUBTRACT
9". AND. 377KM
iNUMBER
/296) AND. INPUTH. NE. ("- */296»
GOTO 9341 ;NO SIGN
AND. INPUTH. LE.
COTO 3920
IF (INPUTL. OE. (" 0". AND. 377K). AND. INPUTL. LE. (" 9". AND. 377K»
It GOTO 3920 i SIGNED NUMBER
GOTO 2700 iERROR
9341 INPUT-(INPUT. AND. 177400K)*40K
ICC»(INPUT-"t ")/296
IF( ICC. LT. 1. OR. ICC. GT. 26) OOTO 2700
GOTO(
2700.
B BOUNDARY CONDITIONAL
C CLEAR FSTACK OR C' CLEAR FSTORE
D
E
4900.
2000.
1000.
9128.
2700.
2700.
1001.
i H
92
-------
APPENDIX G (continued)
910. JI INITIALIZE STAT LIST FROM MSDS
2700,
911, iK
2700.
2700.
3940. iN
2700.
913. iP
940. i Q
3960. iR RECALL VALUE FROM STORE TO STACK
3700, < S SAVE VALUE IN STACK IN FSTORE
4100. *T GET TIME
2700.
2700.
4000. ;W WRITE MODIFIED STAT VARIABLES TO STAT POSITIONS
3800, i X EXCHANGE CURRENT It PRECEEDING STACK VAR
4191, »Y GET VARIOUS UBR PARAMETERS
9128JICC tl
EXPLAIN COMMANDS —
2700 URITECrrO. 7373)
KCHAN-TTO
IOSW*0
2710 CALL OPENRCi-EXPLMATH. D8".DSK. IE)
IE-0
CALL FCOPY(DSK. KCHAN. «9039. IE.IEE?
9035 CALL CLOSE(DSK, IE)
IF(KCHAN.NE. LPT) GOTO 9O04
URITE(KCHAN.7373. ENO-9036. ERR-9036)
IF(IFL. EQ. "* "> WRITECKCHAN.7373. END-9036. ERR-9036)
9036 CALL CLOSE(KCHAN, IE)
GOTO 9300
940 KCHAN-LPT
CALL OPLPTCLPT,«9004)
OOTO 2710 '
C EXIT
912B ISCN(1)»0
IBUF«0
CALL RESET
CALL LOADITCEXEC")
DISPLAY OR HARDCOPY VARIABLES Ic STACKS
1000 IDSU-0
HLCNT-34
URITE
-------
APPENDIX G (continued)
1910
1919
7318
1917
FORMAT OX. IS, SX. Z>
IF (I.EQ. 8. OR. I.EQ. 9. OR. I. E0.29) COTO 1919
WRITE (KCHAN,1919) ISTAT(I)
OOTO 7319
FORMAT <4X,I6>9X, Z)
WRITE (KCHAN,7319)
FORMAT U9X.Z)
IF (LOT. ISPT) OOTO 1917
WRITE (KCHAN,1917) FSTACK(I>
GOTO 1919
FORMAT (4X.C11. 4. Z)
WRITE (KCHAN, 7319)
1918 IF (I.LE. ISLM) WRITE (KCHAN,1917) FSTORE(I)
1900 WRITE (KCHAN)
IF (KCHAN. EO. TTO) COTO 1990
WRITE (KCHAN.7373)
CALL CLOSE (LPT)
1990 OOTO 9300
C909 CALL FMCLS (ICH.«910> i ERROR CETTINC STORED VALUES
911 1CH--1
IE-34K
CALL FMOPN (MOESC. ICH. tlOlMEE)
IE-4JK
i-a•isun
CALL FMURT (IFSTO,ICH. I. »900, IEE)
900 CALL FMCLS (ICH.•1011)
ICH—I
1011 IF (INPUT. EO. "K ") OOTO 9300
CALL STINT (4OOOK)
COTO 901
913 IE-34K
CALL FMOPR (MOESC.ICH. •8800. IEE)
I-2«ISLM
CALL FMRO (IFSTO. ICH.ISLM.*8800. IEE)
COTO 900
9700 IF((INPUT. AND. 377K). EQ. 40K) INPUT-INPUT-40K
KDESC<*)»INPUT
KDESC<10>""ME"
CALL TPUSH(DFILE<1,*>.*9790. IE, IEE. KDESC)
METHOD-METHOD*!
IF (METHOD. CT. 7) COTO 8799
COTO 9300
C CODE INVOLVED WITH MOVING NUMBERS BETWEEN VARIOUS
C STACKS t WITH CETTINC INFO FROM LIBRARY
PUT VARIABLE INTO STACK
3900 IF (N. LE. 0. OR. N. CT 33) COTO 8790 ; INVALID
IF (N. EQ. 8 OR. N. EO. 9. OR. N EQ. 29) COTO 8790
FNTRY»1STAT
94
-------
APPENDIX G (continued)
GOTO 3550
3520 FNTRY-FN iVALUE FROM GETIN
3590 IF (ISPT. LT.ISLM) GOTO 351O i IF NOT ENOUGH ROOM IN THE STACK
DO 3505 1-2.ISLM I PUSH OUT THE OLDEST ENTRY
3505 FSTACM I-1)-FST ACM I)
ISPT-ISLM-1
3510 ISPT-ISPT+1
FSTACM ISPT)-FNTRY
GOTO 901
3560 IF (N. LE. 0.OR. N. GT. ISLM) GOTO 8600 iVALUE FROM STORAGE REGISTER!
FNTRY-FSTORE(N)
GOTO 3550
3540 IF (ISPT. LE. 0) GOTO 8950 I REPEAT LAST ENTRY IF THERE WAS 1
FNTRY-FSTACK(ISPT)
GOTO 3550
PUT VALUE FROM STACK INTO ISTAT
3600 IF (N. LE. 0. OR. N. GT. 33) GOTO B750 * INVALID
IF (N. EQ. 6. OR. N. EG. 9. OK. N. Ed. 29) GOTO 8750
IF (N. OE. 20) GOTO 8751 ; FORBIDDEN LOCATION
IF (M. LT.O. OR. H. OT. 2) GOTO 8759 iINVALID ARGUMENT
IF -ISTAT(N»*10000*. 5 tFRACION
GOTO 3650
361O IF (FSTACK(ISPT).NE. 0.0) GOTO 3615
I8TAT(N)-O
ISTAT(Nfl)»0
GOTO 3650
3615 TEMP-ASS(FSTACK(ISPT))
ISTAT(N*I)«ALOGI0(TEMP)
IF (ISTAT(N*l). LT.O) ISTAT(N*1)-ISTAT(N»l)-l
ISTAT(N*l)»ISTAT+0. 5
IF (FSTACK(ISPT).LT.0.0) ISTAT(N)»-ISTAT(N)
3650 GOTO 901 i BACK FOR NEXT INPUT
3700 IF (N. LE.0.OR N. GT. ISLM) GOTO 8600
F8TORE(N)«FSTACK(ISPT)
GOTO 901
3800 IF (ISPT LT.2) GOTO 8990 i EXCHANGE
TEMP«FSTACK
-------
APPENDIX 6 (continued)
C TRANSFER FROM ISTAT TO BTAT VARIABLE LIST
.4000 IADD1-ISTATU)
JSCAN«ISTAT(2>
JADD1"ISTAT(3>
LIBRNUMB»ISTAT(4)
DO 400S I»8. 7
4009 DFILEU2. I-4)-ISTAT(I>
DO 4010 I«10.19
4010 SFILEU-8,4)*ISTAT(I) i ! 10 THRU !19
eOTO 901
C ----- DO VARIOUS TIME RETRIEVALS fc CALCS ---
4100 IF (IFL. EO. "<134> «) GOTO 4120
IF (IFL) COTO 4190
FNTRY-ISTAT(l)*(UFTIME+DOV*n>IME*TOPHOLD+BOTTOMHOLD>
COTO 3990
4120 IF USPT.LE. O> GOTO B99O
FSTACK ( ISFT)«AINT(FSTACK ( 1 5FT) /
ti +0. 9)
GOTO 901
4190 IF ". AND. IFL. ME. "O»2> "> COTO 8799 J ' OR "
4191 LIBNTRE»ISTAT(4>
IF (LIBNTRE. LT. 1. OR. LIBNTRE. OT. 1ST AT (24) ) GOTO 8799
IF (LIBNTRE. EQ. LIBREAD) COTO 4152 i NO NEED TO REREAD
CALL URDQ (LIBRNAME. LNAMEL. LIBNTRE. LCH. LCH1, IXX. JUNK. JUNK.
* JUNK. NAME. MUU , USP ARM. 98800. IE- IEE. «89CO >
LNAMELH. 1 8RNAME
LIBREAD-LIBNTRE
DO 4199 I»l. 10
4199 IF(IUSPARW(I*I). AND. 1) USPARU(I>«0 i BET UNDEF TO 0
4192 IF (ICC. EQ. 29) GOTO 4200 PARAMETERS OTHER THAN TIME
FNTRY-URET
IF (IFL. EQ. "<42> •) FNTRY - URRT
GOTO 399O
C STUFF FROM EDLL TO READ FORMULA t> CAS •
X CALL LBFyRN(FORMW. ISTR)
X3100 FORMAT (1XA2T4. 19": "14. IX. S9A2, T42. SOAS)
X WRITECKCHAN, 3100) LBNMT. LB IND. MhU. ISTR. (NAMEU( I ),!•!. 20)
X GOTO 3400
X3SOO FORMAT (/1XA2T4, 19": "39A2)
X URITE(KCHAN, 3200) LBNMT, LBIND, (NAMEW( I ) , I«I. 39)
X MA-0
X DO 3210 !•!. ICNTU
X K-AREAU(I)
X IF(K. LT. MA) GOTO 3210
X M»I
X MA'K
X3210 CONTINUE
X M*MASSU(M) .BASE MASS
C END STUFF FROM EDLL
C PUT INDICATED LIB VALUE IN STACK
4200 IF (N. LT. 0. OR. N. GT. 9) GOTO 8799
96
-------
APPENDIX G (continued)
GOTO (4210. 4220. 4230. 4240,4290. 4260) N
4210 FNTRY»UAMNT (AMOUNT
GOTO 3950
4220 FNTRY-UP1 iUSER FARM 1
GOTO 3990
4230 FNTRY-UP2 (USER FARM 2
GOTO 3990
4240 FNTRY-nWW i HOL WT
GOTO 3990
4290 FNTRY-UMASS i QUANT MASS
GOTO 3990
4260 FNTRY-URF ;RESP FAC
GOTO 3990
C SET UP FOR CONDITIONAL EXECUTION OF OPERATORS
4900 IF (ISPT. LE. 0) GOTO 6990
IF (ICC.NE. 2) GOTO 4909
IF (IFL. NE. -<47>") GOTO 4902
IF (ISPT.LT.3) GOTO 8990
FN-FSTACK(ISPT-2 >
FW«FSTACK tISPT-1)
4902 IF GOTO 0799 ; PROPER BOUNDARIES?
4909 NCSK1P(METHOD)— 4
LTEMT( METHOD >»2
tF (FSTACK(ISPT).LT.FN) LTE08T( METHOD>«O
IF (FSTACK(ISPT).6T.FM) LTEQCT"FSTACK(ISPT-1)-FSTACK(ISPT)
GOTO 2102
9100 IF (ISPT. LT.2) GOTO 8990
FSTACK(ISPT-1)-FSTACH(ISPT-1)*FSTACK(ISPT)
GOTO 2102
9190 IF (ISPT.LT. 2) GOTO 8990
IF (FSTACK(ISPT).EO.0. 0) GOTO 8900 iPREVENT DIV BY 0
FSTACK(ISPT-1)-FSTACK(ISPT-1)/FSTACK(ISPT >
GOTO 2102
9200 IF (ISPT.LT. 2) GOTO 8990
FSTACK (ISPT-1 )"AMIN1 (FSTACM I SPT). FSTACM ISPT-1) )
GOTO 2102
97
-------
APPENDIX G (continued)
9290 IF CISPT.LT.2) GOTO 8950
FSTACMISPT-i)«AMAX1(FSTACK(ISPT), FSTACK(ISPT-1 ) )
GOTO 2102
C ERROR MESSAGES
C — GRIPE ABOUT ILLEGAL STAT POINTERS
8600 FORMAT C POINTER OUT OF BOUNDS")
WRITE (TTO.8600)
GOTO 9004
8750 FORMAT (IX.17," 13 NOT A ".Z>
WRITE .IFL.FSTACK
WRITE(TTO.9750) (JDESC(I). 1-4,1O). IE, IEE
GOTO 9004
9770 WRITE(TTO,9750) (DFILE(I, *).1*4.10), IE. IEE
GOTO 9004
END
98
-------
APPENDIX H
Listing of Procedure SEEK!
C DDSEEH16. OS 4/17/84
CDSEEK. 06 18 A TEXT FILE IN THE FORMAT RE3UIRED BY
THE INCOS TEXT EDITOR (GE> MACRO "PRLOAD". WHICH 18 APPENDED TO
THE END OF THE FILE.
TO GENERATE THE SEEK! . PR FIUES ENTER QE FROM IDOS WITH THE
COMMANDS:
*0£
•EYDDSEEK16 OS
THEN POSITION THE CURSOR THE AT START OF THE LINE WHICH BEGINS
WITH ".U2»" * ENTER "XAQA" 3
U2«3LSC BEGIN PRLOAD 3»OL. UOSC END PRLOAD J«. U100. OlXVtOO, aiK»Q2JL»-32.<0 PEAK FOUND BUT FAILED <*UAL CRITERIA
ADDITIVE -16 FAILED R/P
-8 FAILED LOW F/P
-4 FAILED HICH F/P
-2 1 OR MORE MASSES SATURATED
-1 ENHANCED
>«O PEAK FOUND, PASSED QUAL CRITERIA
ADDITIVE 1 REQUIRED ENHANCEMENT TO PASS F/P
2 I OP, MORE MASSES SATURATED
13-19 ARGUMENTS RETURNED BY SEAR. LIBR. ETC.
99
-------
APPENDIX H (continued)
CINITIALIZE STAT VARIABLES AND .OR FILES
C SEEK 1. PR 3
ERASE
IF !S1
SET1 fl
SET4 NB
RUN HATH(K;E> C CLEAR HATH STORAGE FILE 3
C CREATE METHOD FILES 3
RUN MEPR
RUN PIEPR(I;MATHT3i \;R6; ! 19» •< . 9) *i t!6. ! 1*< Xi Ci 11 00. lO4i -14; O; -16; X, C; +; \; W, fci)
RUN MEPR(I;MEPRTliC3i \iFILEi \;C3i\iPi\»C3>\s*/N i\;C3iU*C>
RUN M£PR
RUN LURPRT(CiE) C START A NEW REPORT 3
CSEARCH SPECTRUM USING NBS LIBRARY]
PAP ( It V20GOO, F. 39. 320; C; N<2. 3. 3; U296. D; E)
SETS
CPRCCESS SCAN NUMBERS FOUND BY MAP. USING LIBRARY3
SEEK 1 A
CHARDCOPY .OR FILE 3
RUN LWRPRT (F2)H'37;E)
SEEKT2 t RETRIEVE ORIGINAL FILENAME 3
C END SEEK 1. PR 3
t SEEK1A. PR 30ETS
SET 4 NB
EDLL <-;UiE>
CPASS THREE COMPOUNDS WHICH MOST CLOSELY MATCH SPECTRUM3
UIBR ( ') T700< U39. 320; U! 39. 320; F; X. S. 3) J< 1; E> /V
(DECISION LOOP. TESTS * OF LIBRARY ENTRIES FOUND 3
SEEK IB
CURITE COMPOUND NAME. FIT. PURITY. RFIT. F/P, I R/P TO .OR FILE3
RUN LWRPRT (>;£)
LOOP
C END SEEK 1 A. PR 3
CINITIALIZE STAT VARIABLES IF NO LIBRARY B4TRIES FOUND]
C 8EEK1B. PR 3SEEK1C
SET* XXttl C NO LIBRARY MATCH. GIVE IT A DUMMY NAME FOR RPRT 3
SET10 ,•8192
SET 14
SET 17
SET 18
SET 19
RETU
C END SEEK1B. PR 3
100
-------
APPENDIX H (continued)
CCALCULATES QUALITATIVE PARAMETERS IF A LIBRARY ENTRY IB
C 8EEK1C. PR 3IF !26
CCALCULATE F/P AND R/P OF BEST FIT OF THE THREE COMPOUNDS FOUND IN LIBR. 3
RUN MATH(tT2; tT3; l)-i*10i WiE)
SET 14
IF SEEK IB «4!10
SET 10 . '10
RETU SEEK1B
C END SEEK1C. PR 3
C BEEK1L. PR PROCESS A . NL THRU SEEK1 3
CETN
SEEK1
LOOP
C END SEEK1L. PR 3
C BEGIN PRLOAD 3. UO.ZUZ<24 BPXL BRACXSP>" NOT FOUND END;
ELSE
3. Ul S. PR«; C IF ".PR" CAN'T B FOUND END) ELSE
3.US02-01-10-LC IF PRNAME. PR HAS A VALID t OF CHARS THEN
30L. U3G1.02XXt STORE PRNAME. PR
30ZJI.SC END »CXtt/ J«U4«/tOLXYK«C CREATE A SEARCH SUDR IN Y
3QOJQYQ4; C IF " END PRNAME. PR '6
2ZJIE03:»CXtI/»03.09W«EC»/»C 9EATE SUBR TO WRITE PRNAME. PR
3I~A«exi URITTEN*13«I/»/«C l> PLASH MESSAGE
I-L2XW2KQWC I. EXECUTE SUBR
309J-2D. UO'CCLEAN UP li SET POINTER TO END OF PRNAME. PR
3C END PRLOAD 3
101
-------
APPENDIX I
Listing of Program LWRPRT
LWRPRT (REV 51. 6/20/83. LOOK9 COMPATABLE) COnnANDS:
0 (H> <'J> (DISPLAY (HARDCOPY) . OR FILE
I' APPEND FILE RPRTHEADR. OS TO 1ST PACE OF REPORT
»IF NO FORM FEED DESIRED BETWEEN RPRTHEADR AND
i BODY OF REPORT, SET J-NJMBER OF LINES IN RPRTHEADER.OS
E (Z) ; EX IT TO HSDS O IHARDCOPY THIS PACE
F J iOUTPUT FORMAT J«0 (DEFAULT) DUMP
;J»l NAME. OUAL «• QUANT SUMMARY (WALLING FORMAT. MESSAGES
; DEPENDENT ON STAT VARIABLE 10 AT TlflE OF »
iJ«2 NAME ti OUAL INFO
.J-3 NAMES ONLY
< ;INITIALIZE .OR FILE WITH HEADERS FROM DATA FILE
:: .APPEND INFO FROM LIB ENTRY * STAT VARIABLES 1.3.4.10-19,2? !. 28
.TO GR FILE
.< QUANT PARAMETERS MAY BE INSERTED BY LUOUAN REVS > ico>
2R FILES ARE GENERATED IN PART BY LVAPRT. THEY ARE USED TO COMBINE
QUALITATIVE * QUANTITATIVE INFORMATION FROM SFMCS/EMD/PAB/EMSL/RTP
AUTOMATED CC/MS DATA PROCESSING. QUALITATIVE INFORMATION IB PASSED FROM
THE STAT VARIABLE LIST UPON EXECUTION OF THE ">' COMMAND.
QUANTITATIVE INFORMATION HAY SUBSEQUENTLY BE INCORPORATED BY
LWQUAN (REVS > 100).
HARDCOPY FROM LURPRT PROVIDES COMPACT REPORTS.
THE . OR FILES MAY BE TAPED FOR ARCHIEVAL STORAGE 8,/OR DATA TftANSFERRAL.
102
-------
APPENDIX 1 (continued)
C LWRPRT91.FR 6/20/B4
C STATIC INTERPRETED ACCORDING TO LOOK9
PARAMETER TTO-10. TTI-10. LPT»2,
PARAMETER LENQH-14O. ISTAT1-SO, ISTAT19-64, LENQL-66- LENQ-104
COMMON /CDCSC/ KDESC(11).MDE3C(11). IDESC(ll). JDESC(ll)
EQUIVALENCE
*
INTEGER
& 0 1 NST ( 3 ) . as AMPLE ( 35 ) . ODATE ( 4 ) . QRUNT I ME. 0 ANAL 1ST ( 4 ) ,
* OFORMULA (10). QCOND ITI ONS( 3S > . QSUBM 1 TTED ( 4 ) , OAC COUNT ( 4 ) .
Si OCALIB(11),QCATAF(11J.QRFILE<7).LUNITS(3). QNAMEf36),MFACH(i
t> QUN I TS < 3 > . OHE ADSP < 4 ) . QLNAMER , QLNUMR ,
fc STAT1. STAT3. 8TAT7, STAT27, STAT2B. STAT10, 3TAT11. STAT12, STAT13,
& 8TAT14. STAT19. STAT16. STAT17, STAT18. STAT19.
«i IUSPARU<20>
EQUIVALENCE
(ORFILE(l). IHEAD(D).
(QDATAF <1).IHEAD(8 ».
(QUPTIME, IHEAOU9) >.
(ODCUNTIME.IHEAD(21)>.
(QTOPHOLD. IHEAD(23».
(QBOTTOMHOLD. IHEAD<2S>>.
(QINST(l).IHEAD(27)>,
(QDATE(l). IHEADOO)).
(QRUNTIME, IHEADO4)),
(QWEI«HT. IHEAD<37»,
(QSAMPLE(l). IHEAD(39)),
(OCONDITIONSd). IHEAD(71».
(OSUBMITTED(l). IHEAD(103)).
(QANALIST(I). 1HEAD(107)).
(QBFAC.IHEAD(130)>.
(QBFACH.QBFAC).
(SUNITS(l).IHEAD(132)).
(QHEADSP(i). IHEAD(139»
COMMON /CLIBR/ 1URETH, 1URETL.1AREA. IUP1H. IUP1L. IUPIH, IUP2L.
V IURRTH. IURRTL, UMASS.
& IAH, IAL. LNAMER, LNUMR. IU1. IU2. IURFH, IURFL.
S< JUNK(LENQL). NAME(36)
EQUIVALENCE
V (URET. IUP.ETH. USPARWd ). lUSPARU(l)).
& (UP1.IUP1H).
«i (UP2. IUP2H).
& (URRT,IURRTH).
103
>THAT'S WHAT YOU CE7
-------
APPENDIX I (continued)
«<
tr
(UAMNT. I AH),
.
S, (STAT7. 10(92)).
Se (STAT27.10(93»
& (STAT28. 10(94))
(STATIC. 10(99))
(STATll. 10(96))
(STAT12. 10(97))
(STAT13. 10(98))
(STAT14.10(59))
(STAT19,10(60))
(STAT16, 10(61»
(STAT17. XQ(62)>
(STAT1B.
(STAT19.
(OLNAMER.10(69)).
(OLNUMR, I0(64».
(FMASS,10(67)),
(SMASS.10(69)),
(ISCAN.10(71)),
(OTRET. X0(72».
(METH(l).10(74)),
(OTAREA. 10(76) >.
(DTLIM.10(78)).
(OTAMOUNT, IO(BO»,
(OTRAMT.10(82)).
(OTRRT.10(84)).
(NTRERL.10(86)).
(OTCOEFSd). I0(87»,
J. (LFOUND. IO(LENQ».
V (JUNK1. JUNK(1»,
Si (OOLRET. JUNK(62))
itENGL THRU THIS ENTRY
DIMENSION OTCOEFS(4),NUMCAS(10>.USPARU(10)
INTEGER
TN6TO),«Am>UE(3a>. DATE(4), RUNTIME. ANALIST(4).
FORMULA(10).ICONDITIONS(32).SUBMITTED(4),ACCOUNT(4),
NCALii(ii). NOATAF< ID.DFSW. DFSWI, DFILE. SFILE,
HIMASS.BCNFCN, THRESHOLD.SAMPINT. BASE. HIREF. UPSCAN. METH(2>
OMMON /CHAIN/
NPROC.DFSU. DFSU1, ITEMPU9).
DFILE(12. 6>,SFILE(11, 4),
INSTDO). IREFTABLE(11 ).
104
-------
APPENDIX I (continued)
V IAD01.IADDS.1SUB1. ISUBS.ISUB3. ISUB4.
t JADD1.LIBRNAME. LIBRNUMB,IBUF,
lc 1SCN(49), lACOUOO). IDAT(4S>
EQUIVALENCE
* (DFILEi9,DFILE( !,»)>.
fc (SFILE11.SFILEU. l>>.
* (I8CN1. ISCN(D)
FOR SCAN PARAMETERS
EQUIVALENCE
(NDATAF,I8CNU».
(LOWMASS.ISCN(IS)).
(MIMASS, ISCNU3)).
(UPTIME.ISCN(14)>.
(DOWNTIME. ISCNU6M.
(TOPHOLO. ISCNUB».
(BOTTOMHOLD>. ISCN < 20 ».
8. (SCNFCN, ISCN<22».
* (IACCVOL. ISCNC23)).
& UTCON, I5CN<24».
t (JAOCS-I3CN(25>).
fc (NPT. I3CN(36».
S. (JIOND. ISCN(27».
S< (NSAMP. 18CN<28».
«< (UPSCAN. ISCN(29».
S< (INST. ISCN(30)>.
& (RESOLUTION.ISCN(33)).
% (THRESHOLD.ISCN(39)).
* (MRATE, ISCN(36».
V (8AMPINT, I8CNO7)).
*, (KAREA, I8CN(38».
V (MINWIDTH. ISCNO9)).
«t (MINFW. ISCN<40».
9t (18SLN. IBCN(4D),
(. (ISAT.ISCN(42)).
«. (ITRLR.ISCN(43)).
>< (MZERO. X8CN(44)),
& (MFULL. ISCN(49»
FOR ACQUISITION
EQUIVALENCE
PARAMETERS
(DATE. IACQU)),
(RUNTIME.IACQ(S)).
(N6CANS. IACQ<6».
(MSCANS. IACQ(7».
(UEICHT.IACQC8)).
(SAMPLE.lACQ(lO)).
(ICONDITIONS. IACQ(42)>.
(SUBMITTED.IACQ(74)).
(ANAL 1ST, IACQ(78».
(ACCOUNT, I AGO (S3 ».
(FORMULA.IACQ(86>)
FOR ACCUMULTED INFO.
EQUIVALENCE
Si (MINAREA. IDAT(l)).
Si (MERGE. IDAT(2».
iORlQ DATA FILE NAME
•LOW MASS FOR SCAN
iHI MASS FOR SCAN
iUPSCAN TIME (IN SECS)
iCOUNSCAN TIME (IN SECS)
iHOLD TIME AT TOP (SECS)
iHOLD TIME AT BOTTOM (SECS)
iSCAN FUNCTION FOR ACQUISITION SCAN
iACCELERATING VOLTAGE
{ACQUISITION CONTROL WORD
iADC SAMPLING INT. (MU-SECS)
{HARDWARE ADD COUNT
i INTENSITY/ION
(SOFTWARE ADD COUNT
{ACQUISITION DIRECTION (-1-UP.0-DOWN
iINSTRUMENT NAME (6 CHARS)
{RESOLUTION OR PEAK WIDTH
iA/D THRESHOLD
(MASTER RATE
iHARWARE SAMPLING INTERVAL (MU-SECSi
iMINIMUM AREA
{MINIMUM PEAK WIDTH
iMINIMUM FRAGMENT WIDTH AS X OF SAMP.
(BASELINE TO SUBTRACT
(SATURATED VALUE
(SCAN TRAILER DESCRIPTION
.DATE OF ACQUISITION
(TIME ACQU STARTED (AS H*100 «
.NUMBER OF SCANS
{NUMBER OF 1ST SCAN WITH DATA
(ACCOUNTING QUESTIONS
M)
(MINAREA AFTER READ
iMERGE TO AS % OF RES
105
-------
APPENDIX I (continued)
*
&
(IATOL. 1DATI3M.
>.
(XBKCT,IDAT(IO)).
(SCNRATIO. IDATtlD),
.
(JRATE. IDAT(S6».
(JACCVOL. XDAT(S7)>.
JLOWREF.XDAT(SB)).
(HIREF. IDAT(29».
(NUMREF. IDATOOM,
FOLLOW THE FORMAT OUTLINED BELOW. ?ALL TEXT DATA IS IN
THE FORM OF 1 7-BIT ASCII CHARACTER/BYTE. 2 BYTE3/16 BIT WORD, AS
WRITTEN BY DATA GENERAL FORTRAN'S AS FORMAT. FLOATING POINT (FP)
NUMBERS CONSIST OF 2 16-BIT WORDS IN DATA GENERAL'S FLOATING POINT
CONVENTION. INTEGERS ARE 1 16-BIT WORD. SIGNED. THE NOTATION "NOT
PRINTED" SIGNIFIES THAT THE VALUES ARC NOT PRINTED BY RPRT IN IT'S
FO OR DUMP FORMAT.
THE FILE BEGINS WITH A HEADER OF 14O 16-BIT WORDS WHICH IS WRITTEN
BV RPRT UNDER THE "<" COMMAND. XN RPRT THIS INFORMATION IS
CONTAINED IN THE ARRAY IHEAD AS FOLLOWS:
IHEAD
-------
APPENDIX I (continued)
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
THE 10 ARRAY
IS WRITTEN BY
10(1)
10(2)
10(3-4)
I0<9-40>
10(41-43)
10(44-45)
10(46-47)
10(48-49)
10(50)
10(51)
10(52)
10(53)
10(54)
10(55)
10(56)
10(57)
10(58)
10(59)
10(60)
10(61)
10(62)
10(63)
10(64)
10(65)
IQ<66>
10(67-68)
10 < 69-70)
10(71)
10(72-86)
10(87-94)
10(95-104)
IS WRITTEN FOR EACH COMPOUND. QUALITATIVE INFORMATION
RPRT l> QUANTITATIVE INFORMATION BY LWOUAND.
DESCRIPTOR
LIBRARY
ENTRY NO
LIB MASS
COMPOUND
LIB AREA
LIB RET 1
LIB RRT
!1
!3
!7
!27
!28
!10
'11
'16
'.17
FORMAT COMMENTS
DATA WRITTEN BY RPRT
A2
I
FP
36 AS
3 A2 NOT PRINTED
FP
FP
VALUES IN STAT VARIABLE LIST
AT TIME RPRT WAS CALLED
rtlASS
•MASS
QUANT SCAN
DATA WRITTEN BY LWQUANO
A2
I
FP
FP-
I
CURVE FARM 4 FP
FUTURE EXPANSION. CURRENTLY SHOULD
WITH POSSIBLE EXCEPTION OF 10(104)
DATA JDESC/"D-.O.i. -LIBRARY". o. o. -LX-.O/
DATA KDESC/"D". o. i. 6*0. -TI-.o/
DATA MDESC/"KO?".O. i,**o. -OR-, o/
ALL BE o-j
FORMAT ,24x,
373 FORMAT<"I"2>
LWRPRT REV 51 4/20/84")
ISPSP-" "
LEN02-LENO+LENO
LENOH2»LENQH+LENOH
LENQHB»LENGH2-LENQ2
JCH—1
LCH—1
LCH1 —1
LNAMEL*0
KFRMT-1 iDEFAULT TO DUMP FORMAT
LPNTRE-6
107
-------
APPENDIX I (continued)
C CREATE .OR FILENAME
«DESC(1>»"D<0>"
MDESC(2)-0
HDESC<3)«1
MDESC(10)-"GR"
riDESC
COTO 9340
9301 1-DFILE<1.6> COTO 9300 iHORE DISK STUFF AVAL
9302 IF(IDSW) COTO 1OOO iDO DISPLAY
WRITE(TTO.2111)
2111 FORMATi" LWRPRT: -2)
CALL 1CET1CINPUT,IFL. IBIT.9,N.FN, «90O4. *9301)
9340 IF (IFL. EQ. "<74> •) COTO 6000 I <
IF (IFL. EQ. "<76> ") COTO 4000 >>
IF (INPUT.EO. "ID") CALL SMSDS
IF (INPUT) COTO 9341
IF (IFL) COTO 2700
IF (IDSW. OR. MORE. EQ. 0) COTO 930O
COTO 1100
. 108
-------
APPENDIX I (continued)
9341 INPUT-(INPUT. AND. 177400M+40K
IF
IF
IF
IF
IF
IF
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
EQ.
EQ.
EQ.
EQ.
EQ.
EQ.
n
"D
"E
"H
"f
"Q
-2
t»L AT
OOTO
OOTO
OOTO
OOTO
GOTO
GOTO
M CHMMJ
1000
912B
1001
3000
940
9128
kwns
8700 URITEtTTO. 7373)
KCHAN-TTO
IDSW-0
27X0 CALL OPENRC"l-EXPLLURPRT. OS". DSK, IE)
IE»0
CALL FCOPYtDSK.KCHAN.*9035.IE.IEE)
9039 CALL CLOSECDSK.IE)
IF(KCHAN. ME. LPT) GOTO 9004
WRITE(KCHAN,7373. ENO-9036, ERR-9036)
IFdFL.EQ. "* "> URITE(KCHAN. 737a END-9036, ERR-9036)
9036 CALL CLOSE(KCHAN.IE)
GOTO 9300
940 HCHAN-LPT
CALL OPLPT(LPT.«9004)
OOTO 2710
C EXIT
9l£B ISCN(1)»0
' IBUF-0
CALL LOADITCEXEC")
C — SET OUTPUT FORMAT
3000 KFRMT-1 iDEFAULT TO DUMP FORHAT
LPNTRE"7
IF (N LE. 0. OR. N. CT. 3) OOTO 901
KFRMT-N+1
IF (KFRMT.EQ. 2) LPNTRE-4
IF (KFRMT EQ. 3) LPNTRE-3
IF (KFRMT.EQ.4) LPNTRE-3
COTO 901
— DISPLAY OR HAROCOPY
1000 IDSU-0
MLCNT-34
IF (KFRHT.EQ. 1) LPNTKE-LPNTWE*! » STOP SPILL OVER ON DISPLAY
GOTO 100S7
100 I KCHAN-LPT
CALL OPLPTCLPT. «9004>
1 0097 UR I TE < KCHAN. 7373 )
LCNT»m_CNT
IF ( IFL. NE. "<47> «) GOTO 10070
C PUT A HEADER IN FRONT OF TA8U.AR OUTPUT
CALL OPENRC1-RPRTHEADR.DS-.DSK. IE)
IE»0
109
-------
APPENDIX I (continued)
CALL FCOPY(DSK. KCHAN, »10060. IE. IEE)
10060 CALL CLOSE (DSK, IE)
LCNT»LCNT-N
fl-L
IF (LCNT. LT. MLCNT. AND. LCNT. CT. (2»LPNTRE+2) ) COTO 10070
WRITE < KCHAN. 7373)
LCNT«ttLCNT
C STUFF FROM OUAN
10070 IND-0
MORE— 1
JCH—1
IE-34K
IEE-0
IHEADOK-0
CALL FMCHK(MDESC.«8790)
CALL CTLEN (NTRES. MDESC. »8700, IE, LEN02)
NTRES»NTRES-(LENOH2-IE)/LENQ2
IF (NTRES CT 0) GOTO 4239
WRITE (KCHAN. 4239)
OOTO 1400
4239 FORMAT C NO ENTRIES IN .OR FILE")
IF (M. CT. 0) NTRES-MINO(M. NTRES >
IF '.N. CT. 0) IND»HINO(N, NTRES) -1
C PRINT TABLE HEADER
C 4200 STATEMENTS PRIMARILY GENERAL DUMP
C 4300 WALLINC fc OUAL FORMATS
CALL FMOPR(ODATAF(I). 1-4.10) ; CK QDATAF * INDICES
WRITE(KCHAN,1830) ODATE. IR iCK 00ATE
1830 FORMAT(BX,4A2I6":MZ)
CALL IFORMATdM. KCHAN. 2. "0".»»OO4)
WRITE(KCHAN) ".00"
WRITE (KCHAN,1840) OSAMPLE
110
-------
.APPENDIX I (continued)
1840 FORMAT(" SAMPLE. "32A2>
WRITE(KCHAN,4209) QCONDITIONS
4209 FORMAT(" CONDS.: "32A2)
WRITE (KCHAN.4200) OFORMULA,OINST. QWE16HT
4200 FORMAT C- FORMULA: "IOA2. T30"INSTRUMENT: "
It 3A2T90-SAMP. SIZE: "C12. 4)
WRITE (KCHAN.4210) OSUBMITTED. OANALIST, OACCOUNT
LCNT-LCNT-7
4210 FORMAT(" SUBMITTED BY:
WRITE (KCHAN)
"4A2T30" ANALYST: "4A2T90"ACCT. . NO. : -4A2)
C
1402
1100
1101
4231
4233
4241
4237
4239
4333
DISPLAY (HARDCOPY) LOOP
IND-IND+1
IF (IND. EQ. 1) OOTO 4231
IF (LCNT.CT.LPNTRE) GOTO 4290
IF (KCHAN. NE. TTO) GOTO 1101
GOTO 1990 iTTO WILL RETURN TO 1100 IF INPUT
S.
V
4340
i REOPEN . OR
IE»34K
CALL FMOPR
LCNT-LCNT-LPNTRE'
GOTO (4233.4333.4340. 4250).KFRMT
FORMAT (" LIB ENTRY LIB MASS LIB AREA LIB RET".
" LIB RRT LIB REF")
WRITE (KCHAN.4233)
WRITE (KCHAN. 4241) (I.t-lO.19)
FORMAT (5X"!1 !3 !7 !27 !28"/4X, 10(3X"!". I2»
WRITE (KCHAN.4237)
FORMAT (" OUAN SCAN FMASS 8MASS
"DT LIM AMOUNT REL AMOUNT")
WRITE (KCHAN.4239)
FORMAT (" OTRET HETH ",
"RL ENT CURVE PARAMETERS ")
GOTO 4290
FORMAT (" ION SCAN DET LIM NORM PUR . FIT R- F/P".
R/P AMOUNT CONC AMOUNT/-/13X,"(NG>
" ITY FIT"17X"(NG> (UQ/M3) DET LIM")
WRITE (KCHAN.4333)
LCNT-LCNT-1 iTHIS HEADER>LPNTRE
GOTO 4290
•28"/4X,10(3X"!'
AREA
FORMAT (• SCAN PUR FIT R- F/P
XilX." ITY FIT")
WRITE (KCHAN.4340)
LCNT-LCNT-1 , THIS HEADER>LPNTRE
R/P-
4290 LCNT-LCNT-1
WRITE (KCHAN)
Il-O
I2-LENQHB
-------
APPENDIX I (continued)
13-0
14-0
CALL DMADCI1. IS. 13. 14. IND. LEN02) »ARGS HAVE TO BE VARIABLES
IE-26K
CALL FMPOSUl. IS. JCH, *870O. IE)
IE-40K
CALL FWRDdOl. JCH, LENQ. «8700. IE)
4217 FORMAT IIX, 13, 9X. 36A2)
WRITE (KCHAN, 4217) IND. (ONAME( I >, 1*1. 36)
GOTO (421*.4320.4320.4349),KFRKT
421 & FORMAT (3X.ASZ)
WRITE (KCHAN.4216) 10(1)
CALL IFORMAT < 10(2). KCHAN, 9, "0". «<»004)
CALL FRNDO( KCHAN. OUMASS, 2. 7. 2, (8900)
WRITE (KCHAN.4218) OBAREA
R-GURET
ASSIGN 42IB TO ITIME
GOTO 4400 iPR INT TIME. SHOULD RETURN TO 4218
4218 FORMAT (IX.CIS.4.3X.Z)
IF (IQ(t).EO. -NB") WRITE (KCHAN. 4219)
4219 FORMAT (10X.Z)
IF (10(1). ME. "NB") CALL FRNDO(KCHAN. QURRT.3.7,2.»B900)
WRITE (KCHAN.4216) OLNAMER
CALL IFORMAT(OLNUMR. KCHAN. 9. "O".»9004>
WRITE (KCHAN)
WRITE (KCHAN.4219) (IQ(I). I"1STATI. ISTAT19)
4219 FORMAT (IX.9I6/2X10I6)
WRITE (KCHAN.4221) ISCAN
4221 FORMAT (3X, 16-2)
CALL FRNDO(KCHAN,FMASS. 2. 7.2,f8900)
CALL FRNDO(KCHAN,SMASS. 2.7.2.«890O>
WRITE (KCHAN. 4222) OTAREA. DTUM. OTAMOUNT. OTRAMT
4J22 FORMAT (IX.4012. 4)
ASSIGN 4229 TO ITIME
R-QTRET
GOTO 4400 »SHOULD RETURN TO 4229
4229 FORMAT (3X.2A2.IB. 3X. 4C12. 4)
IF (METH(l). EO. 0) nCTH(1)»ISFSI*
IF (METH(2).EQ.0) METH(2>-ISPSP *
WRITE (KCHAN,4229) METH(1). HETH(S).NTRERL. (QTCOEFSCI>.1-1.4)
GOTO 1400
C END OF KFRMT 1 SECTION
4220 FORMAT (IX. 13.16.Z>
IAST10-IABS(STAT10>
IF (IAST10. NE. 4OOOOK) GOTO 4391
WRITE (KCHAN.4391)
GOTO 4398
4391 FORMAT (" CALC»D RT BEYOND FILE LIMITS "Z>
IF (IAST10. NE. 20000K) 60TQ 4393
IF (KFRMT.Ea. 3) WRITE (KCHAN. 4321) STAT1
WRITE (KCHAN.4393)
GOTO 4398
..112
-------
APPENDIX I (continued)
4393 FORMAT USX" NOT FOUND "Z)
I»(FHASS+SMASS+1.0>/2. 0 il.O TAKES CARE OF ROUND OFF
IF (KFRMT. NE. 3) GOTO 4321
WRITE (KCHAN,4321) STAT1
GOTO 4336
4321 FORMAT <4X.16.Z)
IF (ISCAN) GOTO 4322
WRITE (KCHAN.4321) 8TAT1 »DIDN'T QUANT. USE '1-FOR SCAN
WRITE (KCHAN, 4322) ;SKIP DET LIM I NRRT
COTO 4336
4322 FORMAT U7X, Z)
WRITE (KCHAN. 4320) I. ISCAN
CALL. FRNDO » F/P
CALL FRNCO(KCHAN. R,0. 6. 2, t89CO)
R-FLOAT(STAT19)/FLOAT GOTO 4385
IF (QTAMOUNT. LE. 0) GOTO 4337
CALL FRNDO(KCHAN. OTAMOUNT. 1, 9,2.*89CO>
CALL FRNDO(KCHAN, O.TRAMT, 2. 7. 9. »8900)
IF (DTLIM. LE. 0. 0) GOTO 4387
R-OTAMOUNT/DTLIM
CALL FRNDOCKCHAN, R, 1, 9, 3, »8900)
4387 FORMAT (/.SOX.Z)
WRITE (KCHAN, 4387)
4389 FORMAT (" ENHANCED".Z)
WRITE (KCHAN, 4386)
4386 FORMAT (7X.Z)
IF (IAST10. AND 1) WRITE (KCHAN. 4385)
IF (IAST10. AND.2) WRITE (KCHAN. 4381)
4381 FORMAT (" SATURATED".Z)
IF (STATIC. LT. 0) GOTO 4399
IF (STATIC. LT. 4. AND. KFRMT.NE. 3) WRITE (KCHAN. 4379)
4375 FORMAT (" DID NOT INTEGRATE". Z>
GOTO 4349
4395 FORMAT (" FAILED",Z)
WRITE (KCHAN.4395)
IF (IAST 10. AND. 14K> WRITE (KCHAN, 4396)
4396 FORMAT (" F/P".Z>
IF (IAST10. AND 20K) WRITE (KCHAN; 4397)
4397 FORMAT (" R/P".Z)
IF (IAST10. AND. 40K) WRITE (KCHAN. 4398)
4398 FORMAT (" NRRT".Z>
WRITE (KCHAN)
4345 WRITE (KCHAN)
1400 LCNT-LCNT-LPNTRE
113
-------
APPENDIX I (continued)
IF (INC. LT. NTRES) GOTO 1402 i LOOP BACK FOR NEXT ENTRY
MORE-0
INPUT-0
1990 LNAMEL-"??"
JCH— 1
LCH— 1
LCHl— 1
CALL RESET
COTO 9300
4400 IF «R. tT. 0) OOTO 4410 » CALC t< PRINT THE TIME
WRITE (KCHAN. 4410)
COTO 4490
4410 FORMAT (BX. 2)
R-R*. 9
1RT-R/60
IRTl"»R-IRT»60
WRITE I KCHAN. 4490) IRT
CALL IFORMATdRTl.KCHAN.a. "0". »9004>
4450 FORMAT ox. i3":",z>
COTO ITIME
C- «ET ACO'J PARM FOR CURRENT DATA FILE IF NEC
6000 IE-34K iCET ACQU PAUAM FROM »1
CALL FMOPRtSFILEll. ICH. «8800, IEE)
IE-40K
CALL FRRD(NDATAF. ICH, 190. «8BOO. IEE) i READ ALL IN CASE MI
CALL FMCLSdCH. «A003)
C CREATE . OR FILENAME
•003 MDESC<1)«"D<0>"
MLESC<2)-0
MDESC(3)-1
MDESC(10)-"OR"
MDESCC1D-0
CO 6009 1-4,9
*009 HOESC«"1<0>" iOPEN NEW FILE IF NON-EX 1 5TANT
e002 CALL FnOPNlMDESC, JCH. •8800, IEE)
IF ") GOTO 6049 < 6O49 CREATES A NEW .OR
IE-30K
CALL FM*D< I HE AD. JCH. LENOH. C6049, IEE)
C VERIFY THE HEADER IF FILE EXISTS
DO 6010 1-1,7
IF (IHEAD(I).NE. HDE5C(I+3» COTO 6020 ; ERROR
6010 CONTINUE
DO 6019 1-1. 100
1U
-------
APPENDIX I (continued)
IF tIHEADU*29).NE. IACO) OOTO6O20 »ERROR
6015 CONTINUE
IHEADQK—1
COTO 6050
6020 FORMAT <" FILE HEADER DOES NOT VERIFY ">
WRITE (TTO.6020)
GOTO 8850
6045 FORMAT <" CREATING ". 6A2,". ".A2) iURITE THE HEADER
WRITE (TTO. 60*5) , 1*4.10)
DO 6046 1-130. LENQH » OBFAOO. 0 t>
6046 IHEAD»0 « ") GOTO 6071
C -SET fc UR1TE THE QUAL INFO
6090 DO 6079 I-l.LENQ
6079 IQ(I)«0
CALL LBRDQ (LIBRNAME. LNAHEL. L IBRNUHB. LCH. LCH1, IXX. JUtiK. JUNK.
S. JUNK. NAPIE, MWU. IUSPARW. •880O. IE. IEE. «8800)
IQ(1)>LIBRNAME
IO(2)-LIBRNUMB
30 6060 >1. 10
6080 IF < IUSPARW (1*1). AND 1) USPA«W(I)-0 ;0 IF UNDEFIWD
OURRT«USPARW(5)
OUr.ASS-unASS
KSHFT-0
IF (LIBRNAME. NE."NB") GOTO 6091
KSHFT-9
CALL DPCON(IUSPARU(«>, lUSPARW(lO).NUnCAS) ; UNPACK CAS » INTO A:
QNAM£(l)»-(NUMCAS(3>. AND. 1774COK) OR .OR (NUMCAS(6>/4OOK. AND. 377K)
ONAnE(4)-"-<0>".OR. (NUnCAS(7)/4OOK. AND 377K)
ONAME(5)-(NUMCAS(B>. AND. 177400K).OR. "<0>-"
QNAME(6>»(NUnCAS<9). AND. 177400K).OR. "<0> *
<»NAME(7>-" "
QNAnE<8>»- "
QNAME(9>»" "
QURRT*0. 0
6051 1I-36-KSHFT
DO 6055 1*1.II
ONAME(I*KSHFT)*NAME(I>
IF (LIBRNAME. EO. "NB"> QNAME (36 )MJNAHE(36>. AND. 177400K ; STRING TERri.
LUNITS(1)*ISHFT(IUN1. AND. 176000K. -2) +
V ISHFTdUNl AND 1760K,-4)*ISPSP
LUNITS(2)*ISHFT(IUN1. AND. 176K.10)*
t> ISHFT(IUN2. AND. 140000K,-6> +
115
-------
APPENDIX I (continued)
Ic ISHFT< IUN2. AND. 374OOK, -8)*ISPSP
LUNITS<3)»ISHFT(IUN2. AND. 374K, 65+ISPSP
OBAREA»USPARW<2>
OURET-USPARWO)
IF ULNUMR. AND. 1). NE. 1> GOTO 60S
OLNAMER-1SPSP
QLNUMR-0
COTO 6093
6C92 OLNAMER-LNAMER
OLNUMR»(LNUMR. AND. 7TTT7K) /2+<4OOOOK. AND. (LNUHR. LT. 0))
60S3 STAT1-IADD1 I !1
STAT3-JADD1 i!3
6TAT7»DF1LE(1S. 3)
DO 6C60 1-1. 11
6060 IDESC(I)-DFILE(I-3>
CALL OTLEN(STAT27, 1DESC,»6063. 1E.2)
6063 DO 6065 X-l, 11
6C69 IDESC(I)«DFILE(I.4>
CALL CTLENCSTAT28. IDESC. *6067. IE, 94)
6067 DO 6099 1-2,11 I ! 10 THRU ! 19
6099 IQ< ISTATI»3*I>«SFILE(I. 4)
IE-26K
CALL FMPOS<-1. -1. JCH. »8BOO, IE)
IC-41K
CALL FMWRTdOl. JCH. LtNQ. »«8OO. IEE) . UR1TE QUAL INFO & BUFFER FOF
X6071 IE*
6071 CALL FMCLKJCH. »8BOO)
JCH—1
COTO 9300
C HAY NEED THIS FOR ALTERNATE FORMATS
X QLRET»IADDl»
-------
APPENDIX I (continued)
8700 FORMAT(" FILE: "6A2". "A2", IDOS ERROR"/
* • OPERATION-OI3". CODE"013)
WRITE(TTO.8700) (MDESC(I). 1-4,10). IE. IEE
OOTO 8890
8790 FORMAT ("IFILE: "6A2". »A2" DOES NOT EXIST")
WRITE (TTO.8790) (MDESC(I>. 1-4.10>
GOTO 8890
8600 FORHAT(" IDOS ERROR"/- OPERATION"OI3" CODE"OI6)
WRITE(TTO.8800) IE.IEE
6890 JCH—1
CALL FtlCLS. I«4.10). IE. IEE
GOTO 9004
8900 FORMAT ( "FRNDO ERROR")
WRITE (TTO.8900)
GOTO 9004
END
117
-------
APPENDIX J
Listing of Program MEPR
MEPR REV27 1/19/64 ACCEPTS THE FOLLOWINC COMMANDS:
T;TEXT lINSERT 'TEXT' WITH NO CR
T J;TEXT «INSERT 'TEXT'. FILL TO JTH CHARACTER WITH SPACES
* JiTEXT i INSERT 'TEXT' J TIMES
C J I INSERT A COMMA, SEMICOLON, , OR i \i
P i ALTERNATELY INSERT ( OR >
D iDISPLAY THE CURRENT ME OR PR TEXT
•J iINSERT HSDS FILE SPECIFIER
«J iINSERT MSDS FILE NAME
iEXIT TO MSDS
118
-------
APPENDIX J (continued}
C LWMEPR29. FR 1/19/84 GENERATE METHOD OK PROCEDURE FILES
C WRITTEN BY: LYNN H. WRIGHT. PH.D.
C EMSL/EMD/PAB MD-7B
C U.8. ENVIRONMENTAL PROTECTION AGENCY
C RESEARCH TRIANGLE PARK. NC 27711
f
C <919)-941-2991 FTS 629-2951
PARAMETER TTO-10. TTI-10. LPT-2. DSK-1. DSKA-3. NULL-0. IBLM-33
INTEGER JFILEU1.S). IU8PA*W<20>,ITEXT<40>
EQUIVALENCE
fc . KDESC d 1 >. LDESC d 1 >.
1< MOESC (11). NDESC (11), nBPEC (6 >. NSPEC (6). MEPRHEADR (11). KHAR
ft
COMMON /CLIBR/ OSPARW(iO).JUNK< SO >. NAME(3*)
COMMON /CNMFN/ N, M, L. LI. L2. FW, Fn FL. PX1. FL2
COMMON /CMATH/ ISTATC33). FSTATC33). FSTORECISLM). FSTACKCISLM)
EQUIVALENCE
fc (IFSTO.PSTORE).
It (USPARW. IUSPARU).
li (HSPEC2. MSPEC(2».
t (NSPEC2.NSPEC<2)>
EQUIVALENCE
«i (ITEMP1, XTEMP),
«< (ITEMP4. ITEMP(4».
.
& (ITEMP19. ITEMP(19».
* (DFILE19. OFILE(1.9».
4 (SFILEll.SFILEd. 1».
* (ISCN1. ISCN(D)
COMMON /CAREA/ IAREA(44)
C USUAL USDS EQUIVALENCES tc COMMONS
INTEGER
fc INSTOJ, SAMPLE(32). DATE<4). RUNTIME. ANALIST(4),
d FORMULA(IO). ICONDITIONS(32>.SUBMITTED(4).ACCOUNT(4>,
<< NCALIBdD.NDATAFdl).
S< DFSU. DFSU1.DFILE. SFILE.
tc HI MASS. SCNFCN. THRESHOLD.
fc 8AMPINT, BASE. HIREF.UPSCAN
COMMON /CHAIN/
1 NPROG.DFSU.DPSU1. ITEMP(19).
Sc DFILE(12. 6).SFILE<11. 4),
«> INSTD(3>. IREFTABLEdl).
119
-------
APPENDIX J (continued)
t IAOD1.IADD2,XSUB1. ISUB2.ISUB3. ISUB4.
t JADD1.LIBRNAME. LIBRNUMB.IBUF,
* ISCN<49>. lACOdOO). IDAT(49>
FOR SCAN PARAMETERS
EQUIVALENCE
(NDATAF. ISCN<1».
(LOWMASS, 1SCNU2)).
(HIMASS. ISCN(13»,
(UPTIME. ISCN(14»,
(DOWNTIME,ISCNU6)).
(TOPHOLD. ISCN).
(ITCON. ISCN(24».
(JADCS.ISCN(29)>.
(NPT. I6CN(26»,
(JIOND, ISCN<27»,
(NSAMP.ISCN<28)).
(UPSCAN, ISCN(29»,
(XNST. ISCN(30».
(RESOLUTION. ISCNO3)).
(THRESHOLD. ISCNO9M,
(MRATE- ISCN(36».
(SAMPINT. ISCN(37».
(MAREA,ISCN(38)>.
(MINUIDTH.I5CN139)).
(MINFW,ISCN(40)>.
(XBSLN. tSCN(41».
(XSAT, ISCN(42».
(ITRLR. XSCN<43>).
(MZERO. XSCN(44».
(MFULL.ISCN<49>)
FOR ACQUISITION PARAMETERS
EQUIVALENCE
(DATE. IACQ(1».
(RUNTIME. IACQ<9».
(N6CANS, IACQ<6»,
(HSCANS. tACQ<7)).
(WEIGHT, IACQ<8»,
(SAMPLE, lACQ(lO)),
(ICONDITIONS. IACQC42)).
(SUBMITTED. IACQ(74)),
V (ANALIST. IACQ(78».
V (ACCOUNT.IACQ(82)>,
ti (FORMULA, IACQ(86) )
FOR ACCUMULTED INFO.
EQUIVALENCE
(MINAREA.IDAT(l)),
.(MERGE, IDAT(2»,
(IATOL, IDATO)).
(ITOL, IDAT(4»,
(LASTPEAKS. IDAT(5»,
(1DEF. IDAT(6»,
(INOCT,IDAT(B)),
>ORXG DATA FILE NAME
iLOW MASS FOR SCAN
JHI MASS FOR SCAN
iUPSCAN TIME (IN SECS)
JDOUNSCAN TIME (IN SECS)
i HOLD TIME AT TOP (SECS)
iHOLD TIME AT BOTTOM (SECS)
I SCAN FUNCTION FOR ACQUISITION SCAN
(ACCELERATING VOLTAGE
iACQUISITION CONTROL WORD
JADC SAMPLING INT. (MU-SECS)
-------
APPENDIX J (continued)
(ICUCT,IDAT<9>>,
(IBKCT,IDAT(IO)).
(8CNRATIO, IDAT(ll)).
(JSAMPINT, IDAT(2S»<
(JRATE.IDAT<26»,
(JACCVOL, IDAT(27>>,
(LOWREF.IDAT<2B)>.
1HIREF, IDAT<29)),
(NUHREF,IDAT(30)),
(JSCAN, IDAT(31».
(NCALIB.IDAT<32»,
(BASE.IDAT<43>>.
(ITOT. IDAT(*4»,
(LASTPEAK,IDAT<49>)
(TAIL HEJ FOR ENHA
/MAX BACKGROUND INTERVAL FOR ENHA
i MULT BACK BY A FACTOR OF IN ADD
;CALI SAMP INT
^CALIBRATION RATE
»CALI ACC VOL
I LOW REF MASS. CALIB DATA
»HIOH KEF MASS
(COUNT OF REF PEAKS KNOWN
iCALl SCAN *
iCALIBRATION TALBLE NAME
iBASE INDEX. COMPUTED VALUES
)TOT ION
(PEAK COUNT
DATA JDESC/"D<0>".0.1."LIBRARY<0>". 0. 0,"LX". O/
DATA KDESC/"D<0>",0.1. "MEPR", 4*0.-ME", O/
DATA HDESC /"KO>"tO. 1, "BOMEPR".3»0, "99",0/
DATA LDESC /"1<0>".0,1,"BOMATH".3»0, "»9". OX
DATA NDESC /"l<0>".0. 1. "BOMEPR",3«0. "ME". O/
DATA PSPEC /"1:BOMEPR. 99<0>"/
DATA MEPRHEADR /" WRITTEN BY MEPR <133>",2»0/
DATA ICHAR /" ( ) . <73> <19> <134>"/
1800 FORMAT <10X." MEPR REV 29 1/19/64 "/)
IPAREN—1
MATHRD-0
HCHANA—1
LNAMEL""??"
LIBREAD*0
ICH—1
LCH»-1
LCH1«-1
LNAMEL-O
LTEOCT-0
NOSKIP-O
NTEXT-0
METHOD»0
i START WITH OPEN PAREN
iMATH. 99 NOT READ
(FLAC FOR CONDITIONAL EXECUTION
«MDESC(4 >
LDESC<3)«MDESC<3>
LDESC(4)«MDESC(4)
7373 FORMAT("1"Z)
CALL STINT(6000K)
INPUT-0
GOTO 9300
9001 CALL CTOBF iFLUSH TTO OUT
IFdCTR. EQ. 2000K) GOTO 9O02
WRITE(TTO) "^D"
GOTO 9004
9002 DFILE(1.9>»0 >STOP PROC
WRITE(TTO) "^Z"
iOET JOB «
(PUT JOB* INTO SPECIFIER
121
-------
APPENDIX J (continued)
9004 CALL RESET >WHO KNOWS
9003 CALL TSAVE(DFILE(1.4).»9O09. IE. IEE> (FLUSH LIST
9009 CALL CTIBF
CALL STINTC6000K)
KCHAN-TTO
IDSU-0
GOTO 9302
901 IDSW.-1 >9301 IF NO INPUT
GOTO 9340
9301 I-DFILEU.6) (WILL BE 0 IF TTO COMING UP
CALL TPOP(DFILEC1.6>.«9770. IE. IE6)
METHOD-0
IF(I> GOTO 93O9 iMORE DISK STUFF AVAL
9302 IF(IOSU) GOTO 1000 »DO DISPLAY
WRITE
METHOD-0
CALL ICET1(INPUT.IFL, 1BIT.S.N.FH 49004. «9301> »9301 If EOF
C HANDLE VARIOUS CONDIONAL EXECUTION STATES
9340 KCHANO-KCHANA iOUTPUT DEVICE FOR HE OR PR
IF (LTEQCT.EO. 0> GOTO 9349 iNO MORE TESTS IF NO COND
IF (METHOD. EQ. 0. AND. NTEXT. EQ.O) NOSKIP-NOSKIP+1
If tNOSMP OC. 0) GOTO 9347
IF (NOSHIP-H-TEGCT. EO.0) GOTO 9349 JEXEC THIS OP
KCHANO-NULL
GOTO 9OOO iSLUFF OFF NEXT INPUT
9347 NOSKIP-0
LTEQ»T-0
9349 IF (INPUT. EQ 0. AND. IFL. EQ. 0) GOTO 9300
IFIIFL. EO. "* -> GOTO 9700 >GET METHOD FILE
IF (IFL. EQ. "? •> GOTO 27OO
IF (INPUT. EQ. "ID") CALL 8MSDS
INPUTH-INPUT/2S6
INPUTL»INPUT AND. 377K
INPUT-dfJPUT. AND. 177400K)*4OK (CONVERT TO CHAR. SPACE
IF (INPUT. EQ. "E ".OR. I. EQ. "Z ") GOTO 912B ;CXIT
IF (INPUT. EQ."Q -) GOTO 940
IF (INPUT. EQ. "I ") GOTO 910
IF (KCHANA. LT. 0) GOTO 1000 iWITHOUT OUTPUT FILE NOTHING ELSE VAt
9342 IF (IFL. EQ. "<134> "> GOTO 5000 JTEXT FLAG
IF (IFL. EQ. "• ".OR. IFL. EO. "• ") GOTO 3900 i
IF (IFL. EQ. •• ") GOTO 39OO 18TAT INTO STACK
IF (INPUT EQ 0) GOTO 930O I FOR LACK OF ANYTHING ELSE TO DO
IF (INPUTH. GE. (" 0". AND. 377K). AND. tNPUTH. LE. <" 9". AND. 377K»
fc GOTO 3920 iNUMBER
IF (INPUTH. NE. ("«• •/296>.AND. INPUTH. NE. ("- "/29A»
4 GOTO 9341 iNO SIGN
IF (INPUTL. GE. (" 0". AND. 377K). AND. INPUTL. LE. (" 9".AND.377K»
l> GOTO 3920 (SIGNED NUMBER
122
-------
APPENDIX J (continued)
GOTO 2700 iERROR
9341
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
(INPUT.
( INPUT.
(INPUT.
EQ
EQ.
EQ.
EO.
EQ.
EQ.
EQ
EQ
EO.
EQ.
EQ.
EQ.
•
M
N
M
M
m
M
•
H
•
M
**
B
C
D
E
H
I
«
P
0
u
Y
Z
) GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
4900
4100
1000
9128
1000
910
913
4200
940
9800
4190
9128
I BOUNDARY CONDITIONAL
)INSERT COMMA. SEMICOLON, CR OR \»
I DISPLAY
I EX IT
lHARDCOPY
lINITIALIZE
IF(IFL. EO. "• •> URITE(KCHAN.7373. END-9O36.ERR-9036)
9036 CALL CLOSE(KCHAN. IE)
GOTO 9300
940 KCHAN-LPT
CALL OPLPT(LPT.»9004>
GOTO 2710
C EXIT
9128 ISCN(1>-0
IBUF-0
CALL RESET
CALL LOADITCEXEC")
«700 IF« INPUT. AND. 377KKEQ. 40K) INPUT-INPUT-40K
KOESC(6)*INPUT
KDESC(10>»"ME"
CALL TFUSH(DF1LE<1.*>,«9790.IE,IEE, KDESC)
METHOD—1
GOTO 9300
C SET UP FOR CONDITIONAL EXECUTION OF OPERATORS
4500 IF (ISPT.LE.0) GOTO 8990
IF (INPUT. NE. "B •> GOTO 4909
IF (IFL.NE. "<47>"> GOTO 4902
IF GOTO 8799 (PROPER BOUNDARIES?
4909 NOSKIP—4
LTEQCT-2
IF (FSTACK(ISPT).LT.FN) LTEOOT-3
IF LTEOGT-1
123
-------
APPENDIX J (continued)
4S17 COTO 901
C VARIOUS ROUTINES TO HANDLE . ME OR .PR FILE BEING CHEATED
C INITIALIZE BY OP EN INC A SCRATCH FILE TO PUT THE ME OR PR IN
C TEMPORARILY
910 KX1-"<0>. " I SET UP FOR EXTENSION
KX2-"<0>M"
KX3-"<0>E"
IF (IFL. NE. "<47> * ) COTO 919
KX2-"<0>P"
KX3-"<0>R"
«19 FORMAT (/3X.A2. " FILENAME: ". Z)
I-KX2*400K+KX3
URITE (TTO. 919) I
CALL ICSTK3.NSPEC2. 0. «9200. »922> > GET FILENAME
922 NSPEC -O iCYA — END OF STRING
NSPEC < A) -O
II«4
DO 920 1-2,4
ISA-IK
ISB-400K
IF (NSPEC(I). EQ. 0) COTO 921
II-II+l
ISA-400K
ISB*1K
IF (NSPEC(I). AND. 377K. EO. 0) COTO 921
920 CONTINUE
921 IF (II. EO. 4) COTO 1799 i ERROR TAKEOUT
C OPEN NULL DEVICE FOR CONDITIONALS TO BLUFF OFF TO
CALL CPENWC "N: -, NULL. IE. «8BOO )
NSPEC(II/2)-NSPEC(II/2)+ISA*KXl (APPEND PROPER EXT
II-II+l
NSPEC ( I I /S ) -NSPEC ( I 1/2 )+ISB»KX2
II-II+l
NSPEC(II/2)-NSPEC(II/2)*ISA*KX3 i SHOULD HAVE A VALID SPECIFIER
KCHANA-DSK i OUTPUT CHANNEL
CALL CLOSE (KCHANA. IE- «924) i IN CASE WE ARE REINITIALIZING
924 CALL IDELTCMSPEC. IE. «923) i CYA
923 IE-34K » NOT SURE IF THIS IS RIGHT * BUT IT WILL HAVE TO DO
CALL OPEN (MSPEC. KCHANA, IE. »8800) (SCRATCH FILE HEP R. 99
IE-41K
WR I TE < KCHANA. 929 )
929 FORMAT (" ",Z> >24 CHARS TO KEEP MSD3 HAPPY
X IF P")
URITE (KCHANA. 930) (NSPEC ( I ). 1-2. 6)
930 FORMAT (" <133> ". 9A2. " WRITTEN BY HEPR <139>")
COTO 9300
C — — DISPLAY OR HARDCOPY CURRENT WORKING TEXT --
1000 KCHAN-TTO
IF (KCHANA. CE. 0) GOTO 1OO2
WRITE (TTO. 1002)
GOTO 9300
. . 124
-------
APPENDIX J (continued)
1002 FORMAT (/" NO .PR OR .HE FILE OPEN!")
CALL POSIT(KCHANA. 0. 0. 0. IE. »B809)
IF P">
WRITE (KCHANA, 9809) (NSPEC (I). K. 6)
WRITE (KCHANA)
CALL PCS IT(KCHANA,0. 0. 0. IE. «8809)
CALL OPENW(NSPEC. DSKA. IE. «8800)
CALL FCOPY(KCHANA.OSKA.S9809. IE. IEE)
9809 FORMAT <" <133> END ". 9A2. « <139>",Z>
CALL CLOSE(DSKA. IE)
CALL CLOSET(KCHANA, IE)
KCHANA—1
GOTO 9300
C CET INFO FROM CURRENT LIB ENTRY
C PUT INDICATED LIB VALUE IN STACK
C UR£T»USPARW(1). |AREA*USPARU(2). UP1-USPARWO), UP2«U5PARW(4>,
C URRT«US»ARW<9). UMASS"USPARU(6>, UAMNT»USPARU(7),
C LNAMER-USPARW(B). LNUMR»USPARW(9>, UKF«USPARW(10)
4190 LIBNTRE-ISTAT(4)
IF (LIBNTRE. LT. 1. OR. LIBNTRE. OT. ISTATC24)) GOTO 8799
IF (LNAMEL. EQ. LIBRNAME. AND. LIBNTRE. EQ. LlBREAD) GOTO 419k «NO I
CALL LBRDQ (LIBRNAME.LNAMEL,LIBNTRE. LCH. LCH1, IXX,JUNK,JUNK.
fc JUNK. NAME. MWW,UflPARW, «8800. IE, IEE, *8800>
LNAMEL'LIBRNAME
LIBREAD'LIBNTRE
DO 4199 I*li10
4199 IF(IUSPARW(I*I) AND. 1) U8PARW(I)«0. iSET UNDEF TO 0
4192 IF (N. LC. 0. OR. N. EG 8. OR. N. EO. 9. CH. N GT. 11) GOTO 8799
IF (N.EQ. li) FNTRY-MUU
GOTO 9300 >NOT QUITE RIGHT BUT WILL DO FOR DEBUGGING
C GET INFO FROM MATH. 99
913 IF (N. LE. 0. OR. N. GT. I SUM) GOTO 2700
IF (MATHRD) GOTO 912 iALREADY READ IT
IE-34K
CALL FMOPR (LDESC. ICH. •8800. IEE)
I-2MSLM
CALL FMRD (IFSTO. ICH. ISLM. •8800, IEE)
125
-------
APPENDIX J (continued)
HATHRD—1
900 CALL FHCLS (ICH.»91t>
911 ICH—1
912 IARC«FSTORE(N)
X CALL 6TINT (6OOOK)
COTO 901
C INSERT A PARENTHESIS— SYSTEM BALKS AT ( ON THE FLY
42OO FORMAT (1X.A1.Z)
IF WRITE (KCHANO. 4105) ICHAR(4)
WRITE (KCHANO. 4105) ICHAR(N)
IF (N.EQ.6> WRITE (KCHANO. 4105> ICHAR(4)
GOTO 9300
C STUFF FROM PRIN USED TO BUILD TEXT STRING FOR PR OR ME
C GET STAT VARIABLE FILE NAMES i WRITE THEM
3900 IF(N. LT. 0. OR. N. GT. 11) GOTO 2700
IF(N. EQ. 4) GOTO 3995
IF(N. EO. 0) N-l
IF(N. GE. 5) GOTO 3950
DO 3920 1-1. 11
3920 ITEXT(I)«SFILE(I.N)
GOTO 3990
3950 IF 3955.3970.3954
3954 N-N-1
3955 N-N-4
DO 3960 1-1.11
3960 ITEXT(I)«DFILE(I.N>
GOTO 3990
3970 DO 3980 1-1.11
3980 ITEXT(I>-IREFTABLE(I>
3990 FORMAT(1X2A2":"6A2". "A22>
IFCIFL. EQ. "• "> WRITE(KCHANO.3990. END-9003. ERR-9003)
Si ITEXT(l). ITEXT(2). (ITEXT(I). 1-4. 10)
IFdFL. EQ. •• -) WRITE (KCHANO. 3992. ERR-9003-END-9003) (ITEXT(I),1<
3992 FORMAT(1X6A2Z)
GOTO 9300
3995 FORMAT(1XA2Z)
WRITE(KCHANO.3995.ERR-9003.END-9003) LI9RNAME
GOTO 9300
C GET STAT VARIABLE NUMBERS
3500 N-IABS(N)
IF(N. GT. 33) GOTO 2700
I-IADD1
126
-------
APPENDIX J (continued)
IF I»SFILE(N-8. 4)
IF(N-29> 3910.2700.3980
3910 IF(N-20) 3990.3940.3920
3920 N-N-SO »GET 1-B
GOTO (3921.3922. 3921.3924.3S29. 3926. 3927. 3928).N
3922 IX-SFILEUO. 2>
BFILEd0.2)-"TI"
3921 1-0
CALL FHCHK
CALL OTSCNd.SFILEd.N). »8BOO, IE. IEE)
3923 IF-IX
GOTO 3990
3924 LDESC(7>»"Y<0>"*LlBRNArE/296
LDESC(8)-(LIBRNAME.AND.377K)*296
IEE-12
CALL CTLEN(I. LDESC, 08800- IE. IEE)
GOTO 3990
3S29 IEE-22
GOTO 3930
3526 IEE»4
GOTO 3930
3927 IEE-2
GOTO 3930
3528 IEE-94
3930 CALL OTLEN(I.OFILE(1.N-4).«B800. IE. IEE>
GOTO 3990
3940 I-1BUF. AND. 7
GOTO 3990
39SO IU-N-30 * UNIT
CALL ACQSPCCFREE. IU. IE. IEE)
I-IFREE
IFdE. OR IEE) I—t
3990 CALL IFORMATd.KCHANO. O. " -.•9003)
GOTO 9300
C GET t UKITE DATE
4000 CALL GETTKIYR. IMO, I DAY, IHR . IHW, ISEC. »40lO. IX. IX, IX. IX. IX. IX)
4010 FORMATdXI2"/"2)
WRITE IMO
CALL IFORMATdDAY. KCHANO. 2, "0". W003)
4020 FORMAT(" X"2)
WRITE(KCHANO. 4020. END-9003- ERR-9003)
IYR-IYR-IYR/100*100
CALL IFORMAT(IYR.KCHANO.2."0",«9O03)
4030 FORMATC2X.12":"Z>
URITE(KCHANO.4030, END-9003.ERR-9003) IHR
CALL IFORMAT(IMIN. KCHANO. 2. "0".«90O3>
127
-------
APPENDIX J (continued)
4040 FORMAT<« : "Z)
WRITE
NTEXT-0 •
5090 WRITE(TTO.5000)
CALL IGST 1(40,ITEXT,0.1CDXZ,»5200. »9250>
IF (ITEXT(1)/400K. EG. 134K) GOTO 5190 »\ HARKS END OF TEXT
11-40
IF (NTEXT. EO. 0) GOTO 5096 »ELSE INSERT LEADING SEMI-COLON
DO 5095 I«2.II
J-II-I+2
IF (ITEXT (J-1M ITEXT(J)-(ITEXT(J-1).AND. 377K)»40OK+
S. < ITEXT(J>/4COK)
5095 CONTINUE
ITEXT11>-((ITEXT 11)/2S6 >.*ND. 377K)*"<73><0>"
5096 FORMAT(1XA2Z)
NTEXT.-l
DO 5094 I-1.I1
III-Il-I-M
IF l, 111)
GOTO 5090 .00 BACK FOR MORE TEXT
9150 NTEXT-0 iEND OF TEXT FOR NOW
GOTO 9300
5200 IFdFL. EO 10>GO TO 5090 i CNTL-X
GOTO 9003 < HANDLE OTHER CONTROL CHAR NORMALLY
5250 CALL TPOP(DFILEC1.6). 95090.IE.IEE) »HANDLE EOF
GO TO 5090
C — ERROR MESSAGES
C GRIPE ABOUT ILLEGAL STAT POINTERS
8600 FORMAT <" POINTER OUT OF BOUNDS")
WRITE (TTO.8600)
GOTO 9004
8750 FORMAT (IX. 17. " IS NOT A ".Z>
WRITE (TTO.8750) N
GOTO 8752
8751 FORMAT <1X.17.- IS A PROTECTED".Z)
WRITE (TTO,8751) N
8752 FORMAT (" MSDS VARIABLE!")
WRITE (TTO.8752)
GOTO 9004
8755 FORMAT <" INVALID")
WRITE (TTO.8755)
GOTO 9004
128
-------
APPENDIX J (continued)
8900 FORMAT <" ILLEGAL OPERATION ". C12. 9, A2. 012. 9)
Il-ISPT-1
URITE FSTACK(II>.IFL,FSTACK(ISPT)
OOTO 9004
8950 FORMAT C" TOO FEW OPERANDS")
URITE (TTO.8950)
COTO 9004
8805 CALL CLOSE(KCHANA.IE)
HCHANA—1
8800 URITE(TTO.8810) IE.IEE
8810 FORMAT(/" I DOS ERROR OPERATION"OI3- CODEHOI6)
COTO 9004
9790 FORMATCIFILE. "*A2". "A2H, IDOS ERROR"/
1 OPERATION"OI3". CODE-OI3)
URITE(TTO.9790) (JDESC(I). 1-4.10). IE, IEE
COTO 9004
9770 WRITE(TTO, 9750) (DFILE(I.*),I»4,10),IE,IEE
COTO 9004
END
129
-------
APPENDIX K
Ltsttng of Program RLQC
RLOC (REV 28. 2/28/84) ACCEPTS THE FO-LOWINC COnnANDS:
D (H) »DISPLAY (HARDCOPY) THE QUALITY CONTROL CHART
S {APPEND SUMMARY OF CURRENT QC INFO TO RLQC.99
•MX. J i«ET DATA FROM RESPONSE LIST FOR ENTRY J FROM LIBRARY UX
Y-AXIS:
YO AMOUNT
Yl AREA
Y2 HEIGHT
Y3 tAREA»REF. AMOUNT>/[0 QC BASED ON DATA THRU J MONTH. K DAY. L YEAR.
;DATA SORTED l> DISPLAYED BY RUN DATE * TIME
L J. K ; WARN I NO fc CONTROL LIMITS AT J J. K STD DEV, DEFAULT 2. 0 & 3. '
K (P) iKEEP (GET) PARAMETERS I INITIALIZE
E ;EXIT a iHARDCOPY THIS PACE
ED .ENTER EDRL
130
]
-------
APPENDIX K (continued)
C LWRLQC28. FR 2/2B/B4
C DO QUALITY CONTROL ON RESPONSE LISTS
C WRITTEN BY: LYNN H. WRIGHT, PH.D.
C EMSL/EMD/PA8 MD-7B
C U. S. ENVIRONMENTAL PROTECTION AGENCY
C RESEARCH TRIANGLE PARK. NC 27711
C <919>-941-2991 FTS 629-2991
PARAMETER TTO-10. TTI-10, LPT-2. DSK-1
PARAMETER MAXQ-100. LEN«22. LENH-B4
PARAMETER UP«0. DOWN-1. CLEAR-2,OPENP-3. TEXTH-3, CLOSEP-4
INTEGER JO(LEN).DFILE16. DEVICE
REAL AREAS. AREA, HIT, AMNT.
Si METR. METHR(2).AREAR.HITR. AMNTR
COMMON /CDATA/ IO(LEN. MAXQ). FLIMITS(4), STATS(4)
COMMON /CAREA/ IAREA(44)
INTEGER
INSTO), SAMPLB<32). DATE<4>. RUNTIME. ANALIST(4>.
FORMULA(10). ICONDITIONS(32). SUBMITTED(4). ACCOUNT(4).
NCALI8(11).NDATAF(11).
DFSU. DFSU1. DFILE, SFILE,
HIMASS,SCNFCN. THRESHOLD.
•AMPINT.BASE. HIREF.UPSCAN
OMMON /CMAIN/
NPROG.DFSU, DFSU1, ITEMP(19 >.
DFILE(12. *).SFILE(11.4),
INSTD<3).IREFTABLE(I1>.
IADD1. IADD2.IBUB1. I8UB2.18UB3. ISUB4.
JADD1.LIBRNAME. LIBRNUMB.IBUF.
ISCN(49>.lACQ(lOO). IDAT(49)
QUIVALENCE
(ITEMP1.ITEMP).
(ITEMP14.ITEMP(14)>.
131
-------
APPENDIX K (continued)
I (ITEMP19, ITEnPU9»
FOR SCAN PARAMETERS
EQUIVALENCE
(NDATAF, ISCN(1».
(LOWMASS.1SCN<12)>.
(HIHASS-ISCN(13)).
(UPTIME.ISCNC14)).
(DOWNTIME, !SCN(16».
(TOPHOUO.1SCNU8)),
(BOTTOMHOLD.ISCN(SO)),
(SCNFCN,ISCN<22)>,
(IACCVOL. ISCN<23)>.
(ITCON,ISCN124)),
(JADCS.ISCNJ29)),
(MPT, ISCN(2A)>.
(JIOND, ISCN<27»,
(MSAMP, ISCN(28)).
(UPSCAN, ISCN(29».
(INST. tSCNOO) ),
(RESOLUTION, ISCNO3) ),
(THRESHOLD. I8CN<39)>.
(MRATE, ISCNC36)).
(SAMP INT.ISCN(37».
(MAflEA, ISCN(38)>.
(M1NWIDTH, ISCNO9) ),
(MINFW. ISCN(40».
(IBSLN,ISCNU1)).
(I8AT, ISCN(4S)>,
UTRLR, ISCN(43)),
(MZERO. ISCN(44»,
(MFULL. ISCN(49»
FOR ACQUISITION PARAMETERS
EQUIVALENCE
& (DATE, lACfltl)),
(RUNTIME. IACQO)).
(NSCANS. IACQ(6> ).
(MSCANS, IACQ(7».
(WEIGHT. IACO(B».
(SAMPLE. IACQC10)).
(ICONDITIONS. IAC9(42) K
(SUBMITTED. IAC9(74».
(ANAL 1ST, IACQ(7S)>.
(ACCOUNT, IAC<1<82».
I FORMULA. I ACQ ( 86 ) >
FOR ACCUdULTED INFO.
EQUIVALENCE
& (MINAREA
t>
d
«i
S<
Si
IDAT(1».
(MERGE, IDAT(2».
(IATOL, IDATO)),
(ITOL. IDAT<4>>,
(LASTPEAKS. IDAT(9».
(IDEF, IDAT(6)>,
(INOCT, IDAT(B)).
(ICUCT. IDAT(9».
(IBKCT, IDAT(lO) ),
iORIG DATA FILE NAME
iLOW MASS FOR SCAN
I HI MASS FOR SCAN
i UPSCAN TIME (IN SECS)
iDOWNSCAN TIME (IN SECS)
(HOLD TIME AT TOP (SECS)
iHOLD TIME AT BOTTOM (SECS)
tSCAN FUNCTION FOR ACQUISITION SCAN
iACCELERATING VOLTAGE
-------
APPENDIX K Ccontlnued)
e
(SCNRATIO.IDAT<11>>.
(JS AMP I NT, IDAT(29»>
(JRATE. IDAT<26>>,
(JACCVOL, IDAT(27)),
(LOWREF, IDAT(2S».
(HIREF. IDAT<29».
.
(NCALIB. IDAT<32».
(BASE. IDAT(43».
(ITOT. IDAT<44».
(LASTPEAK.IDATC49))
iriULT BACK BY A FACTOR UP IN ADD
JCALI SAMP INT
I CALXBRATION RATE
*CALI ACC VOL
JLOU KEF MASS. CALIB DATA
JH1CH REF MASS
(COUNT OF REF PEAKS KNOWN
JCALI SCAN »
I CALIBRATION TALBLE NAME
i BASE INDEX. COMPUTED VALUES
I TOT ION
•PEAK COUNT
DATA ICLIST /I. 3. 9. 10. SO. 90. 100/
DATA MESSACES/"AMOUNT". 3*0."AREA". 4*O."HEIGHT",3*0.
«. "RESP. FACT. <0>". "RESP. FACT. <0>". "RET. TIME<0>".0.
Si "REL. RET. TM. "," MEAN: <0>". 0. • STD DEV:«. 2»0/
DATA MONTH/0,31.99.90, 120. 191,181. 212. 243, 273, 304, 334. 36S/
DATA JD£SC/"D<0>", 0. 1. "RLOC»»". 0. 0. 0. "ME". O/
DATA KSPEC/'l;RLQC. »9<0>". O/
DATA LDESC/"D<0>".0. 1,4*0. "RL".0/
DATA IFRHT/"UX, Fll. 3. Z)<0>". 3*0/
CALL PLOTP( I. KCHAN. IXMAX. ••000, NCOPY)
CALL IUSNM(JDESC(3»
LDESC(4)«LIBR NAME
JSTATUS OF NAME IN SUMMARY
JTOCCLE FOR SUMMARY TO RLOC.99
IENTRY*0
ISUMRY—I
IBASE-0
ITRENWR-4
ITRENCN-7
CONTFAC-3. 0
WARNFAC-2. 0
Nl-LIBRNUHB
IYVAR«1 iDEFAULT Y
IXFLAO-0
IRFLAC-0
IFL-0
C SET UP TO CET LIB INFO
11 DO 14 1-1.39 ;CLEAR CMPD NAMES fc OTHER LIB STUFF
NAME(I)*0
14 NAMER(I>«0
IU1-0
IU2-0
IU3-0
IU4-0
IU9-0
IU6-0
FMASS-O
SMASS'O
FMASSR-0
SMASSR-0
LDESC(7)»0
IBYTE-(LDESC(4). AND. 377K). EQ. 0 iONE LETTER OR TUO?
DO *01 J-1,S tCREATE EACH DIGIT IN TURN
ID-"<0>0"«+10D
-------
APPENDIX K (continued)
IBl-IB. AND.1 (TOP OR BOTTOM OF WORD?
IW«/2 /WORD POSITION IN LDESC
LUD«LDESC(IW>
IF -(LWD.AND.377K)+ISHFT(ID.8)
IF (IBl.EQ. 0) LDESC(IH)-(LHD.AND. 17740OK)-HD
*01 Nt-Nl/10
ICH—1
IDSW-0
1BUF-0
10 IC-0
IE-34K
ISORTED—1 i FLAG FOR REORGANIZED RL DATA
CALL FMOPS ;ONLY READ WHAT IS THERE
IE-40K
CALL FMRD
30 CONTINUE
IC-HAXQ
URITE
IF(J) GOTO 200
IF(IDSU) GOTO 700
CALL PLOTS(1.0.ICHARH. "RLOC: ->
CALL IGET1 (INPUT, IFL. IBIT. 3, N. FN, *90. «7000)
220 IF(IFL. EO. "t -) GOTO 9700
134
-------
APPENDIX K (continued)
230
IF (IFL. EQ. "• "> GOTO 3OO
IF
IF(INPUT) GOTO 230
ZF(IFL) GOTO 240
GOTO SCO
IF(INPUT«-IFL. EQ. 0) GOTO 200
INPUT*(INPUT. AND. 177400K>*40K
IF (INPUT. EQ. "Y ") GOTO 500
IF (INPUT.EQ."B "> GOTO 920
IF (INPUT. EQ. -L •> GOTO S30
IF(INPUT.EQ."I
IF(INPUT.EQ. "0
IF(INPUT.EQ. "H
IF(INPUT.EQ."E
IFCNPUT. EQ. "Q
IF(INPUT.EQ. "5
GOTO 10
GOTO 700
GOTO 701
OR. INPUT. EQ. "Z ") GOTO 9000
GOTO 400
GOTO 390
240 WRITE(TTO,7373) ;EXPLAIN LEGAL COMMANDS
7373 FORMAT<"1"Z>
IDSU-0
KCHANA»TTO
310 CALL OPENRC1-EXPLRLOC. DS",DSK. IE)
CALL FCOPY(DSK,KCHANA. «320,IE.IEE)
320 CALL CLOSE(DSK.IE)
IF(KCHANA.EQ. TTO) GOTO 90
UftITE(KCHANA. 7373. END-330. ERR-3X)
IFdFL. EO. •"> ") URIT£(KCHANA.7373. END-330.ERR-330)
330 CALL CLOSE(KCHANA,IE)
GOTO 200
400 KCHANA-LPT
CALL OPLPT(KCHANA.»20O)
GOTO 310
C CREATE LIB DESCRIPTOR
300 INPUT"INPUT-(4OK. AND. ((INPUT. AND 377K). EQ. 4OK)>
LDESC(4>«INPUT+(LIBRNAME. AND. (INPUT. EO. 0)>
Ni-M-KLIBRNUMB. AND. (H. EQ.0))
GOTO 11
9OO IYVAR-N+1 i 1-AMOUNT. 2-AREA. 3-HEIOHT. 4*AREA RESP FAC
IF (IYVAR.LT. l.OR. IYVAR. OT. 7> IWAR<*1 j 9-MEICHT RESP FAC.
GOTO 100 '••RET TIME. 7-RRT
920 IBASE-0
-------
APPENDIX K (continued)
IF (MOD(IYR,4).EO. 0. AND. IYR. MID. N. OT. 2) LEAP-1
IDAY-HONTH < N ) «-m-LEAP
IF (IDAY. OT. < MONTH HA*NFAC»FN
IF (FM. GT. 0. ) CONTFAC-FF1
CONTFAC-AHAX 1 ( CONTFAC. UARNFAC >
GOTO 100
390 ISUMRY-0
KCHAN-DSK
CALL OPENU(KSPEC.KCHAN. »8800. IE)
CALL POSIKKCHAN. -1,-1,-1, IE. •8800)
IF (IENTRY EQ. 0> WRITE (KCHAN, I3b0) (NArlE(J) J-1,30)
IENTRY-IENTRY+1
IDSW— 1
DEVXCE-1
GOTO 7041 ;NOT PLOTTING SO SKIP THE SETUP STUFF
C START SETTING UP THE PLOT
701 DEVXCE-2
KCHAN-LPT
GOTO 7009
700 DEVICE-1
IDSW-0
7005 NCOPY-2
136
-------
APPENDIX K (continued)
311
512
CALL PLOTP GOTO 912
CONTINUE
ICI-ICLIST(J)
CALL PLOTSCDEVICE,0,IYMAX-ICHARH, TEXTH) i 1ST LINE OF HEADER
WRITE(KCHAN. 4021) (LDESC(I). 1-4.7)
4021 FORMAT <" RESPONSE"T2l"LIB: "4A2" MASS:"!)
IF(SMASS.LE. 0) GOTO 1220
MASS-F«ASS*S«ASS
MASS-(MASS*l)/2
WRITE(KCHAN,1210) MASS
1210 FORMAT(I6Z)
GOTO 1290
1220 IFCFMASS. ME.0. ) GOTO 1240
IFtSMASS. LT. 0. ) GOTO 1230
WRITE(KCHAN. 1229)
1229 FORMATC RIC"2)
GOTO 1290
1230 FORMATC *"I22)
MASS—SMASS
WRITE(KCHAN.1230) MASS
GOTO 1290
1240 FORMAT{" TOT'Z)
WRITE(KCHAN,1240)
1290 IF (LNUMR.EQ. 0) WRITE (KCHAN. 1291>
1251 FORMAT( " (NO REFERENCE COMPOUND"!)
IF (LNUMR. EO. 0) GOTO 1390
WRITE (KCHAN, 4023) LNAMER. LNU1R
4023 FORMATC" (REF."A2":"152)
WRITE (KCHAN.4025)
4025 FORMAT(" MASS: "Z)
IF
-------
APPENDIX K (continued)
1320 IF GOTO 1330
WRITE(KCHAN.1223)
GOTO 1390
1330 MASS—SMASSR
WRITE(KCHAN, 1230) MASS
GOTO 1390
1340 WRITE(KCHAN.1240)
1330 WHITE (KCHAN) -)"
WRITE(KCHAN, 1360) (NAflE(J) J-1.39) j2ND LINE OP HEADER
1360 FORHAT(" CUP:"39A2>
IF (LNUMR) WRITE (KCHAN. 1361) (NAPIER (J) J*1.39)
1361 FORfAT(" REF:"39A2> » 3RD LINE OF HEADER
IF CIC.E&. 0) GOTO 200
C STATISTICS CALCULATIONS. FIRST INITIALIZE
7041 XHIN-64»(10. «*10)
XHAX — XMIN
STATS<2)-0.
STATS(3)»0.
BASETOT-0.
STATS(4)«O.
ROUNDOFF-1439. /1440
AREAMIN-64K10. »«10)
AREAT1AX-0.
AREATOT-0.
DO 7049 J«1.4
7049 FLIMITS(J)«0. 0
JBASE'O
C MAIN STATISTICS LOOP
DO 703 J«l,1C
DO 7031 Jl-1.22 (SO LOCALS WORK
7031 JQ(Jl>»I ADD HINUTEb AS FRAC
XAREAS(J)-DAYS
XMIN-AMINKXMIN, DAYS)
XMAX-AP1AX1 (XMAX. DAYS)
IF (IYVAR.EO. 1) FL-AMNT
IF (IYVAR. EQ. 2) FL-AREA
IF *(J*FL-A*EATOT>»«2/(J* i CK THIS
AREAMIN-AHIN1(AREAMIN, FL)
AREAMAX-AMAX1(AREAMAX. FL)
IF ((.NOT. IXFLAG AND. J. OT. IBASE).OR. » CALC STATS FOR BASE
ti (IXFLAG. AND. DAYS. GT. (XBASE«-ROUNDOFF> > > GOTO 703
BASETOT«BASETOT*FL
JBASE-JBASEt-1
IF (JBASE.OT. 1) STATS<4 )»ST ATS(4)*
t< (JBASE*FL-BASETDT) *«2/ ( JBASE* < JBASE-1 > >
138
-------
APPENDIX K (continued)
703 AREAS(J>»FL
STATS(1)»AREATOT/IC
8TATS<2)-SQRT/CIC-1»
IF (JBASE.LT. 2) GOTO 9022
STATS(3 >-BASETOT/JBASE
STATS(4)-SQRT(STATS(4)/
OOTO 502
9022 6TATS(3>«STATS »TAKE-OUT VALUES
8TATS(4)-STATS(2)
JBASE-1C
XBASE-XMAX
902 FLIMITS<1)»STATS<3)«-STATS(4>»CONTFAC
FL1MITS<4)"STATS<3)-STATSC4)»CONTFAC
FLIMITS < 2)-STATS(3)+STATS(4)•WARNFAC
FLIMITS<3)-STATS<3>-STATS<4)«UARNFAC
AREALAST-AREAS(1)
ICONT-0 (COUNT * OF EXCURSIONS BEYOND CONTROL LIMITS
XUARN-0 (COUNT • OF EXCURSIONS BETWEEN LIMITS
IUARNC*O »CURRENT • OF COMSEC FTS ABOVE UL
IUARNFL-0 iMAX« OF CONSEC PTS ABOVE WL
ITREN-0 (SLOPE VECTOR
ITRENFL-0 'LONGEST SLOPE TREND
IMEAN-0 (CURRENT * OF SEQUENTIAL PTS. TO 1 SIDE OF STATSO)
IMEANFL-0 (MAX ABS VAL OF IMEAN
JLAST—1
DO 8010-J-l, 1C
IF . LE. FLIMITSU). AND AREAS(J). OE. FLIHITSC4M
«. eOTO 8012
ICONT-ICONT*!
GOTO 8020
8012 IF (AREAS(J).LE. FLIMITS<2). AND. AREAS(J).OE. FLIMITSO))
* OOTO 8020
IUARN-IWARN+1
IF (J.NC.JLAST*!) IUARNC-0
IWARNC-IWARNC*!
XUARNFL«MAXO( I WAR NFL. XUMNC >
JLAST-J
8020 IF (AREAS(J)-STATS<3» 8032.8036.8034
8032 I MEAN-CIA X0( 1, IMEAN* 1 >
OOTO 8038
8034 IHEAN-MINO<-1, IMEAN-1)
GOTO 8038
8036 IMEAN-0
8038 IMEANFL-MAXOCIMEANFL. IABS(IMEAN))
IF (AREAS(J)-AREALAST) 8042.8048.8044
8042 IF (ITREN. LT. 0) ITREN-1
GOTO 8046
8044 IF (ITREN. OT. 0) ITREN—1
8046 ITREN-ITREN*ISICN(1.ITREN)
8048 AREALAST-AREAS(J)
139
-------
APPENDIX K (continued)
6010 ITRENFL»«AXO(ITRENFL, XADS(ITREN))
IF (ISUHRY. EQ. 0) eOTO 7044
C PLOT THE AXES * LABEL THEM
5021 FORMAT(1X,4A2.Z)
CALL CCDCZ(ICTRD)
ZF (ICTRD) GOTO 800
CALL PLOT(DEVICE.IXO. 1YE. UP)
CALL PLOT(DEVICE, IXO, IYO.DOUN) ;PLOT Y-AXIS
CALL PLOT(DEVICE. IXE. IYO, DOWN) ;PLOT X-AXIS
IF (.NOT. IXFLAC) CALL PLOTS (DEVICE. lXriL-3*ICHARU, IYP.B. "INDEX •")
IF (IXFLAC) CALL PLOTS(DEVICE,IXML-3»ICHARW,IYHB." DATE")
RANGE- (AREAMAX-AREAfllN > /a
AREAMED*(AREAHAX+AREAMIN>/2
TOL-. 01 f-
IF (IYVAR.EQ. S. OR. IYVAR. EQ. 3. OH. IYVAR. EQ. 5> TOL»1.
70S IF (TOL. OT. RANGE) GOTO 707
TOL-TOL*a i A LITTLE SELF-SCALING LOOP
GOTO 708
707 AREAMIN-AMAX1(0. .AREArtED-TOL)
AREAnAX*AREAnED4-TOL
AREARANCE«AREAnAX-AftEAniN
ARAN4-AREAMANGE/4
YFAC*IYLEN/ARCARANGE
IY-IYO+YFAC* GOTO 710
DO 711 Jl-IXO, IXE-1XINC
CALL PLOT(DEVICE,Jl.IY.UP)
711 CALL PLOT(DEVICE,Jl+ICHARM. IV,DOWN)
710 CONTINUE
IF (IXFLAC) GOTO 7060
XFAC*FLOAT(IXLEN)/(IC+1> 'TIC fc INDEX X-AXIS USING ENTRY •
DO 7051 J-1.6
IF «20»ICLIST(J».OE. 1C) GOTO 7052
7051 CONTINUE
7052 ITICO-ICLIST(J)
DO 70S J»0.1C.ITICO
IXT-IXO»J«XFAC
CALL CCDCZ(ICTRD)
IF (ICTRD) GOTO SCO
CALL PLOT(DEVICE. IXT,IYO, UP)
CALL PLOT(DEVICE. IXT.lYO-ITIC, DOWN)
IXP-ICHARU512
IF (J. OT. f) IXP»ICHARW*IXP
IF J
IF (J. «T. *. AND. J. LE. W)WRITE(KCHAN, 7O92) J
IF (J. OT. 99)WRITE(KCHAM 7093) J
140
-------
APPENDIX K (continued)
7091
7092
7093
70S
7040
7061
FORMAT(IX. 12)
FORMAT(IX. 13>
FORMATdX. 14. Z)
CONTINUE
XX»IXO+JBASE«XFAC »-ICHARW912
COTO 7100
ASSIGN 7066 TO IPRDAY
XMINO»AINT INDEX X-AXIS USING DATES
7066
IF (12»ICHARW/ITICO. CT. XFAC) COTO 7061
II-INT(XRANCE)
ICH7»ICHARW912+4»ICHARW
DO 7066 J-0.II.ITICO
XXT«XXO+J«XFAC
CALL CCDCZ(XCTRD)
XF (ICTRD) COTO 200
CALL PLOT(DEVICE. XXT. IYO.UP)
CALL PLOT(DEVICE. IXT.IYO-ITIC.DOWN)
CALL PLOT(DEVICE. XXT-ICH7.IYO-ITIC-ICHARH. TEXTH)
DAYS«XMINO*0
COTO 4200 ;THEN COME BACK TO 7066
CONTINUE
IX-IXQ*(XBASE*143*. /1440. -XMINO>*XFAC
iBASE BOUNDARY VERT DIVIDR
7100 IY«IYO*ICHARH912
DO 7103 IY«IY.IYE.ICHARH312
CALL FLOT(DEVICE. IX, IY.UF)
7103 CALL PLOT(DEVICE. IX. IY. DOWN)
IF < tYVAft. EO. 2. OM. XYVAft. EO. 3. OR. IYVAH. EO. 6) GOTO 7101
IFRMT(»)•-. 3"
ROUNDOFF-. 0009 i FOR OUTPUT PURPOSES
COTO 7102
iTIC t INDEX Y-AXIS
7101 ROUNDOFF*. 9
IFRMTO)-". 0"
7102 XXT«lXMt.-37*ICHARU
ASSIGN 7069 TO IFRTIM
DO 706 J-0. 4
lYT«IYO*J«IYLEN/4
R«AREAMIN*J»ARAN4fROUNDOFF
CALL PLOT(DEVICE. IXM. IYT-ICHAHH912, TEXTH)
CALL CCDCZ(ICTRD)
XF (XCTRD) COTO 20O
IF (XYVAR. EQ. 6) COTO 4120 ; RETURNS AT 7O69
WRITE (KCHAN,IFRMT) R
7069 CALL PLOT(DEVICE.IXO,IYT.UP)
CALL PLOT(DEVICE. IXD-ITIC, IYT. DOWN)
706 CONTINUE
IXL"IXO*XFAC
IYL"IYO*(AREAS(1)-AREAMlN)«YFAC
DO 704 J«l.1C
JPUT DATA PT8 ON CRAPH
141
-------
APPENDIX K (continued)
CALL CCDCZ(ICTRO)
IF (ICTRD) GOTO 200
IX»IXO+J»XFAC-ICHARWS12
IF (IXFLAC) IX-IXO+(XAREAS(J)-XMINO)»XFAC-ICHARW912
IY»IYO+(AREAS(J)-AREAMIN)«YFAC-ICHARH912
704 CALL PLOTS(DEVICE. IX. IY. "X")
CALL PLOTS(DEVICE,IXO-9»ICHARW. IYML. TEXTH)
7044 Jl-6»IYVAR-9 I UNITE 8TAT INFO. CONTROL MESSAGES.
J2-J1+9 » ti LABELS ABOVE GRAPH
URXTE (KCHAN.5021) J-J1.J2)
IF (.NOT. ISUMRY) GOTO 9027
ASSIGN 9025 TO IPRTIfl
ASSIGN 9026 TO IPROAY
DAYS-AINT(XBASE)
Jl»37
DO 9026 1*1.4
J1-J1+6
J2-J1+5
R-STATS(I) ^ROUNDOFF
WRITE (KCHAN.5021) (MESSAGES(J) J-J1.J2)
IF (IYVAR.EO. 6) OOTO 4120 ; RETURNS AT 9025
WRITE (KCHAN. IFRMT) R
5025 IF (I.NE. 2) OOTO 5O26
Jl-37
IF (ISUMRY) CALL PLOTS(DEVICE, IXO+S*ICHARW,
* IYML-1 CHARM. TEXTH) ; 2ND LINE
WRITE (KCHAN. 9024)
9024 FORMAT (" BASE- ".Z)
IF (IXFLAO) GOTO 4200
WRITE (KCHAN. 7093) JBASE
9026 CONTINUE
9027 FORMAT UX.T40, Z)
IF (ISUMRY) CALL PLOTS (DEVICE.IXML-12»ICHA*W. IYE*2*ICHARH. TEXTH)
IF (.NOT. ISUMRY) WRITE (KCHAN.9O27)
IF ( ICONT. LE. 0. AND I WAR NFL. LT. 2. AND. ITRENFL. UT. ITRENCN AND.
ti IMEANFL. LT. ITRENCN) GOTO 729
WRITE (KCHAN. 729)
OOTO 727
725 FORMAT <" •**• OUT OF CONTRO. •**• ")
IF (I WARN. LE. 0. AND. ITRENFL. LT. ITRENUR. AND.
* IMEANFL. LT. ITRENWR) GOTO 720
WRITE (KCHAN.727)
727 FORMAT (" •• WARNING •« ")
IF (ISUMRY) CALL PLOTS (DEVICE.IXM. IYE+ICHARH.TEXTH)
IF (ICONT. GT.0) WRITE (KCHAN, 730) ICONT
730 FORMAT (IX. 15. " PTS EXCEED C. L- ". Z)
IF (IWARNFL. GT. 1) WRITE (KCHAN. 732) IWARNFL
732 FORMAT (IX,19,* CONSEC PTS EXCEED W. L. ".Z)
IF (IWARN. GT. 0. AND. IWARNFL. LE. 1) WRITE (KCHAN,734) IWARN
734 FORMAT (IX, 19. " PTS EXCEED W. L. "Z >
IF (ITRENFL. GE. ITRENWR) WRITE (KCHAN. 736) ITRENFL
736 FORMAT (IX,19." POINT TREND".Z)
IF (IMEANFL.GE. ITRENWR) WRITE (KCHAN. 738) IMEANFL
738 FORMAT (IX,19." CONSEC PTS 1 SIDE OF MEAN-.Z)
142
-------
APPENDIX K (continued)
WRITE (KCHAN)
720 IF (.NOT. ISUMRY) CALL CLOSE (KCHAN. IE)
XSUNRY--I
IF (DEVICE.EQ. 1) GOTO 200
1TE«P(1)-"LW"
XTEMP(2)-"RL"
ITEMP(3)-"OCH
ITEMP(12)»XAREA(4>
XTEMP(13)-XAREA<34)
1TEMP<14)»O
CALL LOADITCPLOTH")
C PRINT THE TIME R
4120 FORMAT(1X14":"Z>
IR1»R/60.
XR2-R-IR1»60.
WRITE(KCHAN,4120) IR1
CALL IFORMATUR2. KCHAN, 2. "0". «90)
GOTO IPRTIH
C CALC It PRINT DATE •« NOTE DAYS (XAREA) ALREADY BIASED BY 10000.
C ORIGINALLY COT THIS FROM EDRL. BUT CHANCED THE DO 4202 SECTION
C IT SEEMED TO BE INCORRECT—IT TESTED HONTH( 11). VS. 2 IN LEAP YRS
C AND TESTED IYR+1 FOR LEAP YEAR.
4200 DAYS-DAYS*ioooo.
IYR-DAYS/365.
XDAY*DAYS-369. *IYR
IF (IYR/4) XDAY-IDAY-IYR/4
IF (IDAY OE. 0) GOTO 4201
IYR-IYR-1
IDAY"IDAY*3*9
4201 IYR-IYRf73
IF (IYR. CE. 100) IYR-IYR-100
DO 4202 riO-1. 12
«l»«ONTH(nO>
XF (MO. OT. 2. AND. MOD( IYR, 4). ttt 0) Ml-m + l
IF (IDAY. LT. Ill) GOTO 4203
4202 CONTINUE
4203 MO-HO-1
IDAY»IDAY-HONTH(MO)*1
WRITE(KCHAN.4204) MO,IDAY.IYR
4204 FORMATCl'X. I2"/"12"/"I2, 2)
COTO IPRDAY
*000 CALL RESET
CALL LOAD:T(-EXEC-)
8800 WRITE INPUT-INPUT-40K
JDESC(6)-INPUT
CALL TPUSH(DFILE16.»9790. IE. IEE.JDESC)
143
-------
APPENDIX K (continued)
GOTO 200
9790 FORMAT("IFILE: "6A2". "A2", "Z>
WRITEdTO. 97SO) (JDESCU), X-4, 10)
GOTO 8800
9770 URITE(TTO.9750) (DFILE(I. A), 1-4,10)
GOTO 8800
END
144
-------
APPENDIX L
Listing of Program GROB
GROB ACCEPTS THE FOLLOWING COMMANDS.
ID iEXIT TO IDOS
D ;DISPLAY (HARDCOPY) RESULTS
E 'Z> >EXJT TO USDS
I <') ;READ CHRO 1* AF-(BACK. AREA OF PEAK ABOVE 10% OF MAX)/
(FRONT AREA OF PEAK ABOVE 10% OF MAX 1*100
.0 .RESOLUTION BETWEEN CHRO Si ChROA
. tXj PRINT A WARNING IF RESOLUTION CJ
5F08 PERFORMS ITS CALCULATIONS ON THE CENTER PEAK(S> IN CHRO 99
• -WKJA 99 FILES. THE FORMER MAY BE GENERATED USING CHRO/Kt.. . .H;£.
""WE LATTER MAY BE OBTAINED FROM CHRO 99 BY
FIi_E
-------
APPENDIX L (continued)
C SROB32 FR
C WRITTEN BY: DANIEL J. DRISCO.L & LYNN H. WRIGHT
C EMSL/EMD/PAB MO-7B
C U. 8. ENVIRONMENTAL PROTECTION AGENCY
C RESEARCH TRIANGLE PARK, NC 27711
C <919)-941-243B FTS 429-2438
C <91*>-341-2991 FTS 629-2991
C THE ABOVE IS THE MOST RECENT VERSION OF GROB. FR PROGRAM READS
v *u LISTING CHRO. 99 FILE CREATED FROM ANALYSIS OF A C*CB .11XT«J*E
C • »* T-TTSi, iNTO A CAPILLARY COLUMN. THE ROUTINE CALCULATES THE
C RESOLUTION, 8ASICITY. ACIDITY. AND X PAF OF THE GROB MUTUPE.
C IT ALSO TESTS FOR ACCEPTABLE VALUES OF THESE PARAMETERS.
C THIS ROUTINE IS MADE UP OF PORTIONS OF OUAN. FR AND CHROl FR.
C VALUES OF PPARMCNCHPO. N> :
C W-l—PEAK BASE WIDTH
C N-2—PEAK RETENTION TIME
C N-3—BACK PEAK AREA ABOVE 10% BASELINE
C N»4—FRONT PEAK AREA ABOVE 10% BASELINE
C N«9—TOTAL PEAK AREA
C N-«—7. PEAK ASSYMETRY FACTOR (XPAF)
C N-7-10—UNUSED
PARAMETER TTO-10. TTI-10. LPT-2. OSK-1, JPIAX»100
PARAMETER UP-0-DOWN«1. CLEAR-2, OPENP-3. TEXTH-9.CLOSER-4
COMMON/CCROB /1 HE AD (36). NSC AN ( JHAX ), SINTEN < JRAX >. PERCMT ( JMAX .'.
t, I AREA (12)- IFILE(IO). XDA7EC4). IR(4). I SAMPLE (32), ISF!LE>20>.
t. PPARMC2, 10).9TIME( JMAX)
COMMON /CDESC/ IDESCtll>. ICH, ICH1.LCH3.LCH4, LABELO. 0 15)
COMMON/CNflFN/ N, M,L, L1.L2. FN, FM.FL, FL1.FL2
INTEGER
1 INST(3).SAMPLE(32).DATE<4), RUNTIME. ANALISTC4).
1 FORMULA(IO).ICOND1TIONS(32>'SUBMITTED(4>. ACCOUNT(4>.
1 NCALIS(11>.NDATAF<11>.
1 DFSU. DFSW1.DFILE. SFILE.
1 HIMASS,SCNFCN. THRESHOLD.
1 1AMPINT. BASE, HIREF.UPSCAW
COMMON /CHAIN/
1 NPROG.DFSW.DFSW1, ITEMPC19).
1 DFILEC12.6>.SFILE(11. 4),
1 INSTD(3». IREFTABLEIU >-
1 IACD1. IADD2, ISUBl. ISUB2.ISUB3. ISUB4,
1 JADD1.LIBRNAME. LIBRNUMB.IBUF.
1 ISCN(43>.lACO(lOO). 1DAT<49)
EQUIVALENCE
d (XDF16.DFILE(1.6)>.
1 (ITEMP1,ITEMP).
146
-------
APPENDIX L Continued)
(ITEMP14, ITEHP(14»,
(ITEMP19, ITEMPU9M
FOR SCAN PARAMETERS
EQUIVALENCE
(NDATAF. ISCN<1)>.
(LOWMASS. ISCN(12».
(HIMASS. ISCN(13)>.
(UPTIME. ISCNU4)),
(DOWNTIME, ISCNUA)),
(TOPHOLD,ISCN(IB)).
(BOTTOMHOLD.ISCN(SO)).
<8CNFCN. ZSCN(22».
(1ACCVOL, ISCNC23)).
(ITCON. ISCN<24».
(JAOCS. ISCM29M.
(MPT.ISCN(S6>).
(JIOND.ISCN(27>>.
(NSAMP. ISCN(2B».
(UPSCAN. ISCN<29».
(XNST. ISCN(3O».
(RESOLUTION, ISCNO3».
(THRESHOLD. XSCNO9) ).
(MRATE. ISCN'36)>.
(SAMPINT. ISCN<37)>.
(MAREA. ISCN(38».
(HINWIDTH, ISCNO9) >.
CHINFW.ISCN(40)
(IBSLN.1SCNC41)
(XSAT,XSCN(42)>.
(XTRLN. ISCNU3)
(MZERO.X6CN(44)
PARAMETERS
FOR ACQUISITION
EQUIVALENCE
1 (DATE. lACO(D),
1 (RUNTIME, IACQ( 9)).
1 (NSCANS. IACQ(6».
1 (MSCANS, IACQC7)).
1 (WEIGHT, IACQ(8».
1 (SAMPLE. XACO(XO)).
1 (XCONDITIONS. IACfl(42> ).
1 (SUBMITTED. I AC 0(74 ».
1 (ANALXST, IACQ(7B)>.
1 (ACCOUNT. XACQ (82».
1 (FORMULA. I AC 0(86 »
FOR ACCUMULTED INFO.
EQUIVALENCE
1 (MINAREA. XDAT(1».
1 (MERGE. XDAT(2> >.
1 (IATOL. IDATO) ).
1 CITOL, XDAT<4) ).
1 (LASTPEAKS. IDAT(9».
1 (XDEF, IDAT(6».
1 (XNOCT, XDAT(8».
1 (1CUCT, IDAT(9) ),
i OR 10 DATA FILE NAME
'LOW MASS FOR SCAN
»HI MASS FOR SCAN
; UPSCAN TIME (IN SECS)
;DOWNSCAN TIME (IN SECS)
(HOLD TIME AT TOP (SECS)
I HOLD TIME AT BOTTOM (SECS)
;BCAN FUNCTION FOR ACQUISITION SCAN
iACCELERATING VOLTAGE
{ACQUISITION CONTROL WORD
.ADC SAMPLING INT. (MU-SECS)
iHARDWARE ADD COUNT
»INTENSITY/ION
»SOFTWARE ADD COUNT
{ACQUISITION DIRECTION (-1«UP.0-COWN
iINSTRUMENT NAME <6 CHARS)
{RESOLUTION OR PEAK WIDTH
iA/D THRESHOLD
;MASTER RATE
.•HARUARE SAMPLING INTERVAL (MU-SECS;
(MINIMUM AREA
(MINIMUM PEAK WIDTH
{MINIMUM FRAGMENT WIDTH AS % OF SAMP
(BASELINE TO SUBTRACT
{SATURATED VALUE
{SCAN TRAILER DESCRIPTION
(DATE OF ACQUISITION
(TIME ACOU STARTED (AS H*100 * M)
(NUMBER OF SCANS
{NUMBER OF 1ST SCAN WITH DATA
{ACCOUNTING QUESTIONS
(MINAREA AFTER READ
{MERGE TO AS X OF RES
{ALIGN TOL (ADO AND SUBTR)
(MAX PEAKS TO READ IN
(MASS DEF AT 100 AMU IN MMU
(NOISE REJ FOR ENHA
(TAIL REJ FOR ENHA
147
-------
APPENDIX L (continued)
).
(JSAMPXNT, XOAT(S5».
(JKATE. IOAK26)).
(JACCVOL.IDAT<27>>.
(LOWREF, 1DAT(S8».
(HXREF. IDAT129)).
(NUHREF, ZOATOO) >•
.
UTOT. IDAT(44».
(LASTPEAK. IOAT(49> >
IACKCROUND INTERVAL FU* ENHA
I MULT IACK BY A FACTOR OF IN ADD
IENHA VALUE OF SMOOTH
lGLOBAL IBKCT
i ETC
< ETC
iCALX SAMP INT
GOTO 9340
"301 I-IDF16 {WILL BE 0 IF TTO COMING UP
148
-------
APPENDIX L (continued)
CALL TPOP(IDF16.»9770, IE. IEE)
IF(I> GOTO 9300 (MORE DISK STUFF AVAL
9302 IF(IDSW) GOTO 1000 ; DO DISPLAY
WRITKTTO. 2111)
Sill FORMAT(" GROB: "Z)
CALL IGETK INPUT. IFL. 19 IT. 9, N. FN, »9001. «93O1 >
9340 IF (INPUT+IFL. EQ. 0) GOTO 9302 J NULL INPUT
IFUNPUT. EO. "ID") CALL SI1SDS
"341 INPUT-lINPUT.AND.l7740OK)f*OK
ICC-
-------
APPENDIX L (continued)
19260 IPAF-. NOT. IPAF
IF I»ESLLO-FN
SOTO 9300
19310 IF(N. ST. 0) JtLCt-N .BASELINE SCAfjS
COTO 9300
°l£B ISCN<1)-O
IBUF-0
CALL LOADITCEXEC")
«770 WRITE(TTO.9780) (DFILE. 1-4,10).IE, IEE
GOTO 9004
J7SO FORMAT("IFILE. "6A2" "A2". IOCS ERROR"/
* " OPERATION-013-. CODE-OI3)
URITE '
IF (NFIL. GE. 1) GOTO 19410
WRITE (TTO.19410)
GOTO 19590
19410 FORMAT (" NO DATA FROM CHRO ">
URITE(KCHAN) ;SKIP ALINE ON PRINTER
150
-------
APPENDIX L (continued)
IF CIPAF.EO 0) GOTO 19420
PAF"PAF*0. 5 (ROUND-OFF »4 PRINTING
WRITE(KCHAN,19420) PAF
IF (PAFLO. GT. 0. 0. AND. (PAF. LT. PAFLO. OR. PAF. CT. PAFHI))
It WRITE CKCHAN, 19421)
19420 FORMAT(IX. " PEAK ASSYMETRY FACTOR (%PAF)-". IX, F<10. 0)
IF (NFIL.LT.3) GOTO 19590
IF (IASBS EQ 0) GOTO 19950
ASBS-ASBS»0 005
WRITE
19520 FORMATUX. " ACIDITY OR BASICITY.".IX. FlO.2)
IF (tRESL. EQ 0) GOTO 19590
RES-RES+0. 009
URITE(KCHAN.19530) RES
IF (RES.LT RESLUO) URIT£(KCHAN,19525>
19590 IF (KCMAN.EQ. UPT) CALL CLOSElLPT)
TYPE " PASSED 19590"
GOTO 9300
19430 FORMATUX. - ACIDITY OR BASICITY OUTSIDE ACCEPTABLE RANGE" )
19421 FORMAT(IX. - XPAF OUTSIDE ACCEPTABLE RANGE")
19530 FORHATllX. " RESOLUTION-". IX. F10. 2)
19525 FORMAT(IX. -RESOLUTION OUTSIDE ACCEPTABLE RANGE")
C READ CHR0.99 HEADER INTO CORE. INFORMATION INCLUDES THE FILE
C NAME. FIRSTSCAN. LAST SCAN,DATE,TIME. SAMPLE IDENTIFICATION. AND
C MAXIMUM INTENSITY.
3500 IFUFL. 60. «' ") GOTO 3550
TYPE " NFIL3--.NFIL
IF (NFIL. AND. IK) GOTO 9300 I ALREADY GOT CHRO. 99
NF1L-NFIL.OR.IK
TYPE " NFIL*"".NFIL
PAF-0 0
RES-0 0 ; INITIALIZE VARIABLES
ASBS-0 0
NCHftO-1
CALL OPENR < " 1. CHRO. 99". KCHANO. ttE, *8800) '. OPEN TO READ CHRO. 99
ALREADY GOT CHROA 99
•ES-0. 0 iINITIALIZE VARIABLES
ASBS-0.0
CALL OPENR("1. CHROA 99". KCHANQ. ICE. M80O) > OPEN TO READ CHROA 99
NFIL-NFIL. OR 2K
TYPE " NFIL6-".NFIL
NCHRO-2
840 FORMAT(16X.6AS,6X.15.3X. 19.12X.4A3. 1X.4A2)
READ(KCHANO.840) (IFILE(I).t-1.*).IFSC. ILSC. .DATE.IR
READ(KCHANO. 19140) 16AMPLE
X WRITE(KCHAN,19140) ISAMPLE
19140 FORMAT(8X.32A2)
-------
APPENDIX L (continued)
10900 FORMAT (SX. 4(017. 2X»
READCKCHANO- 19140) (SKIP A RECORD
READ»0 ;ZERO IF OF UNEQUAL LENGTH
PERCNT-0
STIME
READ(KCHANO.19190.ERR-8810,END-l9160>f1i. 112. M3, Ft. F2
«2-(M2»60)*«3 (CONVERT RETENTION TIME TO SECONDS
IC-IC*1 jINCREMENT COUNTER FOR PROCESS LOOP
1FUC «T. JHAX) GOTO 8809 * CHECK MAX ENTRIES IN CHRO. 99
X URITE(KCHAN. 19199) Hl.nS. F1.F2
X191S9 FORMAT (IX. 14. 4X. FlO. 0, FT. 2)
NSCAN(IC)-M1
STIME(IC)-n2
SZNTENdO-Fl .SINTEN(IC).PERCNT(IC)
GOTO 19190
19160 FORMAT (Fl 1. O.F7. 2. 2A1Z)
CALL CLOSE(KCHANO)
X TVPE " 1C-".1C iOUTPUT TO fCREEN
IF ((JMAX-IC).LT.0) GOTO 8606 ; CHECK LENGTH OF CHRO FILES
C REWRITE OF STUFF FROM CHRO TO DO BACKGROUND «t
C NOISE CALC'S
SM2-SINTEN(1)
SINTEN( 1) — >
SM1.-SM2 tFAKE FIRST CALL TO I BSD I
NOI5ECT-0 i NOISE COUNT
TOTNOISE-O. 0 tNOISE TOTAL
C LOOP OVER SCANS FOR BASE LINE DETECT AND NOISE COUP
DO 1790 1-2. 1C ;FIND BASE LINE SCANS
SMI-SINTENd)
SMO-SMI
D-ABS(SM2-SM1-8MI*SMO)
152
-------
APPENDIX L Continued)
IF ID GE 8. 0«SORT(SnO-SfiINL>/(I-Jt1lNL>
SR»
I2-JMINR+1
DO 1730 J-I2-J2
SR-AMINKSR, (SINTENf J)-S«0)/< J-li )
IFCSL. 6T SR) GOTO 1790 i NOT BASE LINE
GOTO 1780 iBASE LINE DETECT£D'
LEFT IS -
IFCSMINR LT.SMO) GOTO 1790
GOTO 1780
LEFT IS HIGHER
IF/(jniNL-l>
SR»(sno-sniNR >/ GOTO 179O ; NOT
153
-------
APPENDIX L (continued)
1780 SINTEN(I)— SINTEN(I) i FLAG BASE LINE
1790 CONTINUE
SINTEN(IC)—ABS
X DO 1899 !•!. 1C
XI 899 WRITE (LPT, 99171) NSCANJ I ) . STIME< I ) , SINTENC I )
X99171 FORMAT ( 10X, 17, 9X, F7. 2< 5X, F10. I )
X WRITE (LPT)
X WRITE (LPT) i INPUT WHITE SPACE
3ACK-TOTNOISE/MAXOU.NOISECT) ; NOISE LEVEL
TYPE " BACK" ".BACK
•
C NOW SUBR BACKROUND
1 1-1 i 1ST TIME
DO 1690 1-1. 1C
IF(SINTENCI). GT. 0. 0) GOTO 1890
8K«ABS(SINTEN(I) )
IFdl. EQ. I) GOTO 1850
DEL- ; SLOPE FROM LAST
II-X-1
DO 1830 I2-I1.II
D-B+DEL
1630 • 1INTEN(I2)-SINTEN(12)-B
1390 B-SK
SINTENC I )-0. 0
11-1*1
:B90 CONTINUE
SINTEN(IC>*0. 0
CALL CLOSE (LPT. IE)
C COMP MAX LOOP
C DETERMINE MAXIHUN INTENSITY AND MINIMUM INTENSITY ON BOTH
C SIDES OF MAXIMA
19171 IPOINT-O
LPOINT-0 sINITIALIZE VARIABLES
NMAX-0
FM-O. 0
DO 19180 I»l. 1C
IF(SINTENd). LE. FM> GOTO 19180
FM-SINTEN(I)
NMAX-I
19180 CONTINUE
IF(NMAX.EQ. 0) WRITECTTO. 19186)
FORMAT( " NO PEAK FOUND *)
IF(IA3S(NSCAN(IC/2)-NSCAN(NMAX)). LE. 2) GOTO 19181
WRITE (TTO. 19181)
GOTO 9004
154
------- |