-------
47
The criterion for the manual selection of the pick points is de-
scribed in the following examples. Figure V-14 gives 3 actual
lidar video return signals which were computer plotted. Figure
V-14(a) is the l/R2-corrected clear air reference video signal
recorded for use in calculating the plume opacity from the plume
return video signal [Figure V-14(b)]. These signals contain
slight atmospheric backscatter noise as seen in the ripple or
variations in amplitude to the right of the convergence point.
The near-region pick interval, I , is chosen as close to the
plume as practical with the signal in the chosen interval being
of minimum overall amplitude and minimal amplitude variation.
The reference measurement interval, R , must be chosen for the
same time interval as I , as shown in Figure V-14 (a,b).
The far-region pick interval, If, is also chosen as close to the
plume as practical. The video signal in this chosen interval is
of minimal amplitude variation and minimum overall amplitude.
The far-region reference measurement interval, Qf, must be
chosen over the same interval I, [Figure V-14 (a,b)].
Figure V-14(c) is a computer plot of a lidar video signal show-
ing significant levels of atmospheric backscatter noise in the
near region. In this case there are only two areas in this
region where the pick interval can be selected, i.e., 1 and 2 as
shown. The average signal amplitude over the 100-nanosecond
interval in each of these two areas is the same. However, in
applying the above-mentioned criterion, area 2 is the one to be
used for the opacity calculation (the respective reference mea-
surement is not shown). The far-region video signal amplitude,
If, is chosen as shown in Figure V-14(c), according to the cri-
terion. Any desired pick interval, such as 1 and 2, [Figure V-14(c)]
that is not 100 nanoseconds wide cannot be used in the opacity
calculation. If no such interval exists in the near-region or
the far-region, the plume data signal cannot be used for the
opacity calculations and is discarded.
-------
48
Convergence Point
(N ear Reg ion)
R,
(Far Region)
12:10:38
(a) Reference Signal, 1/R Corrected
12:25:59
Plume Sp ike
(b) Plume Data Signal, 1/R2 Corrected
Plume Spike
-Atmospheric B ackscatterNoise
Area 1
(c) Plume Data Signal, 1/R Corrected
Area 2
NOTES: (1) Minimum distance from convergence point to the plume spike is
50 meters.
(2) All pick intervals are 100 nanoseconds wide.
(a) Clear Air Reference Video Signal, l/R2-Corrected, showing slight atmos
pheric noise. This reference signal is for (b). R , Rf are chosen as
indicated coincident with I , 1^.
(b) Lidar-return Video Signal, l/R2-Corrected, showing slight atmospheric
noise, plume spike and the decrease in atmospheric backscatter signal
level in the far region due to the opacity of the plume encountered.
I
are chosen as indicated.
(c) Lidar-return Video Signal, l/R2-Corrected , showing significant atmos-
pheric noise in the near region, plume spike, minimal noise in the far
region and the decrease in far region signal level due to the opacity
of the plume encountered. I , Ir are chosen as indicated.
Figure V-14. Computer Plots of Lidar A-Scope Backscatter Signals
-------
49
Various examples are provided in Figures V-15 through V-20 which
demonstrate the selection of the best pick intervals. Figure V-15
shows A-scope photos for reference signals and Figures V-16
through V-20 are A-scope photos for plume data signals.
The first step in the automatic selection [Appendix B(b)] of the
near- and far-region pick intervals is to divide the plume data
signal amplitude by the reference signal amplitude at the corres-
ponding time intervals (t ), to obtain a "normalized" signal,
plume data signal amplitude (t )
= normalized signal (t ).
reference signal amplitude (t )
The pick intervals, selected using this normalized signal, are 100
nanoseconds (15 meters) in length and consist of at least five con-
tiguous sample intervals. The following criteria, given in order
of importance, govern the pick interval selection process: (1)
The near- and far-region pick intervals shall be in a region of
the normalized signal where the reference signal fulfills the re-
quirements given earlier in this section, and are everywhere
greater than zero. (2) The pick intervals are selected by com-
puter with each having minimum average amplitude. (3) If more
than one pick interval is located having the same minimum average
amplitude, the interval closest to the plume spike is selected.
(4) The standard deviation, S [Equation V-15], for the calcu-
lated opacity is 8% or less.
The search routine of the computer software is initialized to
the near and far sides of, and adjacent to the plume spike.
The routine calculates all minima in the near- and far-region
of the normalized signal within the search limits selected by the
data analyst and makes its selection for each region. If S is
calculated to be greater than 8%, the far pick interval is changed
to the next interval of minimal average amplitude. If S is still
greater than 8%, then this procedure is repeated for the far pick
interval. The procedure is repeated, as required, for the near
-------
50
mm
^fUHP*1* "wl1
i
(a) No 1/R2 Correction
(b) Photo (a)-1/R2 Corrected
VMtf WWWM^tt^m$ttttti4H&3M?^tt
NHIIaBMBsH9WHl9l
(c) 1/R Corrected
(d) 1/R2 Corrected
Figure V-15 Examples Of Pick Intervals - Reference Signals
(Rectangular - Shaped Cursors Define Pick Intervals)
-------
51
(a) No 1/R2 Correction
(b) Photo (a)-1/R2 Corrected
(c) No 1/R2 Correction
(d) Photo (c)-1/R2 Corrected
(e) No 1/R2 Correction
(f) Photo (e)-1/R2 Corrected
Figure V-16 Examples Of Pick Intervals- Plume Data Signals
(Rectangular-Shaped Cursors Define Pick Intervals)
-------
52
-
(a) No 1/R2 Correcti
ion
(b) Photo (a)-1/R2 Corrected
1
ij -..~,i., r
*'
(c) No 1/R Correction
(d) Photo (c)-1/R Corrected
S'?2f1'
fi M-^ll
'
(e) No 1/R Correction
(f) Photo (e)-1/R Corrected
Figure V-17 Examples Of Pick Intervals - Plume Data Signals
(Rectangu lar- S h aped Cursors Define Pick Intervals)
-------
53
(a) No 1/R2 Correction
mm
v*^!
(b) Photo (a)-1/R2 Corrected
(c) No 1/R2 Correction
(d) Photo (c)-1/R2 Corrected
(e) No 1/R2 Correction
(f) Photo (e)-1/R2 Corrected
Figure V-18 Examples Of Pick Intervals - Plume Data Signals
(Rectangular-Shaped Cursors Define Pick Intervals)
-------
54
(a) Best Near-Reg,on P,ck Interval (b) Best Far-Region P,ck Interval
(c) B est Pick Intervals
(d) Best Pick Intervals
(e) Best Pick Intervals
(f) Best Pick Intervals
Figure V-19 Examples Of Pick Intervals - Plume Data Signals
(Rectangular-Shaped Cursors Define Pick Intervals)
-------
55
(a) Best Pick Intervals
(b) Best Pick Intervals
(c) Best Pick Intervals
(d) Best Pick Intervals
(e) Best Pick Intervals
(f) Best Pick Intervals)
Figure V-2O Examples Of Pick Intervals - Plume Data Signals
(Rectangular-Shaped Cursors Define Pick Intervals)
-------
56
pick interval. If S remains greater than 8%, the plume data
signal is discarded. This search routine operates on the NEIC
POP 11-70 laboratory computer system in an interactive mode
wherein the data analyst has the option of accepting or rejecting
the automatically selected pick intervals.
3. Pick Interval Amplitude Calculation
The computer calculates the average of the amplitudes of the 10
consecutive time (or range) sample intervals (each 10 nanoseconds
in length) for each of the near-region (R ) and the far-region
(Rf) signal segments within the reference signal. The R , R,
intervals are chosen for the same pick intervals as I and I,.
n f
[Figure V-14(a,b)]. The standard deviation of the 10 data
points for each respective R and Rf is also calculated.
The computer averages the amplitudes of the 10 consecutive time
sample intervals (each 10 nanoseconds in length) for each of the
near-region (I ) and the far-region (I,) signal segments within
the plume data signal. It also calculates the standard deviation
of these 10 data points for I and I,.
The average amplitude (I » If, R , Rf) of each pick interval is
calculated by these equations:
. m , m
Jn = in .Z, Zn1' Tf = in -1, Xfi'
_ ! m _ 1 m
Rn ~ m" . Rni' Rf ~ m" Rf i'
where I ., I ., R ., and Rf. are the individual amplitudes of
each respective sampling interval; m is the number of sample in-
tervals in each pick interval (m = 10).
-------
57
These calculations are performed as an integral part of the
automatic pick interval mechanism for the near-and far-region
ratios discussed in Item 2.
The actual opacity calculation is derived from the information given
in Figure V-12. The near-region and far-region signal segment measurements
are related by:
In = kRn (V-la)
- kRf (V-lb)
where:
I = near-region signal amplitude, plume data signal,
If'= clear air equivalent signal amplitude [Figure V-12(c)],
far-region,
R = near-region signal amplitude, reference signal,
Rf = far-region signal amplitude, reference signal,
k = a normalization factor.
The opacity measurement is related to the signal drop due to the plume
[Figure V-12(c)] and is derived in the following manner:
Substituting Eq (V-lb) for If,, Equation (V-2) becomes:
(V-3)
Using the relationship k = In/Rn, [Eq (V-la)], in Eq (V-3), the pro-
portionality factor is eliminated, which gives:
0 = (100%)
(V-4)
-------
58
This expression, which takes a reference (ambient air) measurement
into account, is the one used in the Omega-1 Lidar's computer program to
calculate plume opacity [Appendix B(a,b)]. The opacity value is given in
percent by multiplying the expression in the brackets (Eq V-4) by 100%.
Eq (V-4) is directly applicable to data obtained and recorded through
the lidar's linear channel.
If the lidar data were originally obtained and recorded using the log-
arithmic channel, then these data must be mathematically transformed back
into linear form before they can be processed further.
The transfer function for the logarithmic amplifier was carefully and
accurately measured before being incorporated into the computer program.
The logarithmic amplifier output, V . , is related to the input signal,
Vin> b*:
Vout = °'04 (log Vin} + °-18 (V"5)
The Biomation unit digitizes the output signal of the logarithmic
channel to a digital count value (8 bit binary value, base 10) over the
interval from 0 to 255. The magnitude of this range is dependent on the
Biomation unit's input voltage scale selected by the lidar operator. Based
on the consideration of the average operative parameters or levels of the
Omega-1 Lidar's electronics, this input scale is usually 0.2 volts full
scale (±0.1 V). Therefore, the digital count or binary value (C) is relat-
ed to the Biomation1 s input voltage by (256 total counts, 0 to 255)
c = () = 128Q (counts/volt).
By using the logarithmic amplifier transfer function (Eq V-5), the
following is yielded:
C = 1280 V .
out
C = 1280 [0.04 (log V- ) + 0.18]
C = 51.2 (log Vin) + 230.4 (V-6)
-------
59
For use in the computer program [Appendix B(a,b)], the inverse loga-
nic tra
as follows:
rithmic transformation is required. Therefore Eq (V-6) is solved for V.
logv. =
51.2
taking the antilog of both sides of this equation,
v (C-230.4)751.2
in
and simplifying,
_ nn (1/51.2)(C-230.4)
r
= 1.046L x 1.046
V.n = 3.16 x 10"5 (1.046)C (V-7)
The constant value of 1.046 is for 0.2 volts (full scale) or ±0.1 V input
scale. For other input scale values the constant value is given as fol-
lows:
Table V-4
LOGARITHMIC CHANNEL CONSTANTS
Input Voltage Scale (Volts) Value of Constant
+ 0.1 1.046
+ 0.2 1.094
+ 0.5 1.252
Once the inverse transformation has been applied to the logarithmic
channel data, the opacity equation (Eq V-4) is used by the computer to cal-
culate plume opacity as discussed previously in this section.
The flow of the digital lidar data under control of the computer is
illustrated in Figure V-21. The analog video signals, coming from either
the linear or logarithmic channels, are converted into digital form in the
Biomation Fast Transient Recorder and sent to the computer. The data flows
-------
60
linear or log/
digital
data
OR
normalization
OR
log amp
transform
OR
gating
compensation
OR
(range)"
compensation
OR
data
listing
opacity
calculation
standard
deviation
calculation
results
printout
Figure V-21 Omega-1 Lidar: Digital Data Flow Diagram
-------
61
in straight-1ine fashion with several alternate paths as shown by the
straight line and. branch arrows [Figure V-21]. These paths may be selected
by the lidar operator when the computer program is executed. The function
of each of the blocks shown in the diagram is explained in the following
paragraphs.
Regarding data acquisition, the lidar return data is read from the
Biomation unit or from the magnetic tape into the computer memory. If the
data are read from the Biomation, they may be optionally recorded on tape
as well.
At the point of normalization, any DC bias which the data may have is
removed. This is accomplished by calculating the amount of offset required
to bring the zero-signal-level part of the return video signal [Figure V-ll]
to true zero. The offset is then subtracted from the data during subsequent
calculations. The input signal offset is manually adjustable on the Bioma-
tion unit.
Scaling is performed after each subsequent computational step such
that the numerical value of the data will remain in the range of 0 to 255
digital counts (arbitrary units). This is done for the convenience of data
display (plotting, printing) and has no effect on the calculation of opacity.
Following the data flow sequence [Figure V-21], the logarithmic ampli-
fier transformation is completed, if necessary, and the compensation for
the video signal gating (two gates), selected by the lidar operator, is
2
carried out if required. The 1/R correction (compensation) is carried out
as required [Figures V-8 and V-9].
The digital data, stored in the computer, can be listed in tabular
form for each Biomation sample interval which includes time and the corres-
ponding digital count value. The lidar operator can select the time inter-
val over which the data is listed. At this time in the data flow sequence,
a two-dimensional plot of the linear/transformed, uncompensated/compensated
data can be made.
-------
62
The opacity calculation is now completed in the manner previously dis-
cussed. The most recent reference measurement is used in the calculation,
Eq V-4. If no reference measurement is used, a value of 1 is assigned to
the ratio R /R,. in the equation. Prior to executing the program on the
lidar computer, the lidar operator enters the two "pick" intervals (via
computer keyboard) which are the data sampling time intervals (100 nanosec-
onds in length) for both the near-region and the far-region of the plume
under investigation. These intervals are determined by the location of the
plume in the time domain (or range where the round-trip range = speed of
light- time/2) and by the atmospheric conditions along the lidar1s line-of-
sight through the plume, as judged by the operator. (These are calculated
automatically by the laboratory computer search routine discussed above.)
The program calculates average values for R , Rf, I and If [Figure V-12]
beginning at the respective pick-time point (word) and continuing for the
next nine intervals for a total of 10 consecutive intervals (100 nanosec-
onds) resulting in a 10-point average amplitude over the interval for each
R and I. The standard deviations (SD , Sr,f, S, , S,.,) for the R , Rfy I
Kn KT in IT n T n
and If average values respectively, are calculated at this point for use in
the next step.
The standard deviation, S , of the calculated opacity, 0 , is obtained
by a multi-variable function which is given in terms of the standard devia-
tion of the individual variables. Given Eq (V-4) for opacity and the stand-
ard deviations previously calculated, the standard deviation of the opacity
value is calculated using:
where:
a o
a R,
Rf
aop/aRn =
a o
'if
= standard deviation of the opacity value, 0
(v-8)
partial derivative of the opacity function [Equation (V-4)]
with respect to the ambient-air reference signal variable
in the near-region [Figure V-14].
-------
63
SRn = standard deviation of the pick-interval segments for the
ambient-air reference signal in the near-region.
30 /3R, = partial derivative of the opacity function with respect
to the ambient-air reference signal variable in the
far-region.
Sn- = standard derivation of the pick-interval segments for the
ambient-air reference signal in the far-region.
30 /3I = partial derivative of the opacity function with respect
to the plume backscatter signal variable in the near-
region.
S. = standard deviation of the pick-interval segments for the
plume backscatter signal in the near-region.
30 /3lf = partial derivative of the opacity function with respect
to the plume backscatter signal variable in the far-
region.
STf = standard deviation of the pick-interval segments for the
plume backscatter signal in the far-region.
Equation (V-8) is a special case of a more general variance equation:
.39 »40
S 2 = _Ji S 2 + __E S 2 + __E S 2
o I 31 / 5In \3K / *lf \3R_ / ^Rn
SO 30 \ I 30 30
I
^ n
S +21 & ^ IS +2 £ £ I S
5InIf Z \ 31 3R /bInRn ^ \ 31 3R, / b!nRf
\n n/ \n T /
30 30 \ / 30 30 \
2 £ Is +2 ( ^ ^ IS
3lf 3Rf y^IfRf I 3Rp 3Rf I RnRf'
-------
Using Eq (V-4) for 0 , Eq (V-9) becomes:
64
30 , / I- R
__£ = I ( _I _Q
31 2 I R. I
n \ f n
_ _1
21
n \ f
-h R
aif 2\Rf
2IfRf
3R
Vn
kw
lf
3R,
2R,\Rf In
Substituting these partial derivatives into S 2:
/K R \ i /I* R
(_t _Q 1 c 2+ 1 / f
^ \R, I /^In 4171 R* I /If
n\fn/ f\fn
7T- T11 S 2
, R, I / Rn
n \ f n /
i / -* M~ \ i
+ 4r( IS 2 ^~
4Rf \Rf ln / Rf 2InJf \ lxf ^n
_,_ _n \ 1 / lf ^n
R. I. /blnlf 21 R I R T
f n
2InRf \ Rf
'InRf 2lfRn I Rf II "IfRn 2IfRf I Rf Ip
T / I, R
1 / _f _D ic
2R R, \ R, I / RnRf.
n f \ f n
i / Tf R
c 2 - 1 f _L _i!
- ~ ? I R T
t \ Kj. i
C 2 c 2
_n _RH
2If2 2V
2 c
JInRn
I R
n n
. SInRf A SIfRn
T R T n
JnRf JfRn
'ifRf RnRf
IfRf
_
n f
(V-10)
-------
65
The terms within Eq (V-10) are defined in Equations (V-ll) through
(V-13). The variance terms are the following:
m ( I - - I )2 m ( I - I )2
C 2 = y ni n C 2 T Tl T
In 1=1 (m-1) ' If 1=1 (m-1)
(V-ll)
m ( R . - R )2 m ( R,. - I, )2
S 2 = j nl n c 2 = T _TJ I
Rn > Rf
Kn 1=1 (m-1) Kf 1=1 (m-1)
The functional or variable terms are:
1 m
m 1=1
, m .. m
v D D v D r\i ~i o^
- Z K . , K, 2. K_. . (.V-l^J
n . .. ni T . T ti
m i=l m i=l
The covariance terms between the variables I , If, R , and Rf are:
m ( I .-I )( lf-~lf ) m ( I .-I )(R .-R )
_ v ni nyv fi f ' v ni nyv ni n
Inlf . -. / T % ' InRn . ^ / i > '
1=1 (m-1) i=l (m-1)
(V-13)
.
InRf " i=l (m-1) ' IfRn " 1=1
_ ; ( ifi-if)CRf1-Rf ) . ; ^ Rn1-Rn)(Rf1-Rf )
IfRf . , , ,, ' RnRf . \ , .,
1=1 (m-1) 1=1 (m-1)
In the development of Eq (V-8) , it was assumed that for the lidar applica-
tion the covariance terms would sum to zero, thus leaving only the variance
terms, i.e. ,
-------
66
1
2
I, R
f n
R, I
f n
% r
ST 2
In
I 2
n
"ST 2
In
S 2 c 2 C 2
If . Rn , Rf
I 2 R 2 R 2
f n f _
c 2 c 2 c
1 If 1 Rfl 1 R
2"
f
f n f _
;1 %
(V-14)
(V-15)
The standard deviation S of the opacity value 0 is obtained by Eq (V-15)
which has been derived from Eq (V-8). The assumption of zero-covariance
was verified over the opacity range from 0 to 75%. The verification is
reported in Section VI of this document. The standard deviation is given
in percent by multiplying the S value by 100%.
The largest and most significant source of error in 0 is the atmos-
pheric inhomogeneities along the lidar's 1ine-of-sight resulting in video
signal noise. The standard deviation S is an indication of the magnitude
of the atmospheric signal noise in the near-region and far-region pick
intervals used in the calculation of 0 .
P
The computer printout of the data analyst's report [Figure V-22], con-
taining all pertinent information from the data analysis, consists of the
following parameters:
Tape header (information block) recorded in the field,
Month, date, year that the lidar signal was recorded,
Individual file number of lidar signal on the magnetic tapes,
Individual file number of the reference signal used in each re-
spective opacity calculation,
Time values of the near-and far pick intervals in nanoseconds
V V
Average values of In (Xn), If (X), R
Standard deviation values for I , I
,
n,
-, R ,
Opacity value, 0 ,
Standard deviation, S ,
Running average values, 6 , S
-------
UNITED STATES ENVIRONMENTAL PROTECTION AGENCY, NATIONAL ENFORCEMENT INVESTIGATIONS CENTER, DENVER, COLORADO 80225
Omega-0028, Co. Name., City,
GATE 1 0. 0 DB 0 TO
State, Source Name
0 NS, GATE 2 0. 0 DB
0 TO
LINEAR CHANNEL,
0 NS, CALIBRATION FILE
10 NS/PT, +OR- 0. 10 VOLTS
0, AZ= 0. 0, EL= O. 0
OMEGA-1 LIDAR OPACITY DATA.
ANALYZED
BY ANALYST'S NAME
12/ 4/79 22:30: 4 FILE 105 REF FILE 1
TN=11470 XN= ISO. 3 +OR- 9.3 RN= 156.5 +OR- 3.3 TF=12B50
OP= 18. OX +OR- 3.5 FOR 4.93 MINUTES 66 OP'S AVE
12/ 4/79 22:30: 8 FILE 106 REF FILE 1
TN=11470 XN= 165.1 +OR- 7.0 RN= 156.3 +OR- 5.3 TF°=12680
OP= 14.6X +OR- 3.9 FOR 3.00 MINUTES 67 OP'S AVE
12/ 4/79 22:30:13 FILE 107 REF FILE 1
TN-11500 XN= 156.9 +OR- 3.5 RN=» 165.3 +OR- 7.2 TF-12B80
OP= 23.87. +OR- 4.6 FOR 4.95 MINUTES 66 OP'S AVE
XF= 121. 4 +OR-
19. 4X
XF= 115. 3 +OR-
19. 47.
XF= 94. 2 +OR-
19. 47.
12/ 4/79 22:30:17 FILE 108 REF FILE 1
TN=11500 XN= 160.4 +OR- 7.7 RN= 165.3 +OR- 7.2 TF=12810 XF= 97.2 +OR-
OP= 23.07. +QR- 3.7 FOR 4.95 MINUTES 66 OP'S AVE 19.47.
12/ 4/79 22:30:22 FILE 109 REF FILE 1
TN=>11500 XN= 161.8 +OR- B. 0 RN= 165.3 +OR- 7.2 TF=12900 XF= 103.9 +OR-
OP= 21.87. +OR- 4.5 FOR 4.95 MINUTES 66 OP'S AVE 19. 4X
12/ 4/79 22:30:27 FILE 110 REF FILE 1
TN=11500 XN= 169.4 +OR- 10.3 RN= 165.3 +OR- 7.2 TF=12900
OP= 21.BV. +OR- 4.7 FOR 4.95 MINUTES 66 OP'S AVE
12/ 4/79 22:30:31 FILE 111 REF FILE 1
TN=11500 XN= 173.4 +OR- 14.0 RN= 165.3 +OR- 7.2 TF=12B50
OP= 25.57. +OR- 4.2 FOR 4.95 MINUTES 66 OP'S AVE
XF= 108. 8 +OR-
19. 3X
97.4 +OR-
19. 5X
12/ 4/79 22:30:36 FILE 112 REF FILE 1
TN=11500 XN= 159.9 +OR- 6.7 RN= 165.3 +OR- 7.2 TF=12850 XF= 72.4 +OR-
OP= 33. IX +OR- 4.4 FOR 4.95 MINUTES 66 OP'S AVE 19. 7X
12/ 4/79 22:30:40 FILE 113 REF FILE 1
TN=11500 XN= 154.6 +OR- 15.0 RN= 165.3 +OR- 7.2 TF=12860 XF= 59.2 +OR-
OP- 38.47. +OR- 4.3 FOR 4.93 MINUTES 66 OP'S AVE 20. OX
12/ 4/79 22:30:45 FILE 114 REF FILE 1
TN=11500 XN= 156.5 +OR- 6.1 RN= 165.3 -»-OR- 7.2 TF=12860 XF- 53.0 +OR-
OP- 42.07. +OR- 2.8 FOR 4.95 MINUTES 66 OP'S AVE 20. 4X
12/ 4/79 22:30:50 FILE 115 REF FILE 1
TN=11500 XN= 165.6 +OR- 9.6 RN= 165.3 -t-OR- 7.2 TF=12B60 XF«= 48.9 +OR-
OP- 45. 9X >QR- 3.4 FOR 4.95 MINUTES 66 OP'S AVE 20.67.
12/ 4/79 22:30:54 FILE 116 REF FILE 1
TNM1500 XN= 175.5 +OR- 7.3 RN= 165.3 +OR- 7.2 TF=12860 XF= 49.7 +OR-
OP- 47 OX -K3R- 3.2 FOR 4.95 MINUTES 66 OP'S AVE 21. 2X
3. 1 RF= 156. 9 +OR- 8. 0
66 STD DEV'S AVE 4. 4
3.4 RF" 150.0 +OR- 10.0
67 STD DEV'S AVE 4. 4
B. 9 RF= 171. 0 +OR- 9. 8
66 STD DEV'S AVE 4.4
2. 4 RF- 169. 0 +OR- 11. 2
66 STD DEV'S AVE 4.4
5. 4 RF= 173. 7 +OR- 13. 5
66 STD DEV'S AVE 4.4
5. 9 RF= 173. 7 -t-OR- 13. 3
66 STD DEV'S AVE 4.4
3. 9 RF- 167. 2 +OR- 8. 5
66 STD DEV'S AVE 4.4
7. 5 RF= 167. 2 +OR- B. 5
66 STD DEV'S AVE 4.4
4. 2 RF- 166. 8 +OR- B. 7
66 STD DEV'S AVE 4. 4
2. 9 RF= 166. B +OR- B. 7
66 STD DEV'S AVE 4.4
4. 4 RF= 166. B +OR- B. 7
66 STD DEV'S AVE 4.4
4. 4 RF- 166. 8 +OR- B. 7
66 STD DEV'S AVE 4.4
Figure V-22 Omega-1 Lidar Opacity Data Analyst's Report Format
-------
68
During the execution of the opacity calculation, the computer is pro-
gramed to inspect the variability of the near-region and far-region signal
segments and the value of S . If the standard deviation of S is greater
than 8% the lidar computer prints an error indication immediately after the
opacity value is printed. This form of an acceptance/rejection criterion
[see Section VIII for detailed discussion] is carried out for each lidar
signal analyzed. If a negative opacity value is calculated, which means
that the backscatter amplitude in the far-region (behind the plume) is
greater than that in the near-region, usually due to fumigation from a
neighboring source, the lidar computer also prints an error indication.
The lidar data, recorded on magnetic tape, is also processed at NEIC
on the POP-11-70 computer which is much faster than the lidar's computer.
The same program elements are used on the larger computer [see Section VIII
for more detail].
The temporal plume opacity values for a given source and associated
standard deviations, are plotted in a two-dimensional format along with the
applicable average opacity value established by a particular regulation.
Examples of such plots are given in Figures V-23 and V-24, where the latter
plot is a continuation of the first plot. Each plot is 10 minutes in length
along the abscissa or horizontal axis. The vertical bars represent ±1
standard deviation calculated for each respective opacity value. If a par-
ticular regulation being enforced has an individual opacity maximum value,
then that value will also be plotted by a dashed line.
The computer also calculates and plots running averages of the opacity
value data. The length of the time period of the running average is de-
fined by a particular state air regulation or New Source Performance Stan-
dard (NSPS). A running average is defined in the following way:
If i opacity values, from M to N, have been averaged over a given time
interval, the running average is performed by successively subtracting the
Mth value and adding the N+l value and calculating the average for the i
-------
100
90
80
78
60
50
. 30
1(D
-10
22:22
DRTE: 12/ 4/79
T
1 1 1
CRLCULRTED OPRCITY PLUS OR
MINUS ONE STRNDRRD DEVIRTION
r~
RVERRSE OPRCITY STRNDRRD
-1 1 T
az
a_
CD
i i i 1 \ 1 1 1 1 1 r
= -m
ft
m
1 1
22:26 22:28
MOUNTflIN TIME
22:30
XXXX STACK, FACILITY NAME, CITY, STATE
Figure V-23 Two-Dimensional Plot of Omega-1 Lidar Opacity Data
22:32
en
-------
I CRLCULflTED OPflCITY PLUS OR
DRTE: 127 4/79 i MINUS ONE STRNDRRD DEVIRTION RVERFIGE OPRCITY STFINDRRD
i i i i 1 1 1 1 1 1 1 1 1 : 1 1 1 1
az
o_
CD
90
80
70
60
50
40
30
20
10
0
-10
22
32
T
T -P jic
mk » iA
X 1 |
22:34
22:36 22:38
MOUNTR1N TINE
22:40
22:42
XXXX STACK, FACILITY NAME, CITY, STATE
Figure V-24 Two-Dimensional Plot of Omega-1 Lidar Opacity Data-Continued
-------
71
opacity values again, then subtracting M+l and adding N+2 and performing
the calculation again, etc. [see Section VIII]. The number of values aver-
aged in this manner is always i.
The advantage of this technique is to continually have available the
average opacity of a given source over a running 5 or 6 minute period ap-
pearing in state air regulations and the NSPS. The running average does
not apply to aggregate-type regulations.
The Omega-1 Lidar can fire the laser, collect the return signal and
record the resultant A-scope video signal on magnetic tape at a rate of
about once every second. If an opacity value is calculated for each lidar
signal, then the data rate is decreased to about one measurement every 2
seconds. The data rate is continuously variable from one signal-per-second
to a single signal.
The lidar is mounted in an enclosed metal-lined van which is, in turn,
mounted on a 1977 Ford C600 truck [Figures V-25 and V-26], The van has
three separate rooms: a) laser room, b) computer room, and c) generator
room.
The laser and computer rooms are equipped with heaters and air condi-
tioners providing environmental control for year-round operation.
There are two electrical generators mounted in the generator room which
is across the front of the van [Figure.V-27]. The upper-level generator
supplies regulated 110-120 VAC power to the system's electronics. The in-
ternal lights are also powered from this unit. The large generator (30 KVA)
supplies electrical power to the laser (18 KVA) power supplies, the water
refrigeration unit, and the air conditioning units.
The doors in the rear of the van open so as to provide a clear or un-
obstructed pointing position anywhere in the solid angle of ±90° in azimuth
(180° total azimuth) and of -10° to +90° in elevation. From the time the
truck is stopped at a given monitoring site, the lidar is in full operation
-------
: ' .
.:.. '
.
;
,> '
- . ^ -. ^ -
. . -:. -
i." -.
Figure V-25 Omega-1 Mobile Lidar System: View Of Right Side
IS3
-------
" , .:"-' -.'
^v
F,gure V-26 Omega-1 MobHe L.dar System: V,ew Of Left S,de
00
-------
74
Figure V-27 Omega-1 Lidar: Generator Room
-------
75
in less than 10 minutes, day or night. The lidar is quickly and easily
aimed at a smoke plume in question by either direct viewing through the
Celestron telescope or through an aiming (rifle) scope mounted on the lidar
pedestal and bore-sighted to the Celestron telescope.
There is also a small door in the top of the van, at the back as shown
in Figure V-28, that provides a vertical line-of-sight for the lidar. The
lidar can be operated through this door with the vehicle standing or in
motion. This arrangement permits the spatial or temporal monitoring of:
a) plume drift and dispersion characteristics/dynamics,
b) plume behavior such as fumigation, coning, etc. ,
c) location and movement of the combining of plumes,
d) plume density variations,
e) vertical burden and inversion layers
to name a few. These modes, in addition to the remote measurement of plume
opacity, can be conducted during either day- or nighttime hours. (The lidar
receiver is solar-blind; however, it cannot be aimed directly into the
sun.) The data collected during these modes of operation are analyzed on
the NEIC laboratory computer and the results plotted on a two-dimensional
plotter in a variety of formats.
Lidar is not effective for plume opacity monitoring during heavy rain
storms, snow storms, and fog conditions.
-------
Vertical Port
F,gure V-28 Omega-1 L,dar: Rear V,ew
CTl
-------
77
VI. PERFORMANCE EVALUATION AND THE CALIBRATION MECHANISM
OF THE OMEGA-1 LIDAR
During the time that the contractor was fabricating the Qmega-1 Lidar
and even after it was accepted, EPA technical personnel, with the advice
and counsel of lidar specialists from two separate EPA contractors, formu-
lated a detailed performance evaluation program and formulated the design
necessary for an effective calibration mechanism.
The performance evaluation tests were not designed for proof-of-
principle of the lidar technique since that had been done several years
prior.5'22 These historical tests, performed with two different lidars
(EPA-RTP Lidar* and the SRI International Mark IX Lidar**) having ruby
lasers as optical transmitters, have clearly established the validity of
the lidar mechanism and produced technical/logistic information that was
used extensively in the design of the Omega-1 Lidar which is an optimum
system for field use in the measurement of plume opacity. The performance
evaluation tests were designed to fully evaluate the performance parameters
and characteristics of the Omega-1 Lidar revealing any anomalies that might
have been present. The results of these tests given later in this section,
apply only to a lidar equipped with a ruby laser.
EPA technical personnel judged the following tests as those necessary
and sufficient to demonstrate that the Omega-1 Lidar measures the opacity
of visible particulate emissions with consistently high accuracy:
* This lidar belongs to the Environmental Sciences Research Laboratory,
EPA, Research Triangle Park, North Carolina 27111.
** This lidar belongs to the Atmospheric Science Center, SRI International,
Menlo Park, California, 94025
-------
78
a) Aerosol Chamber Tests - A technical investigation revealed that
the SRI/EPA aerosol chamber, previously established and operated
as a simulator for particulate plumes, provided a realistic out-
door laboratory environment for establishing and evaluating the
performance/response characteristics of lidar systems for smoke
plume opacity measurements. The aerosols used to generate the
smoke plumes were flyash (black) and iron oxide (rust red) par-
ticulates which were characterized by particle-size distribution
classes or ranges.
The lidar performance tests conducted, using the aerosol chamber
as the simulated smoke plume, were preliminary tests or first-run
tests for the purpose of establishing the base-line performance
of the Omega-1 Lidar and uncovering the anomalies that were found
in the system.
b) Internal Calibration Mechanism - In order to establish the valid-
ity of the visible emissions opacity data obtained with the
Omega-1 Lidar, a rather simple mechanism was formulated and
designed for testing the lidar system performance in the field
under conditions, as nearly as possible, identical to those
encountered during actual plume measurements. This test is a
demonstration of the accuracy of the lidar opacity measurement
which depends on the verification of the proper operation, line-
arity* and repeatability in performance of all the electronics
in the lidar receiver from the photomultiplier tube (PMT) de-
tector through the computer. This test, which requires from
1 to 3 minutes to perform, serves as a performance verification
* Linearity is defined by the equation y = mx + b. For a given change in
x there is a corresponding proportional change in y. The proportion-
ability factor m is not a function of x or y but is a constant, x is
the input signal amplitude, y is the output signal amplitude, m is the
slope of straight line and b is the intercept point where the line
crosses the y axis of a two dimensional graph.
-------
79
mechanism for the proof-of-proper-operation requirements of the
evidentiary chain employed in the EPA enforcement activities.
This test is performed for discrete opacity values ranging from
0% through approximately 80%.
c) PMT Evaluation Tests - The PMT detector is the key component in
the lidar receiver. The EPA-RTP lidar encountered a problem with
afterpulsing with that system's PMT. (Afterpulsing, also called
signal-induced noise, is defined as the departure of the output
electronic signal of the PMT from the predicted or expected values
immediately after an encounter with a strong optical signal. The
strong optical signal is the backscatter signal from the smoke
plume under-test and the afterpulsing occurs in far region seg-
ment of the video signal just beyond the plume.)
The Omega-1 Lidar1 s PMT (ITT 4084) is of special design. The
design of this detector was based on the results obtained through
research with the EPA-RTP Lidar, and has eliminated the after
pulsing problem.
During the time just prior to the aerosol chamber tests SRI In-
ternational conducted numerous tests on the Omega-1 Lidar's PMT.
These tests showed that there were no after-pulsing effects in
this PMT. The PMT performance tests are repeated periodically,
at least every 6 months, to verify that the tube performance char-
acteristics have not changed. Additional tests performed on this
PMT are given later in this section.
d) Field Experimentation Tests - The field tests have been used ex-
tensively for studying the intrinsic operating characteristics
and the correlation among lidar-measured opacity values, visible
emissions observation opacity values, and the respective in-stack
transmissometer opacity values. The tests have also been used to
train lidar operators and to optimize the operation and perform-
ance of the lidar system and the computer software used in internal
-------
80
data management and recording. The data recorded during these
tests have been analyzed and documented in a systematic data base
for future reference/use.
More detailed information and test results are given in the re-
mainder of this section.
AEROSOL CHAMBER TESTS
These outdoor laboratory tests were conducted at the facilities of SRI
International (formerly Standard Research Institute) in Menlo Park,
California. (Refer to Section III for background information.)
The test site consisted of a vacant lot, an aerosol chamber11'41 9.75
meters (32 ft) in length and a back-stop for the laser beam, as shown in
Figure VI-1. The overall length of the optical path (lidar to back-stop)
through the aerosol chamber was 281 meters (922 ft). The aerosol chamber
is a device used to simulate actual particulate plumes with a high degree
of laboratory control over the applicable parameters, especially plume opa-
city. The simulation of a plume is accomplished by feeding submicron-to-10
micron size particulates (size selectable) into the aerosol chamber by a
particle feeder and a high volume (5800 ft3/m(cfm)) blower [Figure VI-2].
The particulates are metered into the air stream by the groove and disk
feeder [Figure VI-1]. The particulate-laden air stream is highly controll-
ed from the feeder through the aerosol chamber into the sighting tunnel
which has an effective path length of 9.1 meters (30 ft). It is deceler-
ated in an expanding duct network before entering the sighting tunnel. The
particulates do not escape from the sighting tunnel through the sighting
ports because an aerosol curtain is used to establish and maintain a fixed
boundary to the particulate-laden air through which the lidar can sight
without affecting the transmission of the laser energy. The particulate-
laden air escapes the chamber through the exhaust ports on top [Figure VI-1]
away from the lidar1s 1ine-of-sight through the sighting tunnel. The effec-
tive plume opacity is controlled directly by the density of the particulate-
laden air within the sighting tunnel.
-------
81
LIOAR
-------
82
EXHAUST AIR
TO ATMOSPHERE
SOUTHEAST
SIDE
COLLIMATED
LIGHT BEAM
ATMOSPHERIC
AIR
(b) SECTIONAL VIEW OF AEROSOL SIGHTING CHAMBER (Section B-B)
Figure VI-2 AEROSOL CHAMBER DETAI LS 4 1
-------
83
Since plume opacity is defined as one minus plume optical transmit-
tance, an optical transmissometer was incorporated into the aerosol cham-
ber's sighting tunnel in order to continually monitor the optical trans-
mittance of the particulate-laden air over the 9. 1 meter effective path
length through the sighting tunnel. The transmissometer was a photoptic
response white-light transmissometer directed along the sighting tunnel as
shown in Figure VI-2. The source, a tungsten filament lamp, was located at
one end of the sighting tunnel while the optical detector, a silicon detec-
tor, was located at the other end. The transmissometer1s receiver was equip-
ped with a special optical filter to approximate the response of the human
eye, since visible emissions observations are collected by human observers
(Reference Method 9)'. This transmissometer had an integration time cons-
tant of about 0.25 sec., indicating that it could monitor any moderate opa-
city changes rapidly and effectively. The transmissometers in the 40 CFR
Part 60 smoke generators have a white-light source and a time constant of 5
seconds or less [Table 9-1, Reference Method 9 (see Field Experiment sec-
tion)].
Calibration tests performed on this transmissometer showed it to re-
spond in a linear manner (to within 1% transmittance) to neutral density
(shades of gray) optical filters placed in its beam path. Its calibration
was checked just prior to the start of each 1 idar-chamber data run. The
opacity values of the particulate-laden air were recorded on a continuous
strip-chart recorder and on a digital printer which was activated by a sig-
nal from the lidar when the laser was fired through the sighting tunnel.
The particulates used during these tests were four size fractions of
flyash (black particulates) and one of iron oxide (rust red particulates).
The four size fractions (particulate diameters) of flyash were: 1) 0.1 to
10 microns, 2) 0.1 to 2.5 microns, 3) 2.5 to 5 microns and 4) 5 to 10 mi-
crons. The lidar and the chamber transmissometer measured the plume opac-
ity for all the above-mentioned size fractions.
The performance evaluation tests were performed during a 4-week per-
iod. Prior to recording actual lidar data through the aerosol chamber,
-------
84
tests were conducted in order to establish the proper operating signal
levels of the Omega-1 Lidar's photomultiplier (PMT) detector, linear and
logarithmic channels and the Biomation 8100 Fast Transient Recorder (digit-
izer).* The new internal calibration mechanism (discussed later in this
section of the report) was installed and was used extensively in these
tests. Once these tests were satisfactorily completed, the lidar was then
aimed and fired down the test range through the sighting tunnel of the
aerosol chamber [Figure VI-1]. A photograph of the aerosol chamber is
shown in Figure VI-3.
Two problems were encountered within the lidar. One problem involved
the electronic signal interference in the lidar receiver caused by the
Pockel Cell Q-Switch in the laser. This interference is called electromag-
netic interference (EMI). This problem was solved by rerouting the elec-
tronic signal (video) cable, from the PMT detector to the processing elec-
tronics, away from the Q-Switch power supply and remote control cables.
Also an additional electronic shield was put on the electronic signal cable
and grounded or terminated at both ends. The high voltage cables from the
Q-Switch power supply to the Q-Switch, located within the laser invar rails,
were twisted and additional shielding installed with proper termination.
Diagnostic tests were then performed revealing that the EMI noise problems
were greatly reduced to an acceptable level.
As viewed on the oscilloscope display this EMI noise was barely visi-
ble in the receiver's inherent electronic noise level that is always pres-
ent in the time interval from the time .the receiver is effectively turned
on to the time the laser is fired; it had no effect upon the higher ampli-
tude signals used in the opacity calculation.
The second problem mentioned above involved the beam pattern out of
the Holobeam (Model 624) laser's upcollimating telescope, which is a beam-
shaping device. It had a noticeable amount of energy in the first second-
ary maximum surrounding the intense central spot or primary maximum. This
* At this time the Biomation digitizer was taken to the Biomation factory
for complete calibration.
-------
85
Figure VI-3 SRI International Aerosol Test Chamber Facility
(As Viewed From The Lidar End)
-------
86
effect was evident in the large laser energy reflection signal from the
front surface of the aerosol chamber as recorded and observed on the os-
cilloscope display. The entire optical train (all optical elements along
the laser's invar rails) was realigned including the upcollimator. This
problem had no effect upon the opacity measurements of the particulate
plume within the aerosol chamber [see Section V for signal processing de-
tails]; however, it did produce a larger return signal than normal from the
chamber structure. It was decided at that time that the upcollimator would
have to be changed, reworked as required and refocused for proper perform-
ance (beam shape) in the NEIC Optics Laboratory in Denver.
The Omega-1 Lidar tests using the aerosol chamber were divided into
runs. Each run consisted of a sequence of ten lidar measurements while the
aerosol chamber was operated at a particular (predetermined) opacity value
with as nearly uniform particulate concentration as was possible to main-
tain. While the chamber was in operation, the opacity was monitored con-
tinuously by the filtered white-light transmissometer as previously dis-
cussed. Each time the lidar was fired, an electronic signal was trans-
mitted to the aerosol chamber which activated the digital printer recording
the following information:
Time of each firing to the nearest second,
Transmissometer opacity output value,
Ambient temperature,
Electrical power to the transmissometer white-light lamp.
Constant telephone communications were provided between the lead-oper-
ator of the Omega-1 Lidar and the technician in the control room of the
aerosol chamber. The technician told the lidar operator when to begin a
data run when the opacity of the particulates within the chamber was
stable. The lidar operator would initiate the data run and would continue
only if the local atmospheric path along the test range was reasonably
stable. Inhomogeneities along this path were caused by small wind gusts
blowing ground dust through the area. This occurred in the afternoon
hours; so most of the tests were performed from early morning until noon
when the air along the range or path was calmest.
-------
87
A total of 43 data runs were performed with the aerosol chamber opac-
ity values discretely ranging from 0% to greater than 90%. Of these 43
data runs, 13 were discarded and not used because of fugitive dust inter-
ference within the lidar's 1ine-of-sight.
The data obtained during the 30 acceptable data runs (251 data values,
49 data values were discarded due to excessive interference of fugitive
dust) were processed with the Omega-1 Lidar computer and the software that
has been developed, verified and documented for field enforcement use [see
Section V].
SRI International analyzed the comparison of the transmissometer1s
opacity output data recorded by the continuous strip-chart recorder and the
digital printer. Out of the entire data set, only 12 data values or points
displayed an absolute opacity difference of 5% or greater from one recorder
to the other. In analyzing the results of this test series, the nominal
opacity value of the printer served as the basis rather than the strip-chart
recorder.
Figure VI-4 shows all the lidar opacity measurements plotted as a func-
tion of the transmissometer opacity measurements recorded by the digital
printer. Also shown is a dashed line representing agreement (equality)
between the lidar measurements and the opacity values recorded by the print-
er. This presentation of the data does not account for any error in the
transmissometer measurements or the 5% difference between opacity values
recorded by the printer and the stripchart recorder.
A frequency distribution of the differences between the lidar opacity
values and the corresponding printer opacity values for all the 251 data
points was plotted [Figure VI-5]. The distribution was a normal distri-
bution function. The average lidar opacity, calculated from all the data
points, was 0.3% higher than the average opacity of the aerosol chamber.
The standard deviation of the distribution was calculated to be about 6%.
Therefore, according to this data processing mechanism, the measurement
accuracy of the lidar for single measurements of opacity is about ± 6% with
-------
88
100
H
o
Q.
O
cc
Q
80
60
40
20
20 40 60
CHAMBER OPACITY (PRINTER)
80
100
percent
Figure VI-4 LIDAR-DERIVED OPACITY VALUES PLOTTED AGAINST CORRESPONDING
TRANSMISSOMETER-OBSERVED OPACITY VALUES 41
The two symbols represent two different methods of obtaining opacity values
from the lidar signature: 0 based on a reference signature (clean air chamber)
and + computed without reference signature (clean air before chamber)
see Appendix B for detail.
-------
25
20
15
.0
E
D
c
I
>
O
z
^ 10
a
LU
Ct
LJ_
5
""' I
-
-
-
,
ni
r
nn-1
t
ri'
n J'l
FH
,
-20 -15
/
1
/
>
/
^
t
i
10
i
F
'
^^^ ^
u
.
1
,r
''
-5
1
X
X
X
f
^
0
!
ALL POINTS
DATA 0.29 6.37
MODEL 0.63 6.27
-
S 'I
\
X
X
V
^
1 \
\
\
\
,\
\
*r i
M
\ 1
\
X
\
N
^
U N
U x"
5 10 15 20 2
OPACITY DIFFERENCE (LIDAR PRINTER) percent
Figure VI-5 FREQUENCY DISTRIBUTION AND BEST-FIT NORMAL DISTRIBUTION FOR THE DIFFERENCE IN LIDAR
AND TRANSMISSOMETER-MEASURED OPACITIES (all observations)41
00
ID
-------
90
a 68% confidence limit and about ± 12% with a 95% confidence limit. The
probable error calculated from this distribution is about 4%; i.e., a
single lidar measurement in this group of data has a 50% confidence of
being within ± 4% of the actual value.
As was stated above, the printer opacity value was assumed to be the
basis for the graphic plots and calculations; i.e., there was no accounting
for the inherent error in the aerosol chamber's transmissometer and record-
ing equipment. However, there is an error associated with this facility
and its measurement of the opacity of the particulates dispersed within the
sighting tunnel of the aerosol chamber. In order to see this more clearly,
the lidar opacity data and aerosol chamber opacity data for four data runs
are presented in Table VI-1. The far-right column in this table is the
standard deviation of the measurement of the opacity value as calculated by
the lidar computer from the original data collected by the lidar receiver.
This gives an indication of the integrity of the lidar return or backscat-
ter signal from the test range.
For example, in Run #13-shot 0, the lidar measured and calculated the
aerosol chamber opacity to be 57% with a standard deviation of 1% (the
transmissometer measured the opacity to be about 59%). This says that the
opacity of the parti culates in the aerosol chamber was 57% ± 1% with 68%
confidence limits, 57% ± 2% with 95% confidence limits and 57 ± 3% with 99%
confidence limits. Run #10, Shot 9, was 69% with a standard deviation of
3%. The latter half of the data in Table VI-1 displays a somewhat larger
standard deviation because the effects of the local atmosphere along the
test range (via .reference measurement or signal) were not normalized out as
they were in the first half. This left the atmospheric noise in the calcu-
lations of the last half.
The quality and integrity of all the lidar-measured opacity data were
reviewed in detail for any errors in calculation, choice of pick intervals
(points) [see Section V], and recording of each opacity value in a tabular
format. No errors were present. The average standard deviation of the
-------
91
TABLE VI-1
DATA SAMPLE - AEROSOL CHAMBER TESTS
Run
No.
13
13
13
13
13
13
13
13
13
16
16
16
16
16
16
16
16
16
16
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
Shot
No.
0
1
2
3
4
5
6
7
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
Printer Opacity
in %
59.1
57.5
57.2
63.7
61.8
59.0
64.7
58.2
55.6
41.5
41.1
45.4
43.2
44.1
46.9
47.6
42. 1
40.5
45.8
67.3
77.3
67.9
63.4
79.4
76.4
72.7
70.7
76.4
66.3
55.7
68.9
74.6
72.1
83.8
79.9
68.7
72.1
82.6
73.5
Lidar Opacity
in %
57. Oa
54.0
60.0
66.0
59.0
54.0
61.0
53.0
49.0
40. Oa
38.0
46.0
33.0
30.0
26.0
29.0
32.0
44.0
46.0
74. Ob
79.0
70.0
69.0
84.0
79.0
75.0
76.0
79.0
69.0
59. Ob
72.0
78.0
78.0
88.0
81.0
75.0
78.0
79.0
66.0
Lidar Opacity
Standard Deviation(a)
1.0
2.0
2.0
2.0
2.0
1.0
2.0
1.0
1.0
2.0
2.0
2.0
2.0
7.0C
2.0
3.0
3.0
3.0
2.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
3.0
2.0
3.0
4.0C
3.0
3.0
2.0
2.0
2.0
5.0
2.0
8.0C
7.0C
a Data corrected for atmospheric (clear air) effects in the lidar computer.
b Data not corrected for atmospheric effects in the lidar computer.
c Large a due to fugitive dust along the lidar's 1ine-of-sight.
-------
92
lidar data for all 251 data points was 3.1% as calculated by the lidar com-
puter. (The mean difference between the lidar and the respective chamber-
opacity values was 0.3%.) The results of the aerosol chamber tests indi-
cate that the overall standard deviation was about 6%. The difference bet-
ween these two values lies within the assumption that the printer output of
opacity was an absolute basis (opacity value with no associated error) for
the entire series of calculations. The errors in the transmissometer's
measurement must be taken into account. The inability of the transmissome-
ter to respond to rapid changes (inhomogeneities and particulate kinetics)
in actual chamber opacity values must also be considered. The integration
time for the transmissometer was about 0.25 seconds. The lidar measured
the opacity of the particulates in the sighting tunnel in about 30 nano-
seconds; i.e., 30 x 10~9 sec, which is 8.3 million times shorter. (The
aerosol path through the chamber is about 2 times the laser pulse length.)
The transmissometer did not measure opacity along precisely the same path
as did the lidar, which is a physical constraint that couldn't be practic-
ally eliminated. The standard deviation that may be attributed to the
other sources of error, was calculated using the overall standard deviation
of 6%, the lidar standard deviation of 3.1% and the fact that the square of
the total standard deviation equals the sum of the squares of the lidar
standard deviation and the other-error standard deviation (a 2 = a 2 + a 2).
o j^ i e
The a may be calculated with the expression a = (a 2 - a 2)2. Thus,
o o O L
a = 6%, a =3.1% and a = 5%. The standard deviation of the other
01 e
errors, given above, is 5%. Thus, if the true opacity in the aerosol
chamber's sighting tunnel were 50% (for example), then the output value
printed on the digital printer would have a 68% confidence limit of being
in the interval of 50 ± 5% and a 95% confidence limit of 50 ± 10%. The
lidar measured opacity value would have a 68% confidence limit of being
50 ± 3% and a 95% confidence limit of 50 ± 6%.
INTERNAL CALIBRATION MECHANISM FOR THE OMEGA-1 LIDAR
In order to establish the validity of the particulate plume opacity
data obtained with the Omega-1 Lidar, an internal calibration mechanism was
-------
93
designed, fabricated and installed in the lidar's receiver. It is used for
testing the overall system performance in the field under conditions, as
close as possible to those encountered during real plume measurements. The
validity of the lidar opacity data (in enforcement especially) is dependent
upon verification that the system was performing as intended at the time
the measurements were made. This mechanism evaluates the performance of
the lidar receiver independent of the laser transmitter.
The internal calibration mechanism is called an optical signal genera-
tor or optical generator [Figure VI-6] 42. (The optical generator was de-
signed and built by SRI International.) The optical generator uses a high-
ly controlled small solid-state laser (gallium aluminum arsenide) and light-
emitting diodes (LED) to inject an optical signal through two fiber optic
cables into the receiver ahead of the PMT detector as depicted in Figures
VI-7 and VI-8 42. The two LED's in the optical generator simulate two func-
tions which are the following:
a. a lidar return signal (representative of atmospheric backscatter)
from a usual atmospheric path through clear air; i.e., without
any obstructions or visible plumes.
b. a lidar return (representative of plume backscatter) from a smoke
plume of various reflectances which is mainly due to particulate
density and plume color.
Since the LED was not able to achieve the high-magnitude light levels
representative of intense plume return signals encountered with the Omega-1
Lidar in normal operation, the solid state laser was also included as an
integral part of the optical generator. It is capable of producing light
levels (incident upon the PMT detector) at least 40 dB (four orders of mag-
nitude or 10,000 times) greater than the normal atmospheric optical signal.
This strong signal is used during the lidar's performance verification pro-
cess to check for the adequate recovery of the PMT detector (no afterpuls-
ing) after the simulated plume signal has been shut off, adequate decay
-------
»
t
l&
ff
Figure VI-6 LIDAR OPTICAL PULSE GENERATOR (control unit and two light sources shown coupled to EPA/NEIC PMT
assembly) 42
-------
50 Hz OSC PLUME AMPL ADJ
EXT TRIG IN
MANUAL TRIG
PLUME RANGE ADJ
SLOPE ADJ
AMPLITUDE ADJ
OFFSET ADJ
BACKGROUND ADJ
CONVERG
PERIOD/
OUTPUT TR
"SLOPE"
OUTPl
LINEAR Dl
PLUME
"SPIKE"
OR GaAs
- -jo jj
Q A f\ f\ LASER
^ f 1 -n. .,«,,. *' >' DIODE
-^ TIMING uiuut.
T I I CIRCUITS
50 f).
T PULSE /-r T. L.E.D.
GENERATOR *' ^' (SPIKE) M
\\
1 1 LINbAH
EXPONENTIAL ATTEN i \AMP b0 SJ
i/u-x/ccnniLi *u*b*T \fnf ^ II H H. L.E.D.
WAVEFORM >A/V ^^ GATED /^" ^ -^ (SLOPE) ~S,
J | GENERATOR | | | G^° ^ | 1
D.C.
. -,., fj g FILTER y
r, \>r .,
^ | 1 PMT 1
NORMAL LIDAR a {?
, , FIBER OPTIC
ENCE r-j CABLES
XND
L.E.D. k
'T "-i
SPLAiY 1 - 1 1 = Front Panel Function
3ULSE n
L.E.D.
1 ASER , ... 11
LOGGED RESPONSE
TO BOTH SIGNALS
TIME
Figure VI-7 BLOCK DIAGRAM: OPTICAL TEST SIGNAL GENERATOR42
cn
-------
FIBER OPTIC
LIGHT GUIDES
PULSE FORMING
DELAY LINE
OPTICAL
ATTENUATORS
ADDITION TO
PMT HOUSING
Figure VI-8 LIGHT SOURCES AND OPTICAL COMPONENTS42
cn
-------
97
times and any memory or residual effects in the receiver or electronics
(linear or logarithmic channels) after the simulated plume signal has been
shut off. The simulated plume is electronically movable in range from a
minimum value of 76 meters (250 feet) continuously out to a maximum range
at 760 meters (2,500 ft).
The optical generator simulates lidar signals (plume and atmospheric
backscatter) corrected for 1/R2 or in the uncorrected form [Section IV].
The uncorrected simulated signal (linear channel) for a clear-air atmos-
pheric backscatter return signal is shown in Figure VI-9 and the 1/R2 cor-
rected signal is given in Figure VI-10.
The optical generator simulates real optical backscatter (atmosphere
and plume) signals representing opacity values for various plumes. The
opacity values are 0% (clear-air), 10, 20, 40, 60 and 80% (nominal). The
simulation is performed for both the linear and the logarithmic channels.
The optical generator was subjected to an exacting calibration at NEIC.
All signal levels, used in the opacity calculations, were measured to with-
in a fraction of a percent of the actual values. The precise value of each
discrete (nominal) opacity value; i.e., 0, 10, 20, 40, 60, and 80%, was
measured. They were as follows:
Table VI-2
LATEST OPTICAL GENERATOR CALIBRATION TEST RESULTS3
Nominal Opacity (%)
0
10
20
40
60
80
Calibrated (measured)
Opacity (%)
0.60
10.72
19.72
40.42
62.97
79.80
Standard Deviation (%)
0.34
0.24
0.27
0.22
0.31
0.54
a February 1981
The optical generator is periodically subjected to this exacting cali-
bration in which all the necessary signal levels are measured and the res-
pective opacity value calculated to within a fraction of a percent.
-------
98
a
E
C
O)
CO
Lidar Range or Time-
(4OO nanoseconds/cm)
Figure VI-9 Lidar Atmospheric Backscatter Signal (clear-air),
Uncorrected For 1/R2 (Optical Generator)
T3
3
a
E
c
O)
CO
ft^^HflBBv^^^M i^KM^to^flflB^M^^^^fet
Lidar Range or Time -
(4OO nanoseconds/cm)
Figure VI-1O Lidar Atmospheric Backscatter Signal (clear-air).
Corrected For 1/R2 (Optical Generator)
-------
99
CORRECTIVE ACTION PERFORMED ON THE OMEGA-1 LIDAR
After the aerosol chamber tests and the optical generator evaluation
were completed, the Omega-1 Lidar was returned to Denver. NEIC personnel
began the task of correcting the problems that were encountered during the
SRI tests. Each problem will now be briefly discussed along with the cor-
rective action performed.
Electromagnetic Interference (EMI)
The problem of EMI from the laser's Pockel Cell Q-Switch was dis-
covered during the aerosol chamber tests at SRI International [Section
VI.A.]. The problem was temporarily fixed at SRI. Once back in Denver
remedial action was taken to permanently fix the problem.
All Q-Switch power supply and remote control cable wiring was comp-
letely rerouted away from the electronic signal cable which carries the
video signals from the photomultiplier detector to the linear and logarth-
mic processing electronics located in the equipment rack in the computer
room. The video cable (double-shielded) was also rerouted to the equipment
rack. The shields were terminated to ground at both ends. The high volt-
age cables (two coaxial cables) from the Q-switch, located in the laser's
optical rails, were twisted and a permanent shield added and terminated to
ground at both ends. Also the Q-Switch was returned to the supplier and
reworked. It had a KDP (potassium dihydrogen phosphate) optical crystal
(electro-optical modulator) which required 15,000 volts DC to fully energ-
ize. This crystal was changed to a KD*P (potassium dideuterium phosphate)
crystal requiring 6,500 volts DC for full operation. The new crystal pro-
vided the same operational characteristics in the Q-Switch with signific-
antly lower electrical transfer energy. This also decreased the amount of
EMI present within the system.
Once all these modifications were completed, the entire lidar receiver
was tested using the precision signals of the optical generator as a source
for the PMT.
-------
100
Before the modification, the EMI noise occurred over an interval of
160 nanoseconds from time-value 230 nanoseconds into the receiver's turn-on
cycle to time-value 390 nanoseconds as shown in Figure VI-11.
Zero Signal Interval
Sampled by Computer
Receiver EMI Interval /
Turned on (160 nsec) / _^-Laser fires
X | t
I
f
^r~
^L^
0 230 390 600 ^-690 | Lidar data recorded
Nanoseconds
Figure VI-11
Lidar Receiver Time Cycle (each shot)
The optical generator tests, with the Q-Switch system electronics oper-
ting, revealed that the EMI noise level was reduced to the level of the in-
herent receiver noise which is always present in the interval from 0 nano-
sec to 710 nanosec, when the laser fires. Also the optical generator sign-
als were turned off (atmospheric backscatter simulation signal and the
plume spike signal) and the receiver was tested at the zero-signal level
throughout the entire lidar time intervals of 4 microseconds and 10 micro-
seconds. There was no evidence of EMI noise present. Then the entire
lidar system was operated with the laser fired into the atmosphere. No EMI
noise above the inherent zero-signal level was present in the receiver.
Thus, the EMI problem was successfully corrected.
Laser Beam Pattern
During the aerosol chamber tests, a noticeable amount of laser energy
in the first secondary maximum, that surrounded the intense central spot of
the laser beam, was detected. This resulted in a significant reflection
signal from the front surface of the aerosol chamber. At SRI the optical
train of the laser was in alignment. It was concluded that the upcolli-
mator would have to be refocused and realigned within the optical rails of
the laser.
-------
101
The upcoTMmator was removed from the laser assembly and taken to the
NEIC Optics Laboratory. It was disassembled and carefully cleaned. The
inside of the upcollimator was bare, shiny metal, and it was sprayed with a
flat black paint. The upcolliraator was again assembled and prepared for
focus adjustments. The assembly was focused using a 5-milliwatt He-Ne
laser being aimed down a hallway about 500 feet in length. The focus ad-
justment was carried out to achieve minimum beam divergence (beam spread
over distance). The measured beam divergence was slightly less than 0.2
mi 11iradians. Once this was achieved the focus mechanism was locked in
place in order to prevent any further inadvertent adjustment.
The upcollimator was placed in its proper position at the front of the
laser's invar rails and aligned so that the laser beam would propagate down
the assembly's principal axis which was not the case before focusing. Diag-
nostic tests were performed by aiming and firing the lidar at a smoke gen-
erator without the smoke being present. The intense central beam was
brought very close to the lip of the stack without actually hitting the
stack, and there was no reflective return signal observed with the lidar
receiver. The corrective action was successful.
Lidar Receiver Detailed Performance Evaluation
With the optical generator permanently installed and fully calibrated
(Table VI-2)t the entire lidar receiver was subjected to a precise perform-
ance evaluation. The performance evaluation tests of the linear video chan-
nel and the logarithmic video channel were conducted separately.
Linear channel
The results and conclusions for the linear channel of the lidar's re-
ceiver and signal processing system are now presented. First, the perform-
ance of the photomultiplier (PMT) detector was verified again. (The per-
formance of the PMT was evaluated by SRI International during the aerosol
chamber tests.)
-------
102
The PMT was checked for gain linearity as a function of its high-
voltage ranging from 1.0 KVDC to 2.9 KVDC. The results of these tests are
presented in Figure VI-12. The gain is linear throughout the high voltage
range. This is especially true for high voltage values below 2.3 KVDC
which is the normal operating range for the PMT in the lidar's field use.
The performance evaluation of the linear channel was conducted using
the optical generator as the input optical signal. The opacity values from
0 through 80% (nominal, see Table VI-2) were measured as a function of PMT
high voltage from 1.0 KVDC through 2.9 KVDC in 100 volt steps or incre
ments. Each opacity value was calculated 24 times for each opacity selec-
tion on the optical generator and PMT high voltage setting. The opacity
values of 0, 10, 20, 40, 60 and 80% were measured for each PMT high voltage
setting. A total of 2,880 opacity calculations were performed. All these
data were analyzed in the lidar's computer.
The results, summarized together; i.e., all opacity values over the
entire PMT high voltage range, revealed that the lidar's linear channel
consistently measures and computes opacity to within approximately 1% of
the calibrated value (actual values: mean difference of 0.2% with a stan-
dard deviation of 0.6% based on 2,880 opacity values).
The correlation of measured opacity values (0 to 80% nominal) to the
respective calibrated (optical generator) values as a function of PMT high
voltage settings was calculated. The results are given in Table VI-3.
Table VI-3
LINEAR CHANNEL EVALUATION TEST RESULTS3
Optical Generator
Nominal Opacity (%)
0
10
20
40
60
"80
Difference from
Calibrated Value (%)
-0.1
+0.1
+0.3
+0.2
-0.6
-1.9
Standard
Deviation (%)
0.1
0.3
0.3
0.4
0.8^
0.6
a PMT High-Voltage Operating Range: 1.0 to 2.9 KVDC.
-------
Figure VI-12 Omega-1 Lidar:
Photomu It ip Her Tube (PMT) Linearity
Normal
Operating
O.3 O.4 O.5 O.C O.7 .o .9 l.O
.03 .Ol .05 O6 .O/.OK.O9 -I
3.O 4.O 5.O &O ZOS. a 1O.O 2O 3O 4O
PMT Output Signal (Volts)
faO 7O8O9OK3O
O
00
-------
104
The 80% value in Table VI-3 has the largest deviation from the optical
generator's calibrated value (-1.9%). This is due to the larger inherent
error in the linear channel at high opacity values as depicted in Figure
V-7.
Logarithmic Channel
During the performance evaluation tests at SRI International, the
logarithmic video amplifier was also subjected to tests. When driven with
a clean exponentially decaying signal the output signal of the logarithmic
amplifier should have been a smooth linear ramp. However, there was a
noticeable offset in this linear ramp as viewed on the lidar oscilloscope.
This offset occurred about midway in the amplitude range of the linear
ramp. This electronic artifact was not investigated further at SRI.
When the lidar had been returned to Denver, diagnostic tests were car-
ried out on the log amplifier. The source of the offset was isolated to a
capacitor not performing properly. This problem was corrected and the
tests resumed. The electronic artifact was fully corrected.
A linearity check was performed on the output signal of the logarith-
mic amplifier (exponentially decaying signal as the input signal). The
output was linear to within 0.53 dB (decibel) of the ideal linear signal.
The specifications given by the manufacturer listed the linearity as "less
than 1.0 dB." The total dynamic range of this amplifier is 100 dB (10 de-
cades) and the linearity is about 0.5% of this range.
The performance evaluation of the logarithmic channel was also conduc-
ted using the optical generator as the input optical signal for the lidar
receiver. The opacity values from 0 through 80% (nominal) were measured as
a function of PMT high voltage from 1.3 KVDC through 2.1 KVDC in 100 volt
increments. The same procedure was used as for the linear channel. The
opacity values of 0, 10, 20, 40, 60 and 80% were measured 25 times for each
PMT high voltage setting. A total of 1,950 opacity calculations were per-
formed. These data were analyzed in the lidar's computer.
-------
105
The results of the opacity data analysis yielded the following:
Table VI-4
LOGARITHMIC CHANNEL EVALUATION TEST RESULTS3
Optical Generator
Nominal Opacity (%)
0
10
20
40
60
80
Difference from
Calibrated Value (%)
-6.6
-2.2
+0.2
+0.1
-0.3
-0.2
Standard
Deviation (%)
0.5
0.5
0.5
0.3
0.4
0.4
a PMT High-Voltage Operating Range: 1.5 to 2.1 KVDC (normal).
These data clearly indicate that the lidar's logarithmic channel con-
sistently measures and calculates opacity to within 1% of the calibrated
value for the opacity range from 20 through 80% (the mean difference ranged
from -0.3 to +0.1% with a maximum standard deviation of 0.5% based on 1,950
opacity values).
The logarithmic channel gives rise to a significant negative error
(calculates opacity to be less than the actual values) at 10 and 0% or
clear air. As discussed in Section V of this report, this channel was de-
signed for use in quantitative measurement of opacity values greater than
40% and in atmospheric conditions of heavy particulate burden or loading.
The logarithmic channel is not used for opacities below 40% in the field.
The linear channel is more accurate at low opacity values.
FIELD EXPERIMENTATION
The Omega-1 Lidar has been subjected to four different tests for the
direct determination of actual/simulated plume opacity. The tests per-
formed were the following:
Screen Target Test,
Statistical Covariance Test,
Colorado Smoke Generator Test,
Lidar - Reference Method 9 Collaborative Test.
-------
106
The results and conclusions of these tests are presented in the following
subsections.
Screen Target Test
This test was conducted in the Denver, Colorado area using four screen
targets of different size mesh. The screens were used to simulate a smoke-
plume of constant opacity. The screen material ranging from hail screen to
fine window screen, is securely attached to a wooden/metal frame measuring
about 1 meter square (1 square meter screen area). The opacity of each
screen assembly was determined in the laboratory at NEIC. The opacity val-
ues ranged from 30.9 to 75.8% for the four screens. The actual values are
given in Table VI-5.
The purpose of the test was to determine how precisely and accurately
the lidar could measure the fixed opacity value of each screen along with
clear air (no screen) for 0% opacity. The optical generator tests discussed
earlier in this section evaluated the performance of the entire lidar re-
ceiver, but did not include the laser transmitter and the atmospheric envi-
ronment. The screen tests included the entire lidar system.
During this test, the screen assemblies were mounted one at a time on
a support leg of a tall water storage tower by means of an aluminum screen
holder. The holder and screen were about 45 feet above ground level to
avoid interference of the ground effect of blowing dust particles. The
lidar was about 300 meters (1,000 ft) from the water tower.
With all the metal structure contained in the test set-up, the lidar
was fired through the empty (square) screen holder for 45 shots. The
resultant average opacity of the empty holder was determined to be 1.3%
(column 3 of Table VI-5). The lidar measured the opacity of screen #1 for
245 shots with an average opacity of 46.1% (column 3). The laboratory-
measured opacity of the screen is 45.5% (column 5). The average difference
is +0.6% (column 8) for the lidar value with respect to the screen. The
absolute precision of the 1idar-measured opacity, 46.1%, for this screen
-------
Table VI-5
SCREEN TARGET AND STATISTICAL COVARIANCE
TEST RESULTS
Target Along
Lidar Line
of Site
(1)
Empty Screen
Holder (Al )
Screen #1
Screen #2
Screen #3
Screen #4
Clear Air
Straight-up
Length of
Run: No. of
Lidar Shots
(2)
45
245
240
230
250
100
Average
Opacity (%):
6 (Lidar)
(3)
1.3
46.1
30.7
66.2
74.7
0
Standard
Deviation
of 6 's (%)
(4)
1.95
4.26
3.02
2.43
1.46
0.89
Screen
Opacity (%):
0 (Screen)
(5)
0.0
45.5
30.9
64.7
75.8
-
so (%)
With
Covariance
(6)
1.7
1.0
1.1
0.6
0.4
1.1
SQ (%)
No
Covariance
(7)
2.1
1.1
1.1
0.6
0.4
1.2
Average
Difference:
6 (Lidar)
Minus
6 (Screen)
(8)
+1.3
+0.6
-0.2
+1.5
-1.1
-
Notes:
0 - Average opacity
S - Average standard deviation calculated from the lidar data, Equation (V-15).
o
---J
-------
108
was 1.0% (column 6). The results for the remaining three screens are pre-
sented in Table VI-5. Referring to Column 8 of Table VI-5 the average dif-
ference in opacity ranged from -1.1 to 1.5%. The absolute precision ranged
from 0.4% to 1.1% (column 6). In addition, 100 clear-air shots were record-
ed with the lidar aimed vertically yielding an average opacity of 0% (col-
umn 3) with the pick intervals positioned about 75 meters apart.
This test clearly shows that the lidar measures opacity along an at-
mospheric path precisely with consistent accuracy and nonsubjectivity. The
larger average difference of this test with respect to the optical generator
test is due to the presence of atmospheric backscatter signal noise, caused
by wind-blown dust passing through the lidar1s line of sight.
Statistical Covariance Test
This test was conducted using the screen test data to show that the
assumption that the covariance terms in Equations (V-10) and (V-13) would
sum to zero in the lidar data analysis calculation of S was correct. Dur-
ing the computer analysis of the lidar data obtained from constant opacity
targets, S was calculated using both Equation (V-10) including the covar-
iance terms and Equation (V-15) with the covariance terms removed. The
average values of both S parameters, S with covariance terms and S with
no covariance terms, were calculated and the results are presented in
Table VI-5, Columns 6 and 7. From 0 to 75.8% opacity, the S values in
column 7 are equal to or greater than those in column 6 in all cases. These
data show that the values for S calculated using Equation (V-15) with the
sum of the covariance terms set to zero, are equal to or larger than the
values for S calculated using Equation (V-10) with the covariance terms
included. (Analysis of all the individual standard deviation values for
the four screens and clear air showed that S , with no covariance terms,
was greater than or equal to the corresponding S with covariance terms for
713$ of the total number of values.) Equation (V-15) for S is the one used
to calculate the standard deviation for each lidar plume data signal ana-
lyzed, and reported with its respective opacity value 0 . The calculations
performed using Equation (V-15) require significantly less computer time
than those associated with Equation (V-10).
-------
109
Colorado Smoke Generator Test
The smoke generator located at Camp George West in Golden, Colorado,
was used as a stationary source of particulate emissions for the lidar. A
total of 23 opacity monitoring runs using both black (21 runs) and white (2
runs) smoke were conducted. Some of the runs were conducted when the plume
and localized atmospheric conditions were reasonably stable. (The smoke
generator test site is located at the foot of South Table Mountain and wind
conditions of 20 to 30 knots are not uncommon.) The remainder of the runs
were carried out under windy conditions when the generator's plume was
moving at a right angle to the lidar's line-of-sight (l.o.s) or downwind
along the l.o.s. Under the latter condition, the plume was fumigating the
l.o.s.
The purpose of these tests was to provide field operating experience
to the operating personnel under widely varied conditions with control over
the opacity of the smoke, and to provide a comparison between the opacity
values measured by the lidar and those measured by the smoke generator's
transmissometer.
The smoke generator has a white light (tungsten lamp) transmissometer
located about halfway up its 5 meter stack having a diameter of 1 foot. It
has an electronic integration time of about 5 to 7 seconds. It responds
slowly to changes in plume opacity in the stack. The lidar measures the
opacity of the plume, just above the stack, in about 15 nanoseconds (1
nanosecond = 10~9 seconds; the transmissometer1s measurement time is 4
108 times longer than that of the lidar) which is essentially instantaneous.
The transmissometer was used as a monitor in order to adjust the opac-
ity of the black and white smoke. Because of the lengthy electronic inte-
gration time of the transmissometer it would lag in indicated opacity value
behind that actually present in the generator's stack. As a result if the
opacity were raised from 40 to 80% gradually, the lidar would measure the
opacity at any given time more precisely than would the transmissometer.
-------
110
The smoke generator was, for the most part, not a source of constant
opacity plumes. Plume opacity would fluctuate (visually observed) or be-
come erratic during the tests. The smoke generator's opacity values were
limited to the range from 0% to about 75%. Above this range the generator
was quite unstable and the transmissometer1s output was difficult to read
with reasonable accuracy. Also, it was observed that the plume opacity
would always fluctuate when the wind was blowing.
The data recorded during this test were subsequently analyzed on the
NEIC laboratory computer [Appendix B(b)]. Each of the 23 data runs (linear
video channel data) was a minimum of 5 minutes (30 opacity measurements or
data points) in length. The average opacity values 6 from the lidar and
the smoke generator's transmissometer are recorded in Table VI-6 along with
the average difference of each data run.
The standard deviation (a) indicates the amount of variability of the
plume opacity values for each data run. A standard deviation of 1.58% in-
dicates a reasonably stable plume while the data points were being recorded,
while a standard deviation of 6.94% shows that the plume variability was
high.
The analyzed opacity data show that the lidar average opacity values
ranged from 0% average difference to -3% (lower) with respect to the smoke
generator transmissometer for 83% of the 23 data runs. All the average
difference values were between 0 to -6%, or the lidar average opacity was
always less than or equal to the average opacity from the generator's trans-
missometer. Twenty-one of the data runs were conducted using black smoke
while the other two were with white smoke.
The mean-average difference, the average of the values in Column 6 of
Table VI-6, was calculated to be -2%. The negative average difference is
primarily due to the fact that the optical extinction for white light is
slightly greater than that for red light.
-------
Ill
Table VI-6
COLORADO SMOKE GENERATOR TEST
LIDAR VS SMOKE GENERATOR OPACITY TEST RESULTS
Omega-
1
Average
Opacity (%):
6
P
(Lidar)
0
2
3
8
8
9
10
17
17
19
19
22
30
32
32
36
41
48
54
59
62
68
69
a
1
2
1
2
2
4
4
4
3
6
3
1
6
3
6
4
5
5
Lidar
CO Smoke Generator
Average Average
Standard Opacity (%)
Deviation:
(%)
.30
.26
.58
.95
.41
.30
.02
.02
.47
.27
.20
.78
.94
.44
.29
.28
.12
.02
4.29
6
5
3
2
.40
.24
.74
.62
s.(%) 6
0
1.5
2.5
2.0
2.1
2.0
2.3
2.5
2.7
2.1
2.7
1.5
2.1
2.1
1.6
3.0
1.2
2.2
1.5
2.1
2.7
1.2
1.3
2.2
(Sm. Gen.)
P
0
4
5
10
10
10
11
20
20
19
20
28
33
32
32
39
41
52
55
60
63
72
74
a
Average Opacity
Difference:
6 (Lidar) minus
_ P
_(%) 0 fSm.
Gen. ) (%)
sy H
0
0
0
0
0
0
1
1
0
3
0
0
3
1
4
2
2
3
2
3
1
1
2
.00
.55
.77
.31
.41
.38
.10
.74
.92
.83
.49
.65
.14
.48
.52
.54
.41
.46
.36
.01
.22
.20
.31
0
-2
-2
-2
-2
-1
-1
-3
-3
0
-1
-6
-3
0
0
-3
0
-4
-1
-1
-1
-4
-5
Notes:
6
P
0
a
- Average
- Average
Standard
Opacity
standard
deviation calcul
ated from the lidar
deviation calculated from the individual opa
data, Equation
city values, 0
(V-15).
.
-------
112
The average opacity values determined by lidar (column 1 of Table VI-6)
and those from the smoke generator's transmissometer (column 4 of Table VI-6)
were plotted for each oof the 23 data runs. The graphical plot of these
values is presented in Figure VI-13. The sequential data runs are presented
along the graph's abscissa while opacity (%) is given along the ordinate.
The individual oapcity values are connected by red and blue lines for ease
of reading and interpreting the plot, and do not imply a continuous func-
tional relationship. This plot clearly shows that the lidar average opac-
ity values are less than or equal to those respective values obtained from
the smoke generator's transmissometer.
Figure VI-14 is a correlation plot of the columns 1 and 4 of Table
VI-6. The smoke generator average opacity values are plotted along the
abscissa and the lidar average opacity values are plotted along the ordi-
nate. The blue line is the equality line, 6 (lidar) = 6 (smoke genera-
tor). The green line is the mean average difference line which has the
magnitude of -2% as discussed above. The red line connects the correspond-
ing points positioned by plotting 0 (lidar) vs 0 (smoke generator); how-
ever, functional dependence is not implied between the plotted points. The
plotted points with the adjacent (2) indicates two identical values from
Table VI-6. were plotted at these respective positions. All the points of
the red line being on or to the right of the blue equality line indicates
that the lidar average opacity values are less than or equal to the respec-
tive smoke generator average opacity values.
In Figure VI-15 the individual opacity values measured by lidar (red
line) and those measured by the smoke generator transmissometer (blue line)
are plotted with respect to local time. The blue and red lines between the
describe points are included for readers' ease of reading the plot and do
not imply any functional relationship or dependence between the points.
The effect of the transmissometer1 s long electronic integration time is
easily observed. The transmissometer was tracking the larger changes in
plume opacity; however, there was a significant lag time with respect to
the lidar data. This transmissometer was not able to measure the rapid
change in opacity, but rather tended to average these rapid opacity changes.
-------
Opacity (%)
70
Lidar Opacity values, Op (Lidar)
Smoke Generator Opacity Values, Op (Smoke Gen.)
Figure VI-13
Test Results
Lidar-Colorado Smoke Generator Test
Data Runs
22 23
678
17 18 19 20 21
-------
Lidar Opacity (%)
0«
0
Equality I me-;
Figure vl-14
Correlation Plot of Test Results
Lidar-Colorado Smoke Generator Test.
n Average Difference
10 20
Smoke Generator Opacity^
-------
8G
u
<0
a
70
60
50
40
Lidar Data, Op - 54%, cr = 4.29%
Smoke Generator Data, "Op = 55%, a = 2.36%
Figure VI-15
Individual Data Run
Colorado Smoke Generator Test
10:28
10:29
10:30
10:31
i:32
10:33
Local Time.
-------
116
In Figure VI-15, the lidar plume opacity values ranged from 47 to 61%
while those from the transmissometer ranged from 53 to 62%. Even with the
high plume variability the average opacity over the 5-minute time interval
was 54% for the lidar and 55% for the transmissometer.
Lidar-Reference Method 9 Collaborative Test
The colloborative test was conducted in Austin, Texas using the Texas
Air Control Board (TACB) smoke generator. The purpose of the test was to
document the relationship between opacity values as measured by lidar and
those recorded by visible emissions observers. If any bias, positive or
negative, were present, this test was designed to define the magnitude of
the bias for black and white smoke.
The TACB smoke generator was positioned in one corner of a large rec-
tangular field and the Omega-1 Lidar was set up near the opposite corner of
the field. The lidar was about 215 meters (700 ft) from the smoke genera-
tor. At this distance the diameter of the intense central spot of the la-
ser beam was about 8 cm while the plume diameter was slightly over 30 cm.
The testing regime was divided into two parts with one being for black
smoke and the other for white smoke. The TACB furnished two teams of three
certified visible emissions observers.
The test consisted of 20 data runs for black smoke and 14 data runs
for white smoke. Each data run contained 25 opacity values which were ob-
tained according to the procedures of Method 9 with the exception of the
temporal cycle. About one fourth of the data runs were conducted on a 15-
second cycle while the remainder were on a 10-second cycle. The operator
of the smoke generator sounded the horn (used for smoke school) on the 10-
or 15-second intervals. At the time the horn was heard one team of three
visible emissions observers read the opacity of the smoke. The horn was
patched by UHF radio to the lidar. When the horn signal was heard in the
lidar, the laser was fired. The opacity value selected for each data run
was selected by the smoke generator operator without the knowledge of the
-------
117
visible emissions observers. The smoke generator operator randomly selec-
ted the particular opacity value for the smoke just prior to each run, i.e.
values were selected in no order or sequence. A dual set of records was
kept throughout the test. One set was kept at the smoke generator and the
other set at the lidar. Just prior to each run, the generator operator
called the chosen initial opacity value and the sequential run number to
the lidar with the UHF radio where they were recorded in the lidar operations
log book. During the data runs, an EPA technician recorded the smoke gene-
rator transmissometer opacity values (not kept constant but varied
throughout the data run) from the control panel display, in a bound log
book each time the horn was sounded.
The test was conducted over a time span of 1% days from mid-morning
through late afternoon. The wind blew about 5 to 15 Km/hr throughout the
entire test period. The two crews of visible emission observers alternated
duty from one data run to the next.
The lidar A-scope data (backscatter return signal) was recorded on a
magnetic data tape for each shot of each data run. These data were subse-
quently analyzed on the NEIC laboratory computer [Appendix B(b)]. The
opacity values obtained with lidar, visible emissions observers and the
smoke generator's transmissometer were recorded on a data reduction sheet
for each of the 25 values for each data run. The average and standard dev-
iation (opacity value scatter) were calculated for the following para-
meters:
Lidar opacity values -> 6 (lidar), a.
Standard deviation values, S -> S
Smoke generator opacity values -> 6 (smoke generator), a
s.g.
VEO #1 opacity values -> 6 (VEO #1), at
VEO #2 opacity values -* 0 (VEO #2), a2
VEO #3 opacity values -> 6 (VEO #3), cr3
6 (VEO #1), 6 (VEO #2), and
r P
6 (VEO #3) -> 6 (VEO)
-------
118
These average values for each respective black smoke data run are re-
corded in Table VI-7. The average difference of opacity values,
1) 0 (Lidar) - 0 (Smoke Generator),
2) 0 (VEO) - 6 (Smoke Generator),
3) 6p (Lidar) - 6p (VEO),
are given in Columns 12 through 14, respectively. The average difference
between the lidar and smoke generator opacity values (Column 12) ranges from
-1 to +9%; between the VEO average and the smoke generator (Column 13), -14
to +11%; and between the lidar and VEO averages (Column 14), -4 to +23%.
For the black smoke opacity range from 6 to 69% (column 6), the overall
lidar average opacity is 3% (nearest percent; column 12) higher than that
from the smoke generator. The overall average opacity of the VEOs is 2%
(column 13) lower than that from the smoke generator. Finally, the overall
lidar average opacity is 4% (column 14) higher than the VEOs.
The average opacity values for the lidar (Column 3 of Table VI-7),
smoke generator transmissometer (Column 6) and the visible emissions obser-
vations (VEOs) (Column 11) are plotted as a function of data run sequence
number in Figure VI-16. The data run sequence number is along the abscissa
of the plot while opacity is along the ordinate. The individual opacity
values are connected with red, blue, and green lines for reading ease, and
functional dependence between the plotted points is not implied.
The average opacity values of Columns 3 and 6 of Table VI-7, are plot-
ted against column 11 in Figure VI-17. The red lines connect lidar average
opacity values, green lines connect those of the VEOs, and the blue line is
the equality line, 0 (Lidar), 6 (VEO) = 6 (smoke generator).
The average opacity differences of Columns 12, 13, 14 of Table VI-7
are plotted in Figure VI-18. The average for the red line data is +3% as
discussed earlier in this section. The averages for the green and blue
line data are -2 and +4%, respectively.
-------
Table VI-7
LIDAR-METHOD 9 COLLABORATIVE TEST
TEST RESULTS FOR BLACK SMOKE
Seq.
No.
(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Notes
Op
~So
a
VEO
Nominal
Opacity
Value(%),
Beginning
of Run
(2)
5
10
15
15
20
25
25
30
30
35
35
40
40
45
45
50
50
60
70
80
Average
Average
Standard
Average
Omega-1 Lidar
Average
Opacity(%):
0 (Lidar)
P
(3)
5
12
16
19
20
26
26
30
31
39
36
40
46
47
48
53
59
69
72
72
Opacity
o- (%)
L
(4)
2.56
4.87
3.83
4.42
4.79
5.26
9.43
4.59
8.76
5.85
11.10
5.41
6.72
4.57
12.87
6.12
5.10
5.61
3.08
10.36
standard deviation
deviation
of all VEO
Average
Standard
Deviation:
S (%)
O
(5)
2.1
1.7
1.5
1.1
1.4
1.3
1.6
1.5
1.4
1.3
1.2
1.3
1.5
1.4
1.7
1.4
1.4
0.7
0.6
0.5
calculated
calculated from the
opacity
readings or
TACB Smoke Generators
Average Opacity,
Smoke Generator:
6 (Smoke Gen.)(%)
P
(6)
6
11
15
15
19
26
25
29
29
36
35
40
39
45
46
50
51
60
67
69
from the lidar data,
individual opacity
values.
a. (%)
s.g.
(7)
0.50
0.71
0.68
0.95
0.93
1.36
1.25
0.96
2.70
1.05
0.89
0.84
0.80
2.02
0.96
0.73
1.10
3.97
2.42
12.13
Equation
values, 0
Visible Emissions Observations
Average
Opacity(%):
6 (VEO 1)
P
(8)
5
7
17
17
19
21
28
25
26
23
33
44
50
47
52
32
62
46
52
52
(V-15).
Average
Opacity (%):
6 (VEO 2)
P
(9)
5
9
17
16
17
20
27
25
26
23
29
44
42
47
48
42
64
46
61
63
Average
Opacity (%):
6 (VEO 3)
P
(10)
5
8
15
16
18
16
26
25
26
51
36
44
46
46
52
33
59
46
61
66
Average
Opacity of
all VEOs(%)
(ID
5
8
16
16
18
19
27
25
26
33
33
44
46
47
51
36
62
46
58
60
Average:
Average Opacity Difference
6 Lidar-
_P
0 (Smoke
Gen) (%)
(12)
-1
+1
+1
+4
+1
0
+1
+1
+2
+3
+1
0
+7
+2
+2
+3
+8
+9
+5
+3
+3
6 (VEO)-
_P
0 (Smoke
Gen) (%)
(13)
-1
-3
+1
+1
-1
-7
+2
-4
-3
-3
-2
+4
+7
+2
+5
-14
+11
-14
-9
-9
-2
6 (Lidar
P.
0 (VEO
(%)
(14)
0
+4
0
+3
+2
+7
-1
+5
+5
+6
+3
-4
0
0
-3
+17
-3
+23
+14
+12
+4
-------
100 i
Lidar Opacity Values, Op (Lidar)
Smoke Generator Opacity Values, Op (Sm. Gen.)
VEO Opacity Values, Op (VEO)
Figure VI-16
Test Results for Black Smoke
Lidar-Method 9 Collaborative Test
10
0 -1-
11
12
13
14
15
16
17
Data Runs
18 19 20
-------
100
Opacity (%)
Lidar Data, Op (Lidar)
VEO's Data,"Op(VEO)
Equality Line,Tin (L.)=0p (s.q.)
Figure VI 17
Plot of Lidar and VEO Opacity Data vs. Smoke Generator Data
Lidar-Method 9 Collaborative Test-Black Smoke.
40
30
20
10
70
80 90
Smoke Generator Opacity (%)
100
-------
>%
+*
5:
i r i T 1 1 1 1
Op (Lidar)Op (Smoke Generator), Difference in Average Values.
Op (Lidar)Op (VEO), Difference in Average Values.
Op (VEO) Op (Smoke Generator), Difference in Average Values.
Figure VI-18
Differences in Average Opacity Values
Test Results for Black Smoke
Lidar-Method 9 Collaborative Test
10
11
13
14
15
16
17
Data Runs
18 19
20
-------
123
The average values for each respective white smoke data run are re-
corded in Table VI-8. As discussed for black smoke, the average difference
between the lidar and smoke generator opacity values (Column 12) range from
-9 to +4%; between the VEO averages and the smoke generator (Column 13), -8
to +16%, and between the lidar and VEO averages (column 14), -23 to +7%.
For the white smoke opacity range from 7 to 92% (column 6), the overall
lidar average opacity is 4% (nearest percent; column 12) lower than that
from the smoke generator. The overall average opacity of the VEOs is 4%
(column 13) higher than that from the smoke generator. Finally, the overall
lidar average opacity is 8% (column 14) lower than the VEOs.
The average opacity values for the lidar (Column 3 of Table VI-8),
smoke generator transmissometer (Column 6), and the VEOs (Column 11) are
plotted as a function of data run sequence number in Figure VI-19. The
data run sequence number is along the abscissa of the plot while opacity is
along the ordinate. The individual opacity values are connected with red
blue, and green lines for ease of reading. Functional dependence between
the plotted points is not implied.
The average opacity values of Columns 3 and 6 of Table VI-8, are plot-
ted against Column 11 in Figure VI-20. The red lines connect lidar average
opacity values, green lines connect those of the VEOs, and the blue line is
the equality line, 0 (Lidar), 0 (VEO) = 0 (smoke generator).
The average opacity differences of Columns 12, 13, 14 of Table VI-8
are plotted in Figure VI-21. The average for the red line data is -4% as
discussed above. The respective averages for the green and blue data lines
are +4 and -8%.
Field Use and Crew Training
In order to gain field experience in the use of the lidar, numerous
stationary source categories were chosen and the emissions opacity moni-
tored during both day- and nighttime ambient lighting conditions. The
source categories monitored to date are the following:
-------
Table VI-8
LIDAR-METHOD 9 COLLABORATIVE TEST
TEST RESULTS FOR WHITE SMOKE
Nominal Omega-1 Lidar
Seq.
No.
(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Notes
Op
~So
a
VEO
Opacity
Value(%), Average
Beginning Opacity(%):
of Run 6 (Lidar)
P
(2) (3)
5 5
10 6
15 12
20 19
25 21
30 23
35 32
40 37
45 35
50 46
60 59
70 69
80 74
90 96
- Average Opacity
Average
Standard
Deviation:
a (%) S (%)
1- O
(4) (5)
2.08 1.7
4.31 1.7
3.79 1.7
4.71 1.6
5.24 1.5
7.06 1.7
6.43 1.2
5.25 1.2
5.82 1.2
10.04 1.1
8.43 0.7
4.04 0.6
2.43 0.5
8.43 0.1
Average standard deviation calculated
Standard deviation
- Average of all VEO
calculated from the
opacity readings or
TACB Smoke Generators
Average Opacity,
Smoke Generator:
6 (Smoke Gen.)(%)
P
(6)
7
10
17
19
25
32
36
42
43
50
62
71
79
92
from the lidar data,
individual opacity
values.
o-, nm
s.g.
(7)
0.60
0.87
0.91
2.09
1.35
2.67
1.49
2.69
1.69
0.93
2.17
2.02
1.75
0.97
Equation
values, 0
Average
Opacity(%)
6 (VEO 1)
P
(8)
5
16
15
26
40
41
53
45
44
56
71
76
69
95
(V-15).
Visible Emissions Observations
Average
: Opacity(%):
6 (VEO 2)
P
(9)
6
15
13
24
43
51
49
41
35
59
70
75
79
83
Average
Opacity(%):
6 (VEO 3)
P
(10)
5
17
15
22
33
45
53
40
54
54
69
77
66
90
Average
Opacity of
all VEOs(%)
(11)
5
16
14
24
39
46
52
42
44
56
70
76
71
89
Average:
Average
6 Lidar-
6 (Smoke
Gen) (%)
(12)
-2
-4
-5
0
-4
-9
-4
-5
-8
-4
-3
-2
-5
+4
-4
Opacity
6p(VEO)-
6 (Smoke
Gen) (%)
(13)
-2
+6
-3
+5
+14
+14
+16
0
+1
+6
+8
+5
-8
-3
+4
Dif ferenc
6 (Lida
P6p(va
(%:
(14)
0
-10
-2
-5
-18
-23
-20
-5
-9
-10
-11
-7
+3
+7
-8
-------
Lidar Opacity Values, Op (Lidar)
Smoke Generator Opacity Values, Op (Sm. Gen.)
VEO Opacity Values, Op (VEO)
Figure VI-19
Tests Results for White Smoke
Lidar-Method 9 Collaborative Test
10 11
12 13
14
Data Runs
ISJ
en
-------
100
Opacity (%)
Lidar Data, Op (Lidar)
VEO's Data, Op (VEO)
Equality Line, C?p (Lidar) = Op (s.q ) L .
Figure VI-20
Plot of Lidar and VEO Opacity Data vs Smoke Generator Data
Lidar-Method 9 Collaborative Test-White Smoke
20
10
70
80 90
Smoke Generator Opacity (%)
100
-------
Op (Lidar)Op (Smoke Generator), Difference in Average Values.
Op (Lidar)Op (VEO), Difference in Average Values.
Op (VEO) Op (Smoke Generator), Difference in Average Values.
Figure VI-21
Difference in Average Opacity Values
Test Results for White Smoke.
Lidar-Method of Collaborative Test
ro
11
12
13
14
Data Runs
-------
128
Petroleum refineries
Glass manufacturing plant
Steel plant (roof monitors and bag houses)
Power plants (coal and oil-fired)
Lead smelter
Copper smelter
Zinc smelter
Acid plant
Detergent manufacturing plant
Cement manufacturing plant
Plastics manufacturing plant
Chemical plants (pesticides, herbicides, etc.)
Petrochemical plants
Incinerators
These source investigations provided field operating experience to the
lidar operators under widely varied meteorological (clean air to light rain)
and lighting (clear, cloudy, darkness, etc.) conditions. Numerous plume
categories have been monitored which include attached steam plumes, de-
tailed steam plumes, white, black, gray and rust-colored plumes.
In summary, the operational experiences gained by the operations crews
using the lidar in the field was most valuable. The Omega-1 Lidar is easi-
ly employed in the field as an accurate opacity measurement tool during
both day- and nighttime hours.
-------
129
VII. LIDAR SAFETY IN THE ENVIRONMENT
Safety for the lidar operators and the public is the first and fore-
most consideration in the operation of the Omega-1 Lidar. This lidar was
designed with the highest practical laser safety standards incorporated.43"47
It requires two operators or crew members for normal operation. One opera-
tor, the lead operator, is at his duty station in the computer room [Sec-
tion V] monitoring the performance of the entire lidar system. The second
operator, the lidar observer, is at his duty station in the laser room at
all times while the lidar is in operation. His function is primarily to
aim the laser transmitter/receiver into the smoke plume under investigation
and continuously observe the local environment which contains the laser's
beam.
Each prospective lidar operator is trained in the EPA-NEIC Lidar (la-
ser) Safety Program. This training program consists of about 50 hours of
classroom, laboratory, and field instruction which is specifically geared
to the use of high-power lasers in the atmosphere. A written final exami-
nation is given to each prospective lidar operator. The required training
for the lead operator (one of the two operators) takes about 200 hours ad-
ditional field instruction.
Each certified lidar operator is provided with extensive training in
the following areas:
Basic Geometric Optics
Optical Reflectance, Transmittance, and Absorption (Attenuation)
Laser Fundamentals [Class 1 and Class 4 lasers (power rating)]
Laser Beam Characteristics (temporal and spatial)
Laser Hazard Analysis (eyes and skin)
Standards and Compliance Documents
Determination of Laser Hazards
-------
130
Compliance/Control Measures
NEIC Lidar (Laser) Safety Program
Calculation of Meteorological Visual Range from Lidar Data
[Appendix B(e)]
Calculation of Lidar Eyesafe Distance [Appendix B(e)]
Calculation of Parameters for FAA Report [Appendix B(f)]
This training not only covers the optical aspects of laser safety, but
also the operations in and around the high-voltage power supplies for the
laser cavity and the Q-switch.
When each prospective lidajr operator has satisfactorily completed the
Lidar Safety Program, this person is certified as a lidar operator and is-
sued a certificate of competence. The lead operator has an additional cer-
tification which documents his/her competence to operate the overall lidar
system safely.
The lidar operators are trained in the following lidar safety procedures:
a. The lead operator is responsible for the overall safe operation
and maintenance of the Omega-1 lidar under both field and labor-
atory (test) conditions. When unsafe conditions exist, it is the
lead operator's responsibility to ensure that the lidar is not
operated. He shall suspend, restrict, or terminate the operation
of the Lidar's Class 4 laser system if, in his judgment, proper
operating conditions do not exist.
b. Each lidar operator is required to exercise sound judgment and
common sense in the operation and maintenance of the lidar at all
times. The laser shall not be operated in a potentially danger-
ous environment until the necessary safety precautions have been
carried out. The laser shall not be operated with the electro-
mechanical (safeguard) shutter inhibited or removed, in visible
emissions source data gathering.
-------
131
c. Any equipment changes/modification or alteration that would in
any way affect the safe operation and maintenance of the lidar
shall be recorded in the Omega-1 Lidar Maintenance Log Book. All
lidar operators shall be notified of such before they subsequent-
ly work within the lidar.
d. The lidar operator shall not operate the laser during diagnostic
tests, or at any other time, with the doors/panels removed from
the main power supply without first installing the safeguards
required for operator's protection and the safety of the equipment.
e. Only the lidar operators are permitted in the laser room when the
laser is either on standby or in operation.
f. The lead operator is responsible for directly coordinating all
operational plans near airports with the applicable officials of
the Federal Aviation Administration (FAA) prior to operation. He
shall also calculate and provide them: the approximate eye-safe
distance or range from the lidar, geographic location of the li-
dar within the applicable urban area, direction of proposed oper-
ation, and operating times. Where available, the lead operator
shall also provide the FAA with the laser beam path information
as a function of the altitude intervals [500 ft (as required),
1,000-ft intervals above ground level] with respect to the ap-
propriate navigational radials transmitted from the nearest VOR
(VHF omni range broadcasting station).
g. No lidar operator is permitted to take dulling drugs/medicines
and/or alcoholic beverages 8 hours prior to or during the opera-
tion of the lidar.
h. Everyone at NEIC who works in the lidar is responsible for keep-
ing the entire lidar system, truck, etc., hazard-free through
appropriate operation and maintenance.
-------
132
The parameters listed in Item f are obtained at the lidar test
site. The atmospheric extinction (laser beam attenuation) along the
lidar's line-of-sight is measured from a lidar signal through clear
air, and the meteorological visual range (R ) is calculated using
the extinction coefficient obtained through this process. The extinc-
tion effect of the smoke plume under investigation is also calculated.
The two resultant factors are combined and the approximate eye-safe
distance (direct-beam viewing) is calculated. This parameter, along
with the other parameters, is plotted on a flight (sectional) map.
The elevation angle of the lidar's line-of-sight is obtained from the
laser pedestal by the lidar computer along with the direction (magnetic
compass reference) of operation. The intersection of the lidar's line-
of-sight with the predominant flight levels or altitudes is calculated
with reference to the above mentioned VOR. These data are then imme-
diately telephoned (via radio telephone) to the appropriate supervisor
at the local FAA facility.
This procedure has been used in past lidar operations and has
been effective. The FAA personnel in large metropolitan areas, with
whom the lidar personnel have worked in past investigations, have been
well pleased with the detail of information given them.
The basic rules concerning the safe operation of the lidar are:
a. The Omega-1 Lidar shall be operated only when conditions are
conducive to safe operation for both the lidar crew and the
public in the immediate environs of the lidar. The laser
shall not be fired if people, aircraft, etc. are visible
within, or anywhere near, the field-of-view of the aiming
telescope [Figure V-l]. The field-of-view of this small
telescope is 1,135 times greater than the beam width of the
laser pulses. The large 8-inch receiver telescope can also
be used for a greatly magnified view along the lidar's line-
of-sight.
-------
133
b. All electrical, electronic, and optical equipment within the 11-
dar shall be maintained in a safe operating condition. Preven-
tive maintenance/inspections shall be performed on the laser in-
cluding the optical and electro-mechanical components within the
invar optical rails, the main power supply, and the Q Switch (Poc-
kels Cell) power supply once a week while in use and as otherwise
required. Proper operation of all interlocks and other electri-
cal safety devices will be verified at those times.
c. When the lidar is operated in the interrogation of a visible emis-
sions source or for any other purpose, the designated lidar crew
member (lidar safety observer) is required to be in the laser
room serving as safety observer. This person shall continually
observe the area or direction into which the laser beam is being
discharged. This person shall be in direct communication with
the other lidar crew member located in the computer room via the
lidar intercommunications system. This observer shall have in
his hands the laser "inhibit switch" which, when activated, pre-
vents laser operation. The observer will actuate the "inhibit
switch" if personnel, aircraft, etc., come into or anywhere near
the field-of-view of the aiming telescope. In an area where
people, aircraft, etc. (Item a), are periodically anywhere near
the field-of-view (fov) of the aiming telescope, the laser shall
be operated from the safety observer's duty station with the re-
mote "fire-switch" which is located adjacent to the aiming tele-
scope. (The fire-switch is a guarded push button switch placed
out of the way of personnel traffic/motion so as to prevent inad-
vertent firing of the laser.)
d. When the laser is not in operation, such as during "stand-by"
times, the laser's safety shutter shall be closed. The switch
that controls the optical shutter is located on the laser's main
control panel in the computer room.
-------
134
e. Whenever the high voltage power supplies of the laser are sub-
ject to maintenance and diagnostic tests, two lidar crew members
shall be present to preclude any possibility of carelessness,
such as the improper use of tools, when the system is energized
and high voltage is present.
The technical aspects of the safe operation and maintenance of the
Omega-1 Lidar are too many and too detailed to give here. They are fol-
lowed carefully to assure the safety and well-being of the lidar crews and
the public.
The detailed laser safety program, fully implemented at EPA-NEIC for
the lidar, has been designed and put into practice based, in part, upon the
following references:
a. American National Standard for the Safe Use of Lasers, ANSI
Z 136.1-176, 8 March 1976.
b. U.S. Army Technical Manual TB MED 279, Control of Hazards to
Health from Laser Radiation, February 1969.
c. Laser Institute of America Laser Safety Manual, 4th Ed.
d. U.S. Department of Health, Education and Welfare, Regulations
for the Administration and Enforcement of the Radiation Control
for Health and Safety Act of 1968, January 1976.
e. Laser Safety Handbook, Alex Mallow, Leon Chabot, Van Nostrand
Reinhold Co., 1978.
Two additional references regarding the use of laser products 48>49 are the
following Federal Register rules:
-------
135
a) Federal Register, Volume 40, Number 148, Thursday, July 31, 1975,
Performance Standard for Laser Products, Food and Drug Adminis-
tration, U.S. Dept. of Health, Education, and Welfare.
b) Federal Register, Volume 43, Number 229, Tuesday, November 28,
1978. Amendment to Performance Standard for Laser Products, Food
and Drug Administration, U.S. Dept. of Health, Education, and
Welfare.
-------
136
VIII. USE OF THE OMEGA-1 LIDAR IN EPA ENFORCEMENT
The EPA-NEIC Omega-1 lidar will be used extensively to make opacity
measurements on visible emissions from stationary sources for enforcement
purposes. It is an effective remote sensing tool for accurately measuring
plume opacity during both day and night (lidar contains a pulsed laser as
its own light source) lighting conditions with significantly greater accu-
racy than obtained with Reference Method 9. Measurements will be made of
the optical opacity of particulate emissions from large and small diameter
stacks alike [Section V].
Lidar is not affected by background conditions such as clear sky,
cloudy sky, hills in the background, nor the angle of the sun with respect
to the lidar (the lidar receiver, although solar blind, should not look
directly into the sun). Lidar does not consider plume/background contrast
in the measurement of opacity. In contrast, negative errors can be made
when visible emissions observers (Reference Method 9) view a plume under
less-than-ideal background-to-plume color/luminescent contrast conditions.
On a hazy or a cloudy day with a white or gray plume the reference method
displays this negative error (bias) due to the lower contrast between the
light-colored plume and the light-colored (hazy or cloudy) background.
Lidar is not time- or endurance-limited as are visible emissions ob-
servers. Being mechanical in nature, lidar can make discrete opacity mea-
surements with a pulse repetition rate as fast as 1 measurement every two
to three seconds, over a continuous data run or sequence from a few seconds
to as long as several hours. Lidar maintains consistent measurement accu-
racy over long testing periods where the observers tire, influencing their
ability to determine opacity with consistent accuracy. Even though teams
of visible emissions observers may make observations in shifts, the opacity-
determination accuracy from observer to observer is not constant.
-------
137
As discussed in Section VI of this report, the Omega-1 Lidar was thor-
oughly calibrated with the optical generator (internal calibration mechan-
ism). The lidar was also subjected to tests with a smoke generator that is
used to certify visible emisssions observers in accordance with the require-
ments of Reference Method 9. The analyzed opacity data showed that the
lidar opacity values ranged from 0% average difference to -3% (lower), with
respect to the smoke generator transmissometer, for 83% of the 23 data runs.
For the complete set of data runs, all of the lidar average opacity values
ranged from 0% to 6% lower.
A screen target test (Section VI) was conducted using four metallic
screens to simulate constant plume opacity. Their respective opacity val-
ues ranged from 30.9 to 75.8%. The average difference between the lidar-
measured opacity values for each screen and the laboratory-measured value
for each screen ranged from -1.1% (lower) to 1.5% (higher). This test
clearly shows that lidar measures opacity with consistent accuracy and non-
subjectivity. The results of this test also demonstrate that lidar measures
opacity precisely. The absolute precision ranged in value from 0.4% to
1.1%.
A collaborative test (Section VI) was conducted using the Omega-1 Li-
dar, two teams of three visible emissions observers, and a smoke generator
for a source of black and white smoke plumes. The analyzed opacity data
from these three sources showed that the mean of the average difference in
opacity values for the lidar with respect to the visible emissions observa-
tions (VEOs) was +4% for the black smoke (mean of the average difference
values in column 14 of Table VI-7), and -8% for white smoke (column 14 of
Table VI-8). For black smoke, the lidar-measured plume opacity values were
higher than the VEOs for 60% of the data runs with the overall mean of the
average difference values being +4%. For white smoke, the lidar opacity val-
ues were higher than the VEOs for only 14% of the data runs with the overall
mean of the average-difference values being -8%. For 40% of the data runs,
lidar measured the plume opacity low with respect to VEOs for black smoke.
In 86% of the white smoke data runs, lidar measured plume opacity lower
than the VEOs. This test shows that the lidar mechanism will neither always
determine opacity higher nor always lower than the VEOs.
-------
138
As a result of the collaborative test discussed above and the collabo-
rative tests between opacity and mass emissions (Section III), a definition
of correlation between opacity determined with Reference Method 9 and opac-
ity measured by lidar (Alternate Method 1) was developed. It states that
0% opacity by Reference Method 9 is defined as being less than or equal to
5% opacity by lidar measurement. Opacity values calculated from lidar data
shall be lowered by 5% to insure consistency with Reference Method 9. If
lidar opacity values obtained by Alternate Method 1 indicate noncompliance
with opacity standards or regulations, so will Reference Method 9.
The promulgation of the lidar mechanism as Alternate Method 1 to Ref-
erence Method 9 is only a change of measurement technique for plume opacity
and does not change the New Source Performance Standards (NSPS) or state/
local regulations. Reference Method 9 is limited by the human instrument;
the lidar mechanism does not have these restrictions. For example, the
opacity reading temporal cycle for Reference Method 9 is 1 reading/15 sec-
onds for 6 minutes for a total of 25 readings. The lidar mechanism can
easily determine opacity values for duration intervals from a few minutes
to as long as 5 hours. The lidar measures opacity at a nominal pulse repe-
tition frequency or firing rate of 1 pulse every 10 seconds or 6 pulses/
min. For highly variable smoke plumes and meteorological conditions, the
firing rate is usually increased from 1 pulse every 10 seconds to 1 pulse
about every 4 to 5 seconds. The lidar's performance integrity is the same
in either case. The human observer would easily tire under these condi-
tions, possibly having a significant impact on his ability to read smoke
plume opacity with consistent accuracy.
The lidar mechanism is as easily applied to opacity measurement of in-
termittent and cyclic visible emissions as it is to continuous sources.
However, these noncontiguous emissions are monitored for at least three
cycles or occurrences to adequately determine compliance/noncompliance with
a particular opacity regulation or standard.
The remainder of this section is devoted to the further delineation of
the use of lidar in the enforcement program of the Agency. Lidar position
-------
139
and plume monitoring requirements are discussed first followed by lidar
opacity data reduction, correction, and reporting requirements.
Lidar Position: The lidar is placed in position at a distance from
the source sufficient to provide an unobstructed view of the source emis-
sions or plume. The source must be at a range of at least 50 meters, pre-
ferably 100 meters, greater than the lidar's transmitter/receiver conver-
gence distance [Figure IV-3] along the 1ine-of-sight or field-of-view. The
maximum effective opacity measurement distance of the lidar is a function
of local atmospheric conditions, plume diameter, and laser beam diameter.
The test position or location of the lidar is selected so that the diameter
of the laser beam at the measurement point within the plume is no larger
than three-fourths the plume diameter. The beam diameter is calculated by
D(Lidar) = A + R<|> < 0.75 D(plume), (VIII-1)
where:
D(plume) is the diameter of the plume
(J> is the divergence of the laser beam measured in radians
R is the range from the lidar to the source exit
A is the exit diameter of the laser beam
D(lidar) is the diameter of the laser beam at range R.
The lidar range is obtained by aiming and firing the laser at the emissions
source structure (stack exit, for example) immediately below the outlet.
The range value is obtained using the leading edge of the source's signal
spike within the lidar1s optical backcatter signal.
When there is more than one source of emissions in the immediate vicin-
ity of the plume being tested, the lidar is positioned so that the laser
beam passes through only a single plume, free from any interference of the
other plumes for a minimum of 50 meters (determined from the backscatter
signals) in each region before and behind the plume along the 1ine-of-sight.
The lidar is initially positioned so that its line-of-sight is approximately
perpendicular to the plume.
When measuring the opacity of emissions from rectangular outlets (e.g.,
room monitors, open baghouses, noncircular stacks, etc.), the lidar is placed
-------
140
in a position so that the 1ine-of-sight is approximately perpendicular to
the longer (major) axis of the outlet.
Lidar Operational Restrictions: The lidar receiver is solar blind.
However, as stated in Section V, it should not be aimed directly into the
sun. To insure the integrity of the lidar A-scope data (low background
optical noise), the lidar receiver should not be aimed to within an angle of
± 15° (cone angle) of the sun.
The lidar should not be used to make opacity measurements during times
of heavy thunderstorms, moderate-to-heavy snow storms, hail storms, high-
wind storms, high-fugitive dust levels, and fog conditions at or near the
ground in the vicinity of the lidar or the stationary source being investi-
gated. These meteorological conditions give rise to highly variable refer-
ence and plume data signals making the associated standard deviation values,
S0, larger.
The Omega-1 Lidar is usually not used to measure the opacity of emis-
sions from coke batteries due to possible laser safety hazards that might
exist with workers on top of the coke battery.
With one exception, whenever the lidar is not aimed into the most dense
region of a particulate plume, the opacity value measured by lidar will be
lower than the value obtained at the most dense region. The partial missing
of the plume with the laser beam is improper operation of the lidar and not
an operational variation in procedures or technique. The exception deals
with the laser beam's central intense spot partially incident upon the
structure of the stationary source's outlet. If A0 is the cross-sectional
area of the laser beam at the range of the stack, then the opacity value,
0', calculated with the laser beam partially striking the exit structure of
the stack, is related to the true opacity value, 0 , by
°p = / Ap i l = AO '
-------
141
where:
A = the fraction of the laser beam's cross-sectional area that is not
incident upon the stack structure, i.e., that portion that passes
on through the plume.
In the limit, as complete blockage of the laser beam occurs,
0
0' = limit -£ = 100% opacity
p v° AP
Therefore, the lidar operators must insure and verify that the laser beam
is aimed through the most dense region of the plume clearly above the stack
exit structure. In the field it is easy to determine visually if the cen-
tral intense spot of the laser beam is partially or completely incident
upon the exit structure of the stack.
Reference Signal Requirements: Once placed in its proper position for
the measurement of plume opacity, the laser is then aimed and fired with
the laser beam or lidar 1ine-of-sight located near the outlet height of the
stationary source and rotated horizontally, usually up-wind, to a position
clear of the source structure and the associated plume. The backscatter
signal obtained from this aiming position is the ambient-air or reference
signal. The lidar lead operator inspects this signal [Section V] on the
oscilloscope display to: (1) determine if the lidar 1ine-of-sight is free
from interference from other plumes and from physical obstructions such as
cables, power lines, etc., for a minimum of 50 meters in each region (near
and far) before and behind the plume, and (2) obtain a qualitative measure
of the homogeneity of the ambient air by observing any signal spikes on
the backscatter signal.
Should there be any signal spikes on the reference signal within a
minimum of 50 meters in each region before and beyond the plume, the laser
is then fired three more times and the operator inspects each reference
signal on the oscilloscope display. If the spike(s) remains, the azimuth
angle of the lidar 1ine-of-sight is changed and the above procedure is re-
peated. If the spike(s) disappears in all three backscatter signals, the
-------
142
lidar 1ine-of-sight is acceptable when there is shot-to-shot consistency
and there is no interference from other plumes.
Conditions may occur where the lidar mechanism cannot be effectively
used to make opacity determinations. During times of heavy thunderstorms,
moderate-to-heavy snow storms, hail storms, high-wind storms, high-fugitive
dust, and fog conditions at or near the ground in the vicintity of the lidar
or the stationary source under investigaion, opacity measurements cannot
effectively be made. This is because there is no shot-to-shot consistency
in a series of reference measurements obtained during these highly varied
conditions. A good quality reference shot, 1/R2 corrected, is shown in
Figure VI-10. Ambient meteorological conditions as those described above
give rise to lidar backscatter signal quality that is less than that shown
in the near region (to the left of the plume spike) of Figure V-14(c), where
there would be no Area 1 of Area 2. Under these conditions, an opacity
measurement cannot be made, and the lidar operators would have to wait for
improved atmospheric conditions. If there is no shot-to-shot consistency
in a series of reference measurements obtained over a time span of 20 sec-
onds, and if there are no flat areas such as Areas 1 of 2 in Figure V-14(c),
then lidar opacity determinations cannot be made. This applies to both day
and nighttime lighting conditions.
However, the Omega-1 Lidar has been effectively used to measure plume
opacity during conditions of steady 1ight-to-moderate rain with no wind
gusts, i.e., no thunderstorm condtions. In this case, good qualty shot-to-
shot reference measurements were obtained because the rain was evenly dis-
tributed throughout the local area.
Shot-to-shot consistency of a series of reference measurement signals
over a period of 20 seconds is easily verified. With the PMT detector gain
(high voltage level) and the digitizer input voltage level adjusted so that
the backscatter signal convergence peak (not corrected for the 1/R2 effect)
is at or very near the top of the oscilloscope display [Figure VI-9], or
the flat signal (corrected for the 1/R2 effect) is adjusted by both of the
above voltage parameters so that the flat signal level is about 5 cm above
-------
143
the bottom of the vertical display grid [Figure VI-10], the consistency is
verified in either of two ways: (1) the lidar operator observes the back-
scatter signal amplitude variations from shot-to-shot on the oscilloscope
display. If the selected near-region (signal) pick interval amplitude on
the display were observed to be about 4.8 cm on the vertical grid above the
zero signal level for a given reference measurement (about 155 digital
counts on a scale from 0 to 255 counts - the output limits of the digiti-
zer), then the subsequent reference signals the selected far-region pick
interval amplitude should vary no more than ± 0.3 cm (± 9 counts) from that
of the near-region amplitude. (2) With one of the first few reference sig-
nals accepted into the lidar computer as a reference measurement, and the
subsequent reference measurements in the short series treated as though
they were plume data signals, the computer would calculate the opacity,
Equation (V-4), for each of the subsequent signals or shots. For reasonable
shot-to-shot consistency, the opacity values shall be within ±3% of 0% opac-
ity and the associated S0 values less than or equal to 8% (full scale).
Three reference signals are obtained and recorded within a 90-second
time period prior to beginning a data run. Another set of three reference
signals is obtained and recorded within 3 minutes of completion of the same
data run.
If a set of reference signals fails to meet the requirements given
above, then all plume data signals recorded from the last set of acceptable
reference signals to the failed set, are discarded.
During the subsequent analysis of the lidar data, the reference and
data measurement signals are analyzed in the same sequence or order that
they were recorded in the field.
Temporal Criterion for Additional Reference Signals: An additional
set of three reference measurement signals is obtained during a data run if
there is a change in wind direction or plume drift of 30° or more from the
direction that was prevalent when the last set of reference signals was
recorded. Also, an additional set of reference signals is obtained if there
-------
144
is a change in amplitude in either the near region or the far region (not
due to change in plume opacity) of the plume data signal that is greater
than ±0.3 cm (vertical displacement on the oscilloscope display) from the
near region amplitude of the previous signal, and this change remains for
30 seconds or more.
Plume Data Signal Requirements: The laser is aimed at the region of
the plume (dry, nonhydrated) which displays the greatest opacity. The lidar
operator must visually verify that the laser is aimed clearly above the
source's exit structure, discussed previously.
Once properly aimed, the lidar is placed in operation with a nominal
pulse or firing rate of six pulses/min (1 pulse/10 sec). The lidar operator
observes the plume data (backscatter) signals on the oscilloscope display
to determine the need for additional reference signals, as discussed above.
The plume signals are recorded from lidar start to stop and are called a
data run. The length of a data run is determined by operator discretion.
Short-term stops of the lidar to record additional reference signals do not
constitute the end of a data run if plume signals are resumed within 90
seconds after the reference signals have been recorded, and the total stop
or interrupt time does not exceed 3 minutes.
Steam (Hydrated) Plumes: The lidar will be used to measure the opac-
ity of hydrated or so-called steam plumes. (To the extent practicable, the
lidar operators will have technical information with them regarding the re-
spective process and the control equipment for each stationary source to be
listed. This information is usually supplied by the respective EPA or state
offices requesting the studies.) As listed in the reference method, there
are two types: attached and detached steam plumes.
Attached Steam Plumes: When condensed water vapor is present within a
plume as it emerges from the emission outlet, the opacity measurements shall
be made with the lidar at a point within the residual plume where the con-
densed water vapor is no longer visible.
-------
145
During daylight hours the lidar operator can usually locate the most
dense portion of the residual plume visually. The operator can then aim
the lidar transmitter/receiver into that portion or region of the plume.
During either day- or nighttime operations the lidar is used to locate the
most dense region of the residual plume, i.e., the region of highest opac-
ity. (A high intensity spotlight is available within the Omega-1 Lidar to
aid the lidar operator in aiming the transmitter/receiver at night.) The
lidar operator scans the transmitter/receiver (lidar measuring opacity)
along the longitudinal axis or center line of the plume from the emissions
outlet to a point just beyond the steam plume. The steam plume will have
nearly 100% opacity while the residual plume opacity is probably lower. If
the residual plume also has a 95 to 100% opacity, then the lidar operator
may also have to observe color differences as an added assurance that the
lidar is aimed completely within the residual plume. Plume reflectivity
can also be used to accomplish this same task. The steam plume is white
and highly reflective while the residual plume will be lower in reflectiv-
ity. If the lidar operator does not obtain a clear indication of the loca-
tion of the residual plume, opacity data is not recorded.
Once the residual region of the plume is located (along its center
line), the lidar transmitter/receiver is scanned perpendicular, as practi-
cable, to this axis in order to locate the region of highest opacity. Opac-
ity is measured at this location within the plume. Aiming adjustments are
made to the lidar 1ine-of-sight within the residual plume to correct for
the following: movement of the region of highest opacity out of the lidar
1ine-of-sight (away from the laser beam) for more than 15 seconds, expansion
of the steam plume (air temperature lowers and/or relative humidity increas-
es) so that it just begins to encroach on the field of view of the aiming
telescope, or a decrease in the size of the steam plume (air temperature
higher and/or relative humidity decreases) so that regions within the resid-
ual plume whose opacity is higher than the one being monitored, are present.
The distance from the stack to the position within the plume where
these opacity measurements are collected is readily obtained by a calcula-
tion using the lidar range to the stack, the lidar range to the plume
-------
146
measurement position, and the azimuth/elevation angles between the stack
and the plume monitoring position. The geometry for the calculation is
depicted in Figure VIII-1. The point P (R ,0,p ) is at the stack emissions
outlet, and P (R , 41, p ) is the coordinate of the lidar measurement posi-
tion within the plume. These points are described in spherical coordinates.
The parameter R is the range from the lidar to the stack outlet; R is the
range from the lidar to the plume measurement position or point. The angle
P is the elevation angle of the lidar 1ine-of-sight above the horizontal
plane to the stack outlet, and p is the elevation angle of the lidar 1ine-
of-sight above the horizontal plane to the plume measurement point. The
angle 4> is the azimuthal angle, in the horizontal (xy) plane, of the lidar
1ine-of-sight measured from the y-axis which contains the lidar and stack
outlet. The parameters R , R , p , p , and 41 are measured with the lidar.
The distance from point P to P is R_ . In rectangular coordinates
R.. is given as
Sty M
%= PP - ps = [(XP - V2 + (yp - ys)2 + (ZP - \^ (VIII-
This equation is subjected to a coordinate transformation from rectangular
to spherical coordinates by the following:
x = RSinpCos4i, y = RSinpSin4i, z = RCosp
Applying the angle definition given in Figure VIII-1, Equation (VIII-2)
becomes
[RpSin( J - pp)Cos( £ - 4. ) - O)2 + (RpSin( | - Pp)5in(
R Sin( £ - pc)Sin( ? - 40)2 + (R Cos( 5 - B ) - R Cos(
b S t1 V ^>
-------
147
W * V; PP(X' y> z)
(plume measurement position)
]Stack outlet P$(RS, 0, e$); PS(O, y, z)
Lidar Position
_
Projection of
onto the xy-plane
\, /
^"^Projection of P onto
the xy-plane
The mathematical variables or functions are defined as follows:
R. = the range from the emissions point, P , to the plume monitoring
point or position, P .
R = the range from the lidar to the source or stack outlet.
6 = the elevation angle of the lidar line-of-sight above the horizontal
plane, to the stack outlet.
R = the range from the lidar to the plume monitoring point.
6 = the elevation angle of the lidar line-of-sight above the horizontal
plane, to the plume monitoring point.
\l> = the azimuthal angle, in the horizontal plane, of the lidar line-of-sight
measured from the y-axis which contains the lidar and stack outlet.
PS(R-, 0, 8 ) = Coordinates of the stack outlet in the spherical coordinate
system.
P(R.,
-------
148
Using trigonometric relationships, the following is obtained:
Sin(£ - 40 = 1 for «|i = 0, Sin(£ - p) = Cos p,
Cos(£ - p) = Sin p, Cos(i - 4.) = Sin «J>.
With these expressons, Rfi becomes
% = C(RpCosppSin^)2 + (RpCosppCos4< - RgCosp^2 + (RpSinpp
Finally, this equation is simplified to the following:
% = CV + Rs2 " 2RpRs(CosppCospsCosi|)
If the lidar beam is aimed directly over the stack outlet, then i(j = 0 and
R6ib "* R6o' and ^cluation (VIII-3) becomes
R6o = CV + Rs2 " 2RpRsCos(Pp "
Equation (VIII-3) is used to calculate the distance from the stack
outlet to the lidar1s plume measurement position. For each position of the
lidar line-of-sight, R~ is calculated and recorded while the tests are be-
ing conducted.
Detached Steam Plumes: When the water vapor in a hydrated plume con-
denses and becomes visible at a finite distance from the stack or source
emissions outlet, the opacity of the emissions is measured in a region of
the smoke plume just above the emissions outlet prior to the condensation
of the water vapor. The condensation of the water vapor in the source
emissions forms the steam plume which appears white, and is usually about
100% opacity.
During daylight hours the lidar operator can visually determine if the
steam plume is detached from the source outlet. At night a high-intensity
spotlight within the Omega-1 lidar is also used to determine if the steam
-------
149
plume is detached from the emissions outlet by repeatedly measuring plume
opacity from the outlet to the steam plume along its longitudinal axis or
center line and/or observing plume reflectance.
Once the determination of a detached steam plume has been confirmed,
the lidar is aimed into the region of the plume between the outlet and the
formation of the steam plume, usually about one-half a stack diameter above
the outlet. The lidar transmitter/receiver is then scanned across the plume
to locate the region of greatest plume opacity. Plume opacity is subse-
quently measured at this location. Aiming adjustments are made to the 11-
dar's 1ine-of-sight within the plume to correct changes in the location
of the most dense region of the plume due to changes in wind direction and
speed or if the detached steam plume moves closer to the source outlet en-
croaching on the most dense region of the plume. If the detached steam
plume should move too close to the source outlet for the lidar to make in-
terference-free opacity measurements, opacity data is not recorded. The
location of the lidar's 1ine-of-sight within the plume is recorded for each
position while the tests are being conducted.
In the measurement of plume opacity from a sulfuric acid manufacturing
facility, the lidar 1ine-of-sight should be positioned within the most
dense part of the plume which will not necessarily be at the emissions out-
let. The characteristic sulfurous gas absorbs plume moisture forming sul-
furic acid aerosols in the submicron size range.50 51. High values for the
opacity can occur. Often the aerosol plume does not become visible for a
few stack diameters away from the emissions outlet. This does not consti-
tute a detached steam plume and should not be treated as such. However,
opacity measurements are always made outside a steam plume, if one is pres-
ent, in the residual portion of the overall plume.
Opacity Data Calculation and Analysis: Plume opacity 0 is calculated
from lidar data (appropriate reference signal and plume data signals in a
particular data run) using Equation (V-4),
(V-4)
0 = 100%
p
r /i
i-i-
\R,
\ f
-------
150
S -
0"
The associated standard deviation S0 for the opacity value 0 is calculated
by quation (V-15),
C 2 <: 2 C 2 C2~|j<
fin +!ll + !Rn + SRf h (V-15)
T 2 T 2 R 2 R 2
n Xf n Rf J
The selection of pick intervals and the calculation of their respective
avarage values is presented in Section V.
Opacity Data Acceptance/Rejection Criterion: The standard deviation
value S0 is an indicator of the integrity of the optical backscatter signals
from the near-region and far-region of the lidar 1ine-of-sight, and may be
termed an atmospheric noise indicator.
In the course of reducing large amounts of 1idar-measured opacity data,
it was empirically or fundamentally determined that if S0 is greater than
8% (based on 100% opacity, full-scale; calculated with the plume opacity,
0 , for the selected near-region and far-region pick intervals), then the
lidar backscatter signal is not reliable (too noisy) for an accurate opacity
measurement.
In the computer processing of lidar data, individual opacity values,
0 , are, on occassion, discarded if S0 > 8% or if the quality of the plume
data signal is such than an opacity calculation cannot be effectively per-
formed. (An example of the latter case is shown in Figure V-14(c) where
the plume data signal being analyzed would have no Area 1 or Area 2, i.e.,
no flat area for a pick interval in the near-region. This also applies to
the far-region of the plume data signal.)
If S0 is initially calculated to be greater than 8%, then the far pick
interval is changed to the next interval of minimal average amplitude, usu-
ally farther away from the plume spike. If S0 is still greater than 8%,
then this procedure is repeated for the far pick interval. This procedure
may also be repeated once again for the near pick interval. If S0 remains
greater than 8%, this plume data signal is discarded.
-------
151
Elevation Angle Correction Criterion: To ensure true plume opacity
for enforcement data collection, the effect of the elevation angle (angle
of inclination of the lidar transmitter/receiver) of the laser beam passing
through a vertical plume is taken into consideration in the opacity calcu-
lation carried out by the computer. The elevation angle is measured with
respect to the longitudinal (vertical) axis of the stack. As shown in Fig-
ure VIII-2 the optical plume opacity is typically measured with the lidar
along the inclined path L. The opacity value ultimately required is along
path P, the horizontal thickness of the plume. The ratio of P to L is:
£ = Cos p . (VIII-5)
Using Lambert's exponential law of attenuation (also known as Bouger's
law), the plume transmittance for the horizontal, corrected path is
Tpc=6"kP '
The plume transmittance along the inclined path L is
T = e"kL . (VIII-7)
Using Equation (VIII-5) for the ratio of P to L, Equation (VIII-7) becomes
T = e
P
Taking the natural logarithm of Equations (VIII-6) and (VIII-8),
In T c = -kp (VIII-9)
In T = " P
p CosB
P
(In T )Cosp = -kp . (VIII-10)
Equating Equations (VIII-9) and (VIII-10), the following is obtained:
in Tpc = (in Tp)CosPp,
and by taking the antilog,
Tpc =
-------
Stack's Vertical Axis
Vertical Smoke Plume
Horizontal Plane
_ .B
Lidar Line-of-Sight
Referenced to Level Ground
(Horizontal Plane)
B , Lidar Elevation or
Inclination Angle
= Effective Plume Thickness
= Actual Plume Thickness
= LCosB
= Opacity measured along path L
= Opacity value corrected to the
actual plume thickness, P
Figure VIII-2. Elevation Angle Correction for Vertical Plumes.
en
-------
153
where the expression is independent of the absolute magnitudes of the paths
P and L.
By the definition of opacity in terms of transmittance
Tpc = 1 - °pc Tp = 1 - °p
Using these, Equation (VIII-11) becomes
Solving for 0 :
- opc) = (i - op)
Opc = 1 - (1 - Op) COSPP , (VIII-13)
where:
B = Lidar elevation or inclination angle,
Hp y
0 = Opacity value measured along path L,
0 = Opacity value corrected to the actual plume thick-
ness, P.
The opacity value 0 for the lidar path L through the plume is mathemati-
cally modified by Equation (VIII-13) to obtain the opacity value 0 for the
actual plume (horizontal) path or thickness.
It was elected to make this correction if the effect of the elevation
angle would approach an error of 1% in plume opacity. To determine what
elevation angle values require the correction, Equation (VIII-13) is solved
for pp:
(1 - Op)C°SPp = (1 - Opc).
Taking the natural logarithm of both sides, this equation becomes:
In (1 - Op)CosPp = In (1 - Opc),
CosBp In (1 - Op) = In (1 - Op(.),
In (1 - 0 )
Cos p = -,^ J^
p In (1 - 0 ) '
P
-------
154
1n
- V
In (1 - Op) _!
(VIII-14)
It was elected to make this correction if the effect of the elevation angle
would approach an error of 1% in plume opacity.
°P -
(VIII-15)
opc = op-o.oi
Making the substitution, Equation (VIII-14) becomes
= Cos
-*
In (1 - (0 - 0.01))
In (1 - Op)
In (1.01 - 0 )
In (1 - 0 )
(VIII-16)
Equation (VIII-16) is plotted in Figure VIII-3. The angle at which
the correction must be carried out to maintain the 1% error is a function
of plume opacity. In Figure VIII-3 no correction is required for the p
values below the curve, as a function of opacity. Above the curve, correc-
tion is required. In terms of an inequality, if the elevation or inclina-
tion angle p is greater than or equal to the value calculated in Equation
(VIII-16),
P > Cos-1
In (1.01 - 0 )
In (1 - O)
(VIII-17)
then the correction is performed using Equation (VII1-13). So far in prac-
tice in the field, the lidar pedestal elevation angle values have usually
ranged from +3° to +12° because of the Omega-1 Lidar's ability to determine
opacity values over reasonably long ranges from the stationary source under
investigation.
A given 0 calculated with Equation (VIII-13) shall be used in place
of its respective 0 value in the Opacity Data Reduction Mechanism given
earlier in this section.
-------
60°
50'
4OC
20 "i
10'
O'-'!
Laser Beam Inclination Angle
Figure VIII-3 Laser Beam Inclination
Angle Correction Requirement
(Path Distance Through Plume)
Correction Required In This Region
No Correction Required In This Region
O
1O
20
30
6O
7O
Plume Opacity (%) cji
i
i j
' i
8O " 9O 1OO
-------
156
Azimuth Angle Correction Criterion: When measuring the opacity in the
residual region of an attached steam plume, the lidar shall be positioned
in relation to the source or stack so that the lidar 1ine-of-sight is nearly
perpendicular to the direction of the horizon drift of the plume, to the
extent practical. This procedure will essentially keep the lidar 1ine-of-
sight distance through the plume equal to the actual plume thickness at the
point of opacity measurement. However, if the direction or drift of the
plume should change so that the lidar 1ine-of-sight does not pass through
the plume approximately perpendicular, then the azimuthal angle correction is
made to the calculated opacity values, 0 , obtained under this condition.
The geometry of this correction is defined in Figure VII1-4. This procedure
is used to determine the need for the correction, calculate the correction,
and document the point or location in the plume at which the opacity was
measured.
In the derivation of the mathematical expression for this correction,
the angle a in Figure VIII-4(a), must be calculated in terms of parameters
that are easily measured within the lidar. In general, because of plume
rise coupled with plume drift, the angle a does not lie a horizontal plane
parallel to and raised above the xy-plane of the three-dimensional coordi-
nate system.
Assume unit (length of one) lines drawn along the range vectors R , to
the opacity measurement position P within the plume, and R , to the position
P a
P within the plume selected to measure the plume drift angle [Figure
a
VIII-4].
Let R be defined as the line connecting the ends of these two unit
pa
lines. The projections of these unit lines onto the xy-plane is CosB and
Cosp The projection of angle a onto the xy-plane is called a'. The
a
projection of the line R onto the xy-plane is calculated to be
pa
R' =
pa
1
Cos2p + Cos2p - 2Cosp Cosp Cosa'
P a P a -I
The square of the length of R is given as
pa
-------
Projection of P onto the yz-plane, P
Plume measurement position
P (R ,
P P
Plume drift angle position
P (R 41- + a', pj
da
Lidar Position
Projection of P onto the
Lidar Line-of-Sight,
Position P
(b) P
Projection of P onto the xy-plane, P
3 a
Figure VIII - 4. Correction in Opacity for Drift of the
Residual Region of an Attached Steam Plume.
en
-------
158
R 2 = Cos2p + Cos2B - 2CosB CosB Cosa' + (SinB - SinB )2 .
pa p a p 3 a p
By expanding and collecting terms,
R 2 = 2 - 2 CosB CosB Cosa' - 2 SinB SinB .
pa Mp Ha *p Ka
Using the appropriate trigometric relations for a plane triangle, Cosa is
calculated:
Cosa =1+1- (2 -2 CosB CosB Cosa' - 2 SinB SinB )
P a 2 a ,
2-1-1
which reduces to
Cosa = CosB CosB Cosa' + SinB SinB ,
P 3. p 3
a = Cos-1 [CosB Cosp Cosa' + SinB SinB ]. (VIII-18)
pa pa
Using the law of cosines, R , the distance along the plume from P to P ,
a pa
is calculated as
R = [R2 + R2-2RR Cosa] %
a p a pa
From the law of sines, the plume drift angle e is obtained:
Sin & _ Sin a,
R R
a c
and
e = Sin-1
R Sina
a
(VIII-20)
The distance, Rfi, from the stack outlet to the point P [Figure VIII-4],
projected onto the xy-plane is obtained by the law of cosines
where:
R5 = (R^2 + R'2 - 2 Rs'R'Cos
-------
R; = RSCOSPS
Rp = RpCosV
Finally, Equation (VIII-8) becomes
159
R6 =
R 2Cos2p - 2
P HP
CosijT)
In the special case where the plume center line between the opacity measure-
ment point, P and the drift angle position, P , is horizontal to the ground
P 3
(xy-plane), Equation (VIII-23) may be used to calculate e rather than
Equation (VIII-20):
where:
Rs" = (Rs'2
e = Cos
VS1 n
-i
v+ v - Rr2
2RpR6
(VIII-23)
Rs" = (Rs2
If the angle e is such that e £ 30° or e > 150°, the azimuth correction is
not performed and the associated opacity value is discarded.
The geometry of the azimuth correction for opacity is shown in Figure
VIII-4(b). L' is the path through the plume along which the lidar measures
opacity 0 . P' is the path through the plume perpendicular to the plume
center line. The plume drift angle, e,.is the angle between the plume cen-
ter line and the lidar measurement path L'. If the plume drift is perpen-
dicular to the lidar line-of-sight, then e = n/2.
In a mathematical derivation similar to that of Equation (VIII-17), it
is easily shown that if the plume drift angle is greater than or equal to
the value,
e > Sin
-i
ln(1.01 - 0 )'
- Op)
(VIII-24)
-------
160
then the azimuth correction is performed. The correction of an opacity
value, 0 for azimuth angle is derived from the geometry in Figure VIII-4(b)
The ratio of P' to L' is:
p = Cos (§ - e) . (VIII-25)
Using Lambert's exponential law of attenuation, the plume transmittance for
the corrected path is
T = e"kp . (VIII-26)
pc
The plume transmittance along path L' is
T = e"kL (VIII-27)
Using Equation (VIII-25), Equation (VIII-27) becomes
T = e-kp'/Cos (i - e) = e-kp'/Sin£ . (VIII-28)
P
Taking the natural logarithm of Equation (VIII-26) and (VIII-28)
InT c = kp' (VIII-29)
lnTP -
(InT )Sine = -kp' (VIII-30)
Equating Equation (VIII-29) and (VIII-30):
InT = (InT )Sine,
and by taking the antilog,
T = (T )S1ne) (VIII-31)
which is independent of the plume path length P' and L'.
-------
161
By definition of opacity as a function of transmittance
Tpc = 1 - V Tp = 1 - °p
With these, Equation (VIII-31) becomes
) ) = (1 - 0
pc' p
and
(1-0 ) = (1 - 0 )S'"£ (VIII-33)
This correction maintains the difference, 0 - 0 , to within 1% opacity.
If the azimuth angle correction is performed on an opacity value, 0 ,
then the elevation angle correction given in Equation (VIII-13), need not
be performed.
Definition of Actual Plume Opacity Using Lidar Measurements: When a
lidar-measured opacity value, 0 , is calculated [Equation (V-4)], an associ-
ated standard deviation value, S , is also calculated [Equation (V-15)].
This parameter, S , is an indication of the magnitude of atmospheric signal
noise along the lidar 1ine-of-sight.
In order to apply S , to the EPA enforcement program, its significance
in the definition of actual plume opacity has been derived from the results
of the Screen Target Test and the Statistical Covariance Test [Section VI].
For the Screen Target Test, the distribution of opacity values, 0 , about
the average of the opacity values, 0 , closely approximates a gaussian or
normal distribution39. The Statistical Covariance Test showed that S ,
average of the standard deviation values, without covariance terms [Equation
(V-15)] was calculated to be equal to or slightly greater than the S with
the covariance terms [Equation (V-10)]. For a gaussian distribution of
opacity values, the probability of any 0 being within the range of ± S
(±1 standard deviation) of the average opacity, 0 , is about 68%. The pro-
bability that 0 falls within ± 2S of 0 , correspondingly, is about 95%.
The probability that a 0 falls within ± 3S of 6 is 99.67%, that 0 falls
__P op 'p
within ± 4 SQ of 0 is 99.994%.
-------
162
These facts were used to clearly define actual plume opacity when using
lidar measurements. Also, based on the Lidar-Reference Method 9 Collabora-
tive Test and the definition of correlation, which states that 0% opacity
determined by Reference Method 9 [Section III]* is defined as being less
than or equal to 5% opacity by lidar measurement, opacity values calculated
from lidar data using Alternate Method 1, shall be lowered by 5% to insure
consistency between these two methods.
Actual plume opacity, 0 , is calculated using the corrected lidar
pa
opacity value, 0 (0 if no corrections or compensations are required),
the standard deviation, S0, and the 5% correlation value discussed above:
°pa = °pc " (2 S° + 5%) " (VIII-34)
The 5% value is larger than the 4% value obtained from the collaborative
test (the lidar average opacity was 4% higher than the average of the VEOs
for black smoke and 8% lower for white smoke).
If the actual opacity value or the average of a set of actual opacity
values is greater than an opacity value established in an NSPS, State or
local regulation, then the probability that the stationary source is in
noncompliance with the regulation is greater than 95%. If lidar determines
noncompliance for actual plume opacity, so will Reference Method 9.
Actual Plume Opacity Data Reduction Mechanism: The temporal length
of an individual data run may extend from 1 or 2 minutes, such as for inter-
mittent sources, to over an hour or even longer usually depending upon the
characteristics and variability of the source emissions. The lidar data
rate is nominally set at one opacity measurement every 10 seconds throughout
* Collaborative tests involving mass emissions and plume opacity showed
that zero plume opacity does not always equate to zero visible emissions.
Lidar is more sensitive to low-level visible emissions than the visible
emissions observer.
-------
163
a given data run. However, for variable conditions of smoke plume or weath-
er, the lidar pulse rate or pulse repetition frequency (prf) should be set
higher than 1 pulse every 10 seconds, to possibly 1 pulse every 4 or 5 seconds
The manner in which the actual plume opacity data values [Equation
VI I 1-34)] from a given data run are reduced is a function of the air quality
regulation or standard to be enforced. When an NSPS or a given state or
local regulation [State Implementation Plan (SIP)] specifies a maximum per-
mitted opacity value over a fixed time period (Example: Plume opacity shall
not exceed 50% for a continuous period of more than 5 minutes in any 60
consecutive minutes), then that time period or interval shall be used in
the reduction of the opacity data. If the respective standard or regulation
specifies an opacity limit for any I-minute interval and the data run were
I minutes in length, then all the opacity values, measured on the nominal 5
to 10-second repetitive cycle or prf and processed for this interval, are
averaged yielding an average (actual plume) opacity for this interval.
The average of the actual plume opacity, 6 , for the I-minute time
pa
interval is calculated as the average of the consecutive (in time) individ-
ual 1 idar-measured opacity values, 0 , by using Equation (VIII-35). The
pa
I-minute time interval is called the "averaging interval".
(VIII-35)
where: [o 1. = the kth opacity value in the (I-minute) averaging interval
|_ PaJ K
(k is a summary index).
Z = the sum of the individual opacity values,
n = number of individual opacity values contained in the
averaging interval,
6 = average opacity over the averaging interval.
pa
If the respective regulation specifies an opacity limit for an I-min-
ute interval and the data run were J-minutes in length (J > I), then a
running-average or progressive average is used to reduce the lidar opacity
values for the data run. The mechanism for the running-average is shown in
-------
164
Figure VIII-5. The I-minute interval is maintained constant in length (tem-
poral) being moved along the entire length of the J-minute data run. If i
opacity values, from 1 to i, have been averaged for the I-minute time inter-
val by Eq (VIII-35), the running-average is performed by successively sub-
tracting the mth value and adding the n + 1 value and calculating the aver-
age for those i opacity values again, then subtract the m + 1 value and add
the n + 2 value and perform the calculation again, etc.
The running-average is a computational tool which locates the I-minute
interval within J that has the highest average opacity. This applies di-
rectly to the example given above, i.e., the 5-minute period (1=5) in any
60-consecutive-minute period (J=60). The number of values averaged in this
manner will not always be equal to a constant i, but the time interval I
will be the same throughout J. A few of the i values may possibly be re-
jected due to the Opacity Data Acceptance/Rejection Criterion presented
earlier in this section.
If, in a given averaging interval I, there is a temporal space or time
period of 30 seconds where there are no opacity values, 0 , then the aver-
Pa
age opacity, 0 , for that averaging interval is discarded, being invalid.
pa
When the applicable regulation or standard specifies a maximum opacity
value as a function of time, then the actual opacity values, measured on
the nominal 5-to 10-second data rate, are reduced accordingly by computer.
The time intervals over which the actual opacity values exceed the maximum
specified in the regulation, are summed together within the specified con-
secutive or overall time period. If the summed time period exceeds the
allowable time period, the source is in noncompliance. Example: Suppose
the state regulation states that short-term occurrences shall exceed 50%
opacity from a period aggregating no more than 5 minutes in any 60 consecu-
tive minutes and/or no more than 20 minutes in any 24-hour period. The
time intervals over which the actual plume opacity exceeded 50% are summed
together. If the sum of the intervals exceeds 5 minutes in any 60 consecu-
tive minutes then the source is in violation. The same holds true if the
individual time intervals exceed 20 minutes in any 24-hour period.
-------
165
1 2 3 4 . . .
(a) First average opacity, (J , calculated for the i opacity values
-'-71
1 2 3 " . . . i i+1 j
(b) Second average opacity calculated, first opacity value subtracted and the
(i+1 ) value added.
J .1
-1-t-l 1 HI
1 2 3 k . . . i i+1 i+2
j
(c) Third average opacity calculated, second opacity value subtracted and the
(i+2) value added.
I I I I
1234
H h
i i + 1 i+2 m-1 m m+1 n-1 n n+1 n+2
(d) The mth average opacity calculated.
I i I i
1234
. i i+1 i+2
j-i ...j-2 j-1 j
(e) The last average opacity calculated over the time interval I.
*I is the averaging interval established by NSPS, State or Local Reaulations.
Figure VIII-5. Pictoral Diagram of the Running Average.
-------
166
If there is no applicable state or local air pollution regulation spe-
cifying how the actual plume opacity data is to be reduced, then the 6-
minute time interval of Reference Method 9 is used. The running-average
technique described above is used to calculate the 6-minute interval which
has the highest average opacity within a data run. Referring to Figure
VIII-5, I is equal to 6 minutes and J is 6 minutes or longer.
The opacity of intermittent visible emissions and cyclic processes is
measured over a period of at least 3 or 4 cycles or a longer time consid-
ered adequate to determine compliance/non-compliance with the applicable
regulation. A cyclic process is defined in Figure VIII-6.
o - 0%
p
tl
t2
Figure VIII-6 Cyclic Process
If the regulation, such as a state or local regulation in an approved
State Implementation Plan (SIP), specifies an opacity limit as a function
of time, the times for the actual plume opacity values, 0
pa'
shall be added
together in accordance with the requirements of the regulation.
If there is no applicable NSPS, state, or local regulation, the 6-min
interval will be used as described above. If the time period of a given
cycle is less than 6 minutes, the opacity values for this period are added
to sufficient number of zeros to obtain the 6-minute period. The average
opacity is computed from the opacity values and the added zeros. For exam-
ple, if a particular cycle was 4 min in length there would be 24 opacity
values (4 min x 6 opacity values/min), then 12 zeros would have to be ad-
ded to bring the total to the 36 required values (6 min x 6 opacity values/
min).
-------
167
In support of 40 CFR Part 51 with opacity limits as a function of time,
Alternate Method 1 will be employed by summing the respective opacity mea-
surement time intervals for the required period of time.
Lidar Field Performance Verification: As it is with any quantitative
measurement instrument, overall system calibration is important for the
lidar. A viable means of checking and monitoring system performance is a
necessity in the enforcement application. Extensive performance verifica-
tion is carried out to support the field data gathered for use as evidenti-
ary material.
The Omega-1 Lidar has an optical generator (built-in calibration mech-
anism discussed in Section VI in detail) that tests the entire receiver,
electronics, and data processing systems. This is accomplished by using a
highly-controlled small solid state laser and light-emitting diodes (l.e.d.)
to inject an optical signal, which simulates an actual lidar return signal
from a given atmospheric path through a plume, or in clear air, into the
receiver ahead of the PMT detector. The optical generator simulates real
optical signals representing clear air or 0% opacity, 10, 20, 40, 60 and
80% opacities (nominal).
This test is carried out periodically in the field while the lidar is
in use, requiring about 3 to 4 minutes to perform. Each of the above-
mentioned optical signals is fed into the lidar receiver, the resultant
opacity is calculated in just the same manner as the real data collected in
the field, and each value is recorded on magnetic tape (actual lidar-
simulated signal), paper printout, and in the operations log book (dis-
cussed later in this section).
If the lidar-measured opacity value is not within ± 3% (based on full-
scale, 100% opacity) of the actual value of the optical generator input of
each of the two video channels:
Linear Channel - + 3% over the opacity range of 0% through
80% (optical generator values),
-------
168
Logarithmic Channel - + 3% over the opacity range of 20% through
80% (optical generator values),
then the lidar's proper performance has not verified and remedial action is
taken.
The optical generator itself is periodically (once per month) subjec-
ted to an exacting calibration in which all signal levels are measured to
within a fraction of a percent of the required values.
The results of the performance evaluation and the calibration tests
are discussed at length in Section VI.
Lidar Data Analysis Record: While the lidar data analysis and reduc-
tion are being conducted, permanent records are initiated and maintained.
In these records, the paper output from a computer printer, the measured or
calculated values for !, SIn; If, SIf; ^ SRn; Rf, SRf; RS, PS> Rp, Pp,
Pa, Ra; *', «', Rfi, Rfl, *, R^; a; e; Op, SQ, Opc, Opa, along with the re-
spective units (meters, nanoseconds, etc.) are recorded for each final opac-
ity calculation. The data processing operations that were used to calculate
the final opacity value from a given plume data signal are easily determined
from these records. During the data reduction process the values of 0
Pa
(which were calculated from the applicable 0 values) and S (average of
pa o
the standard deviations) are documented along with the applicable parameters
used in performing the running-average. The date and time that each lidar
data signal was obtained, its respective assigned control number, its mag-
netic tape file address, and the tape file address of the respective refer-
ence measurement are also recorded for each final opacity calculation.
The identity of each criterion used in the data analysis and identity
of any opacity values rejected are recorded for each applicable opacity
value.
Lidar Log Book: A special purpose logbook entitled "Lidar Log of Oper-
ation" has been designed to be a permanent record of the lidar activities
-------
169
for evidentiary purposes. The cover [Figure VIII-7] of each logbook con-
tains the custody number, the dates it was used, and the number of the next
logbook in sequence.
A control number is assigned for each stationary source monitored with
the lidar. This number is assigned on the Lidar Log Control Number Tabu-
lation [Figure VIII-8], and is also recorded for each individual lidar back-
scatter signal in the identification block on magnetic tape. This number
is used for evidentiary purposes.
The required data for each source under investigation is specified and
recorded on the "Lidar Log of Operations" [Figure VIII-9 and 10]. This
includes source description/characteristics, local meteorological condi-
tions measured at the lidar's position, and the data record log. The cali-
bration record is in Figure VIII-9 which gives the calibrated opacity of
the optical generator, the opacity value calculated by the lidar computer
using the optical generator as the source and the file address on magnetic
tape where the data were recorded.
The forms shown in Figures VIII-7 through 10 are bound in a sewn log-
book and are subject to EPA-NEIC document control and chain-of-custody reg-
ulations/procedures.
As required by the chain-of-custody procedures for evidentiary mater-
ial, the magnetic tapes (Hewlett Packard cassettes containing computer pro-
grams and the 8.5-inch 9-track data tapes) are stored and carried in speci-
alized magnetic shielded boxes to prevent accidental erasure and the pickup
of any spurious noise. When the data tapes are returned to EPA-NEIC for
data processing, they are stored in standard shielded tape racks in the
computer laboratory.
Data Presentation/Final Report Format: The opacity values, 0 , the
standard deviation values, S , and other parameters obtained through data
analysis on the NEIC laboratory computer are documented in an EPA-NEIC data
analysis report. For each data run these values are presented in tabular
-------
LIDAR LOG OF OPERATIONS
Log Book Number
from / /
to
Next Log Book Number
Figure VIII-7 Cover Of Lidar Log Book
-------
MDAR KM; (OMROI, HMRKR TARIUTION
LOJJ Rook Niinib<'i%-
[Assign a CONTROL NUMBER to each individual source under t«st
CONTROL
NUMBER
DATE
ASSIGNED
PROJECT
CITY, STATE
continued on next page
Figure VIII-8 Lidar Log Control Number Tabulation
-------
L1DAR LOG OF OPERATIONS
(onlrol number: OMM.A-
Facility ii«* ud ltdtloi:
At Ik* flild tit* ei
Locitloi of IIDAI:
from
._ to.
(local tine)
Dirjction to source.
Range to source
km
Laser inclination (+ angle is up: horizontal is Oc
Soiree typo aid official designation:
characteristics (color, shape, steam present, etc.) :
Wind ipt*d: begin
Air temperater*: begin
laromttor: begin
Cloud co»«r: begin
.km/hr end
.km/br Wind direction: begin
.°Cend
. end
DC Relative himldlty: begin
Visibility: begin km end
end
. end
% end
km
Data records made In field (tapes, printouts, photo's, etc.) :
MAGNETIC TAPES
tapett track^ files
OMIATOI'S SIGNATURI:.
WITNESS SIGNATtm:
.DAT!:.
DATf:
Figure VIII-9 Lidar Log Of Operations-Sheet 1
-------
LIDAR OPERATOR'S NOTES
llncludi position of lisor bum within plumi ittichtd plumi, itc.
LIDAR FUNCTION VERIFICATION Source opticil jinjntor [ I scrims
Dati of last calibration: This test recorded on tape# track*
1234 5671
Calibrated opacity
Calculated opacity
Recorded on tile
OMRATOI'S SIGNATURE: DAT!:
WITNISS SIGNATURE: OATI:
Figure VIII-1O Lidar Log Of Operations-Sheet 2
-------
174
form [Figure VIII-11] followed by graphic plots [Figures V-23 and V-24].
An identification header is printed across the top of the tabular form which
provides the following information:
EPA-NEIC identification block,
EPA-NEIC Omega Control number (evidentiary parameter),
Official designation for the stationary source,
Facility name,
Facility location,
Location of the lidar during tests, and
Length of the running-average interval I.
This tabular presentation provides the applicable data in columns identi-
fied as follows:
Date of the data run - month/day/year,
Time of the opacity measurement (nearest second),
Opacity values (0 ) calculated in %,
pa
Individual violation flag (****) indicating that the
opacity value 0 exceeded the NSPS or SIP regulation limit,
pa
Standard deviation SO (S ) in % (full-scale).
Average opacity (0 ) in % calculated over the
pa
running-average interval.
Average standard deviation (S ) in % calculated
over the running-average interval,
Average opacity violation of flag (****) indicating
that the average opacity value 6 exceeded the NSPS or
SIP regulation limit,
-------
UNITED STATES ENVIRONMENTAL PROTECTION AGENCY
NATIONAL ENFORCEMENT INVESTIGATIONS CENTER
DENViTR, COLORADO B0225
OMEGA-0028
DATE
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
127
12/
12/
12/
127
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
127
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
12/
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
4/79
XXXX ST/
TIME
22:
22:
T^
22:
22 '
22
22:
22'
22 '
22:
22'
22:
22:
22:
22:
22:
22:
22:
22:
22:
22
22:
22:
22:
22:
22 '
22:
22:
->2
22:
22:
22:
22:
22:
Tn -
22 '
22 '
*io
Tl
TO -
22:
22
22:
22 '
22 '
T~> -
22 '
i-i -
22:
Tl
29:
29:
30:
30:
30:
30:
30:
30:
30:
30:
30:
30:
30:
30:
30:
31:
31:
31:
31:
31:
31:
31:
31:
31:
31:
31:
31:
31:
32:
32:
32:
32:
32:
32:
32:
32:
32:
32:
32:
32:
32:
33:
33:
33:
33:
33:
33:
33:
33:
33:
54
59
4
B
13
17
22
27
31
36
40
45
50
54
59
3
8
13
17
22
27
31
36
40
45
50
54
59
3
8
13
17
22
27
31
36
40
45
50
54
59
3
8
13
17
22
26
31
36
40
3K, COMPANY NAME, CITY, STATE. FROM LIDAR LOCATION. FIVE MINUTE AVERAGES
OPACITY SO VIOLATION AVERAGE OPACITY AVERAGE SO VIOLATION NUMBER DISCARDED
17
19
18
15
24
23
22
22
26
33
38
42
46
47
51
52
54
59
60
58
57
56
57
56
58
58
58
54
59
63
64
66
70
68
69
69
71
70
72
77
72
71
72
73
72
75
75
71
71
72
5
4
4
4
5
4
5
5
4
4
4
3
3
3
3
3
4
3
2
3
3
3
4
4
4
3
2
1
2
1
4
3
1
2
5
3
3
3
4
1
5
5
2
20
20
20
20
20
19
19
20
20
20
20
20
20
20
21
21
22
22
23
23
24
25
25
26
26
27
28
28
29
29
30
30
31
33
34
34
35
36
37
37
38
39
40
41
42
43
43
44
45
46
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
***»
»«**
*#**
«*#*
**»*
*##*
«**-»
»***
*#**
*»»*
»*»*
*«--»*
»**«
»»»»
***»
**»*
****
*-»«*
***»
»**»
»»»#
***tt
«»«*
«»*#
**«»
****
##**
*#*»
**«*
*» **
tnnt*
**»*
«*»*
*«-**
****
»*#»
»« #*
»U- B-*
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 OF
0 UF
0 OF
66
66
65
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
Figure Vlll-ll Omega-1 Lidar Opacity Data Final Report Format
tn
-------
176
Number of opacity values (0 ) discarded due to the
opacity Data Acceptance/Rejection Criterion.
The format of the tabular form given in Figure VIII-11 is slightly modified
if the opacity values and time intervals are subject to aggregation in a
standard or regulation being enforced.
-------
177
REFERENCES
1. R.T.H. Collis, Applied Optics 9, 1782 (1970).
2. R.L. Byer, Optical and Quantum Electronics 7, 147-177 (1975).
3. W.E. Evans, Stanford Research Institute, Report 6529, Development
of Lidar Stack Effluent Opacity Measuring System.
4. M.P. McCormick, W.H. Fuller, NASA Langley Research Center, Lidar
Applications to Pollution Studies.
5. C.S. Cook, G.W. Bethke and W.D. Conner, Applied Optics II, 1742
(Aug 1972).
6. W.B. Johnson, Jr., Journal of Applied Meteorology 8, 443-449,
(1969).
7. E.E. Uthe, Stanford Research Institute, Lidar Observations of
Particulate Distributions Over Extended Areas.
8. R.T.H. Collis, E.E. Uthe, Opto-Electronics 4, 87 (1972).
9. W.E. Evans and R.T.H. Collis, S.P.I.E. Journal, Vol. 8, 38 (1970).
10. W.B. Johnson, E.E. Uthe, Atmospheric Environment, Vol. 5, 703
(1971).
11. E.E. Uthe, C.E. Lapple, Stanford Research Institute, Report 8730,
Study of Laser Back Scatter by Particulates in Stack Emissions
(1972).
12. M.P. McCormick, S.H. Melfi, etc., NASA Report TN D-1703, Mixing
Height Measurement by Lidar, Particle Counter and Rawinsorde in
the Willamette Valley, Oregon (1972).
13. A. Cohen, Applied Optics 14, 2878 (Dec. 75).
14. W. Viezeg, J. Oblanas, Journal of Applied Meteorology 8, 369 (1969).
15. C.E. Lapple, E.E. Uthe, Stanford Research Institute, Remote
Sensing of Particulate Stack Emissions, A.I.C.E. Meeting, Aug. 20, 1974,
16. EPA Report EPA-650/4-73-002 (October 1973), Lidar Studies of
Stack Plumes in Rural and Urban Environments.
-------
178
17. E.E. Uthe, P.B. Russel, American Meteorological Society Bulletin,
Vol. 55 No. 2 (Feb. 1974).
18. R.J. Allen, W.E. Evans, Reviews of Scientific Instruments, 43, 1422
(1972).
19. S.H. Melfi, Proceedings, 2nd Joint Conference on Sensing of Environ-
mental Pollutants 73 (1973).
20. C.S. Cook, G.W. Bethke, General Electric Co., EPA No. 68-02-0093
(1972).
21. EPA Report: EPA-650/2-73-040 (Dec. 1973), Development of Range-
Squared and Off-Gating Modifications for a Lidar System.
22. EPA Report: EPA/NEIC-TS-128 (Feb. 1976), Field Evaluation of
Mobile Lidar for the Measurement of Smoke Plume Opacity.
23. C. Werner, Opto-electronics 4, 125 (1972).
24. Private Communication, William D. Conner, EPA/RTP, North Carolina,
August 1975.
25. EPA Report: EPA-330/1-79-003, Dec. 1979, The Use of Lidar for
Emissions Source Opacity Determinations.
26. EPA Report: EPA-650/2-74-128, Nov. 1974, Measurement of the Opacity
and Mass Concentration of Particulate Emissions by Transmissometry.
27. EPA Report: EPA-650/2-74-120, Nov. 1974, In-Stack Transmissometer
Measurement of Particulate Opacity and Mass Concentration.
28. EPA Report: EPA-650/4-75-009, Jan. 1975, Evaluation and Colla-
borative Study of Method for Visual Determination of Opacity of
Emissions from Stationary Sources.
29. EPA Report: EPA-600/2-79-188, Sept. 1979, Applicability of Trans-
missometers to Opacity Measurement of Emissions, Oil-Fired Power
and Portland Cement Plants.
30. EPA Report: EPA-600/2-80-001, Jan. 1980, Comparative Study of
Plume Opacity Measurement Methods.
31. Smoke-Stack Plumes: Their Opacity and Visual Effects, W.D. Conner,
Presented at Symposium "Plumes and Visibility: Measurement and Model
Components", Grand Canyon, Nov. 10-14, 1980.
32. Correlation Between Light Attenuation and Particulate Concentration
of a Coal-Fired Power Plant Emission, W.D. Conner and N. White, To
be published in Atmospheric Environment.
33. EPA Report: EPA-650/2-74-013, Jan. 1974, Performance Specifications
for Stationary-Source Monitoring Systems for Gases and Visible Emis-
sions, Appendix C.
-------
179
34. H.C. Van de Hulst, Light Scattering by Small Particles, John Wiley
& Sons, Inc., New York (1957).
35. D. Diermendjian, Electromagnetic Scattering on Spherical Polydisper-
sions, Elsevier Publishing Co., New York (1969).
36. M. Kerker, The Scattering of Light and Other Electromagnetic
Radiation, Academic Press, New York (1969).
37. A.W. Dybdahl, M.J. Cunningham, Utilization of the Omega-1 Lidar
in EPA Enforcement Activities, Proceedings, Symposium on the
Transfer and Utilization of Particulate Control Technology, July
1978.
38. A.W. Dybdahl, F.S. Mills, Utilization of the Omega-1 Lidar in
EPA Enforcement Monitoring, Proceedings, Second Symposium on
the Transfer and Utilization of Particulate Control Technology,
EPA-600/9-80-039d, Sep. 1980.
39. P.R. Bevington, Data Reduction and Error Analysis for the Physical
Sciences, McGraw Hill Book Co., New York (1969).
40. G.A.F. Seber, Linear Regression Analysis, John Wiley & Sons,
New York (1977).
41. SRI International Report: Lidar Calibration and Performance
Evaluation (5828-4) (Jan. 1979).
42. SRI International Report: Lidar Optical Signal Generator, Model
5828 (Jan. 1978).
43. American National Standard for the Safe Use of Lasers, ANSI Z
136.1-176, 8 March 1976.
44. U.S. Army Technical Manual TB MED 279, Control of Hazards to
Health from Laser Radiation, Feb. 1969.
45. Laser Institute of America, Laser Safety Manual, 4th Ed.
46. U.S. Dept. of Health, Education and Welfare, Regulations for the
Administration and Enforcement of Radiation Control for Health and
Safety Act of 1968, Jan. 1976.
47. Laser Safety Handbook, Alex Mallow, Leon Chabot, Van Nostrand'
Reinhold Co., 1978.
48. Federal Register, Volume 40, Number 148, Thursday, July 31, 1975,
Performance Standard for Laser Products, Food and Drug Administration,
U.S. Dept. of Health, Education, and Welfare.
49. Federal Register, Volume 43, Number 229, Tuesday, November 28, 1978,
Amendment of Performance Standard for Laser Products, Food and Drug
Administration, U.S. Dept. of Health, Education and Welfare.
-------
50. U.S. EPA Visible Emission Inspection Procedures, Aug. 1975.
51. Guidelines for Evaluation of Visible Emissions, EPA-340/1-75-007,
Apr. 1975.
-------
APPENDICES
-------
APPENDIX A
Part 60 - Standards of Performance
For New Stationary Sources
Final Rule
Effective Date: June 22, 1977
-------
RULES AND REGULATIONS
2fi205
will be limited to 10 minutes for an oral
presentation exclusive of time consumed
by questions from the panel for the Gov-
ernment and answers thereto.
An agenda showing the scheduling of
the speakers will be made after outlines
are received from .the speakers, and
copies of the agenda will be available
free of charge at the hearing.
ROBERT A. BLEY,
Director, Legislation and
Regulations Division.
(FR Doc.77-14623 Filed 5-20-77;8:45 ain|
Title 28Judicial Administration
CHAPTER IDEPARTMENT OF JUSTICE
[Order No. 725-77]
PART 0ORGANIZATION OF THE
DEPARTMENT OF JUSTICE
Conduct of Legal Proceedings
AGENCY: Department of Justice.
ACTION: Final rule,
SUMMARY: Under 28 U.S.C. 515(a>,
Department of Justice attorneys, when
specifically directed by the Attorney
General, are authorized to conduct any
kind of legal proceeding, including
grand jury proceedings, which United
States Attorneys are authorized by law
to conduct, whether or not the attorney
Is a resident of the district where the
proceeding is brought. Present regula-
tions delegate certain of the Attorney
General's authority under this statute
to certain Department officials. This
order broadens the authority delegated
by the Attorney General expressly to
Include the designation of attorneys to
conduct legal proceedings, and extends
the delegation to all Divisions.
EFFECTIVE DATE: May 12, 1977.
FOR FURTHER INFORMATION CON-
TACT:
John M. Harmon. Acting Assistant At-
' tomey General. Office of Legal Coun-
sel, Department of Justice. Washing-
ton. D.C. 20530 (202-739-2041).
By virtue of the authority vested In
me by 28 U.S.C. 509, 510 and 5 U.S.C.
301. Part 0 of Chapter I of Title 28, Code
of Federal Regulations, is amended as
follows:
1. A new 5 0.13 Is added at the end of
Subpart B, to read as follows:
§0.13 Legal proceedings.
' (a) Each Assistant Attorney General
and Deputy Assistant Attorney General
is authorized to exercise the authority
of the Attorney General under 23 U.S.C.
515(a). in cases assigned to, conducted,
handled, or supervised by such official.
to designate Department attorneys to
conduct any legal proceeding, civil or
criminal, including grand jury pro-
ceedings and proceedings before com-
mitting magistrates, which United SUtes
attorneys are authorized by law to con-
duct, whether or not the designated at-
torney Is a resident of the district in
*hich the proceedings Is brought.
(b) Each Assistant Attorney General
« authorized to redelegate to Section
Chiefs the authority delegated by para-
graph (a) of this section, except that
such redelegation shall not apply to the
designation of attorneys to conduct
grand jury proceedings.
§0.40 [Amended]
2. Paragraph (a) of § 0.40 of Subpart
H is amended by deleting "designation
of attorneys to present evidence to grand
juries."
§ 0.43 [Revoked]
3. Section 0.43 of Subpart H Is
revoked.
§ 0.50 [Amended]
4. Paragraph (a) of 5 0.50 of Subpart
J. is amended by deleting "and desig-
nation of attorneys-to present evidence
to grand juries."
§ 0.60 [Revoked]
5. Section 0.60 "of Subpart K is
revoked.
(28 U.S.C. 509. 510 and 5 U.S.C. 301.)
Dated: May 12, 1977.
GRITFIN B. BELL,
Attorney General.
(FR Doc.77-14345 Filed 5-20-77:8:43 am]
Title 38Pensions, Bonuses, and
Veterans' Relief
CHAPTER IVETERANS
ADMINISTRATION
' PART 3ADJUDICATION
Subpart BBurial Benefits
HEARSE CHARGES FOR TRANSPORT-
ING BODIES
AGENCY: Veterans Administration.
ACTION: Final Regulation.
SUMMARY: The VA has amended its
regulation relating to hearse charges for
transporting a body to place of burial.
EFFECTIVE DATE: May 11, 1977.
FOR FURTHER INFORMATION CON-
TACT:
Mr. T. H. Spindle, Chief, Regulations
Staff, Compensation and Pension Serv-
ice Veterans Administration, Wash-
ing, D.C. 20420 (202-389-3005).
SUPPLEMENTARY INFORMATION:
On page 16839 of the FEDERAL REGISTER of
March 30, 1977, there was published a
notice of proposed retaliatory develop-
ment to amend §3.1606(b) relating to
hearse charges. When a person dies in a
Veterans Administration facility to
which he or she was properly admitted
for hospital, nursing home or domlcllli-
ary care under 38 U.S.C. 610 or 611(a),
the Veterans Administration is usually
required to pay the cost of transporting
the body to the place of burial. (33 U.S.C.
903) The Veterans Administration is
also directed to pay the cost of transport-
ing the body of certain veterans who die
outside of a Veterans Administration
facility when burial will be made In a
National Cemetery. (33 U.S.C. 903)
Claims have been received for payment
of charges for transporting a. body by
hearse over quite long distances when
common carrier service was readily avail-
able. In these claims the hearse charccs
greatly exceeded the common carrier
rate. Therefore, 5 3.1606 Is amended to
provide that payment of hearse charues
for transporting a body over long dis-
tances will be limited to prevailing com-
mon carrier rates where it is reasonable
and customary for shipment to be made
by common carrier. This limitation will
not be for application where common
carrier service is unavailable or where use
of a common carrier would clearly be
Impractical. When a common carrier is
used to transport a body, charges for use
of a hearse to deliver the body to and
from the carrier will be paid.
Interested persons were given 30 days
in which to submit comments, sugges-
tions or objections regarding the pro-
posed regulation. No written comments
have been received and the proposed
regulation is hereby adopted without
change and is set forth below.
NOTE.The Veterans Administration lias
determined tb&t this document does not con-
tain a major proposal requiring preparation
of an Economic Impact Statement under Ex-
ecutive Order 11821 and OMB Circular A-107.
Approved: May 11, 1977.
By direction of the Administrator.
Rurtrs H. WILSON,
Deputy Administrator.
In 5 3.1606, paragraph (b) (3) is added
to read as follows:
§ 3.1606 Transportation item?.
The transportation costs of those per-
sons who come within the provisions of
§§3.1600(g> and 3.1605 (a), (b). (c) and
(d) may include the following:
(b) Transported by hearse.
(3) Payment of hearse charges for
transporting the remains over, long dis-
tances are limited to prevailing common
carrier rates when common carrier serv-
ice is available and can be easily and
effectively utilized.
[FR Doc.77-14558 Filed 5-20-77:8:45 am)
Title 4O^Protection of Environment
CHAPTER IENVIRONMENTAL
PROTECTION AGENCY
IFRL, 715-8]
PART 60STANDARDS OF PERFORM-
ANCE FOR NEW STATIONARY SOURCES
Compliance With Standards and
Maintenance Requirements
AGENCY: Envlronment.il Protection
Agency.
ACTION: Final rule.
SUMMARY: This action amends the
general provisions of the standards of
performance to allow methods other
than Reference Method 9 to be used as a
means of measuring plume opacity. The
Environmental Protection Agency (EPA)
Is investigating a remote sensing laser
radar system of measuring plume opacity
and believes It could be -onsldercd as an
alternative method to Reference Method
KDECAl KECISTEK. VOL 41. HO. 99MONDAY. MAY J3, 1977
\
-------
2G206
RULES AND REGULATIONS
9. This amendment would allow EPA to
propose such systems as alternative
methods in the future.
EFFECTIVE DATE: June 22, 1977.
FOR yuuiau: INFORMATION CON-
TACT:
Don R. Goodwin. Emission Standards
and Engineering Division. Environ-
mental Protection Agency, Research
Triangle Part. North Carolina 27711.
telephone no. 0106338146, ext. .*!.
BUPPLEI-rENTART INFOP-MATION:
As originally expressed. 40 CFR 60.1 Ifb)
permitted the use of Reference Method 9
exclusively for determining whether a
. source complied with an applicable
opacity standard. By this action, EPA
amends $60.1Kb) so that alternative
methods approved by the Administrator
may be used to determine opacity.
"When 5 60.1Kb) was originally pro-
mulgated, the visible emissions (Method
B) technique of determinlris plume
opacity with trained visible emission ob-
»ervers was the only expedient and accu-
rate method available to enforcement
personneL Recently, EPA funded the de-
velopment of a remote sensing laser ra-
dar system (LTDAR) that appears to pro-
duce results adequate for determination
of compliance with opacity standards. 3
EPA is currently evaluating the equip- t
ment wad is considering proposing its
use as an alternative technique of meas-
uring plume opacity.
This amendment will allow EPA to
consider use of the LIDAR method of
determining, plume opacity and. if ap-
propriate, to approve this method for en-
forcement of opacity regulations. If this
method appears to bs a suitable alterna-
tive to Method 9, It will be proposed in
the FTDE^U. REGISTER for public com-
ment. After considering comments, EPA
will determine If the new method will b;
an acceptable means of determining
opacity compliance.
'(Seen. Ill, 114. 301 (a.). Clean Air Act. s«. 4 (a)
of Pub. L. 91-604, &4 Stat. 1G63; sec. 4(a) or
Pub. L. S1-GC4. S-i Stat. 1687: sec. 3 or Pub. L.
Po. 90-1-ta, 81 Stat 504 (43 U-S.C. 1357O-S,
1B57C-9 and iaS7g(a)).)
NOTX.Economic Impact Analysis: The
Environmental Protection Agency naj deter-
mined that tb.13 action does not contain a°
TUAjor proposal requiring preparation or an
Ucooooolc imp&ct AnAly^A ^nder iiiecutl're
Orders 11S21 and 11049 and OMB Circular
A-10T.
. Dated: May 10. 1977.
': - ' DOUGLAS M. COSTLE,
Administrator.
Part 60 oC Chapter I, Title 40 of the
Code of Federal Regulations is amended
conducting observations In accordance
with Reference Method 9 In Appendix A
of this part or any alternative method
that Is approved by the Administrator.
Opacity readings of portions of plumes
which contain condensed, uncomblned
water vapor shall not be used for pur-
poses of determining, compliance with
opacity standards. The results of con-
tinuous monitoring by transmlssometer
which indicate that the opacity at the
time visual observatlocs were made was
not In excess of the standard are proba-
tive but not conclusive evidence of the
actual opacity of an emission, provided
that the source shall meet the burden of
proving that the instrument used meets
(at the time of the alleged violation >
Performance Specification 1 In Appendix
B of this part, has been properly main-
tained and (at the time of the alleged
violation) calibrated, and that the
resulting data have not been tampered
with in any way.
(Sees. 111. 114. 301(a). Clean Air Act, Sec. 4
(a) of Pub. L. 91-604, &4 Stat. 16S3: s«c. 4(a)
or Pub. L. 31-604. 84 Stat. 1637; sec. 3 of Pub.
L. No. 9O-14S 31 Stat. 5O4 (43 U.S.C. 1857C-8,
1857C-9, 18o7g(a)).)
IF?. DOC.77-145S2 Filed S-20-T7;8:43 am)
1. Section 60J.1 Is amended by revising
paragraph Cb) as follows:
5 60-11 Compliance with standards »nd
Q>) Compliance with opacity stand-
ards In tola part shall be determined try
Title 45Public Welfare
'CHAPTER IOFFICE OF EDUCATION, DE-
PARTMENT OF HEALTH, EDUCATION,
I AND WELFARE
PART 146MODERN FOREIGN"
LANGUAGE AND. AREA STUDIES
1 Awards of Grants and Contracts
AGENCY: OHce of Education, HEW.
ACTION: Final regralation.
SUMMARY: These proposed regulations
set forth rules and criteria governing the
award of grants and contracts to tnstitu-
Itloas of higher, education, qualified
organizations and individuals for the
purpose of providing Federal financial
assistance to establish and operate
Language and Area Studies Centers,
Graduate and Undergraduate Interna-
tional Studies Programs, for the award
of fellowships to Individuals undergoing
training In any center or under any pro-
srana receiving Federal financial assist-
ance under the NCSA Act, and lor
research, and studies. . , "
EFFECTIVE DATE: Pursuant to section
431(d) of the General Education Pro-
visions Act. as amended (20 TJ.S.C. 1232
(d)), this regulation has been trans-
mitted to the Congress concurrently with
Its publication in the FTDEHAI. REGISTER.
That section provides that regulations
subject thereto thall become effective on
the forty-fifth day following the date of
Buch transmission, subject to the pro-
visions therein concerning Congressional
action and adjournment.
'DATES: None.
ADDRESSES: None,
FOR FURTHER INFORMATION CON-
TACT:
Edward L. Mcador, Division of Inter-
national Education, 7tri and D Streets
SW, Room 3007, Regional Offlcc Build-
ing #3. Washington. D.C. 20202 (20->/
245-9601) . " .
SUPPLEMENTARY INFORMATION:
The National Defense Education Act of
1058 in Its statement of findings and
declaration of policy says. "The Consrcss
finds and declares that the security of the
Nation requires the fullest development
of the mental resources and technical
skills of Its young men and women. The
present emergency demands that addi-
tional and more adequate educational
opportunities be made available. The de-
fense of this Nation depends upon the
mastery of modern techniques developed
from complex scientific principles. It de-
pends as well upon the dlscovory and
development of new principles, new tech-
niques, and new knowledge."
(20 U3.C. 401.) f
The Importance of a knowledge of
foreign languages and area studies to the
attainment of this policy was recognized
by the inclusion in the Act of Title VI
Modern Foreign Language and Area
Studies. This Title authorizes: Federal
financial assistance to Institutions of
higher education for the establishment
and operation of International Studies
Centers and for Graduate and Un-
dergraduate International Studies Pro-
grams, fellowships for graduate students
In foreign language and area studies, and
Federal financial assistance to public
and private agencies, organizations and
institutions as well as Individuals for
research in the area of foreign language
and area studies.
"The International Studies Centers
Program" provides grants to higher edu-
cation institutions or consortia of such
Institutions to establish and operate cen-
ters focusing on one world region. These
centers offer instruction in two or more
of the area's principal languages and in
other disciplines In order to provide
training In understanding that particular
world area. Other centers that feature
Instruction In comparative ^approaches
to topics of concern ..to .more, than one:
nation. International relations, or inter-
regional studies are also eligible for sup-
port. Awards are available in each cate-
gory to centers having a combination ot
graduate and undergraduate Instruction
(unless undergraduate instruction Is not
offered) as well as to those offering only
undergraduate training.
"The Graduate and Undergraduate In-
ternational Studies Programs" may pro-
vide grants of up to two years, or in cer-
tain Instances 3 years, to higher educa-
tion institutions or consortia of such
Institutions to establish Instructional
programs In International studies at the
graduate or undergraduate lev«U. Pro-
grams must be global or multi-area In
Instructional coverage. "Graduate Int«r-
»*r.KT?t vol. 47. NO «
-------
APPENDIX B
Omega-1 Lidar: Computer Software
(a) Lidar Computer Program (HP Language)
(b) Omega-5 Lidar Data Analysis Program (FORTRAN-4+)
(c) Omega-6 Lidar Data Output File Editor Program (FORTRAN-4+)
(d;l) Omega-7 Lidar Data Output Program for Tabular Data
and Graphic Plots (FORTRAN-4+), Average Form
(d;2) Omega-8 Lidar Data Output Program for Tabular Data
and Graphic Plots (FORTRAN-4+), Aggregate Form
(e) Lidar Eyesafe Program (FORTRAN-4+, HP Language and Variable
Dictionary)
(f) FAA Report Program (HP Language)
-------
B(a) Lidar Computer Program (HP Language)
-------
0 * " U ivi e- -9 a 6 '' 1 ,'
Lid a r 0 p e r o. t i o n
P r o ? r o. ivi ? r e'.,'
12 "st a. rt." : f PH
1 3 f 5 . 8 ? " t o " j
f 5 . 8 j " n s "
£ 2 f i-i t 2 j " ? o. t. e " ?
t' 2 . 8 3 " a t " ? f 5 . 1
? " do"
3 ' f PI t 4 j f 5 . 8 j
f 6 . 1 j f 5 . 1
4 : f f n 5 .< f 5 . S ?
o 2 f PI t 6 ? x 3 f 5 . 8 j
3x3f6. 1
b 2 f p'l f. 7 3 C 5 Z
7 ' f P'! t O J b 3 X 3 t1 J
X 3 b ? X J C 1 9 J X 3 b !
X 3 b 5 X 3 b
8 ' f PI t 9 3 c 2 ? " "" 3
f i i e' 3 / 3 c 2 j " : " j
c 2 3 ": " 3 c 2 3 f 5 . 8
V ° 1.0 t c 1 5 ? 2 7 7 ?
u t c 1531441 i.o t b
£f3^12"
102 G1 r 7 3 fX d 8 3
1 3 3 * r 1 8 j i f f 1 ? 7
3 S t P
11= sf-g 7?d£P
"REMOVE PRGGRHM
T R F E j 6 4 r 8 5
£ t P
12: "ent":c11
'la' (733fa31303
1932) 3 j IM P ' e a ' (
13° fl$^D$C53384]
14: ell 'la'(125
? 2 4 3 2 J i o n P ' e a '
lib]'
162 " a P'I P " 2 c 1 1
Ma' (15631732)5
j PI P ' e a M 9 3
17= of-g 11 ? if
c a p ( fl s [ 1 , 2 3 ) = " L
I"? "8:'4D*C253
25]jJRP 4
-------
18: i f c o. P £ fl $ C1 ?
2J ; '- LU '! 5 " 1 " -+D$
[ 2 5 5 2 5 ] I s f '9 115
S f '9 12 J 0 i''': P J
19: if' c o. P i R $ [ 1 ?
n j = - T "; "2"*D*c
2 5 ? 2 3 ] 5 J n P 2
23: jnp -4
21= if f 1 -9 1 1 5
'l"*D$[27j27]5
J I'M P J
22; ell ' 1 o.' i 9 5 <
19?135?13;2)?
s t. r ( d r n d £ i o -9 i ' <=
g i 3 J } ". 3 3 ? 1) +
4 j * n ±
22: R$ [2?2]+D$[2
7 ? 2 7 ]
245 ell ' 1 o. M 9 5 ?
1 S » 1 6 8 j 1 6 j 2 J
25: s t f- ( d r n d (1 o ?
i ? 8 v ;i £ 3 j J ' . 3 3 9 3
? 1 ) 5 -> H *
3' ;n$Cl? 116J*E$
? s f 9 8 ? s t o " s t o.
r t "
i 7 : " i d P r 3 " : c 1 1
5 rdGk'
'lb : " i dp r2 " : u* Y ?
D -* Z ; j I'M P 2
29: "idPi"l":EVT';
F^Z
30: " i d P r 4 " : f o r
L = 1 to 165 c. h o. r £
31J^RfCL];next
L i P r t fl $
31: ,;. l I ' h e a d r ' £
Y ? Z ) ? P f" t D $ [ 5 3 ?
lib]
3 2 '= f x d 2 5 P r t +
o r - " k s t r £ d r n d f t
n t £ £ ', o. 1 £ D $ [ 2 7 ?
2713-4).33)j
1 J ) £i: " ',' O 1 t S ' j
f x d 0
3 3 : r-- r t s t r C d r n d
(t n t £ M o.l £ D $ C 2 S ?
261)*.3 3 9 3 j ?
1 ) ) i " n -i- ." P t "
;;; -r: j i'i P u o. i £ D J C 2
5j25]J +1
35: " L i n80. r''^H* ?
j I'M P 3
-------
j !TI P 2
3 7 : " T " & o h a r ( 2 9 )
->H$
33; oil 'P' C'aa'
i 1 5 7 ? 1 © ? 2 ) ) 5
oil ' I a M 5 4 j 1 1 ?
2 j ? fl $ & " a t " + R $ 5
e 1 1 ' P '
39: prt " 9t raek
file ":i:D$[17?
20]
40: oil ' -9Prt ' ( 1
) ? o 1 1 ' 9 P r t ' ( 2 J
41? f fi t " fl 2 " ?
i6.lt "EL"»f5.1)
w r t 1 6 ? r 1 3 ? r 1 4 j
f i'i t.
42: for L=l to
1 b 5 c h a r i 8 ) + fl $ [ L
3 .! n t x t L ? P r t fl $
43: s p o 25 ret
i J. " 1 ^ .-"».- ..... r H
_ .. r- ^
!_ I'l T 13
dM ' la'
i. 1 ? 5 ? f 1 =. 1 j ) j
st P
, -
1 '- _
if not Jd ' '
4 .-i: wait. 1500?
oil 'la' (12)24)
2) SprndCey' (5)
j 1) -+ fl
46: oil 'la'(7)
5 ? 18) 1S)2)5P rnd
( ' e'-,'' [ 5 J ? 1 ) -t B ?
s t P
4 -7: " o a 1 '' : o ivi f ii ?
oil 'd' Cla'(37
? 1 y ? f i -9 'd j ) ? s t P
43: "re o":oM f 3 5
if not 'd' C la'
i 6 5 ? 7 5 f 1 -9 3 J J 5
s t P
4 9: wa it 15 88j
0 *C jell '1 a' (7 3
? 1 0 ?2) 5 'en5 f 4)*
D ? e 1 1 5 P o s. i t i o n
' CD)
50: E$C1)il&]*0$
ci) H6J ?sf-9 0;
S t p
51: "so u " : e ivi f 4 '
i i' n o t f 1 -g 4 5
. j n P 3
52: ell 'd' ('1 a'
(8 4 j 2 0 ? 2 J J j w a i t
1 5 0 0
-------
5 3 : s o u 1 " : e 1 1
? 1 o.;i ( 1 1 8 j 1 4 j 2 ) ;
? e n ' ( 4) * N j s t P
54: ell 'd'('la'
( 8 4 ? 1 1 ? 1 9 5 ? 4 ?
2 i ) 3 '..I ait 1500?
0 -+ F i G f '3 0
55: ell 'la'(73,
1 0 ? 2 } j ' e n ( 4 ) * F
j G11 'PG £ 11 i Qn'
( F ! 5 3 t. 0 " s Q u 1 "
06= : r f : e IYI f 6 ?
JfiP f 1-36+1
57: ell 'd'('la'
i 4 3 ?5 ? 1 09 ? 14?
2 ) J j £ t P
5 S: ell d' (' i a!
C54jl0jl09jl4j
2 j ) ? £ t P
G n f 1 0 5 i i , , - -.-
f i '5 i --J I d i P " K 8 f S
f" f n G 8 U S S d " 3
S f -3 S j i t p
y : d s P " \'\ o f £ t s
r e n G e- " 5 t" o r 1 = 1
t, o 2 5 f' o r J = 1
t o
61: 0 * p CI + 1j J]* U
EI ? J ] j n e x t J 5
n 8 x t I ? e f -3 0 j
62: "ran":ell
?d'('la'(199»6j
246?11? 2))Iw ai t
1000
63: ell ' 1 a' (2 5 3
? 2 4 ? 2 ) ; P r n d (' 8 y
' (5)j1J-R El j23
64: ell ' 1 a' ( 2 5 S
J 9 ? tl 'd O J 4 J il 7 il .'
1 0 ? 2 ) ? P r n d (' 8 y '
( 5 J j 1 ) * P [ 1 j 3 ] j
£ f '3 0 J S t p
65: 'gat":ell
' la' (199 ? 2 9? 2) 5
if not '8y';
-3 t 0 " -3 t £ t "
66: 9*GE13J9999*
GC2!
67: ell 'la'(223
! 1 ?' ? 2 ) J ' 8 '3 ' ( 1 J
-------
6 3: ell ' 1 a M1 1 »
1 6 j 2 3 j ' e ? ' ( 1 ?
5) -> R
69: ell ' 1 a ' ( 6 »
6 ? 1 8 ? 9 ? 2 ) j ' e -9 ' (
1 j 5 ) "=* S
~@5 ell 'la'(228
j 1 7 j 2 ) 5 ' e -3 ' ( 2 »
£ ) * T
71: ell ' 1 a ' ( 11 ?
1 6 ? 2 ) 5 ' s 9 ' ( 2 j
5 j -> U
72: ell ' 1 a ' ( 6 ,
6 j 1 S ? 9 ? 2 3 j «?' (
2 j 5 ) * V
73: ell 'code'?
s t p
74: " -g t £ t " : s t P
/ b: t - s -a u a re": c
iYi f 5 ? i f f 1 -3 5 ;
d s -- " t - s q. u a r e d
c o r r e c t i o n £ u P P
r e s s e d " ? s t P
76: d £ P " t - £ ^ u o. r
e d c o r \~ e c t. i o n
0. 1 1 O i.'.i 8 d " ) £ t P
77; '1sopt":p rt
"OPT IONS SELECT
,"8: for ! = 1 to
16? "*" + R$ [I]?
n e x t. I ? P r t H $ j
s P o
79: if 'p' (' la' (
1 ? 5 5 f 1-g 1 3 3 5 i...! r t
16. 1 » fl j B
80: SPG Soil
?P? (' la' (37? 18,
f 1-523 3
8 1: s P o 5 i f n o t
' P ' ( ' 1 a ' ( 6 5 j 7 ,
f 1 -9 3 3 3 j j (v! P 2
82: p r t " 91 r k
f i le":ist r ( D 3
83: s P e jell
' 1 a ? i 8 4 j 115 2 3
34: if f194?ell
' P ' i' 1 a ' ( 9 5 » 9 ?
85^ ell ?p'?Prt
"9t rk file-'&str
(F3
8 b : P r t s t r ( N 3 \
oil ' P ' i ' 1 o.' i 1 1
U j 1 4 ? 2 3 3 j £ P e
-------
87: i f f 1-965 c 1 1
? P' (' la3 [54, 10,
2 J ) j c 1 I ' P ' ( ' 1 a
5 ( i j 3 ." 1 4 ? 2 3 J 5
j IYI P 2
33; ell 'P' (' la'
( 4 3? 5 ? 2) ) Jell
' P ' ( ' la' (199?
i 4 < 2 J J
S9: SPC Uoll
' -H P r 5 c 1 1 ' r a P r
; s P e 2 j s t P
90: ' f i 1 ' : i f
? b o t s t. ? 3 i -+ r 1 3
91 .j "fill"
9 1 : !...i r t 7 8 £ Q 1 ?
11 SF 2? 1"
92: i f n o t. b i t t 4
j r d s i 7 0 2 8 i J ) j
j f: P 8
3 3 : if ' b o t s t ' 5
£ -* r 1 ? i...: r t 79201?
11 S F i" 5 ? t o "fill
9 4 : y r t 7 0 2 9 1 ?
" 3 F1"? e 11 're a d
9'
9 5 '.,< o. 1 ( D * C1 3 j
1 71 j + 1 * r 1 5 i f
fl-sG; Ef Cl) 1163 >
D j [ 1 ? 1 1 6 J
96' fi11":Pr t
"9t. rk file"&st. r
i. r i j j s t P
97: "lsfil":c.ll
' 1 a ' ( 7 3 ? 1 0 ? 2 ) j
' e n ( 4 j -J- r 1
93: ell ' lo. M 1 10
? 1 4 ? 2)5'e n' (43 +
rl-l^r2
9 y : e 11 ' P o = i t i o
n ' ( r 1 )
100: for J = r 1
T. o r 2 3 e 1 1 ' r e a d
9 (. J ) ? . J -+ F 5 e 1 1
3 decode' Jell
3 i d P r 1 '
101: n ex t J ? i P e
2? if fl-90;E$Cl)
116]^D±C1?1163
102: s t P
103= "elk":oil
' dM ' la' (237?
26? 2 3 3 3 i...i o. i t
1 500
-------
1 0 4 : ell ' 1 o. ' ( 3 1
4 ? 1 2 ? 4 9 5 ? 8 j 2 3 5
c 1 1 ? o. a M 4 7 5 ? 4 ?
o ii 2 ? LI 5 2 J ! j n P
' e o. ' (18)
195= fi $ * D $ C 3 ?
123; w t b 7 1 6 ? " R "
i Q & : for 1=323
t o 3 i 9 b y - 2
197= for . J = i to
val (D*[I-312j I-
3 1 1 ] 35 u t b 716?
Vf CI » I! Jnext J
108: n e x t I
109: ... .. a i i D $ [ 3 ?
4 ] ) + r 0 ? y * r 2
110: if not ( f r c
( 2 3 2 3 3232303 /
t n t ( r 0 - 1 ) ) -+ r 1 3 j
j !vi P 2
ill: 1 6 * i- i * r i 5
i n t C r 1) + r 2 -> r 2 5
if f r o ( r 1 ) * r 1 5
j IM P 0
112: 2 8 ( r 0 - 1 3 +
r 2 + v a 1 ( D $ C 5 j
6 ] ) -> r 2
113: if not f r c (
v a 1 i D f C 1 j 2 ] ) -
4 3 ? i f r 2 > 6 0 ? r 2 +
Ur2
114: for ! = 2 to
r 2 j w t b 7 1 6 j " D " j
next I
115: fxd 25stP
116: " -9 o 2 " : s f -3 3
17; " -go " : i f
f 1 ? 3 j C -> Y j D * Z ;
if D + H > 1 8 3 0 ?
g t o " t P 5 r r 2 "
113: if not f 1 9 3
a n d f 1 -3 4 j 9 9 9 9 +
ZJJMP 2
i 1 9 : _ i f not f 1 ? 3
o. n d n o t f 1 ? 4 !
E + V j F * 2 5 i f F +
H > 1 8 8 0 ? = t o " t P e
r r 1 "
120= if no t f i -3 4
o r n o t f l-gl25
9 1 o H- 3
-------
121: if f 1 9 1 1 !
i.. 1t. b 1 5 ? 2 1 0 4 j
4129? 4595? 4625?
5 6 3 2 ? c f 9 12?
- t. o + 2
122: ui t b 1 5 ? 2 9 5 6
j c f 9 12
1 = 1 to
124= if no t f 1 3 4
? J I'M P 3
125^ ell Jbi'?
ell 'code' 5 if
f 1 3 3 ? C * V ? D * Z
126: 9 1 o +2
'ecode
' r e o. d 9 ' i F J 5 F +
d e
> i f f 1 9 6 5 F -
1 4 H j o I'M P 5
1 2 c : it f i 9 6
o. n d f 1 9 3 ? C * G 5
D -? H ? o ri P 2
129: if f 1 -g 6
o. n d n o t. f 1 9 3
a n d f 1 9 4 5 9 9 9 9 -^ H
130: if f19 3
a n d f 1 9 4 j c 1 1
'record?'
131: if fl9 3
o. n d f 1 9 4 j c 1 1
n e a d r ' ( C ? D - 1 J 5
91. n + 2
i -~i -"i» - i i i i- - -, -j L-1
i o £. L- i 1 r i t a d f
( Y j Z J
133: if f19 6 j
D$-*R$
134: ,-H 'caleul
ate'Jell 'list'
j n e x t I
135: if fl93
a n d f 1 9 4 ? c 1 1
'endfile'
1 3 6 : if n o t f 1 9 4
? s t. P
137: !...i t b 1 5 ? 2 5 6 0
I 3 3 : if n o t b i t i
:: xxyuxxxx" ? rdb (
15) i ; j I'l P 0
139: ell 'rdck'S
91 o - 1
140: "tP err 1 " : " R
L'riD '' *H$ j J TOP 'd
141: " t. p P r r 2 " : " R
E C 0 R D E B " * ft $
-------
142" prt "FILE
ff > 1 8 8 0 " ? " T 0
1 b 1 * r 1
1435 w r t . 3 ? r 1 j
r 1 ? r 1 ? " ERROR
11 » r 1 j r 1 » r 1 5
s t P
144; " b i " : b u f
' d o. t n. "
145^ if f 1-985
!...i t. b 1 5 ? 3 5 3 4 ?
3 5 8 b j 2 5 b 8 ? g t o +
o
146; 1,1 1. b 1 5 ? 2 3 2 9
j 3 5 3 b ? 2568
147: 1 6 1 * r 1 j w r t
. 8 j r 1 ? r 1 j r 1 ?
"FIRE PHOTON
i 0 R r h D 0 " j r 1 ? r 1 >
1435 if not- biti
:Ul iyxxxx" , rdb (
1 5 J ) ? J ri P 6
149' if not- fig 8
Jell 'rdck'
15@: r.11 'angle'
1 b 1 : y t b ' d a t a " ?
D $ C 1 j lib] j w t b
1 5 ? 2 S 1 6
152: t. f r 1 5 ? " d a t
a " j 2 0 4 8
153: u t b 15? 3 534
5 i f f 1 g 8 j w t b
1 5 ? 2 3 2 0 ? o f 9 3
154: beepjdsp
"WRIT"; ret
155: " a n g 1 e " : 9 * r
1 4 j :..! r t 706.7?
"H11EJ"
156: for J=l to
1 0 j r 1 4 + r o t, i r d b C
736) 5 3 J + r d b ( 7 0 6
)*r!45next, J
157: 0 + r 1 3 ? w r t
706. 7? "H22BJ"
153: for . J = 1 to
10? r 1 3 + r o t ( r d b (
706) ? 3 ) + r d b ( 7 0 6
) * r 1 3 ? n e x t J
159: i.:! r t 706.7?
11 H '
160: rl 4/1 1.11 11
HUrUJ r!3/
1 1 . 1 1 1 1 1 1 1 * r 1 3
-------
1 6 1 : " 9 y 0 8 9 8 8 " * D
| [ 4 6 ? 5 2 ] ; s t r f n. b
sir! 3 - r 3 ) 3 * R i j
R $ [ 2 3 * D $ [ 4 9 , 4 9 ]
It- 2' if o. b s i r 1 3 -
r 3 3 > 9 ? Fi $ [ 2 ] * D $ [
4 3 j 4 9 ]
16:- if o. b s i r 13 -
r-3! >99»Fi$i:£]-tD$
[47? 49]
164: if n. b sir! 3 -
r 3 ) > 9 9 9 ? fl * C 2 ] * D
± [ 4 6 ? 4 9 ]
163' if r 1 3 - r 3 < 9
? c h o. r I n u i-i ( D f [46
3 3 -i- 6 4 3 -t D $ I 4 6 ?
461
166= s t. r ( o. b i ( f 1 4
167: if c, b s ( r 1 4 J
> 9 j h $ [ 2 ] * D * [ 5 1 ?
52]
1 6 3 : i f a b s f r 1 4 3
> 9 9 ? R $ C 2 ] -> D $ E 5 8
169: if r14 <9[
i- h o. r- i n u fi i D $ [ 5 y ]
3+643 *DJ [5 8?58]
171: " rdck":f i-'it.
5 r £ d 7 1 6 j H f !
Fi*C3? 123^0$ C3?
12] ? r 81
1 r' ';i " c o d t" : c 1 1
c o d ' i Q * 1 9 ? 3 4 3 j
c 1 I ' c o d ? i R ?
2 8 3 j c 1 1 "' c o d ? i 3
>313
173: ell ? c. o d ' i T
* 1 8 3 4 3 3 j c 11
' c o d ' C U ? 3 7 3 j
ell 'cod' i'v'j
483jret
1 f 4 : " c o d " P ii +
2 * P 2 ? P 1 > P 4
1 7 S : c h o. r ( f r c ( i n
t f P 4 3 -1 6 8 -* P 4 3 *
1 Q 8 3 + D $ [ P 3 ? P 3 ] 5
it' ( P 3 - 1 * P 3 3 > = P
2 ? j i'i P 8
176: ret
177: " d e- c o d e ": ' d
e c ' (34 3 ' 1 8 + Q j
'dec' (2 83 *R!
' d > c ' (313^3
-------
178: ' dec' (43) -"
1 0 -> T S dec-- ( 3 7) ->
j j ; ? ,j P ,- ' ( 4 y i H. v ;
179: " d e c " : P 1 +
189: p 3 * 1 0 8 + n u r-i (
D*[pl jpll ) *p35
if {pl+l+Pl)#p2
5 j ivi P 0
i 8 i : ret P 3
132: " ca 1 ou 1 o.t e "
: i f f 1 -9 6 ? 2 + r 6 5
9 1 o " c o. 1 c 1 "
133: 3 + r Q ? i f
r: o t f 1-9 2 3 r e t
184: if f 1 -9 0
o. n d n o t f 1 ? 1 Q ;
£ * r 8 ? '9 t- o + 3
135: if f 1 -g 1 0 3
P r t- " t i ri e *
"kcha r ( 2 J & "
" 4: c i'i o. r i 9 ) 3 j fi P 2
186: " c n. 1 c 1 " : p r' t
t i ivi e " & c h o.
r(23:i:" "licho.
r ( 9 )
137: s f ? 1 4 3 d r n d
f t. n t i y a 1 i D $ [ 2 6 3
263 } .3398) ? 1 J * P
1 ? i ...i ' i 3 - r 0 ) > 1-4
°
o b ° f o r J = 2 t. n
3! PCI 3 J] 'Pi +
117^P4,0^P2^P3
139: for K=P4
t. ,;, p 4 -i- y
190: ' dat ' (K? HJ
3 - r 0 ) * P 5
191: p2+p5*p2!
P 3 + P 5 1 2 * p 3'
1 9 2 : n e x t K 5 P 2 /
1 0 -> P [ r 0 3 J ] 3 f a b s
C P 3 / 9 - P 2 1 2 -' 90) +
0 C r 0 - 1 j J ]
193: if f 1 -9 6 or
n o t f 1 9 0 o r
f 1 -9 1 0 3 w r t 16,4?
PL! j J] jPCrQj J] 3
OCrQ-1 j J3
194: n e x t J
195: if n o t f 1 -3 6
-------
196: if f I ? 1 y ;
f o r 1 = 1 to £ 5
o r
0-P [1+1 » J] -+0EI,
. J 3 j r! e x t J 5 n e x t
T
197- s P c 2 ! c f 9
-j ? 6 ? 1 4 j 1 5 j r 8 1
193: if f 1 ? 0
-'. n d n o t f i ? 1 S j
r. f -H 0 j 9 t. o " c. o. 1 c
ulo.t. e"
199: f x d 8 5 P r t
"°;OP= " k s t r ( ' e
val' J&" "&str
i d i f ' i
2 0 8 : if ft o. x ( 0 [ *
261: if not f 1 -g 4
a n d n o t f 1 = 6 ?
i f u a 1 ( D $ C 1 7 j
2 6 1 ) tt H ? P r t " U R 0
NG KEF"
2 Q ? : if not f 1 g 1
5 ; ? t o + 2
283: P r t " " S, c h
a r t 9 4 3 & " i n
e r r o r '? ? ? "
204: r. f -g 6 , 1 4 ,
1 ~> J S P O il 3 i'" t' t
265: " t,i " : i f f 1 ? 9
J ret 1
266: 1 / d r n d ( t n t i
ua 1 (D$[26?26] ) .
3 3 9 3 j j 1 3 -+ r 7
2 S 7 : 8 -* r 3 j f o r
J=117 to 126?
i f P 1 = 9 5 r 3 + e o r i
123? n u f i ( D f C J 1 3 )
* r 3 5 . j f i P 2
203: r 3 + e o r ( 1 2 8 ?
n u f i i R $ C J ] j j -* r 3
209: n 8 x t J 5 r 3 /
1 8 -t r 3
210: ' do.t ' f r7P Cl
j 2 ] + 1 1 7 ? 1 ? P 1 ) + P
211: ret 30 / P 2
212: " d o. t " : i f
P 3 = U j e o r ( 1 £ S j
n u ft ( D £ [ P 1 ] ) J + P 4
? . j ft P 2
213: P o r i 1 2 3 ?
n u f i ( R $ [ P 1 ] ) J * P 4
-------
- r 3 + P 4
: 14: if
ret P4
: 1 5 : P 4
! 1 6 : if P 3 5 i f
R*C25j253=" 1 ' 5
i 8 8-7 3 1.84 61 P 4 *
P 4 5 -J FI P 2
'.17: if D $ C 2 5 j
25]= "I"; (88-
73 1.84Stp4*p4
:18: if fl-gSJ
9 t. 0 + 3
19: if P 3 j i f
Rf [25»25]#"2";
if P 1 > 7 2 ? P 4 ( P 1 -
r 1 8 3 12 * P 4 I ..i FI P 2
: 2 9 : if D $ C 2 5 j
25]r'2"Jif Pl>7
2 J P 4 ( P 1 -- 1 9 1 3 12 *
P4
221: if Pl>=R
and Pi ( = 3;P4/
t n t ( Q / i Q 3 -* p 4
; 2 2 : if P 1 ; = U
and Pl<=V5p4/
t. n t i T -' 1 3 3 + P 4
; 2 3 : r 81 P 2 P 4
124: " eva 1 ' :P C2 ?
23 + l8-28-+fi[13 ?
P C 2 t 3 3 + 1 8 - 2 8 -> fl [
,. -I
5P
26: r 8 1 188(1-
r ( R [ 4 3 fl [ 1 ] - R [ 2 3
fl L 3 3 3 3
P
;t
j
0
n
L!
- ui
p
+
3
'_ ,2>
n
|: -~i
1
'H
:3
r
3
[
P
3
8
[
i
9
2
iTi
P
3
8
;-;
1
I
I~;
^
3
+
1
P
J
1
*
',
P
6
.^:
jh
*
J
n
)
*
le
) O
'-' ?
[3
p4
0
3 'J
r-1 i'
C"
3 3
Pb
P 3
P9
1
f
d
$ [
» 1
|!
d
3
4
[
3
J
y
r
~i~
a
3
T
1
1
r
,'~_
i
i.o
i
+
3
1
-+
U
r
P
P
P
i"
i
=J
i'
i
8
1
+
3
jl
p
'[
i
s
2
o
8
*^.
i
nd
j i
H-
3
n
t-'
(
-+
1^
+
.-,
5
^
(
P
P
P
t.
t.
5
1
~i
8
8
1
3
3
J
P
C
£
H
11
r
t.
6
)
P
1
-+
n
~i
i
,
+
P
8
n
3
-+
C2j
q
L-i -4 n
28^
P55
C2»
3 -*P
_ .4 .
r-' "} '
P!P
p7p
p4p
9
if
t
t ( v
3 . 3
W
P
8
i
j_
i"
4
n.
3
-------
f iU";i:it.r (Z) 5
s p c. 1 ? P r t. " t i ,v, e
2345 f o r J = ft '' r Q +
117 to E/r0 + 1 1 7
235s ' d o. T. ' i J , u 3
0 } -> r 2 ? r 0 i J - 1 1 7)
*rl
3 3 6 « y r t 16.6?
r-1 3 r 2 j n e x t J 3
2 3 7 : " h e a d r " 5 y r t
1 6 . 9 3 D $ [ 3 3 41 3
D*[5<63 3D$El3
21 ,D$[7jS] 3DSE9
5 10] D* [1 1 3 121 3
2 3 3 : f ii t " fi Z " j
f6.I?"EL"jf5.15
y r t 1 6 3 r 1 3 / 1 0 3
r 1 4.--1 0
2 3 9: re t
240: " -3P r '' i H
'9prt' Cli 3 SPC
241: if '9 p r t ' ( 2
242: ret.
243: " -g P r t " : if
P 1 1 3 i f Q ? w r t.
1 6 . 2 3 P 1 3 Q ! y r t
1 6 . 13 R 3 3 ! r e t. 1
244: if T 5 wr t
1 6 . 2 3 P 1 ? T 5 w r t
16. 13 U 3 Vjr e t 1
245: r e t 0
246: "r aPr " : i f
not P C13 2]? r e t
247: prt " P_i c k i n
5 a t" ! '.o i-" t 16.53
P L13 2 ] 3 " n e o. r "!
yrt 16.53FC13
3 ] 5 " f a r " 3 r e t
248: " P " :P rt
Hf[l3 16J j ret P!
249? "d":dsp
H $ C13 3 2 ] 3 r e t P 1
250; "c.a" : H$o.:','$ C
P! 3 PH-P2-11 +fi£;
251': "la":V$Cplj
P 1 + P 2 - 1 ] + ft $
252; if P 9 = 3 5
P 3 * P 7 5 j ITI P 3
-------
P3 + P4- 1I *fl$ j if
P y = b ? P D * P 7 5 o ivi P
I = ., n j-l .fc l'l ! I .-( [ _ IT
. .j T- ri + ;: v * L P .j j
P 5 -i- P b - 1 j 4 fl $
55: j ri P P 7 +1
56; RIS," QFF"*fi
* j J f * P 3
? J f i P 2
258: Fm:""+fl*
259: ret P 7
2605 "e":f x d S !
d s P " E n t P r " i fl -|
? e n i- ' 5 H ? j r e t-
261: "ea":c-11
p ' ? i f 1 e n ( fl $ ) <
= P 1 ? r t' t. 1
c t ii: be' e P ? d s P
e n t e r " & s t r ( P 1
) i:" c h a r a c t e r s
o n 1 y ! " J 1,1 a i t-
1 5 y 0 H r e t 8
-Z-'J * " e n : " It o f
1 & fl * * fl $ j c 1 1
'*';fl*Cl?Pl]^fl$
? r e t a b = ('., a 1 ( fl $
) i
5b4s " P y ' 5 G 1 1
' e ' j fl * C1 j P 1 ] * fl $
? r e t o. b s i y a 1 ( fl $
5 j
?65: "ey":dsp
H f ? e n t " " ? fl $ 5
i f G a P i fl ± ) = " H 0 "
j ret 8
i6 6 : if G a P C fl $) =
"YES"5 ret 1
!; 6 7 : "yes o r
n o'? " ^ fl $ j .j M P - 2
i! 6 3 : " s s " : " ? o. t- e
" & s t r ( p 1 ) ;i; fl i -* fl $
j p r n d ( ' e y ' ( 5) »
P 2 - 3 ) -f P 1 j r e t P 1
i 6 9 : ' t 0 ": 1 - d r n d
(t n t ( y a 1 ( D $ [ 2 6 ?
26] ) .3398)i l)*r
7? r 1 3 * r 8 j r 1 4 * r 9
' 7 0 : for 1 = 146
t. o 3 1 6 ? IT t' O r I. 1
2 8 ? n u f i ( D $ [ I ] i j ';
= 250? - j f i P 3
: 71: next I
-------
72' 1 b 7 + i n t ( 2 1 0
r 7 ) f r 1 6 ? d s P
" T 9 n o t f o u n d .
Set to 718 ns. "
273: if P o r ( 1 2 S ?
nufl(D$CI-13 ))> =
e o r i 1 2 3 ? n u ITI i D i- [
I ] 3 t j . j i'i P 2
75: I + 1 -j- r 195
e n t " i t n. <- k =. e o. ?
c h -i- 1- o. r t t i ivi e : "
j r 1 1 j i n t ( r 7 r 1 1 )
+ 1 1 7 * r 1 1
76= for I = r 1 1
to 2 1 1 7 ? i f P o r C
123? r: u H ( D $ [ 1 1 J)
: = 2 5 0 j J r i P 3
77: n e x t. I
7 3 ' d s P " S t o. r. k
n o t f o u n d . " 5
i t P
79: if P o r ( 1 2 3 ?
n u fi C D $ C I - 13 ) ) > =
e o r ( 1 2 3 ? n u Ft ( D $ C
I J ) j J J IM P 2
30: I-Ui;.inP -
j_
281: ( I - 1 1 b J -
r 7 -> r 1 1 ? . 1 4 9 3 9 6 2
r * r i
232: p r t " T 6
i s " j i r 1 0 - 1 1 7 J /
r 7 5 P r t " S t o. ,- k
i =. ", j r 1 1 5 P r t
" d i s t o. n o e " 3 r 1 2 ?
s t P
233:_ "plot 1 " : e-rit
" E n t e r N a x
t i IM e s c o. le ( n s 3
" j N
234: P n t " E n t e r
v\ i n plot t i JM e
235: P n t "Enter
i'i a x P 1 o t t. i jv, P
2 3 6 5 e n t " F i r s t
t i i t :' " j r 2 j L o. s t
f i le?" ? r4
-------
2 8 7 : s f -5 9 3 e n t
" C o j-.-i p P n =. a t e ? " ?
fi i 3 if c o. P ( fl $ C1 j
1 ] j = " Y " 3 c f -=i 9
1.95? 1.5? .8 ? 905
ell 'Posit ion' (
r£)
2 3 9 s for L = 0 t. o
9 4 3 s c 1 -259?
290= for I= 2 S L
to 2 0 f L +1 J - 1
291; Pit 2503-W/
8 . 5 ? 1
292: if r2 +I> r4 3
s t P
293: ell 'r e o d9'
( r 2 - I )
294» w ' ( 0 ) -> Q j
Ibl Dt [?33]ii": "
& DI E 9 3 1 0 ] & " : " & u
JCll ? 12]
295: for K = r5/
1 0 t o X / 1 0
296^ ' d a. t. ' i K +
1 1 7 ? Q 3 y i -+ r 0
297: " P 1 >. 3 " : i f
r 0 > 255? £ 5 5 * r 9
298: pit. 2 5 0 - r 0 5
i 0 K
2 7'-": n s ':. t K ! P 8 ri ?
o f s 25030
300: n e xt I? be e P
? 10 o. 11 2 y y y ? b & 8 P
3 wa it-1 2000 3 beep
j s t P
3015 n e x t L 3 s t P
302: "3d":wtb
303: dsp "Open
s h u 11 e r 3 d e P r e s
s o o n t , " j s t. p
304: ell 'ask
f i U'
305: e nt " E n t e r
n u n b e r o f f i 1 e s
^"jrlSJif rl3>2
'~J b 3 j ivi P 0
3 06: e n t " S tart
s i.ij e e P t i IYI e o. t
'/ n s " 3 r 1 7 5 i n t i. >
1 r 1 7 j -+ r 1 7
3Q7: for L = 0 to
r!3-l
3 0 8 : w t b 7 U 5 3 L
-------
3Q9: ell ' read 9'
(rib) ? r 1 6 H- i * r 1 6
? ;i i...i ' [ 0 ) * V\
310: for 1=0 to
-i cr
~ . i . !
311: wt b 7 0 4 ? I
.5i255-'dn.t. ' (1 +
1 1 7 + r 1 7 ? U ? 0 ) )
3 i 3 : n e x t I
314: i,jt. h 706?255
315: ri e x t L 5 s t P
316: "a s k f i 1 e " :
dsp "Load 9-
t r o. e k t a P e ?
P r e s s e o r: t. " j
st p
317: e n t "S t a r t
a t f i 1 e? " ? rib?
ell ? P o s i t i o n ' i
r-16) ? r e t
3 1 3 : " r e e o r d 9 " : "
"*D$C13?24]I
f xd 0;e 1 1 'file
o de' i G ? H 3 17)
319: ell 'filood
e ' ( C ? U ? 1 3 ) loll
!f i Icode' (GC13 ?
GE23 ? 21)
3 2 0 : f i'i t ? e 1 1
? w P t s T. ' ? i f bitC
4 ? r d s e 7 0 2 0 1 ) ) ?
? t o + 2
321: i.,.i ait 100!
i f no t bit C4 ?
r d s (70201) 3 ?
q t, o " e r ?- 9 "
322: wr t 70201?
"ED 256?1032?
C C 0 ? W R 2 "
3 2 3: t f r " d a t o." ?
70202?2164
324: i ...i r t 70201?
" UF "fell 'eotst
' j D + l -r D j ret
325: "P n si t i o n":
f PI t ? i f b i t i 0 ?
r d s ( 7 0 2 0 1 ) ) ?
a s P V * [ 3 9 3 ? 4 1 5 3
? = t P
.326: if P 1 < 1 0 ?
31 o " P o s i 1 "
32 7: wr t 70201?
11 S F 3 j 1"
-------
d d ; 1t n o
4 ? r d s ( 7 8 2 8 1 i) ?
j IM P 8
29: if 'boi, st' ?
1 ->p2 ? ? t o " PCS i 2
3 Q : I..J r t, 7 9 2 8 1 ?
'SF 1 j cl 1 ? f-s-Q
d9'
31; vn.l(D$[13?
1 71 ) + 1 -< P 2 ? i f
P 1 > = P 2 5 -31 o " P o s
32= if 5p2M2pl
5 ? t. o " P o s i 1 "
3 3 3 ' f x d 8 ? " S F " >
R $ ? ri $ !;: S t f ( P 2 -
P i + i) * H $! ft $ 2.:" j
153F 1"->R*
3 3 d !.: i r t. 78201?
Ri? ret
3 3 5s " p o s i l" : i,i r t
70281? " RW"j
3 3 6 : if n o t b i t (
4 ? r d s i 7 8 2 8 1 ) i ?
.j n P 8
3 3 7 : " P o s i 2 " : if
P 1 \ ~ P ii ? P ii * P 1 ?
r e t
3 3 S : f o r J = P 2 + 1
t o P 1 ? i.'j r t 7 8 2 8 1
j"SR 1"
339: if 'Po f ts t '
i J ) ? J * P 1 j s t p
349; if 'P o t st' (
. J j ? J - 1 + P 1 j s t P
341= 1,1 r t 78281?
" S F 1 " ? i f e o t. s
t ' i J J ? J ^ P 1 ? s t P
342: n e x t J 5 r e t.
343: "endfile":f
ivi t ? !...i r t 78201?
"WF5SF 2?1JSF
1 " j i f ' e o t s t ' ( P
1 ) 5 s t p
344: r e t
345: " r e ,3. d 9 " : f PI t
? i.'j r t, 7 0 2 8 1 ?
11 r- i~i * « i~- r~i H i " ; i-
: K i ? o r. 1 ? 1 ? 1 t
' 8 O f t S t ' ( P 1 ) ?
Pi-l-tpl JStP
346: if 'e o t s t' (
s t P
-------
j 4 7 : w r t 7 0 2 8 1 ?
"ED 2 5 6 ? 1 0 3 2 ? 0 ?
C C 0 5 R R 2 " 5 b u f
" d a t 0. "
343: t f r 70282?
" do.t. n. " ? 1 032
34'?: t f r 70202?
" d o. t o." ? i 0 3 2
350: c ivi d 7 ? " - " ?
w r-1 7 0 2 0 1 ? " S F
i" ? i f ' e o t s t.' i; p
l j ; s t P
351: r e t
352: "bc't £t ": f rit
? r 8 d 7 0 2 0 1 ? P 1 ?
P 2 ? P 3 j P 4 S if
b i t i 3 ? P 2 J 5 r e t 1
3 5 3 : r 8 t 0
354: " 1,1 P t s t. " : f n t
? i f b i t ( 3 ? r d s (
7 0 2 0 1 ) j ? d i P
V$L 3 2 6 ?343] ?
._-; r~j TJ a f" E't-
:3 56: " 8 o f t s t " : f n
t ? i f n o t b it (4
? r d i ( 7 0 2 0 1 J J ?
j ivi P 0
357: f xd 0
3:53: if b i t C 1 ?
r d s ( 7 0 2 0 1 ) ) ?
d£P Vt [345?371]
S: s t r ( p l j 3 w f-1.
70201? " S F 2 ? 1 j
SFT'Jret 1
3 o 9 : r t11 6
-' b 0 » 8 o t s t t' I'M t
5i f no t bit ( 4 ?
r.ds (70201 ) J j
j n P 9
3 6 1 : f x d 0
362: if b i t ( 2 ?
r a s i 7 0 2 0 1 ) ) ?
d s P V $ C 3 7 3 j 3 9 i 3
& s t r ( P 1 i ? u r t
70201 ? "SF2j 1J
SF"iret 1
363: r 81 0
3 6 4 : " f i 1 c o d e " : s
t r ( P 2 3 -> fi $ ; R $ [ 2 ]
-K!?LP3 + 3? P3 + 3] ?
if P 2 > 9 ? R 5 C 21 * D
j [ P 3 -i- 2 ? P 3 + 3 J
-------
365: if P 2 > 9 9 j
fi $ [ 2 ] + D £ C P 3 + 1 ?
P 3 + 3 ] 5 i f P 2 > 9 9 9
3 6 6 s ret
367: "err9":dsp
"9-TRflCK ERROR!
! ! ' 5 s t P
-------
: i = * o o n t" I i s "
i'2' * c o n t. " c o. 1 "
i 3 i *r. ont" r sc "
f4" *co nt"s ou"
ft- * co n t"r 8 f "
i ? i * c o n t.' e n t "
f 8 " * c o n t." 1 £ o P t "
f y i -r r n n t. ' -3 n. t. "
f I 4
c o n t -9 o
c o n t. " t. £i "
c o n t " ? n 2
c o n t " o d "
t' n c t
t-
* -+ p [ 1 j 2 ] 5 £ f
f 18: * c o n t " f i 1 "
f i 9 ! * ? s b " i d P r 3 "
f d 8 * c o n t. " 1 s f i 1
* 0 0 n t " t - £ '! U
"
* c o r; t " c 1 k "
*c ont " s t o. r t
-------
B(b) Omega-5 Lidar Data Analysis Program (FORTRAN-4+)
-------
OMEGA-t LIDAR. OPACITY DATA ANALYSIS PROGRAM. DESCRIPTION OF COMMANDS.
^
:A :AC ACCEPT) STORE THE LATEST CALCULATED OPACITY IN THE REPORT ARRAYS,
AND ADD THE INFORMATION TO THE OUTPUT FILE IF ONE IS OPEN.
^
: AU AUTO FLAGi CHANGES THE STATE OF THE AUTO FLAG. PICK POINTS ARE
SELECTED AUTOMATICALLY OR MANUALLY DEPENDING ON THE STATE OF THE FLAG.
*-\
: AV AVERAGE! SPECIFY THE AVERAGING INTERVAL IN MINUTES.
:BA BACK TO PLUME) RESTART THE PICK POINT SEARCH AT THE PLUME.
:B :BE BEGIN REPORT INTERVAL; INITIALIZE REPORT COUNTERS. IF AN OUTPUT FILE
IS NOT OPEN, ONE MAY BE OPENED TO SAVE THE REPORT ARRAYS BEFORE THEY ARE
LOST. A NEW OUTPUT FILE MAY THEN BE SPECIFIED FOR FUTURE DATA.
:C :CO COMP FLAGi CHANGES THE STATE OF THE COMP FLAG. DATA IS COMPENSATED
OR NOT DEPENDING ON THE STATE OF THE FLAG.
:D :DA DATA; DATA SHOT WILL BE USED FOR DISPLAY, ID, AND LIST.
:DI DISPLAY; DISPLAY ON THE VT100 SCREEN THE REFERENCE SHOT OR DATA SHOT,
WHICHEVER IS SELECTED.
:DX DISPLAY-Xi SELECT THE X-RESOLUTION FOR THE DISPLAY.
:DY DISPLAY-Yi SELECT THE Y-RESOLUTION FOR THE DISPLAY.
:E :EN END REPORT INTERVAL) THE OUTPUT FILE IS CLOSED. IF A FILE IS NOT OPEN,
ONE MAY OPENED TO SAVE THE REPORT ARRAYS BEFORE THEY ARE MODIFIED.
THE REPORT ARRAYS ARE THEN PURGED SO THAT ONLY THE VALUES NEEDED FOR
THE LAST RUNNING AVERAGE ARE INCLUDED. A NEW OUTPUT FILE MAY THEN BE ->
SPECIFIED TO SAVE THE UPDATED ARRAYS AND ANY ADDITIONAL RESULTS.
:EX EXIT; CLOSE THE OUTPUT FILE, RESTORE THE VT100 TO ITS NORMAL STATE, ^
AND EXIT THE PROGRAM.
:F : FA FAR) IN MANUAL MODE, SET THE FAR PICK POINT. -N
IN AUTOMATIC MODE, MOVE THE FAR PICK POINT AWAY FROM THE PLUME TO THE
NEXT RELATIVE MINIMUM.
>
:FI FILE NUMBER) SELECT THE "FILE" OR "SHOT" NUMBER OF THE NEXT SHOT TO BE
READ FROM THE SOURCE FILE.
^
:H :HE HELP) PROVIDES ASSISTANCE FOR THE USER.
: ID ID HEADER) TYPE THE HEADER INFORMATION FOR THE REFERENCE OR DATA SHOT. ->,
WHICHEVER IS SELECTED.
:L :LI LIST) PRINT THE HEADER INFORMATION AND THE RAW LIDAR DATA FROM EITHER ^
THE REFERENCE OR DATA SHOT, WHICHEVER IS SELECTED.
:N :NE NEAR; IN MANUAL MODE, SET THE NEAR PICK POINT. ^
IN AUTOMATIC MODE, MOVE THE NEAR PICK POINT AWAY FROM THE PLUME TO THE
NEXT RELATIVE MINIMUM.
-N
:NO NO REFERENCE; A REFERENCE SHOT WILL NOT BE USED IN THE OPACITY
CALCULATION.
\
: OF OLD FILE) TO SPECIFY AND READ IN A FILE CONTAINING RESULTS SO THAT
MORE DATA MAY BE ADDED TO IT.
O
0 -OP OPACITY/ CALCULATE AND DISPLAY OPACITY.
-------
: OU OUTPUT FILE) SPECIFY A NEW OUTPUT FILE, OPEN IT, AND WRITE THE REPORT
ARRAYS IN IT. IF A FILE IS ALREADY OPEN, IT IS CLOSED.
: PK PICK POINTS) IN MANUAL MODE, SET BOTH PICK POINTS.
IN AUTOMATIC MODE, MOVE BOTH PICK POINTS AWAY FROM THE PLUME TO THE
NEXT RELATIVE MINIMA.
:P :PR PRINT REPORT) PRINT THE RESULTS IN THE REPORT ARRAYS ON THE LINE
PRINTER IN SUMMARY FORMi AND, IF DESIRED, IN REPORT FORM.
:RC RN, RF CALCULATE) CALCULATE AND DISPLAY RN AND RF.
:R :RD READ DATA) READ A NEW DATA SHOT FROM THE SOURCE FILE.
:RE REFERENCE) REFERENCE (AMBIENT AIR) SHOT WILL BE USED FOR DISPLAY, ID,
AND LIST.
:RR READ REFERENCE) READ A NEW REFERENCE SHOT FROM THE SOURCE FILE.
:RS RESID FLAG) CHANGES THE STATE OF THE RESID FLAG. RESIDUAL PLUME
CORRECTION TO THE OPACITY IS MADE OR NOT, DEPENDING ON THE STATE OF THE
FLAG.
:S :SO SOURCE) TO SPECIFY AND OPEN A SOURCE FILE.
:ST START) TO INITIALIZE ALL PROGRAM VARIABLES AND FLAGS.
:SL SEARCH LIMITS) SET THE BOUNDS FOR THE AUTOMATIC PICK POINT SEARCH.
; TO TIME REFERENCE) SET TO, THE TIME THE LASER FIRES. TO MAY BE SPECIFIED
OR DETERMINED AUTOMATICALLY FROM A TO SHOT.
:T2 T2 FLAG; CHANGES THE STATE OF THE T2 FLAG. T-SQUARED CORRECTION IS
EITHER PERMITTED OR SUPPRESSED, DEPENDING ON THE STATE OF THE FLAG.
: Y : YE YES REFERENCE; THE REFERENCE SHOT WILL BE USED IN OPACITY CALCULATIONS.
-------
FORTRAN IV-PLUS V02-51E
OMEG5A. FTN /TR: BLOCKS/WR
10:37: 50
04-MAY-81
PAGE 1
0001
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
PROGRAM OMEGAS
THIS PROGRAM IS USED TO ANALYZE OMEGA-1 LIDAR OPACITY DATA.
LIDAR SHOTS ARE DISPLAYED ON THE VT100 TERMINAL SCREEN AND
OUTPUT DATA MAY BE PRINTED IN TABULAR FORM AND/OR
SAVED FOR FUTURE USE.
THE PROGRAM IS ORGANIZED INTO SEVEN SEGMENTS: A ROOT SEGMENT CONTAINING
PROGRAM CONTROL. ALL DATA, AND THE MOST COMMONLY USED SUBROUTINES. AND
SIX MUTUALLY INDEPENDENT SEGMENTS WHICH SHARE THE SAME MEMORY. SEE THE
MEMORY MAP FOR DETAILS.
COMMANDS ARE GIVEN TO THE PROGRAM IN RESPONSE TO A COLON
PROMPT(: ).
AVAILABLE COMMANDS ARE:
:S :SO SOURCE; TO SPECIFY AND OPEN A SOURCE FILE.
: OF OLD FILEi TO SPECIFY AND READ IN A FILE CONTAINING RESULTS
SO THAT MORE DATA MAY BE ADDED TO IT.
: ST START) TO INITIALIZE ALL PROGRAM VARIABLES AND FLAGS.
: RE REFERENCE; REFERENCE (AMBIENT AIR) SHOT WILL BE USED FOR
DISPLAY, ID, AND LIST.
: D :DA DATA; DATA SHOT WILL BE USED FOR DISPLAY, ID AND LIST.
: R : RD READ DATA) READ A NEW DATA SHOT FROM THE SOURCE FILE.
: RR READ REFERENCE) READ A NEW REFERENCE SHOT FROM THE SOURCE FILE.
: AU AUTO FLAG; CHANGES THE STATE OF THE AUTO FLAG. PICK POINTS ARE
SELECTED AUTOMATICALLY OR MANUALLY DEPENDING ON THE STATE OF THE
FLAG.
:SL SEARCH LIMITS) SET THE BOUNDS FOR THE AUTOMATIC PICK POINT
SEARCH.
:BA BACK TO PLUME; RESTART THE PICK POINT SEARCH AT THE PLUME.
:N :NE NEAR) SET THE NEAR PICK POINT.
:F :FA FAR) SET THE FAR PICK POINT.
:PK PICKS) SET BOTH PICK POINTS.
:FI FILE) SELECT THE "FILE" OR "SHOT" NUMBER OF THE NEXT SHOT
TO BE READ FROM THE SOURCE FILE.
: ID ID) TYPE THE HEADER INFORMATION FOR THE REFERENCE OR DATA
SHOT, WHICHEVER IS SELECTED.
: L :LI LIST) PRINT THE HEADER INFORMATION AND THE RAW LIDAR DATA
FROM EITHER THE REFERENCE OR DATA SHOT, WHICHEVER IS SELECTED.
: NO NO REFERENCE) A REFERENCE SHOT WILL NOT BE USED IN THE
OPACITY CALCULATION.
:Y :YE YES REFERENCE; THE REFERENCE SHOT WILL BE USED IN THE OPACITY
CALCULATION.
:T2 T2 FLAG; CHANGES THE STATE OF THE T2 FLAG. T-SQUARED
CORRECTION IS EITHER PERMITTED OR SUPPRESSED. DEPENDING
ON THE STATE OF THE FLAG.
: C : CO COMP FLAG; CHANGES THE STATE OF THE COMP FLAG. DATA IS
COMPENSATED OR NOT DEPENDING ON THE STATE OF THE FLAG.
: TO TO) SPECIFY A NEW TO VALUE. (DEFAULT 710 NANOSECONDS)
; RS RESID FLAG) CHANGES THE STATE OF THE RESID FLAG. RESIDUAL
PLUME CORRECTION TO THE OPACITY IS MADE OR NOT DEPENDING ON
THE STATE OF THE FLAG.
:DI DISPLAY) DISPLAY ON THE VT100 SCREEN THE REFERENCE SHOT
OR DATA SHOT, WHICHEVER IS SELECTED.
*».
S
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR:BLOCKS/WR
10:37:50
04-MAY-B1
PAGE 2
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
DX DISPLAY LIMITS; SELECT THE X-RESOLUTION FOR THE DISPLAY.
DY DISPLAY LIMITS; SELECT THE Y-RESOLUTION FOR THE DISPLAY.
RC RN, RF CALCULATE; CALCULATE AND DISPLAY RN AND RF
0 : OP OPACITY; CALCULATE AND DISPLAY OPACITY.
OU OUTPUT FILE; SPECIFY THE NEW OUTPUT FILE, OPEN IT. AND WRITE
THE REPORT ARRAYS IN IT. IF A FILE IS ALREADY OPEN, IT IS
CLOSED.
B : DE BEGIN REPORT INTERVAL; INITIALIZE REPORT COUNTERS. IF AN
OUTPUT FILE IS NOT OPEN, AN OUTPUT FILE MAY BE OPENED TO SAVE
THE OLD DATA FROM THE REPORT ARRAYS BEFORE IT IS LOST.
A NEW OUTPUT FILE NAME IS THEN REQUESTED, AND IF PROVIDED,
THE FILE IS OPENED.
:E : EN END REPORT INTERVAL; THE OUTPUT FILE IS CLOSED. IF A FILE
IS NOT OPEN, ONE MAY BE OPENED TO SAVE THE REPORT ARRAYS BEFORE
THEY ARE MODIFIED. THE REPORT ARRAYS ARE THEN COMPRESSED
SO THAT ONLY THE VALUES INCLUDED IN THE LAST RUNNING AVERAGE
ARE INCLUDED. A NEW OUTPUT FILE NAME IS REQUESTED. IF ONE IS
PROVIDED, THE FILE IS OPENED AND THE CURRENT REPORT ARRAYS ARE
WRITTEN IN IT.
: AV AVERAGE; SPECIFY THE AVERAGING INTERVAL IN MINUTES.
: A : AC ACCEPT; STORE THE LATEST CALCULATED OPACITY IN THE REPORT
ARRAYS, AND ADD THE INFORMATION TO THE OUTPUT FILE.
:P :PR PRINT; PRINT THE RESULTS IN THE REPORT ARRAYS ON THE LINE
PRINTER IN SUMMARY FORM, AND IF DESIRED IN REPORT FORM.
:EX EXIT; EXIT THE PROGRAM AND RESTORE THE VT100 TO ITS NORMAL
STATE.
: WD SET THE TERMINAL TO DISPLAY 132 CHARACTER LINES.
FOLLOWING ARE THE DEFINITIONS OF THE ARRAYS, FLAGS, AND VARIABLES
USED IN THE PROGRAM.
IAUXO2, 3) THIS ARRAY STORES THE HEADER INFORMATION FOR EACH LIDAR
SHOT. THE SECOND INDEX INDICATES WHICH SHOT: 1 IS THE
DATA SHOT, 2 IS THE REFERENCE SHOT, AND 3 IS USED
INTERNALLY BY THE PROGRAM FOR SEARCHING WITHOUT
DISTURBING THE DATA OR REFERENCE. THE INFORMATION
STORED IN EACH ELEMENT IS DEFINED AS FOLLOWS:
1 MONTH
2 DAY
3 YEAR
4 HOUR
5 MINUTE
6 SECOND
7 CURRENT FILE NUMBER
B REFERENCE SHOT FILE NUMBER
9 GATE CALIBRATION SHOT FILE NUMBER
10 AMPLIFIER TYPE: LO, LI, T2
11 SAMPLE INTERVAL IN NANOSECONDS
12 VOLTAGE RANGE IN MILLIVOLTS
13 GATE 1 START TIME IN NANOSECONDS
14 GATE 1 STOP TIME IN NANOSECONDS
15 GATE 1 ATTENUATION IN TENTHS OF A DO
16 GATE 2 START TIME IN NANOSECONDS
17 GATE 2 STOP TIME IN NANOSECONDS.
18 GATE 2 ATTENUATION IN TENTHS OF A DO
-------
FORTRAN IV-PLUS V02-SIE
DI1EG5A. FTN /TR: BLOCKS/WR
1O:37:50
04-MAY-81
PAGE 3
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
19
20
21-52
IDAT(2048. 2)
REPU4, 136)
IREPU2, 136)
1
2
3
4
5
6
7
B
9
10
11
12
13
14
1
2
3
4
5
6
7
B
9
10
11
12
IOFILE(9)
ISFILE(9)
IRFILE(9)
IDISPU32, 2)
ICOMC51)
TITLE(33>
SCR(20)
ISCR(20)
BDATC9)
AZIMUTH ANGLE IN TENTHS OF A DEGREE
ELEVATION ANGLE IN TENTHS OF A DEGREE
64 CHARACTERS OF ID INFORMATION
LIDAR DATA. THE SECOND INDEX INDICATES WHICH SHOT
1 FOR DATA AND 2 FOR REFERENCE OR AMBIENT.
THESE TWO ARRAYS ARE THE REPORT ARRAYS. FOR EACH
CALCULATED OPACITY 14 FLOATING POINT NUMBERS AND
12 INTEGERS ARE STORED. INFORMATION FROM 136 SHOTS
CAN BE RECORDED. THE FLOATING POINT NUMBERS ARE STORED
IN REP(14,I) AS DEFINED BELOW
DATA AT NEAR PICK POINT
STANDARD DEVIATION OF DATA AT NEAR PICK POINT
REFERENCE AT NEAR PICK POINT
STANDARD DEVIATION OF REFERENCE AT NEAR PICK POINT
DATA AT FAR PICK POINT
STANDARD DEVIATION OF DATA AT FAR PICK POINT
REFERENCE AT FAR PICK POINT
STANDARD DEVIATION OF REFERENCE AT FAR PICK POINT
OPACITY NOT CORRECTED FOR ANGLE
OPACITY CORRECTED FOR AZIMUTH AND ELEVATION ANGLE
BO, (STANDARD DEVIATION OF OPACITY)
RUNNING AVERAGE OF OPACITY
RUNNING AVERAGE OF SO
MINUTES IN CURRENT RUNNING AVERAGE
THE INTEGERS ARE STORED IN IREPU2, I) AS FOLLOWS:
MONTH
DAY
YEAR
HOUR
MINUTE
SECOND
FILE NUMBER
REFERENCE FILE NUMBER
NEAR PICK TIME IN NANOSECONDS
FAR PICK TIME IN NANOSECONDS
NUMBER OF OPACITIES IN CURRENT RUNNING AVERAGE
NUMBER OF SO'S IN CURRENT RUNNING AVERAGE
OUTPUT FILE SPECIFICATION
SOURCE FILE SPECIFICATION
SAVE FILE SPECIFICATION
DISPLAY ARRAY. THIS ARRAY STORES DATA IN FINAL FORM
FOR OUTPUT TO THE SCREEN. THE SECOND INDEX INDICATES
WHICH SHOT: 1 FOR DATA, 2 FOR REFERENCE
THIS ARRAY CONTAINS ALL THE VALID COMMANDS
THIS ARRAY IS USED TO STORE THE TITLE OF THE REPORT
THESE TWO ARRAYS ARE SCRATCH ARRAYS USED FOR VARIOUS
PURPOSES BY THE PROGRAM.
THIS ARRAY IS USED TO STORE THE CURRENT DATE IN NINE
ASCII CHARACTERS. BYTE OR LOGICAL*! DATA TYPE
S.
s
-------
FORTRAN W-PLUS VO2-51E
OMEG5A. FTN /TR: BLOCKS/WR
10:37:50
04-MAY-81
PAGE 4
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
THE FLAGS ARE DEFINED AS FOLLOWS: (ALL BYTE OR LOGICAL*! DATA TYPE)
AUTO IF SET, PICK POINTS WILL BE SELECTED AUTOMATICALLY. IF RESET,
PICK POINTS WILL BE SELECTED MANUALLY.
AVE IF SET. A RUNNING AVERAGE WILL BE CALCULATED.
COMP IF SET. DATA WILL BE COMPENSATED FOR RANGE SQUARED, LOG
AMPLIFICATION, ZERO OFFSET AS INDICATED.
DATA IF SET, THE DATA SHOT WILL BE USED FOR THE DISPLAY, ID,
AND LIST COMMANDS. OTHERWISE THE REFERENCE SHOT WILL BE USED.
DISP IF SET, THE DATA DISPLAY IS ACTIVE.
FIRST SET TO INDICATE THE FIRST TIME THROUGH THE PROGRAM.
LIST IF SET, THE SUBROUTINE 'FILIST' WILL PRINT LIDAR DATA AS WELL
AS HEADER INFORMATION. IF RESET, ONLY HEADER INFORMATION IS
PRINTED
NEWD SET TO INDICATE NEW DATA IN THE DATA ARRAY. DISPLAY WILL NEED
TO BE CHANGED.
NEWR SET TO INDICATE NEW DATA IN THE REFERENCE ARRAY. DISPLAY WILL
NEED TO BE CHANGED.
NEWO A NEW OPACITY VALUE HAS BEEN CALCULATED WHICH IS NOT YET IN THE
REPORT ARRAYS.
OUT IF SET, AN OUTPUT FILE IS OPEN.
PICK SET TO INDICATE BOTH PICK POINTS WILL BE CHANGED
PLUME IF SET, THE PLUME LOCATION HAS ALREADY BEEN FOUND FOR THIS SHOT
REF IF SET, THE REFERENCE WILL BE USED IN THE OPACITY CALCULATION,
OTHERWISE IT WILL NOT.
RESID SET TO INDICATE RESIDUAL PLUME CORRECTION WILL BE MADE
RNRF IF SET, RN AND RF HAVE BEEN CALCULATED.
SCREEN IF SET, THE DISPL-AY NEEDS TO BE RECALCULATED AND DISPLAYED
SPLIT IF SET, THE DISPLAY WILL BE SPLIT WITH EACH HALF SYMMETRICAL
ABOUT THE APPROPRIATE PICK POINT.
T2 IF SET, T-SQUARED (GEOMETRIC) CORRECTION IS PERMITTED, IF RESET
IT IS SUPPRESSED.
VT100 IF SET, THE TERMINAL IS IN THE VT10O MODE (132 CHARACTERS
PER LINE, GRAPHIC CHARACTER SET, ETC. )
THE FOLLOWING VARIABLES ARE LOGICAL*! OR BYTE DATA TYPE.
OCR ONE CHARACTER SCRATCH VARIABLE
ESC ONE CHARACTER CONTAINING ASCII ESCAPE CODE
THE FOLLOWING VARIABLES ARE INTEGERS.
1C USED TO ACCEPT CHARACTER INPUT FROM THE KEYBOARD AND AS
THE PLOTTING CHARACTER.
ID USED TO SELECT DISPLAY, 1 FOR DATA, 2 FOR REFERENCE
IERR SUBROUTINE ERROR CODE. IF NOT ZERO, AN ERROR HAS OCCURRED.
IF FILE OR SHOT NUMBER FROM SOURCE FILE.
IFAR FAR PICK POINT IN NANOSECONDS AS ENTERED BY OPERATOR
IHRES HORIZONTAL DISPLAY RESOLUTION, DATA POINTS PER DISPLAY POINT
IL SELECTS LINE ON THE SCREEN FOR PLOTTING
INC SAMPLE INTERVAL IN NANOSECONDS
INDEX POINT IN DATA ARRAY USED FOR NORMALIZATION
IOFF ZERO OFFSET FOR PLOTTING ON THE SCREEN
IOP OPACITY ROUNDED TO THE NEAREST INTEGER.
IOPSIO SO (STD. DEV.) ROUNDED TO THE NEAREST INTEGER.
IP PLOT VARIADUE. O<=IP='<&4
-------
FORTRAN IV-PLUS V02-51E
OME05A. FTN /TR:BLOCKS/WR
10:37:5O
04-MAY-81
PAGE 5
C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
IRKD ASSOCIATE VARIABLE FOR DIRECT ACCESS SOURCE FILE.
ITCNT IN REPORT ARRAYS, THE FIRST SHOT INCLUDED IN THE LATEST
RUNNING AVERAGE
ITO TO IN NANOSECONDS. (ZERO REFERENCE FOR RANGE-SQUARED CORRECTION
IVRES VERTICAL DISPLAY RESOLUTION
IWSTAT RETURNS STATUS FROM WAIT SUBROUTINE
1132 NUMBER OF DATA POINTS NEEDED TO MAKE 132 DISPLAY POINTS
J LOW INDEX OF DATA TO BE USED FOR DISPLAY
JFAR FAR PICK POINT EXPRESSED IN SAMPLE INTERVALS
JIN READ SELECT VARIABLE: 1 FOR DATA, 2 FOR REFERENCE, 3 FOR SCRATCH
JNEAR NEAR PICK POINT EXPRESSED IN SAMPLE INTERVALS
Jl HIGH INDEX OF DATA TO BE USED FOR LEFT HALF OF DISPLAY
K HIGH INDEX OF DATA TO BE USED FOR DISPLAY
KFAR MAX
A TEMPORARY VARIABLE USED IN PRINTING REPORTS
AZ AZIMUTH ANGLE IN DEGREES, USED IN PRINTING HEADER
AZSTK STACK AZIMUTH ANGLE
Al DN+1E-15, USED IN CALCULATING OPACITY
A2 DF+1E-15, USED IN CALCULATING OPACITY
A3 RN+1E-15, USED IN CALCULATING OPACITY
A4 RF+1E-15, USED IN CALCULATING OPACITY
-------
FORTRAN IV-PLUS VO2-51E
OI1EG5A. FTN /TR:BLOCKS/WR
10:37:50
04-MAY-81
PAGE 6
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
OO17
OO1B
0019
ooao
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
B
Bl
B3
B3
B4
C
CH
D
DF
DN
DSIGF
DSIGN
EL
ELSTK
OP
OPSIG
OP sun
OSIGSM
R
RF
RN
RSIGF
RSIGN
RSUM
SAVE
SAVEC
SIGSUM
STIM
SUM
TIME
VAVE
VSIN
THERE (
AND DOl
BYTE DI
BYTE Al
COMMON
COMMON
COMMON
COMMON
COMMON
10PSIG,
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
COMMON
TEMPORARY VARIABLE USED IN PRINTING REPORTS
DSIGN, USED IN CALCULATING SO
DSIGF, USED IN CALCULATING SO
RSIGN, USED IN CALCULATING SO
RSIGF, USED IN CALCULATING SO
TEMPORARY VARIABLE USED IN PRINTING REPORTS
TEMPORARY VARIABLE USED FOR SCREEN OUTPUT
TEMPORARY VARIABLE USED IN PRINTING REPORTS
AVERAGE VALUE OF DATA IN FAR PICK INTERVAL
AVERAGE VALUE OF DATA IN NEAR PICK INTERVAL
STANDARD DEVIATION OF DF
STANDARD DEVIATION OF DN
ELEVATION ANGLE IN DEGREES, USED IN PRINTING HEADER
STACK TOP ELEVATION ANGLE
OPACITY
SO (STANDARD DEVIATION OF OPACITY
ACCUMULATED OPACITIES FOR RUNNING AVERAGE
ACCUMULATED SO'S FOR RUNNING AVERAGE
VARIABLE USED TO CALCULATE DISPLAY ARRAYS
AVERAGE VALUE OF REFERENCE IN FAR PICK INTERVAL
AVERAGE VALUE OF REFERENCE IN NEAR PICK INTERVAL
STANDARD DEVIATION OF RF
STANDARD DEVIATION OF RN
VARIABLE USED TO CALCULATE DISPLAY ARRAYS
LENGTH OF RUNNING AVERAGE IN MINUTES (SPECIFIED BY OPERATOR)
MINUTES IN CURRENT RUNNING AVERAGE
ACCUMULATED SO'S FOR WHOLE REPORT
STARTING TIME OF CURRENT RUNNING AVERAGE IN MINUTES
ACCUMULATED OPACITIES FOR WHOLE REPORT
TIME OF CURRENT SHOT
OPACITY STANDARD FOR AVERAGE
OPACITY STANDARD FOR SINGLE EVENT
THERE ARE ALSO TWO DOUBLE PRECISION FLOATING POINT VARIABLES: DOUBLE,
AND DOUBL1 WHICH ARE USED IN DISPLAYING THE CALCULATED OPACITY
BYTE DISP, VT100,DATA,NEWD,NEWR,COMP,T2,REF, SCREEN, OUT. NEWO
BYTE AUTO, AVE, FIRST,RNRF,ESC,LIST,SPLIT,RESID, PLUME
COMMON VT100
COMMON /ACC1/ITCNT,STIM,SAVEC,NSIG,NAVE, OSIGSM, OPSUM
COMMON /TFLAGS/ID,DATA,SCREEN,NEWD,NEWR
COMMON /FNUM/IF
COMMON /ACC2/REF, NEWO, RN,RSIGN,RF,RSIGF,DN,DSIGN,DF,DSIGF. OP,
10PSIG,OPC
COMMON /RFLAQ/RNRF
COMMON /RESO/IHRES,IVRES
COMMON /AVGE/SAVE,AVE
COMMON /RECORD/IRKD
COMMON /NFLAGS/COMP, T2, ITO
COMMON /NPC/NOPAC,NOPAC 1,NOPAC2, OUT
COMMON /AUXIL/IAUX(52, 3)
COMMON /LDATA/IDAT(204S. 2)
COMMON /PICK2/1NC, KNEAR, K.FAR
CKS/NEAR. IFAR, AUTO, RESID, PLUME
!PORT/REP( 14, 136), IREPC12, 136)
)SPL/IDISPC 132, 2) , J, K. Kl. KNEAR1, K.FAR 1. DISP, SPLIT
-------
FORTRAN IV-PLUS V02-51E
OMEG5A. FTN /TR:BLOCKS/WR
1O:37:50
04-MAY-B1
PAGE 7
4
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
OO46
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
C
C
C
C
10
30
COMMON /OUTFIL/IQFILE<9>
COMMON /LIMITS/LIMLQ,LIMHI
COMMON /STACK/NPLUM,NSTK. ELSTK, AZSTK
COMMON /COMMAN/ICOM(51>
DATA ICOM/1HS,2HSO.2HST, 1HR,2HRE. 1HD,2HDA,2HRD, 2HRR. 1HN,2HNE, IMF
1. 2HFA,2HFI,2HID. 1HL,2HLI,2HNO, 1HY,2HYE,2HT2, 1HC,2HCO.2HTO
2. 2HDI. 2HDX, 2HPK, 1HH, 2HHE, 2HRC, 1HO, 2HQP, 2HOU, 1HB, 2H3E, 1HE,2HEN
3,2HAV, 1HA,2HAC.1HP.2HPR,2HOF,2HEX,2HAU,2HSL, 2HRS, 2HDY, 2HBA. 2HFT
4, 2HWD/
DATA ESC/"33/
VT100=.FALSE. (TERMINAL IS IN VT52 MODE
FIRST". TRUE. !THIS IS THE FIRST TIME THROUGH THE PROGRAM
ENTRY POINT FOR START ROUTINE
INITIALIZE VARIABLES AND FLAGS
DO 20 1 = 1, 156
IAUX(I,1>=0
CONTINUE
DO 30 1=1.4096
IDAT( I, 1 )«=0
CONTINUE
NOPAC=0
NOPAC1=1
NOPAC2=0
SAVE=0. 0
NAVE=0
IHRES=16
IVRES=4
AUTO=.FALSE.
RESID=. FALSE.
PLUME=. FALSE.
PICK=.FALSE.
DISP=.FALSE.
DATA= TRUE.
NEWD=.TRUE.
NEWR = TRUE.
COMP=. TRUE.
T2= TRUE.
REF=. TRUE.
SCREEN= TRUE.
OUT=.FALSE.
NEWO=.FALSE.
AVE=.FALSE.
RNRF=.FALSE.
SPLIT=. FALSE.
ID=1
IF=1
ITO=710
LIMLO=1
LIMHI=2048
NPLUM=10000
! : ST
!NUMBER OF SHOTS IN REPORT ARRAY
!FIRST SHOT FOR PRINTED REPORT
!NUMBER OF SHOTS IN PRINTED REPORT
!MINUTES IN RUNNING AVERAGE
!NUMBER OF OPACITIES IN CURRENT RUNNING AVERAGE
(HORIZONTAL DISPLAY RESOLUTION
(VERTICAL DISPLAY RESOLUTION
(PICK POINTS WILL BE SELECTED MANUALLY
!NO RESIDUAL PLUME CORRECTION WILL BE MADE
!PLUME HAS NOT BEEN FOUND
!PK COMMAND IS NOT ACTIVE
(DISPLAY IS OFF
!DATA, NOT REFERENCE WILL BE DISPLAYED
!NEW DATA ARRAY
!NEW REF ARRAY
(DATA WILL BE COMPENSATED
!T2 CORRECTION IS ALLOWED
!REFERENCE WILL BE USED IN OPACITY CALCULATION
(SCREEN NEEDS TO BE REFRESHED.
(OUTPUT FILE IS NOT OPEN
(THERE IS NO NEW OPACITY AVAILABLE
(A RUNNING AVERAGE WILL NOT BE CALCULATED
!RN AND RF HAVE NOT BEEN CALCULATED
(DISPLAY IS NOT SPLIT
(DATA ARRAY IS SELECTED FOR DISPLAY
(FIRST SHOT WILL BE READ FROM THE SOURCE FILE
(TO IN NANOSECONDS
(INITIAL VALUE FOR PLUME SEARCH
MAKE SURE TERMINAL IS IN VT52 MODE
IF(.NOT.VT100)GOTO 60
-------
FORTRAN IV-PLUS V02-51E
QMEC5A. FTN- /TR:BLOCKS/WR
10:37:50
04-MAY-81
PAGE 8
0066
0067
0068
0069
0070
0071
0072
0073
0074
0073
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
60
C
C
C
70
C
C
C
C
130
140
150
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
O1O6
0107
oioa
C
C
C
160
190
195
198
196
197
170
1BO
WRITE (5,2000JESC,"143
VT100=.FALSE.
IF(. NOT. FIRSTJGOTO 130
CALL WAIT<10, 2, IWSTAT)
SHOULD ANALYSIS START FROM AN OLD FILE?
WRITEC5,2020)
READ(5,2080)1C
IF(1C.NE. 'Y '.AND.1C.NE.'YE')GOTO 70
CALL OLDFIL
CALL SOURCE ! : S : SO
IF(.NOT. FIRST)GOTO 130
CALL NEARP
CALL FAR
CALL FILE
CALL AVERAG
DISPLAY PROMPT (:), WAIT FOR COMMAND AND GO TO SELECTED
ROUTINE
IF/2
PLUME=. TRUE.
NEAR=NPL1
IFAR=NPL2
CALL NEARP
CALL FAR
1F(D1SP)CALL DISPLA
IF(DISP)CALL OPAC
GOTO 13O
CALL REFER ! : RE
GOTO 197
CAUL DTA !:D :DA
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR:DLQCKS/WR
10:37:5O
04-MAY-81
PAGE 9
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
012V
0130
OJ31
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
200
204
210
220
230
240
270
280
290
300
310
320
600
540
840
205
865
890
960
GOTO 197
CALL RR ! : RR
IF(IAUX(7, 1). GT.0)GOTO 204
IF(.NOT. DATA. AND. DISP)CALL DISPLA
GOTO 130
IF(AUTO)GOTO 196
IF(.NOT. DATA.AND. DISP)CALL DISPLA
IF(DISP)CALL OPAC
GOTO 130
CALL NEARP !:N :NE
GOTO 197
CALL FAR !:F :FA
GOTO 197
CALL FILE !:FI
GOTO 130
CALL IDENT !:ID
GOTO 130
CALL LISTF ! : L : LI
GOTO 130
CALL NO ! : NO
IF<.NOT. REF)GOTO 130
REF=. FALSE.
RNRF=.FALSE.
IF(AUTQ)GOTQ 196
GOTO 195
CALL YES !:Y :YE
IF(REF)GOTO 130
RNRF=.FALSE.
REF=. TRUE.
IF(AUTO)GOTO 196
GOTO 195
CALL TEE2 !:T2
GOTO 195
CALL COMPEN !:C :CO
GOTO 195
CALL TO !:TO
READ(5,2080)1C
GOTO 195
CALL HELP !:H :HE
GOTO 130
IF(. NOT. VT10OCALL TERM !:DI
CALL DSP
IF(AUTO)GOTO 198
CALL OPAC
GOTO 130
CALL DL !:DX
GOTO 197
CALL NEARP !:PK
CALL FAR
GOTO 197
CALL RC ! :RC
GOTO 130
CALL OPAC !:0 :OP
GOTO 130
CALL OUTP !:OU
GOTO 130
-------
FORTRAN IV-PLUS V02-51E
OI1EC5A. FTN /TR: BLOCKS/WR
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178
0179
0160
0161
0182
0163
0164
0185
0186
0187
990
1010
1060
1070
1130
400
420
440
460
480
500
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
C510
C
520
1260
2000
2020
2060
2070
2080
2100
10:37:50
: B : BE
04-MAY-81
PAGE 10
CALL BEGIN
GOTO 130
CALL EN !:E :EN
GOTO 130
CALL AVERAG !:AV
GOTO 130
CALL ACC !:A :AC
GOTO 130
CALL PRINT !:P :PR
GOTO 130
CALL OLDFIL !:OF
GOTO 130
CALL AUT !:AU
IF(AUTO)CALL SET
GOTO 130
CALL SET !:SL
GOTO 130
CALL RES !:RS
GOTO 130
CALL DY ! : DY
GOTO 197
IF(AUTO)GQTO 196 !:BA
GOTO 205
CALL FT
GOTO 130
CALL TERM !:WD
CALL ERLINE
GOTO 130
CALL EX !:EX
GOTO 130
FORMAK '+', 2A1 )
FORMAT('*DO YOU WANT TO START FROM AN OLD FILE? '»
FORMAT(1H+, Al, 'C13j 1H')
FORMATC '$: ')
FORMAT(A2)
FORMAT(17.X, A2, ' IS NOT A VALID COMMAND. TRY AGAIN
1. 'OR TYPE HELP. ')
END
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR : BLOCKS/WR
10:37:50
04-MAY-B1
PACE 11
PROGRAM SECTIONS
NUMBER
NAME
SIZE
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
»CODE1
*PDATA
»IDATA
$VARS
$$$*.
ACC1
TFLAGS
FNUM
ACC2
RFLAS
RESO
AVGE
RECORD
NFLAGS
NPC
AUXIL
LDATA
PICK2
PICKS
REPORT
IDSPL
OUTFIL
LIMITS
STACK
COMMAN
003044
000162
000226
000022
000002
000026
000006
000002
000056
000002
OOOOO4
000006
000002
000004
000010
000470
020000
000006
000010
025200
001034
000022
000004
000014
000146
786
57
75
9
1
11
3
1
23
1
2
3
1
2
4
156
4096
3
4
5440
270
9
2
6
51
ATTRIBUTES
RW, I,
RW, D,
RW, D,
RW, D,
RW. D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW,D,
RW,D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D.
RW, D,
RW, D,
RW, D,
RW, D,
RW, 0,
RW, D,
RW, D,
RW, 0,
CON,LCL
CON,LCL
CON, LCL
CON,LCL
OVR,GDL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GEL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
VARIABLES
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
AUTO
DF
ELSTK
10
IRKD
J
KNEAR1
NAVE
NOPAC
NPL2
OPSIG
PLUME
RNRF
SCREEN
,RRAYS
NAME
IAUX
LM
R*4
R*4
1*2
1*2
1*2
1*2
1*2
1*2
1*2
R*4
L*l
L»l
L*l
TYPE
1*2
20-000004
10-000032
25-000004
8-000000
14-000000
22-001020
22-001026
7-000014
16-000000
4-000020
10-000046
20-000006
11-000000
8-000003
ADDRESS
17-000000
AVE
DISP
ESC
IF
ITCNT
K
Kl
NEAR
NOPAC 1
NSIG
OPSUM
REF
RSIGF
SPLIT
SIZE
000470
L*l
L*l
L»l
1*2
1*2
1*2
1*2
1*2
1*2
1*2
R»4
L*l
R*4
L»l
13-000004
22-001032
4-000001
9-OOOOOO
7-000000
22-001022
22-001024
20-000000
16-000002
7-000012
7-000022
10-000000
10-000016
22-001033
AZSTK R*4
DN R*4
FIRST L*l
IFAR 1*2
I TO 1*2
KFAR 1*2
LIMHI 1*2
NEWD L*l
NOPAC2 1*2
NSTK 1*2
OSIGSM R#4
RESID L*l
RSIGN R*4
STIM R*4
25-000010
10-000022
4-000000
20-000002
15-000002
19-000004
24-000002
8-000004
16-000004
25-000002
7-000016
20-000005
10-000006
7-000002
COMP
DSIGF
I
IHRES
IVRES
KFAR1
LIMLO
NEWO
NPLUM
OP
OUT
RF
SAVE
T2
L*l
R*4
1*2
1*2
1*2
1*2
1*2
L*l
1*2
R*4
L*l
R*4
R*4
L*l
15-000000
10-000036
4-000004
12-000000
12-000002
22-001030
24-000000
10-000001
25-000000
10-000042
16-000006
10-000012
13-000000
15-000001
DATA
DS1GN
1C
INC
IWSTAT
KNEAR
LIST
NEWR
NPL1
OPC
PICK
RN
SAVEC
VT100
L*l
R*4
1*2
1*2
1*2
1*2
L*l
L*l
1*2
R*4
R*4
R*4
R*4
L*l
8-000002
10-000026
4-000014
19-000000
4-OOOO12
19-000002
4-OO0002
8-000005
4-000016
10-000052
4-OOO006
10-OOO002
7-000006
6-000000
DIMENSIONS
156
(52, 3)
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR:BLOCKS/WR
ICOM 1*2 26-OOOOOO 000146
I DAT ]»2 18-000000 020000
ID ISP 1*2 22-OOOOOO 001020
IOFILE 1*2 23-OOOOOO 000022
IREP
REP
1*2 21-016700 006300
R»4 21-000000 016700
10:37:5O
51
4096
264
9
1632
3808
04-MAY-81
(51)
(204B,2)
(132.2)
(9)
(12,136)
(14. 136)
PAGE 12
LABELS
LABEL
ADDRESS
10
130
180
198
220
290
420
520
890
1070
2060' C
1-000040
1-000652
1-001414
1-001216
1-001612
-001776
-002616
-002770
-002376
-002530
3-000062
LABEL
ADDRESS
20
140
190
200
230
300
440
540
960
1130
2070'
**
«*
1-001140
1-001434
1-001632
1-002056
1-002656
1-002216
1-002420
1-002552
3-000100
LABEL
ADDRESS
30
150
195
204
240
310
460
600
990
1260
2080'
*«
1-001040
1-001176
1-001510
1-001654
1-002100
1-002700
1-002174
1-002442
1-003022
3-000106
LABEL ADDRESS
60
160
196
205
270
320
4BO
840
1010
2000' C
2100' :
-000442
-001062
-001264
-002322
-001676
-002122
1-002722
1-002300
1-002464
3-000000
3-000112
LABEL ADDRESS
70
170
197
210
280
400
500
865
1060
2020'
1-OOO566
1-001374
1-001326
1-001572
1-001720
1-002574
1-002744
1-002354
1-002506
3-000006
FUNCTIONS AND SUBROUTINES REFERENCED
ACC
I DENT
TEE2
AUT
LISTF
TERM
AVERAG
NEARP
TO
BEGIN
NO
WAIT
COMPEN
OLDFIL
YES
DISPLA
OPAC
DL
OUTP
DSP
PRINT
DTA
RC
DY
RD
EN ERLINE EX
REFER RES RR
FAR FILE
SEARCH SET
HELP
SOURCE
TOTAL SPACE ALLOCATED = 053020, 11016
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR:BLOCKS/MR
10:39:10 04-MAY-81
PAGE 13
0001
c
c
c
0002
0003
0004 1000
0005
SUBROUTINE ERLINE
THIS SUBROUTINE ERASES THE BOTTOM LINE ON THE DISPLAY
WRITE(5, 1000)"33. "33, "33
RETURN
FORMAT(1H+, Al, 'C14ilH'.Al, 'E2K',A1, 'C13i 1H')
END
-------
FORTRAN W-PLUS V02-51E
OMEG3A. FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER
NAME
*CODE1
*PDATA
* I DATA
SIZE
000074 30
000002 1
000036 15
10:39:10
04-MAY-81
ATTRIBUTES
RW,I,CON,LCL
RW, D, CON, LCL
RW, D, CON, LCL
PAGE 14
ENTRY POINTS
NAME TYPE ADDRESS
ERLINE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
LABELS
LABEL ADDRESS
1000' 3-000000
LABEL ADDRESS
LABEL
ADDRESS
LABEL
ADDRESS
LABEL
ADDRESS
TOTAL SPACE ALLOCATED = 000134
NO FPP INSTRUCTIONS GENERATED
46
-------
FORTRAN JV-PLUS V02-51E
OI1EG5A. FTN /TR: BLOCKS/WR
10:39:14
04-MAY-81
PACE 15
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0023
0029
0030
0031
0032
0033
0034
0035
0036
0037
10
20
30
40
50
60
70
90
100
105
110
SUBROUTINE SEARCHCNSTART. NP. NP1)
THIS SUBROUTINE SEARCHES FOR A STACK OR PLUME STARTING AT NSTART.
THE FRONT EDGE OF THE PLUME IS RETURNED IN NP; THE BACK EDGE IN NP1.
NP IS SET TO 0 IF NO PLUME IS FOUND.
COMMON /AUXIL/IAUXC52,3>
COMMON /LDATA/IDAT<2048.2)
COMMON /LIMITS/LIMLD, LIMHI
INC=IAUX(11,1) ISAMPLE INTERVAL IN NANOSECONDS
NST=NSTART/INC-«-l (STARTING POINT INDEX
NST1=NST-1
NST2=NST
IFCNST. GT. LIMHI. OR.NST.LT.LIMLO)GOTO 110 IOUTSIDE LIMITS
IFCNST2. LE. LIMHI)GOTO 20
IF.EQ.255)GOTO 50
NST1=NST1-1
GOTO 10
I=NST2
GOTO 60
I=NST1
J=I-1
IF(J. LT.LIMLOJGOTO 90
IF
-------
FORTRAN IV-PLUS V02-51E
OMEG5A. FTN /TR: DLOCKS/WR
PROGRAM SECTIONS
NUMBER NAME SIZE
1 $CODE1 000502 161
4 *VARS 000014 6
6 AUXIL 000470 156
7 LDATA 020000 4096
B LIMITS 000004 2
ENTRY POINTS
NAME TYPE ADDRESS NAME
SEARCH 1-000000
VARIABLES
NAME TYPE ADDRESS NAME
I 1*2 4-000010 INC
NP 1*2 F-000004* NP1
NST2 I»2 4-000006
ARRAYS
NAME TYPE ADDRESS SIZE
IAUX 1*2 6-000000 000470
IDAT 1*2 7-000000 020000
LABELS
LABEL ADDRESS LABEL
10 1-000106 20
60 1-000274 70
110 1-000466
10:39:14 04-MAY-81 PAGE 16
ATTRIBUTES
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GGL
RW, D, OVR, GEL
TYPE ADDRESS NAME TYPE ADDRESS
TYPE ADDRESS NAME TYPE ADDRESS
1*2 4-000000 J I#2 4-000012
1*2 F-000006* NST 1*2 4-000002
DIMENSIONS
156 (52,3)
4096 (2048,2)
ADDRESS LABEL ADDRESS
1-000136 30 1-000210
1-000314 90 1-000356
NAME TYPE ADDRESS NAME TYPE ADDRESS
NAME TYPE ADDRESS NAME TYPE ADDRESS
LIMHI I»2 8-000002 LIMLO 1*2 8-000000
NSTART 1*2 F-000002* NST1 1*2 4-OOOO04
LABEL ADDRESS LABEL ADDRESS
40 1-000242 50 1-00026O
100 1-000400 105 1-OOO440
TOTAL SPACE ALLOCATED = 021212 4421
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-51E
OMEG5A.FTN /TR:BLOCKS/WR
10:39:29
04-MAY-81
PAGE 17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
C
C
C
C
C
C
C
10
20
C
C
C
C
30
100
SUBROUTINE RDCHK(LL)
THIS SUBROUTINE ACCEPTS AN INPUT FROM THE TERMINAL, CHECKS TO VERIFY
THAT IT IS AN INTEGER IN THE RANGE FROM O TO 32.767. AND RETURNS THE
VALUE AS LL. IF A NON NUMERIC CHARACTER IS RECEIVED, NEW INPUT IS
REQUESTED. IF THE NUMBER IS OUTSIDE THE INDICATED BOUNDS, IT IS
FORCED TO 0 OR 32767, WHICHEVER IS CLOSEST.
BYTE VT100
COMMON VT100
READC5,*,ERR=20)AA
GOTO 30
IF(VT100)CALL ERLINE
WRITEO, 100)
GOTO 10
ENTRY CHECK(BB, LL)
THIS ROUTINE FORCES THE VALUE OF THE NUMBER BB TO BE IN THE RANGE
FROM 0 TO 32767 AND ASSIGNS THE INTEGER PART OF THE NUMBER TO LL
AA=BB
IF(AA.GT.32767.0)AA=32767. 0
IF(AA.LT.0.0)AA=0.0
LL=AA
RETURN
FORMAT(1H$, 16X, 'INPUT ERROR, TRY AGAIN ')
END
-------
FORTRAN IV-PLUS V02-51E
OMEG5A. FTN /TR:BLOCKS/WR
10: 39: 29
04-MAY-81
PAGE IB
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1
2
3
4
6
*CODE1
*PDATA
fIDATA
*VARS
*$**.
000246
000004
000042
000004
000002
83
2
17
2
1
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS
CHECK 1-000136
VARIABLES
NAME TYPE ADDRESS
AA R*4 4-000000
LABELS
LABEL ADDRESS
10 1-000022
NAME TYPE ADDRESS NAME TYPE ADDRESS
RDCHK 1-000000
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
BB
LABEL
20
TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
R*4 F-000002* LL 1*2 3-000036# VT100 L*l 6-000000
NAME
TYPE ADDRESS
ADDRESS
1-000064
LABEL
30
ADDRESS
1-000172
LABEL
100'
ADDRESS
3-000000
LABEL
ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000322 105
SYO: I 101, 130MEG5A,SYO: C1O1, 130MEG5A/-SP=SYO: C101, 130MEG5A
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:DLOCKS/WR
09:18:51
27-FEB-B1
PAGE 1
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
OOlfl
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
O047
0048
0049
0050
0051
0052
10
20
30
40
50
SUBROUTINE NEARP
SET NEAR PICK POINT
BYTE VT100, DATA,SCREEN,NEWD,NEWR,RNRF, AUTO, RESID, PLUME
BYTE REF,NEWO
COMMON VT100
COMMON /AUXIL/IAUX(52, 3)
COMMON /CALNOR/W, 2, INC
COMMON /LIMITS/LIMLO,LIMHI
COMMON /TFLAGS/ID,DATA, SCREEN, NEWD, NEWR
COMMON /PICKS/NEAR, IFAR,AUTO,RESID, PLUME
COMMON /RFLAG/RNRF
COMMON /ACC2/REF,NEWO,RN,RSIGN,RF,RSIGF, DN, DSIGN, DF, DSIGF, OP,
10PSIG,OPC
IF(AUTO)GOTO 10
IF(VT100)CALL ERLINE
WRITE(5,2110)NEAR
CALL RDCHMNEAR)
NEWD=. TRUE.
NEWR=.TRUE.
SCREEN=. TRUE.
RNRF=.FALSE.
RETURN
INC=IAUX(11,1)
JN=NEAR/INC+1
IFCJN-1.LT.LIMLO)GOTO 70
RN=1. 0
IF(.NOT.REF.OR. IAUX(7,2>. EQ. 0)GOTO 20
CALL NORM(JN,2)
W=l. 0
CALL PONDER(JN,2,RN, RSIGN)
IF(RN.LT. 1.E-6)RN=1. E-6
CALL NORM(JN, 1)
W=l. 0
CALL PONDER(JN,1,DN,DSIGN)
OLD=DN/RN
IF(. NOT. REF. OR. IAUXC7, 2). EQ. 0)GOTO 40
CALL NORM(JN-1, 2)
W=l. 0
CALL PONDER(JN-1,2,RN, RSIGN)
IF
-------
FORTRAN IV-PLUS V02-51E 09:18:51 27-FEB-B1 PAGE 2
OMEG5B. FTN /TR:ELOCKS/WR
0053 IF(RN. LT. 1. E-6)RN=1. E-6
0054 60 CALL NORM(JN-1,1)
0053 W=l.0
0056 CALL PONDERCJN-1, 1,DN,DSIGN)
0057 IF(DN/RN. LT. DLD)GOTO 50
0058 70 NEAR=(JN-1)»INC
OO59 GOTO 5
0060 2110 FORMATUH*, 16X, 'NEAR PICK POINT IS', 16,' NS. CHANGE TO: ')
0061 END
-------
FORTRAN IV-PLUS V02-51E
OMEG5B. FTN /TR:DLOCKS/WR
Of:18:51
27-FEB-81
PAGE 3
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1
2
3
4
3
6
7
8
9
10
11
12
13
tCODEl
*PDATA
* I DATA
$VARS
STEMPS
$$$$.
AUXIL
CALNOR
LIMITS
TFLAGS
PICKS
RFLAG
ACC2
001240
000014
O00164
000006
000002
000002
000470
000012
000004
000006
000010
000002
000056
336
6
58
3
1
1
156
5
2
3
4
1
23
RU, I,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
CON,LCL
CON,LCL
CON,LCL
CON,LCL
CON,LCL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS NAME
NEARP 1-000000
e
o
o
0
v
O
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
AUTO
DSIGN
LIMHI
NEWR
PLUME
RNRF
W
L*l
R*4
1*2
L*l
L»l
L*l
R«4
11-000004
13-000026
9-OOO002
10-000005
11-000006
12-000000
8-000000
DATA
ID
LIMLO
OLD
REF
RSIGF
Z
L*l
1*2
1*2
R*4
L*l
R#4
R*4
10-000002
10-000000
9-000000
4-000002
13-000000
13-000016
8-000004
DF
IFAR
NEAR
OP
RESID
RSIGN
R*4
1*2
1*2
R*4
L*l
R*4
13-000032
11-000002
11-000000
13-000042
11-000005
13-000006
DN R*4
INC 1*2
NEWD L*l
OPC R*4
RF R*4
SCREEN L*l
13-000022
8-000010
10-000004
13-000052
13-000012
10-000003
DSIGF
JN
NEWO
OPSIG
. RN
VT100
R*4
1*2
L*l
R»4
R*4
L*l
13-000036
4-000000
13-000001
13-000046
13-000002
6-OOOOOO
ARRAYS
NAME TYPE ADDRESS SIZE DIMENSIONS
IAUX 1*2 7-000000 000470 156 (52,3)
LABELS
LABEL
5
50
ADDRESS
1-000106
1-000702
LABEL
10
60
ADDRESS
1-000144
1-001072
LABEL
20
70
ADDRESS
1-000326
1-001210
LABEL
30
2110'
ADDRESS
1-000366
3-000000
LABEL ADDRESS
40 1-O00544
FUNCTIONS AND SUBROUTINES REFERENCED
O
-------
FORTRAN IV-PLUS V02-51E 09:18:51 27-FEB-81 PAGE 4
QI1EG5D. FTN /TR: DLQCKS/WR
ERLINE NORM PONDER RDCHK
TOTAL SPACE ALLOCATED « OO2256 399
-------
FORTRAN W-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09: IB: 56
27-FED-81
PAGE 5
0001
0002
0003
0004
0005
0006
0007
OOOB
0009
0010
001 1
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
5
10
20
30
40
50
60
70
SUBROUTINE FAR
SET FAR PICK POINT
BYTE VT100,DATA,SCREEN,NEWD,NEWR,RNRF, AUTO,RESID, PLUME
BYTE NEWO,REF
COMMON VT100
COMMON /LIMITS/LIMLO, LIMHI
COMMON /AUXIL/IAUXO2, 3)
COMMON /TFLAGS/ID,DATA, SCREEN, NEWD, NEWR
COMMON /PICKS/NEAR,IFAR,AUTO,RESID,PLUME
COMMON /RFLAG/RNRF
COMMON /ACC2/REF,NEWO,RN,RSIGN,RF,RSIGF, DN, DSIGN, DF, DSIGF, OP,
10PSIG,OPC
IF(AUTO)GOTO 10
IF(VT100)CALL ERLINE
WRITE<5, 2120) IFAR
CALL RDCHK(IFAR)
NEWD= TRUE.
NEWR=.TRUE.
SCREEN=.TRUE.
RNRF=.FALSE.
RETURN
INC=IAUX(11,1) (SAMPLE INTERVAL IN NANOSECONDS
JF=IFAR/INC+1
IF(JF+1.GT.LIMHI)GOTO 70 IFAR PICK IS OUTSIDE SEARCH WINDOW
JN=NEAR/INC+1
RF=1.0
IF(. NOT. REF. OR. IAUX(7, 2). EQ. OJGOTO 20 !NO REFERENCE
CALL NORM(JN,2)
CALL PONDER
CALL PONDER(JF,1,DF,DSIGF)
OLD=DF/RF
IF(. NOT. REF. OR. IAUXC7, 2). EQ. 0)GOTO 40
CALL NORM(JN, 2)
CALL PONDER(JF-U, 2, RF, RSIGF)
IFCRF. LT. 1. E-6)RF=1. E-6
CALL NORMCJN, 1)
CALL PONDER(JF-H,1,DF.DSIGF)
IFCDF/RF. LT.OLD)GOTO 50
JF=JF+1
IF(JF+1.GT.LIMHI)GOTO 70
GOTO 30
OLD=DF/RF
JF=JF+1
IF
CALL PONDER(JF+1,1,DF,DSIGF)
IF(DF/RF LT.OLD)GOTO 50
IFAR=(JF-1)*INC
0
c
c
c
c
c
-------
FORTRAN IV-PLUS V02-51E 09:IS;56 27-FEB-81 PACE 6
OMEC5B.FTN XTR:BLOCKS/WR
0053 GOTO 5
0054 2120 FORMATUH*. 16X, 'FAR PICK POINT IS', 16, ' NS. CHANGE TO: ')
0055 END
-------
FORTRAN IV-PLUS V02-51E
OHEG5B.FTN /TR:BLOCKS/WR
09: 18: 56
27-FEB-81
PAGE 7
PROGRAM SECTIONS
NAME
SIZE
NUMBER
1
2
3
4
5
6
7
8
9
10
11
12
ENTRY POINTS
NAME TYPE ADDRESS NAME
FAR 1-000000
»CODE1
*PDATA
*IDATA
$VARS
*TEMPS
. *$S*.
LIMITS
AUXIL
TFLAGS
PICKS
RFLAG
ACC2
001106
000014
000150
000012
000002
000002
000004
000470
000006
000010
000002
000056
291
6
52
5
1
1
2
156
3
4
1
23
ATTRIBUTES
RW. I,
RW, D,
RW, D,
RW, D.
RW, D,
RW,D,
RW,D,
RW, D,
RW, D,
RW, D.
RW,D,
RW, D,
CON,LCL
CON,LCL
CON,LCL
CON,LCL
CON,LCL
OVR,GEL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
c
6
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
AUTO
DSIGN
JN
NEWO
OPSIG
RN
VT100
L*l
R»4
1*2
L*l
R*4
R*4
L*l
10-000004
12-000026
4-000004
12-000001
12-OOOO46
12-000002
6-000000
DATA
ID
LIMHI
NEWR
PLUME
RNRF
L*l
1*2
1*2
L*l
L*l
L#l
9-000002
9-000000
7-000002
9-000005
10-000006
11-000000
DF
IFAR
LIMLO
OLD
REF
RSIGF
R*4
1*2
1*2
R*4
L*l
R*4
12-000032
10-000002
7-000000
4-000006
12-000000
12-000016
DN
INC
NEAR
OP
RESID
RSIGN
R*4
1*2
1*2
R*4
L*l
R*4
12-000022
4-000000
10-000000
12-000042
10-000005
12-000006
DS1GF R*4
JF 1*2
NEWD L»l
OPC R*4
RF R*4
SCREEN L*l
12-000036
4-000002
9-OOOOO4
12-000052
12-000012
9-000003
ARRAYS
NAME TYPE ADDRESS SIZE DIMENSIONS
IAUX 1*2 8-000000 000470 156 (52,3>
LABELS
LABEL
5
SO
ADDRESS
1-000104
1-000620
LABEL
10
60
ADDRESS
1-000142
1-000770
LABEL
20
70
ADDRESS
1-000332
1-001056
LABEL
30
2120'
ADDRESS
1-000360
3-000000
LABEL ADDRESS
40 1-000510
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE NORM PONDER RDCHK
-------
FORTRAN W-PLUS V02-51E 09:18:36 27-FEB-81 PAGE 8
QMEG5B.FTN /TR: DLQCKS/WR
TOTAL SPACE ALLOCATED = 002102 545
-------
FORTRAN IV-PLUS
OMEG5B. FTN
V02-51E
/TR:BLOCKS/WR
09:IB:59
27-FED-81
PAGE 9
0001
0002
0003
0004
0005
0006
0007
oooa
OO09
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
C
c
C
c
c
c
540
C
C
C
C
C
SUBROUTINE DISPLA
DISPLAY GENERATE AND UPDATE ROUTINE.
BYTE VT100,SPLIT,DATA,SCREEN,NEWD,NEWR,DISP, ESC
BYTE AUTO.RESID,PLUME
COMMON VT100
COMMON /TFLAGS/ID,DATA,SCREEN,NEWD, NEWR
COMMON /AUXIL/IAUXC52,3)
COMMON /PICKS/NEAR,IFAR,AUTO,RESID,PLUME
COMMON /PICK2/INC.KNEAR.KFAR
COMMON /RESO/IHRES.WRES
COMMON /IDSPL/IDISPU32. 2). J, K, K1.KNEAR1, KFAR1, DISP, SPLIT
DATA ESC/"33/
IF DISPLAY IS NOT ON, GET NEW COMMAND
IF(. NOT. DISP)RETURN
IF(SCREEN) GO TO 540
IF(NEWD. AND. DATA)GO TO 540
IF(NEWR.AND. .NOT. DATAJGO TO 540
A NEW DISPLAY IS NOT NEEDED, GET NEW COMMAND
RETURN
ENTRY POINT FOR DISP COMMAND
ENTRY DSP
IF(VT100)CALL ERLINE
THE FOLLOWING 3 STATEMENTS CHECK TO SEE IF A NEW DISPLAY MUST BE
CALCULATED. IF NOT, THE PREVIOUSLY CALCULATED DISPLAY ARRAY IS USED
TO REFRESH THE SCREEN.
IF(DATA.AND. .NOT. NEWD)GO TO 750
IF(. NOT. DATA. AND. .NOT. NEWR)GO TO 750
IFUAUXdl. ID). EQ. 0)GO TO 750
4
CALCULATE NEW DISPLAY
INC = IAUX(11, ID)
JNEAR=NEAR/INC+1
JFAR=IFAR/INC+1
.'SAMPLE INTERVAL IN NANOSECONDS
fARRAY INDEX OF NEAR PICK
iARRAY INDEX OF FAR PICK
MAKE SURE THE NEAR PICK IS SMALLEST, IN CASE AN ERROR HAS BEEN MADE
SPECIFYING THE PICK POINTS.
KNEAR=MIN(JNEAR,JFAR)
KFAR=MAX(JNEAR,JFAR)
ARRAY INDEXES OF ENDS OF PICK INTERVALS
KNEARl=KNEAR+9
KFARl=KFAR+9
SPLIT=. FALSE.
I132=IHRES*132 !NUMBER OF DATA POINTS NEEDED TO FILL SCREEN
-------
FORTRAN IV-PLUS
OMEG5B. FTN
0031
V02-51E 09:18:59
/TR:BLOCKS/WR
IFUHRES. LT. 16)00 TO 550
27-FEB-81
PAGE 10
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
OO5S
OO56
OO57
C
C
C
550
c
c
C
C
560
570
C
C
C
C
580
C
C
C
C
C
590
C
c
c
c
c
c
c
c
c
c
600
c
c
c
4,10
IF HORIZONTAL RESOLUTION IS 16, DISPLAY ALL DATA
J=l
K=2048
GO TO 660 IFILL IN DISPLAY ARRAY
IFCKNEAR. LT. 2048)GOTO 570
IF BOTH PICK POINTS ARE TOO BIG, TAKE DISPLAY FROM THE TOP
THE DATA
K=204B
J=2049-I132
GOTO 660 IFILL IN DISPLAY ARRAY
IFfKFAR. LT. 2048)GOTO 580
IF THE FAR PICK POINT IS TOO BIG, THE DISPLAY WILL INCLUDE
END OF
THE NEAR
PICK INTERVAL AND AS MUCH OF THE TOP END OF THE DATA AS POSSIBLE
IF < KNEAR -t-1132. GE. 2048) GOTO 560
J=KNEAR
K=J+I 132-1
GOTO 660 IFILL IN DISPLAY ARRAY
IF(KFAR-KNEAR. GT. 64»IHRES)GOTO 610
MAKE DISPLAY SYMMETRICAL ABOUT PICKS IF POSSIBLE.
DISPLAY WILL NOT BE SPLIT
IF(KFAR1. GE. 2048)GOTQ 560
NX IS THE NUMBER OF POINTS TO BE ADDED TO KFAR1 OR KNEAR TO
THE SCREEN
NX=I132-KFAR1+KNEAR-1
IF
-------
FORTRAN IV-PLUS
OMEG5B. FTN
V02-51E
/TR: DLOCKS/WR
09:18.59
27-FEB-81
PAGE 11
0098
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
OOB2
0083
0084
0085
0096
0087
C
c
C
c
c
c
c
c
c
c
620
C
C
C
C
630
C
C
C
640
C
C
C
650
C
C
C
660
C
C
C
ONE SIDE OF THE DISPLAY WON'T BE SYMMETRICAL
KK=M I N ( KFAR 1 , 2048 )
IF THE FOLLOWING STATEMENT IS TRUE, THE DISPLAY WILL NOT BE SPLIT
IF(2*NE-KNEAR+1-2048+KK. GT. KFAR-KNEAR1-2»NM>GOTO 590
SPLIT=. TRUE.
IFCKNEAR.LT. 1+NE)GOTO 620
THE LEFT HALF OF THE DISPLAY WILL BE SYMMETRICAL. THE RIGHT HALF
WON'T BE
J=KNEAR-NE
J1=KNEAR1+NM
K=204B
K 1 =KFAR-NM-NE+K-KFAR 1
GOTO 660 IFILL IN THE DISPLAY ARRAY
IF(2048. LT. KFAR1+NE)GOTQ 640
THE RIGHT HALF OF THE DISPLAY WILL BE SYMMETRICAL. THE LEFT HALF
WON'T BE
K=KFAR1+NE
K1=KFAR-NM
J=l
Jl =KNEAR 1+NM+NE-KNEAR+ J
GOTO 660 !FILL IN THE DISPLAY ARRAY
NEITHER HALF OF THE DISPLAY WILL BE SYMMETRICAL
K=2048
K 1 =KF AR-NM-NE+K-KFAR 1
GOTO 630
BOTH HALVES OF THE DISPLAY WILL BE SYMMETRICAL
SPLIT=. TRUE.
J=KNEAR-NE
J1=KNEAR1+NM
K1=KFAR-NM
K=KFAR1+NE
FILL IN DISPLAY ARRAY
INDEX=J
IF(KNEAR. GE. J. AND. KNEAR. LE. K) INDEX=KNEAR
CALL NORM( INDEX, ID) IFIND NORMALIZING FACTOR
JK=J
IF(SPLIT)GO TO 690
UNDIVIDED DISPLAY CALCULATION
DO 680 1 = 1. 132
RSUM=0. 0
i
i
*
4
-------
FORTRAN IV-PLUS V02-51E
OI1EG5D.FTN /TR: BLOCKS/WR
09:IB:59
OOBB
0087
O090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
01C5
0106
0107
010B
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
O121
670
680
C
C
C
690
700
710
720
C
C
C
730
740
C
C
C
750
C
C
C
C
C
C
C
C
C
C
C
C
DO 670 L=l, IHRES
CALL CALC< JK, ID. R>
27-FEQ-81
RSUM=RSUM+R
CONTINUE
CALL CHECMRSUM/IHRES, IDISPd, ID))
IF( JK. GT. K)GO TO 730
CONTINUE
GO TO 730
SPLIT SCREEN CALCULATION
IDISP (66, ID>=0
IDISPC67, ID)=0
DO 720 11=0, 130, 67
DO 710 1=1, 65
RSUM=0. 0
DO 700 L=l, IHRES
CALL CALC(JK, ID, R)
PAGE 12
RSUM=RSUM+R
CONTINUE
CALL CHECMRSUM/IHRES, IDISP(M+I, ID) )
IF(JK. GT. K)GO TO 730
CONTINUE
JK=K1
CONTINUE
COMPRESS DATA IN THE VERTICAL TO FIT THE SCREEN
IDFF=(4-IVRES>#33
DO 740 1=1, 132
IDISPd, ID) = (IDISP(I, ID)-IOFF)/IVRES
CONTINUE
TRANSFER CALCULATED ARRAY TO THE SCREEN
IF(VT100)GO TO 760
SET ANSI MODE
WRITE(5, 2230)ESC
SET 132 COLUMNS
WRITE(5, 2240)ESC, "150
SET SPECIAL GRAPHICS SET
WRITE(5, 2250JESC
VT100=. TRUE.
DISP= TRUE.
ERASE THE SCREEN
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN XTR.OLOCKS/WR
09:IB:59
27-FEB-B1
PAGE 13
0123
0124
0123
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
770
780
C
C
C
C
790
800
C
C
C
810
820
830
JK=J
IF+"157
CALL DSPLAYtIL,I,1C)
WRITE(5, 227OESC, "155
JK=JK+IHRES
IF(JK.GT.K)GO TO 830
CONTINUE
GO TO 830
DO 800 M=0,130,67
DO 790 1=1,65
THE FOLLOWING TWO STATEMENTS PLOT THE DATA IN THE PICK INTERVALS
IN REVERSE VIDEO. (BLACK ON WHITE)
IF(KNEAR.LT. JK+IHRES. AND. KNEAR1.GE. JK)WRITE(5,2260)ESC, "155
IFCKFAR.LT. JK+IHRES.AND.KFAR1.GE.JK)WRITE(5, 2260)ESC, "155
IP=64-IDISP(M+I,ID)
IF(IP.LT.0)IP=0
IF(IP GT.64>IP=64
ILINE TO PLOT ON
!3AR CODE TO PLOT
ITURN OFF REVERSE VIDEO
IL=IP/5+l
IC=MODdP,5)+"157
CALL DSPLAY
-------
FORTRAN IV-PLUS V02-51E
OMEC5B.FTN /TR:BLOCKS/WR
09:18:59
27-FEB-B1
PAGE 14
0164
0163
0166
0167
0168
0169
0170
0171
0172
0173
0174
C
c
2230
2240
2250
2255
2260
2270
2275
22BO
WRITE "REF" BELOW THE FILE NUMBER IF THIS 13 THE REFERENCE SHOT
WRITE (3, 2280) ESC
RETURN
FORMATUH+, Al, '<' >
FORMAT( 1H+, Al, 'C?3
FORMATUH+, Al. MO'
FORMAT* 1H+, Al, 'C2J
FORMATt 1H+, Al, 'C7'
FORI1AT(1H+, Al, 'CO'
FORMAT* 1H+, Al, 'tli
FORMAT(1H+, Al, 'C2i
END
'. Al
)
')
, Al)
, Al)
1H',
1H',
)
14)
'REF
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09:18:59
27-FEB-81
PAGE 13
PROGRAM SECTIONS
NUMBER NAME
SIZE
1
2
3
4
5
6
7
B
9
10
11
12
SCODE1
*PDATA
* I DATA
*VARS
*TEMPS
. **$».
TFLAGS
AUXIL
PICKS
PICK2
RESO
IDSPL
004220
000024
000242
O00054
000004
OOOO02
000006
000470
000010
000006
000004
001034
1096
10
Bl
22
2
1
3
156
4
3
2
270
ATTRIBUTES
RW, I,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
CON,
CON,
CON,
CON,
CON,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
LCL
LCL
LCL
LCL
LCL
GBL
GBL
GBL
GBL
GBL
GBL
GBL
ENTRY POINTS
NAME TYPE ADDRESS NAME
DISPLA 1-000000 DSP
TYPE ADDRESS NAME
1-000072
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME
AUTO
1C
INC
1132
Jl
KHEAR
NE
NX
SCREEN
TYPE
L*l
1*2
1*2
1*2
I«2
1*2
1*2
1*2
L*l
ADDRESS
9-000004
4-000052
10-000000
4-000006
4-000020
10-000002
4-000012
4-000010
7-000003
NAME
DATA
ID
INDEX
J
K
KNEAR1
NEAR
PLUME
SPLIT
TYPE
L*l
1*2
1*2
1*2
1*2
1*2
1*2
L*l
L*l
ADERESS
7-000002
7-000000
4-000022
12-001020
12-001022
12-001026
9-000000
9-000006
12-001033
NAME
DISP
IFAR
IOFF
JFAR
KFAR
Kl
NEWD
R
VT100
TYPE
L*l
1*2
1*2
1*2
1*2
1*2
L*l
R*4
L*l
ADDRESS
12-001032
9-000002
4-000044
4-000004
10-000004
12-001024
7-000004
4-000036
6-000000
NAME
ESC
IHRES
IP
JK
KFAR1
L
NEWR
RESID
TYPE
L*l
1*2
1*2
1*2
1*2
1*2
L*l
L*l
ADDRESS
4-000000
11-000000
4-000046
4-000024
12-001030
4-000034
7-000005
9-000005
NAME
I
IL
IVRES
JNEAR
KK
M
NM
RSUM
TYPE
1*2
1*2
1*2
1*2
1*2
1*2
1*2
R*4
ADDRESS
4-OOOO26
4-000050
11-000002
4-000002
4-000016
4-OOOO42
4-OOOO14
4-000030
ARRAYS
NAME TYPE ADDRESS
SIZE
IAUX 1*2 B-000000 000470 156
IDISP 1*2 12-000000 001020 264
DIMENSIONS
(52,3)
(132,2)
LABELS
LABEL ADDRESS
LABEL
ADDRESS
LABEL
ADDRESS
LABEL
540
590
640
690
1-000104
1-O00574
1-001362
1-002034
550
600
650
700
1-000404
1-000716
1-001430
»*
560
610
660
710
1-000422
1-000764
1-001524
*«
570
620
670
720
ADDRESS
1-000456
1-001250
LABEL
580
630
680
730
ADDRESS
1-000542
1-001314
1-002346
-------
FORTRAN 1V-PLUS VO2-51E
OMEG5D.FTN /TR:ELOCKS/WR
740
790
2230'
2270'
*»
3-000000
3-000064
750
800
2240'
2275'
09:18:59
1-002470
«*
3-000010
3-000100
27-FED-B1
760
810
2250'
2280'
PAGE 16
1-002640
1-003770
3-000024
3-000116
770
820
2255'
3-000036
780 1-003316
830 1-004046
2260' 3-000050
FUNCTIONS AND SUBROUTINES REFERENCED
CALC CHECK DSPLAY ERLINE NORM
*MAXO *MINO
TOTAL SPACE ALLOCATED = 006344 1650
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09:19:1O
27-FEB-81
PAGE 17
0001
0002
0003
0004
0005
0006
0007
OOOB
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
002'.
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
870
C
C
C
C
C
C
375
880
2320
2330
2340
SUBROUTINE RC
CALCULATE AND TYPE RN AND RF
BYTE VT100,REF,NEWQ,RNRF, AUTO,RESID. PLUME
COMMON VT100
COMMON /AUXIL/IAUX(52, 3)
COMMON /RFLAG/RNRF
COMMON /ACC2/REF,NEWO,RN,RSIGN,RF,RSIGF. DN, DSIGN, DF, DSIGF,
10P,OPSIG,OPC
COMMON /PICKS/NEAR, IFAR,AUTO,RESID, PLUME
COMMON /PICK2/INC,KNEAR.KFAR
IF(VT100)CALL ERLINE
IF(IAUX(7,2).NE. 0)GOTO 870
WRITEC5.2320) !THERE IS NO REFERENCE SHOT
RETURN
IF(RNRF)GOTO 875
NEW RN AND RF MUST BE CALCULATED
INC=IAUX(11,2)
KNEAR=MIN(NEAR,IFAR)/INC+1
KFAR=MAX(NEAR,IFAR)/INC+1
CALL NORMCKNEAR,2>
CALL PONDER(KNEAR,2,RN, RSIGN)
CALL PONDER*INC
KFF=(KFAR-1)»INC
IF(VT100)GOTO BOO
WRITE<5,2330)(IAUX
-------
FORTRAN JV-PLUS V02-51E 09:19:10 27-FEB-81 PAGE 19
OMEG5B.FTN /TR:BLOCKS/WR
NO FPP INSTRUCTIONS GENERATED
4
*
-------
FORTRAN W-PLUS V02-51E
OMEC5E.FTN /TR:BLOCKS/WR
09: 19: 13
27-FEB-B1
PAGE 20
0001
0002
0003
OO04
0005
0006
0007
oooa
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
900
C
C
C
910
C
C
C
SUBROUTINE OPAC
CALCULATE AND DISPLAY OPACITY
BYTE VT100,REF,NEWO,RNRF.OCR,AUTO,RESID, PLUME
REAL»B DOUBLE,DOUBL1
COMMON VT100
COMMON /ACC2/REF.NEWO,RN,RSIGN,RF,RSIGF, DN, DSIGN, DF, DSIGF.
10P,OPSIO,DPC
COMMON /AUXIL/IAUX(52. 3)
COMMON /PICKS/NEAR,IFAR,AUTO,RESID,PLUME
COMMON /PICK2/INC,KNEAR, KFAR
COMMON /RFLAG/RNRF
COMMON /STACK/NPLUM,NSTK. ELSTK, AZSTK
DIMENSION SCR(20)
DATA PI180/.0174S3293/
IF(VT100)CALL ERLINE
IF(IAUX(7,1).NE.OJGOTO 900
WRITE(5,2350) !THERE IS NO DATA ARRAY
RETURN
INC=IAUX(11,1)
KNEAR=MIN(NEAR.IFAR)/INC+1
KFAR=MAX(NEAR, IFAR)/INC + 1
THE FOLLOWING THREE STATEMENTS DETERMINE WHETHER RN AND RF MUST BE
RECALCULATED.
IF(.NOT.REF)GOTO 910
IF(IAUX<7,2).EQ.0)GOTO 910
IF(RNRF)GQTO 910
CALCULATE RN, RF, AND THEIR STANDARD DEVIATIONS.
CALL NORM(KNEAR,2)
CALL PONDER(KNEAR,2, RN, RSIGN)
CALL PONDER(KFAR, 2,RF, RSIGF)
RNRF= TRUE.
CALCULATE DN, DF, AND THEIR STANDARD DEVIATIONS.
CALL NORM(KNEAR,1)
CALL PONDER(KNEAR,1.DN,DSIGN)
CALL PONDER(KFAR,1,DF,DSIGF)
A1=DN+1E-15
A2=DF+1E-15
IF(A2.LE.1E-15)A2=1E-15
A3-RN+1E-15
A4=RF+1E-15
IF(REF.AND. IAUX(7.2>. NE. 0)GOTO 920
A3=l. 0
A4-1. O
CALCULATE THE OPACITY
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
O9:19:13
27-FEB-81
PAGE 21
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
C
c
C
930
1010
1020
1025
C
C
0
1030
B2=DSIGF
B3=RSIGN
B4=RSIGF
IFCREF. AND. IAUX (7, 2) . NE. 0) GOTO 930
B3=0. 0
B4=O. 0
CALCULATE SO
OPSIG=50. 0*SQRT(ABS(A3*A2/ )
IFCOPSIG. GT. 99. 0)OPSIG=99. 0
)* GOTO 1030
IF(RESID)GOTO 1010
EL=PI180*IAUX(20, D/10. 0
OPC=100. 0*< 1. 0-(1. O-OP/100. )*#COS(EL> )
GOTO 1030
IF(PLUME)GOTO 1025
CALL SEARCH < NPLUH, NP1. NP2)
IF(NP1. GT. OGOTO 1020
IF(VT100)CALL ERLINE
WRITE(5, 2440)
CALL WAIT(1,2, IWSTAT)
GOTO 1030
NPLUM=(NPl+NP2)/2
AZ=PI180*IAUX( 19, 1)/10. 0
EL=PI 180«IAUX<20, 1 )/10. 0
RP=NPLUM
RS=NSTK
RA=SQRT(RP*»2*COS(EL)»»2+RS»*2*COS/(2. 0#RA*RP> )
OPC = 100. 0»( 1. 0-(1. O-OP/100. 0)*«SIN(EPS) )
CHANGE OP AND OPSIG TO INTEGERS FOR DISPLAY
ENCODE( 19, 2360, SCR)OP, OPSIG
DECODE(19,2365,SCR)IOP, IOPSIG
ENCODEdO, 2420, SCR)OPC
DECODEdO, 2430, SCRUOPC
CONVERT THE ACTUALLY USED NEAR AND FAR PICK POINTS TO NANOSECONDS
FOR DISPLAY
KNN=(KNEAR-1 )*INC
KFF=
-------
FORTRAN IV-PLUS
OKEG5B.FTN
VO2-31E
/TR:BLOCKS/WR
O9:19:13
27-FEB-81
PAGE 22
OOBO
008 1
OOB2
OOB3
0084
O085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
940
950
2350
2360
2365
2370
2390
2410
2420
2430
2440
DOUBLED'
DOUBL1='
IF. EQ. 0)DCR='#'
CH='
IF(OPSIG. GE. 8. 5)CH=4H !!!
CALL ERLINE
WRITE<5,2410)(IAUX(I, 1), 1 = 1,7).OCR,KNN, DN, "147, DSIGN
1, KFF,DF, "147,DSIGF, IOP, "147, IOPSIG, CH. IOPC
NEWO=.TRUE. !NEW OPACITY IS AVAILABLE FOR THE REPORT
RETURN
FORMATU7X, 'THERE IS NO DATA ARRAY!')
FORMATUX, F9. 0, F9. 0)
FORMATU9, IX, IB)
FORMAT (13, '/', 12. '/'I2, 14, ': ',12, ': '. 12, 2X, 'FILE', 15. 2X. AS)
FOR(1AT(' TN=', 15, ' XN='.F6. 1, ' +OR- ',F4. I/' TF=',I5.
1' XF=',F6. 1. ' +OR- ',F4. I/MX, 'OP-', 13, "/. +OR-', 13, 2X.2AB
2/10X, 'OPC=', 13)
FORMAT <9X, 12, '/ ', 12, '/ ', 12, 13, ': ',12, ': ',12, ' FILE ', 15, 2X, Al,
l'TN=',I5, ' XN=-', F6. 1, Al, F4. 1, ' TF=',I5, ' XF= ', F6. 1, Al, F4. 1,
2 3X, 'OP=', 13, ''/.', Al, 12, A4, ' OPC=', 13, ''/.' )
FORHATUX, F9. 0)
FORMAT(19, IX)
FORMATU7X, 'PLUME NOT FOUND. NO CORRECTION MADE')
END
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09:19:13
27-FEB-81
PAGE 23
PROGRAM SECTIONS
NUMBER NAME
SIZE
1
2
3
4
5
6
7
B
9
10
11
12
*CODE1
*PDATA
*IDATA
*VARS
*TEMPS
*$**.
ACC2
AUXIL
PICKS
PICK2
RFLAG
STACK
003162
000066
000640
000264
000020
000002
000056
000470
000010
000006
000002
000014
825
27
208
90
8
1
23
156
4
3
1
6
ATTRIBUTES
RW, I,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
RW, D,
CON,LCL
CON,LCL
CON,LCL
CON,LCL
CON,LCL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
OPAC 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
AUTO
A3
B4
DOUBLE
ELSTK
IOP
KFF
NPLUM
OPC
REF
RP
L*l
R»4
R*4
R*8
R*4
1*2
1*2
1*2
R*4
L*l
R»4
9-000004
4-000156
4-000202
4-000002
12-000004
4-000244
4-000254
12-000000
7-000052
7-000000
4-000224
AZ
A4
CH
DOUBL1
EPS
IOPC
KfJEAR
NP1
OPSIG
RESID
RS
R*4
R*4
R*4
R*8
R*4
1*2
1*2
1*2
R*4
L*l
R*4
4-000220
4-000162
4-000260
4-000012
4-000240
4-000250
10-000002
4-000212
7-000046
9-000005
4-000230
AZSTK
Bl
OCR
DSIGF
I
IOPSIG
KNN
NP2
PI180
RF
RSIGF
R*4
R*4
L#l
R*4
1*2
1*2
1*2
1*2
R*4
R*4
R*4
12-000010
4-000166
4-000000
7-000036
4-000256
4-000246
4-000252
4-000214
4-000142
7-000012
7-000016
Al
B2
DF
DSIGN
IFAR
IWSTAT
NEAR
NSTK
PLUME
RN
RSIGN
R*4
R*4
R*4
R*4
1*2
1*2
1*2
1*2
L*l
R*4
R»4
4-000146
4-000172
7-000032
7-000026
9-000002
4-000216
9-000000
12-000002
9-000006
7-000002
7-000006
A2
B3
DN
EL
INC
KFAR
NEWO
OP
RA
RNRF
VTIOO'
R*4
R*4
R*4
R*4
1*2
1*2
L*l
R*4
R*4
L»l
L*l
4-000152
4-000176
7-000022
4-000206
10-000000
10-000004
7-000001
7-000042
4-000234
ll-OOOOOO
6-000000
ARRAYS
NAME TYPE ADDRESS
IAUX
SCR
1*2
R*4
SIZE
B-000000 00047O
4-000022 000120
156
40
DIMENSIONS
(52,3)
(20)
LABELS
LABEL
900
950
ADDRESS
1-000070
1-003144
LABEL
910
1010
ADDRESS
1-000240
1-0011 16
LABEL
920
1020
ADDRESS
1-00041-4
1-001222
LABEL
930
1025
ADDRESS
1-000560
1-001252
LABEL
940
1030
ADDRESS
1-OO2574
1-001714
-------
FORTRAN IV-PLUS V02-51E 09:19:13 27-FEB-B1 PAGE 24
OMEG5B.FTN /TR.BLOCKS/WR
2350' 3-000000 2360' 3-OOO034 2365' 3-000044 2370' 3-000032 2390' 3-000116
2410' 3-000256 2420' 3-000434 243O' 3-000442 2440' 3-000446
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE NORM PONDER SEARCH WAIT *ACOS *CDS *MAXQ *MINO *SIN *SQRT
TOTAL SPACE ALLOCATED " 005220 1352
-------
FORTRAN W-PLUS VO2-51E 09:19:21 27-FEB-81
OMEG5B.FTN /TR: DLQCKS/WR
PAGE 25
0001
0002
0003
0004
0005
0006
0007
oooa
0009
0010
0011
0012
0013
0014
0015
0016
0017
10
20
30
40
50
60
SUBROUTINE DSPLAY(IL,I-1C)
THIS SUBROUTINE DISPLAYS CHARACTER 1C AT ROW IL AND COLUMN
I OF THE SCREEN.
BYTE ESC
DATA ESC/"33/
IF( IL. LT. 10. AND.
IFWRIT£<5,30JESC, IL, I, 1C
I.GE.10.AND.I.LT.100)WRITE(5,40JESC,IL,I,1C
I.GE.100>WRITE(5,50)ESC,IL,I,1C
I.GE.100)WRITE(5,60)ESC,IL,I,1C
,11, 'f ', II, 'H', Al)
, 12. 'I ', II, 'H', Al )
, II. 'i ', 12, 'H', Al)
, 12, ') ', 12, 'H', Al)
, II, ') ', 13, 'H', Al )
, 12, 'i ', 13, 'H', Al)
-------
FORTRAN IV-PLUS V02-51E
OI1EG5Q.FTN /TR:BLOCKS/WR
09:19:21
27-FEB-B1
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1 *CODE1 000644
3 $IDATA 000154
4 *VARS 000002
ENTRY POINTS
NAME TYPE ADDRESS
DSPLAY 1-000000
VARIABLES
NAME TYPE ADDRESS
ESC L*l 4-000000
LABELS
LABEL ADDRESS
10' 3-000000
60' 3-000132
210 RW, I,
54 RW, D,
1 RW, D,
NAME TYPE ADDRESS
NAME TYPE ADDRESS
I 1*2 F-00000
LABEL ADDRESS
20' 3-000022.
NAME
NAME
TOTAL SPACE ALLOCATED = 001022 265
NO FPP INSTRUCTIONS GENERATED
PAGE 26
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
TYPE ADDRESS NAME
1*2 F-000006* IL
TYPE ADDRESS NAME
1*2 F-000002*
TYPE ADDRESS
LABEL ADDRESS
30' 3-000044
LABEL ADDRESS
40' 3-000066
LABEL ADDRESS
30' 3-000110
-------
FORTRAN IV-
OMEGSb.FTN
PLUS V02-51E
/TR:BLOCKS/WR
09:19:23
27-FEB-81
PAGE 27
OOO1
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
ooia
0019
0020
0021
C
C
C
C
C
C
C
C
C
C
C
C
10
C
C
C
C
SUBROUTINE NORM( INDEX, ID)
THIS SUBROUTINE CALCULATES THE NORMALIZING FACTOR FOR THE
LIDAR DATA ARRAYS.
THE SUBROUTINE CALC IS THEN USED TO CALCULATE NORMALIZED DATA.
BYTE VT100, COMP. T2
COMMON VT100
COMMON XAUXIL/IAUX<52, 3)
COMMON /LDATA/IDAT<2048, 2)
COMMON /NFLAGS/COMP, T2, ITO
COMMON /CALNOR/W, Z, INC
W=1.0 !SET NORMALIZING FACTOR TO ONE
IF DATA WILL NOT BE COMPENSATED, RETURN
IF«. NOT. COMP)RETURN
INC=IAUX(11, ID) IBIOMATION SAMPLING INTERVAL
Z=0 IZERO OFFSET IS 0.0.0
OFFSET IS ZERO FDR LOG DATA
IFUAUXUO, ID). EQ. 'LO')GQTO 20
CALCULATE ZERO OFFSET FROM FIRST 10 DATA POINTS
DO 10 1=1, 10
Z = Z-t-IDAT(I, ID)
CONTINUE
*
*
*
CALCULATE THE COMPENSATED VALUE INDICATED BY INDEX IN THE ARRAY ID
USING A NORMALIZING FACTOR OF ONE
CALL CALCdNDEX, ID,R)
IF(R. LE. 1E-20)R = 160. 0
W=160. 0/R JNORMALIZE TO 160.0
RETURN
END
-------
FORTRAN IV-PLUS V02-51E
OI1EG5B. FTN /TR: BLOCKS/WR
PROGRAM SECTIONS
NUMBER
NAME
SIZE
09:19:23
27-FEB-B1
PAGE 28
ATTRIBUTES
1
>
3
4
6
7
8
9
10
*CODE1
*PDATA
*IDATA
*VARS
. ****.
AUXIL
LDATA
NFLAGS
CALNOR
000276
OOOO04
OOOO10
000006
000002
000470
020000
000004
000012
95
2
4
3
1
156
4096
2
5
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
I,
D,
D,
D,
D,
D,
D,
D,
D,
CON, LCL
CON, LCL
CON, LCL
CON, LCL
OVR, GBL
OVR, GBL
OVR, GBL
OVR, GBL
OVR, GBL
G
ENTRY POINTS
NAME TYPE ADDRESS
NORM 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
COMP L*l 9-000000
ITO 1*2 9-000002
Z R*4 10-000004
ARRAYS
NAME TYPE ADDRESS
NAME
I
R
TYPE ADDRESS
1*2
R*4
SIZE
IAUX 1*2
IDAT 1*2
7-000000 O00470 156
B-000000 020000 4096
4-OOOOOO
4-000002
NAME
ID
T2
DIMENSIONS
(52,3)
(2043, 2)
TYPE ADDRESS
F-000004*
9-000001
NAME
TYPE ADDRESS
INC 1*2
VT100 L*l
10-00001O
6-000000
NAME
INDEX
W
TYPE ADDRESS
1*2
R*4
F-000002*
10-OOOOOO
O
Q
4)
LABELS
LABEL ADDRESS
10 *»
LABEL ADDRESS
20 1-000174
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
CALC
TOTAL SPACE ALLOCATED =- O21O3O 4364
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09:19:25
27-FEB-B1
PAGE 29
0001
0002
0003
0004
0003
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
C
C
C
C
C
C
C
C
C
30
SUBROUTINE CALCA=.(8E-7)*1. 046»*A
CORRECT FOR GATE ATTENUATION IF ANY
E1 = IAUX(15, ID)/100.0
IG1=IAUX(13,
NG1=IAUX(14,
E2=IAUX(18, ID)/100. 0
IG2=IAUX<16, ID)/INC-H
NG2=IAUX(17, ID)/INC+1
IF(IN.GE. IG1. AND. IN. LE. NG1)A-A»10. 0#*E1
IF(IN.GE. IG2. AND. IN.LE.NG2)A=A*10. 0**E2
IF«. NOT. T2)GOTO 30
CORRECT FOR RANGE-SQUARED FALLOFF IF INDICATED
T»=IN-ITO/INC + 1
IFUAUXdO. ID).NE. 'T2 ') A«A*T*»2
A=A*W {NORMALIZE
RETURN
END
-------
FORTRAN IV-PLU3 V02-31E
OMEC5B.FTN /TR:BLOCKS/WR
09: 19: 25
27-FEB-81
PROGRAM SECTIONS
NUMBER NAME
1
2
4
6
7
8
9
10
SIZE
*CODE1
*PDATA
*VARS
. *$t*.
AUXIL
LDATA
NFLAGS
CALNOR
000556
000010
O00024
000002
000470
020000
000004
000012
183
4
10
1
156
4096
2
5
PAGE 30
ATTRIBUTES
RW,I,CON,LCL
RW,D,CON,LCL
RW,D,CON,LCL
RW,D,OVR,GBL
RW,D,OVR, GBL
RW,D,OVR,GDL
RW,D,OVR,GQL
RW,0,OVR,GQL
ENTRY POINTS
NAME TYPE ADDRESS
CALC 1-000000
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
A
IG1
NG1
W
R»4
1*2
1*3
R«4
F-000006»
4-000004
4-000006
10-000000
NAME TYPE ADDRESS
COMP
IG2
NG2
Z
1*2
R*4
9-000000
4-000014
4-000016
10-000004
NAME TYPE ADDRESS NAME
El R*4 4-000000 E2
IN 1*2 F-000002* INC
T R*4 4-000020 T2
TYPE ADDRESS
R*4
1*2
L*l
4-000010
10-000010
9-000001
NAME
ID
I TO
VT100
TYPE ADDRESS
1*2
1*2
F-000004*
9-000002
6-OOOOOO
ARRAYS
NAME TYPE ADDRESS
IAUX
I DAT
SIZE
1*2
1*2
7-000000 0.00470 156
B-000000 020000 4096
DIMENSIONS
(52,3)
(2048,2)
LABELS
LABEL ADDRESS
30 1-000530
LABEL ADDRESS
LABEL ADDRESS
LABEL
ADDRESS
LABEL
ADDRESS
TOTAL SPACE ALLOCATED = 021322 4457
-------
FORTRAN IV-PLUS V02-51E
OMEG5B.FTN /TR:BLOCKS/WR
09:19:27
27-FEB-B1
PAGE 31
O001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
C
C
C
C
10
SUBROUTINE PONDER(IN. ID, X,SIO)
THIS SUBROUTINE CALCULATES A 10-POINT AVERAGE AND STANDARD
DEVIATION STARTING AT POINT (IN) IN THE ARRAY SELECTED BY ID.
RSUM=0. 0
RSUM2=0.0
DO 10,I=IN,IN+9
CALL CALC(I, ID, R)
RSUM=RSUM-t-R
RSUM2=RSUM2+R*R
CONTINUE
X=RSUM/10. 0
SIG=SQRT(ABS(RSUM2/9.0-X**2*10. 0/9. 0))
RETURN
END
C
-------
FORTRAN IV-PLUS V02-51E
OMEG5B FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER
NAME
1 *CODE1
3 *IDATA
4 *VARS
5 tTEMPS
SIZE
000234
000010
000016
000002
78
4
7
1
O9:19:27
27-FED-81
ATTRIBUTES
RW, I, CON, LCL
RW. D, CON, LCL
RW,D,CON,LCL
RW,D,CON,LCL
PAGE 32
ENTRY POINTS
NAME TYPE ADDRESS
PONDER 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I 1*2
RSUM2 R*4
4-000010
4-000004
NAME
ID
SIG
TYPE ADDRESS
1*2
R*4
NAME
F-000004* IN
F-000010* X
TYPE ADDRESS
NAME
1*2
R*4
F-000002* R
F-000006*
TYPE ADDRESS NAME
R»4 4-000012 RSUM
TYPE ADDRESS
R*4 4-000000
LABELS
LABEL ADDRESS
10 *#
LABEL
ADDRESS
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
CALC $SQRT
TOTAL SPACE ALLOCATED = 000264 90
SYO: C101, nOMEGSB, SYO: [101, 1 ]OMEG5B/-SP-=SYO: C101, 1]OMEG5B
-------
FORTRAN IV-PLUS
OME05D. FTN
V02-51E
/TR:BLOCKS/WR
09: 45: 35
27-FEB-81
PAGE 1
OO01
0002
0003
0004
OO05
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
70
C
C
C
C
C
C
100
2010
2030
2040
SUBROUTINE SOURCE
ENTRY POINT FOR SOURCE ROUTINE
GET FILE NAME
BYTE VT100
COMMON VT100
COMMON /RECORD/IRKD
DIMENSION ISFILE(9)
IFISFII_E
ISFILE(9>=0
IF FILE NAME IS BLANK, GO TO COMMAND INPUT
IFUSFILEd ). EQ. ' '. OR. ISFILEU ). EQ. '0 ')RETURN
OPEN THE SOURCE FILE
CALL CLOSE(4)
OPEN(UNIT=4,NAME=ISFILE,TYPE='OLD',ACCESS='DIRECT',READONLY,
1ERR=100,SHARED,DISPOBE='SAVE',ASSOCIATEVARIABLE=IRKD>
INITIALIZE FILE POINTER
CALL SRCREDU, 3, IERR, 1)
RETURN
HERE IF ERROR OPENING FILE
IF(VT100)CALL ERLINE
WRITE(5,2040)
CALL WAIT<3,2,IWSTAT)
GOTO 70
FORMATdHS, 16X, 'ENTER INPUT FILE SPECIFICATION: ')
FORMAT(20A2)
FORI1ATU7X, 'ERROR OPENING DISC FILE')
END
-------
FORTRAN IV-PLUS V02-51E
OI1EG5D. FTN /TR:BLOCKS/WR
09:45:35
27-FEB-B1
PAGE 2
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1
-I
3
4
6
7
*CODE1
»PDATA
*IDATA
*VARS
$***.
RECORD
000266
000020
OOO216
000026
000002
000002
91
8
71
1 1
1
1
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, QVR, GBL
RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS
SOURCE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
IERR 1*2 4-000022 IRKD I»2 7-OOOOOO IWSTAT 1*2 4-000024 VT100 L*l 6-000000
NAME
TYPE ADDRESS
ARRAYS
NAME TYPE ADDRESS SIZE
ISFILE 1*2 4-000000 000022
DIMENSIONS
(9)
LABELS
LABEL ADDRESS
70 1-000014
'LABEL
100
ADDRESS
1-000200
LABEL ADDRESS
2010' 3-000000
LABEL ADDRESS
2030' 3-000050
LABEL ADDRESS
2040' 3-000054
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERLINE OPEN* SRCRED WAIT
TOTAL SPACE ALLOCATED = 000556 183
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-51E 09:45:38 27-FEB-81 PAGE 3
OMEG5D.FTN /TR:BLOCKS/WR
O001 SUBROUTINE REFER
C
C REF ENTRY. REFERENCE ARRAYS WILL BE USED FOR DISPLAY.ID, LIST.
C
0002 BYTE VT100, DATA,SCREEN, NEWD, NEWR
OOC3 COMMON VT100
0004 COMMON /TFLAGS/ID,DATA,SCREEN,NEWD, NEWR
0003 IF(VT100)CALL ERLINE
0006 IFC. NOT. DATA)RETURN !GET NEW COMMAND
0007 ID=2
0008 DATA=.FALSE.
0009 SCREEN=. TRUE.
0010 RETURN
0011 END
-------
FORTRAN IV-PLUS V02-51E
OMEG5D. FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER
1
3
6
7
NAME
*CODE1
* I DATA
. ****.
TFLAGS
SIZE
000072
000002
O00002
000006
29
I
1
3
09: 45: 38
27-FEB-B1
ATTRIBUTES
RW,I,CON,LCL
RW, D, CON, LCL
RW,D,OVR,GDL
RW,D,OVR,GBL
PAGE 4
ENTRY POINTS
NAME TYPE ADDRESS
REFER 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DATA L*l
VT100 L*l
7-000002
6-000000
NAME TYPE ADDRESS NAME
ID I»2 7-000000 NEWD
TYPE ADDRESS NAME
L*l 7-000004 NEWR
TYPE ADDRESS
L*l 7-000005
NAME TYPE ADDRESS
SCREEN L«l 7-000003
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000104
NO FPP INSTRUCTIONS GENERATED
34
-------
FORTRAN IV-PLUS VO2-51E
OMEG5D.FTN /TR:BLOCKS/WR
0001
O9: 45: 39
27-FEB-81
PAGE 5
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
SUBROUTINE DTA
DATA ENTRY. DATA ARRAYS WILL BE USED FOR DISPLAY, ID, LIST.
BYTE VT100, DATA,SCREEN,NEWD,NEWR
COMMON VT100
COMMON /TFLAGS/ID,DATA,SCREEN,NEWD,NEWR
IF(VT100)CALL ERLINE
IF(DATA(RETURN !GET NEW COMMAND
DATA=.TRUE.
SCREEN= TRUE.
ID = 1
RETURN
END
-------
FORTRAN IV-PLUS V02-51E
OMEC5D FTN /TR.BLOCKS/WR
PROGRAM SECTIONS
NUMBER NAME
1
3
6
7
SIZE
*CODE1
* I DATA
. **$*.
TFLAGS
000072
000002
O00002
O00006
29
1
1
3
09: 45: 39
27-FEB-81
ATTRIBUTES
RW,I.CON,LCL
RW, D. CON, LCL
RU, D, OVR, GBL
RW,D,OVR,GEL
PAGE 6
ENTRY POINTS
NAME TYPE ADDRESS
DTA 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DATA L»l
VT100 L*l
7-000002
6-000000
NAME TYPE ADDRESS NAME
ID I»2 7-000000 NEWD
TYPE ADDRESS NAME
L*l 7-000004 NEWR
TYPE ADDRESS
L*l 7-000005
NAME TYPE ADDRESS
SCREEN L*l 7-000003
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = OOOJ04
NO FPP INSTRUCTIONS GENERATED
34
-------
FORTRAN IV-PLUS V02-51E
OMEG5D.FTN /TR:BLOCKS/WR
0001
O9: 45: 40
27-FEB-81
PAGE 7
0002
0003
0004
0005
0006
0007
OOOB
0009
0010
0011
0012
SUBROUTINE RD
READ DATA FROM SOURCE FILE
BYTE VT100, DATA, SCREEN, NEWD, NEWR
COMMON VT100
COMMON /TFLAGS/ID, DATA, SCREEN, NEWD, NEWR
COMMON /FNUM/IF
IF(VT100)CAUL ERLINE
CALL SRCRED< IF, 1, IERR, 0)
IFdERR. NE. ORETURN ! GET NEW COMMAND
NEWD=. TRUE.
RETURN
END
-------
FORTRAN IV-PLUS V02-51E
OI1EG5D. FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMUER
NAME
SIZE
09: 45: 40
27-FEB-81
ATTRIBUTES
1
2
3
4
6
7
8
$CODE1
$PDATA
$IDATA
SVARS
. ****.
TFLAGS
FNUM
000072
000010
000014
000002
000002
OO0006
000002
29
4
6
1
1
3
1
RW, I, CON, LCL
RW, D, CDN, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
RW, D, OVR, GBL
PACE 8
ENTRY POINTS
NAME TYPE ADDRESS
RD 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DATA L*l
NEWR L*l
7-000002
7-000005
NAME
TYPE ADDRESS
ID 1*2
SCREEN L*l
7-000000
7-000003
NAME
TYPE ADDRESS
IERR 1*2
VT100 L*l
4-000000
6-000000
NAME TYPE ADDRESS NAME
IF I»2 8-000000 NEWD
TYPE ADDRESS
L*l 7-OOOOO4
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE SRCRED
TOTAL SPACE ALLOCATED = 000132
NO FPP INSTRUCTIONS GENERATED
45
-------
FORTRAN IV-PLUS VO2-51E
OHEG5D. FTN /TR:BLOCKS/WR
09: 45: 41
27-FEB-81
PAGE 9
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
SUBROUTINE RR
READ REFERENCE FROM SOURCE FILE
BYTE VT100, DATA,SCREEN, NEWD, NEWR
COMMON VT100
COMMON /TFLAGS/ID,DATA,SCREEN,NEWD, NEWR
COMMON /FNUM/IF
IF(VT100)CALL ERLINE
CALL SRCREDtIF,2,IERR,0)
IFdERR. NE. 01RETURN
IF=1F+1
NEWR=.TRUE.
RETURN
END
IGET NEW COMMAND
4>
t
-------
FORTRAN IV-PLUS VO2-51E 09:45:41 27-FEB-81
OI1EG5D. FTN /TR: BLDCKS/WR
PROGRAM
NUMBER
1
2
3
4
6
7
8
SECTIONS
NAME SIZE
*CODE1 000072 29
$PDATA 000010 4
*IDATA 000014 6
*VARS 000002 1
. ***$. 000002 1
TFLAGS OO0006 3
FNUM 000002 1
ATTRIBUTES
RW, I, CON, LCL
RW, D, CON, LCL
RW. D, CON, LCL
RW, D, CON- LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
RW, D, OVR, GBL
PAGE 1
ENTRY POINTS
NAME
RR
TYPE ADDRESS NAME TYPE
1-000000
ADDRESS NAME
TYPE ADDRESS
VARIABLES
NAME
DATA
NEWR
TYPE ADDRESS NAME TYPE
L*l 7-000002 ID I»2
L»l 7-000005 SCREEN L*l
ADDRESS NAME
7-000000 IERR
7-000003 VT100
TYPE ADDRESS
1*2 4-000000
L*l 6-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
IF
TYPE ADDRESS
1*2 8-000000
NAME
NEWD
TYPE ADDRESS
L*l 7-000004
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE SRCRED
TOTAL SPACE ALLOCATED = 000132
NO FPP INSTRUCTIONS GENERATED
45
-------
FORTRAN IV-PLUS
OHEC5D. FTN
O001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
C
C
C
230
C
C
C
2130
2140
V02-51E 09:45:42 27-FEB-81 PAGE 11
/TR:OLOCKS/WR
SUBROUTINE FILE
GET LIDAR SHOT NUMBER
BYTE VT100
COMMON VT1OO
COMMON /FNUM/IF
IF(VT100)CALL ERLINE
WRITE(5,2130)
READ(5,*)IF
IF(IF. GT. 0. AND. IF. LT. 185DRETURN
LIDAR SHOT NUMBER IS OUT OF RANGE, TRY AGAIN
IF(VT100)CALL ERLINE
WRITEO, 2140)
CALL WAIT(2,2, IWSTAT)
GO TO 230
FORMATdH*. 16X, 'ENTER FILE NUMBER ')
FORMAT(' FILE NUMBER MUST BE BETWEEN 1 AND 1850')
END
c
S'
4
*
-------
FORTRAN IV-PLUS V02-51E
OMEG5D.FTN /TR:BLOCKS/WR
09:45:42
27-FEB-B1
PAGE 12
e
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1
2
3
4
6
7
*CODE1
5PDATA
5IDATA
*VARS
. ****.
FNUM
000174
OOO004
0001 16
000002
000002
000002
62
2
39
1
1
1
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS
FILE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
IF 1*2 7-000000 IWSTAT 1*2 4-000000 VT100 L*l 6-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
LABELS
LABEL ADDRESS
230 1-000014
LABEL ADDRESS
2130' 3-000000
LABEL ADDRESS
2140' 3-000032
LABEL ADDRESS
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE WAIT
TOTAL SPACE ALLOCATED = 000324 106
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-51E
OHEG5D.FTN /TR:BLOCKS/WR
0001
09: 45: 43
27-FEB-81
PAGE 13
0002
0003
0004
0005
0006
0007
OOOB
SUBROUTINE NO
NO REFERENCE USED IN CALCULATION
BYTE VT100,NEWO, REF
COMMON VT100
COMMON /ACC2/REF,NEWO,RN,RSIGN,RF,RSIGF,DN,DSIGN,DF,DSIGF,OP.
10PSIG,OPC
IF(VT100)CALL ERLINE
REF=. FALSE.
RETURN
END
I
4
C
C
-------
FORTRAN W-PLUS V02-51E
OHEGSD.FTN /TR:BLOCKS/WR
PRCGRAM SECTIONS
NUMBER
1
3
6
7
NAME
*CODE1
$IDATA
. ****.
ACC2
SIZE
000044
000002
O00002
000056
18
1
1
23
09:45:43
27-FEB-81
ATTRIBUTES
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, OVR,GBL
RW,D,OVR,GBL
PAGE 14
ENTRY POINTS
NAME TYPE ADDRESS
NO 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DF R»4
OP R*4
RN R*4
7-000032
7-000042
7-000002
NAME
TYPE ADDRESS
DN R*4
OPC R«4
RSIGF R*4
7-000022
7-000052
7-000016
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
DSIGF R*4
OPSIG R*4
RSIGN R*4
7-000036
7-000046
7-000006
DSIGN R*4
REF L*l
VT100 L*l
7-000026
7-000000
6-000000
NAME
NEWO
RF
TYPE ADDRESS
L*l
R«4
7-000001
7-000012
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000126
NO FPP INSTRUCTIONS GENERATED
43
-------
FORTRAN W-PLUS VO2-51E
QHEG5D. FTN /TR:BLOCKS/WR
0001
O9:45:44
27-FED-81
PAGE 15
0002
0003
0004
0005
0006
0007
0008
SUBROUTINE YES
REFERENCE WILL BE USED IN CALCULATION
BYTE VT100,NEWO, REF
COMMON VT100
COMMON /ACC2/REF,NEWO,RN,RSIGN,RF,RSIGF. DN, DSIGN, DF, DSIGF. OP
1,OPSIG,OPC
IFCVTIOOtCALL ERLINE
REF=. TRUE.
RETURN
END
-------
FORTRAN W-PLUS V02-51E
OMEG5D. FTN /TR:BLOCKS/WR
09:45:44
PROGRAM SECTIONS
NUMBER NAME
SIZE
1 *CODE1 000046 19
3 * I DATA 000002 1
6 «***, 000002 1
7 ACC2 000056 23
27-FEB-81
PAGE 16
4
4
ATTRIBUTES
RW,I,CON,LCL
RW, D, CON, LCL
RW, D, OVR,GBL
RW, D,OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
Yf.S 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DF
OP
RN
R»4
R»4
R*4
7-O00032
7-000042
7-000002
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
DN R«4
OPC R*4
RSIGF R»4
7-000022
7-000052
7-000016
DSIGF R*4
OPSIG R»4
RSIGN R*4
7-000036
7-000046
7-000006
DSIGN R*4
REF L»l
VT100 L*l
7-000026
7-000000
6-000000
NAME
NEWO
RF
TYPE ADDRESS
L*l
R*4
7-000001
7-000012
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000130
NO FPP INSTRUCTIONS GENERATED
44
-------
FORTRAN IV-PLUS V02-51E
OMEC5D.FTN /TR:BLOCKS/WR
O9: 45: 45
27-FEB-B1
PAGE 17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0019
0019
C
C
C
2170
2180
SUBROUTINE TEE2
TOGGLE T2 FLAG, TYPE CURRENT STATE OF FLAG.
BYTE VT100,DATA,SCREEN,NEWD,NEWR, RNRF, T2, COMP
COMMON VT100
COMMON /TFLAGS/ID.DATA,SCREEN,NEWD, NEWR
COMMON /RFLAG/RNRF
COMMON /NFLAGS/COMP.T2, ITO
T2=. NOT. T2
NEWD= TRUE.
NEWR=.TRUE.
SCREEN=. TRUE.
RNRF=. FALSE.
IF (VTIOO)CALL ERLINE
IF(T2)WRITE<5, 2170)
IF(.NOT. T2)WRITE(5, 2180)
CALL WAITd, 2, IWSTAT)
RETURN
FORHATU7X, 'T-SQUARED CORRECTION PERMITTED')
FORMAT(17X, 'T-SQUARED CORRECTION SUPPRESSED')
END
"V
"S
-------
FOR .'RAN IV-PLUS V02-51E
QMEG5D. FTN /TR: BLOCKS/'WR
09:45:45
'7-FEB-B1
PAGE IS
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1 *CODE1 000160 56 RW. I.CON, LCL
2 $PDATA 000010 4 RW. D, CON, LCL
3 *IDATA 000122 41 RW. D, CON, LCL
4 *VARS 000002 1 RW. D, CON, LCL
6 .»**$. 000002 1 RW, D, OVR.GDL
7 TFLAGS OOOO06 3 RW, D, OVR, GBL
8 RFLAG 000002 1 RW, D, OVR, GBL
9 NFLAGS 000004 2 RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS NAME TYPE ADDRESS
TEES 1-000000
VARIABLES
NAME TYPE ADDRESS NAME TYPE ADDRESS
COMP L»l 9-000000 DATA L*l 7-000002
NEWD L*l 7-000004 NEWR L*l 7-000005
VT100 L»l 6-000000
LABELS
LABEL ADDRESS LABEL ADDRESS
2170' 3-000000 2180' 3-000044
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
ID 1*2 7-000000 ITO 1*2 9-000002 IWSTAT I#2 4-000000
RNRF L*l 8-000000 SCREEN L*l 7-000003 T2 L*l 9-000001
LABEL ADDRESS LABEL ADDRESS LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE WAIT
TOTAL SPACE ALLOCATED = 000332 109
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN W-PLUS V02-51E
OME05D.FTN /TR:BLOCKS/WR
O9:45:46
27-FEB-81
PACE 19
OO01
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
2190
2200
SUBROUTINE COMPEN
TOGGLE COMP FLAG, TYPE CURRENT STATE OF FLAG.
BYTE VT100,DATA.SCREEN,NEWD,NEWR, RNRF, COMP, T2
COMMON VT100
COMMON /TFLAGS/ID,DATA, SCREEN, NEWD, NEWR
COMMON /RFLAG/RNRF
COMMON /NFLAGS/CDMP, T2, ITO
COMP = . NOT. COMP
NEWD= TRUE.
NEWR=.TRUE.
SCREEN=.TRUE.
RNRF=.FALSE.
IF(VT100)CALL ERLINE
IF(COMP)WRITE(5, 2190)
IF(. NOT. COMP)WRITE(5, 2200)
CALL WAITd, 2, IWSTAT)
RETURN
FORMAT(17X,'DATA COMPENSATION WILL BE PERFORMED'
FORMATU7X, 'DATA WILL NOT BE COMPENSATED')
END
4
*
-------
FORTRAN IV-PLUS V02-51E
OMEC5D. FTN /TR:BLOCKS/WR
09:45:46
27-FEB-81
PAGE 20
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1 *CODE1 000160 56 RW, I, CON, LCL
2 *PDATA OOOO10 4 RW, D, CON, LCL
3 *IDATA 000124 42 RW, D, CON, LCL
4 »VARS 000002 1 RW, D, CON, LCL
6 .*$**. 000002 J RW, D, OVR, GBL
7 TFLAGS 000006 3 RW, D, OVR, GBL
8 RFLAG 000002 1 RW, D, OVR, GBL
? NFLAGS 000004 2 RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
COMPEN 1-000000
VARIABLES
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
COMP L»l 9-000000 DATA L»l 7-000002 ID 1*2 7-000000 ITO I»2 9-000002
NEWD L*l 7-000004 NEWR L*l 7-000005 RNRF L*l 8-000000 SCREEN L«l 7-000003
VT100 L*l 6-000000
LABELS
LABEL ADDRESS LABEL ADDRESS LABEL ADDRESS LABEL ADDRESS
2190' 3-000000 2200' 3-000050
NAME TYPE ADDRESS
NAME TYPE ADDRESS
IWSTAT I«2 4-OOOOOO
T2 L»l 9-000001
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE WAIT
TOTAL SPACE ALLOCATED = 000334 110
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-5IE
OMEG5D.FTN /TR:BLOCKS/WR
09: 45: 48
27-FEB-81
PAGE 21
0001
0002
0003
0004
0005
0006
0007
OOO8
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
002^
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
003Q
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
C
C
C
5
1C
20
25
30
40
60
70
201
SUBROUTINE TO
GET NEW TO VALUE
BYTE VT100,DATA,SCREEN,NEWD,NEWR,RNRF, COMP, T2
COMMON VT100
COMMON /AUXIL/IAUX<52. 3)
COMMON /LDATA/IDAT<2048,2)
COMMON /STACK/NPLUM,NSTK,ELSTK, AZSTK
COMMON /TFLAGS/ID,DATA,SCREEN,NEWD, NEWR
COMMON /RFLAG/RNRF
COMMON /NFUAGS/COMP,T2.ITO
DATA PI180/.017453293/
IF(VTIOO)CALL ERLINE
WRITE(5, 2230)
READC5,2080HC
IFdC.EQ. 'Y ' OR.1C.EQ. 'YE')GOTO 10
IF(VT100)CALL ERLINE
WRITEC5, 2210HTO
READ(5, 2080)1C
IF(1C.NE. 'Y '. AMD. 1C.NE. 'YE')RETURN
IF(VT100)CALL ERLINE
WRITE(5,2220)
READC5,*)ITO
NEWD=.TRUE.
NEWR=.TRUE.
SCREEN=.TRUE.
RNRF=.FALSE.
RETURN
DO 20 1=30,200
IF(IDATCI,1).EQ 255)GOTO 30
CONTINUE
ITO=710
IF(VT100)CALL ERLINE
WRITE(5,2240)
GOTO 5
IF( IDATC 1-1, 1 ). GE. IDATd, 1 ) JGQTO 40
1 = 1-1
GOTO 30
INC=IAUX<11,1)
ITO=I*INC
CALL SEARCHtNPLUM,NP1,NP2)
IF(NP1.EQ. 0)GOTO 25
NP1=NP1/INC+1
IF(IDAT(NP1-1, 1). GE. IDAT(NP1, 1))GOTO 70
NP1=NP1-1
GOTO 60
NSTK=NP1*INC
IF(VT100)CALL ERLINE
DIST=(NSTK-ITO)*.1498962
WRITE(5,2260)ITO,NSTK,DIST
AZSTK=PI1BO*IAUX(19, 1>/10. 0
ELSTK=PI1BO#IAUX(20, D/10. 0
NPLUM=NSTK
GOTO 5
FORMAT(A2)
*
*
-------
FORTRAN IV-PLUS V02-51E
QMEG5D.FTN /TR:BLOCKS/WR
0054
0055
O056
0057
0058
2210
2220
2230
2240
2260
FORI1AT( 1H*, 16X
FORMATdH*, 16X
FORMATt 1H*, 16X
FORMAT( 1H$, 16X
FORI1AT( 1H$, 16X
09: 45: 48
27-FEB-81
PAGE 22
'TO IS NOW, 15, ' NS. DO YOU WANT TO CHANGE IT? ')
'ENTER TO IN NANOSECONDS: ')
'WILL TO BE LOCATED AUTOMATICALLY? ')
'TO NOT FOUND, SET TO 710 N3' )
o
o
0059
} IS',15, ' NANOSECONDS.
1' NANOSECONDS. STACK DISTANCE IS',F6.0,
END
STACK IS AT', 16.
' METERS. ')
-------
FORTRAN IV-PLUS VO2-51E
OMEG5D.FTN /TR.BLOCKS/WR
PROGRAM SECTIONS
NUMBER
NAME
SIZE
1
2
3
4
6
/
8
9
10
11
12
*CODE1
JPDATA
*IDATA
*VARS
. ****.
iiUXIL
LDATA
STACK
TFLAGS
RFLAG
NFLAGS
001102
OO0004
OO0412
000022
000002
000470
020000
000014
000006
000002
000004
289
2
133
9
1
156
4096
6
3
1
2
09:45:48
27-FEB-81
PAGE 23
ATTRIBUTES
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
RW,
I,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
CON,
CON,
CON,
CON,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
LCL
LCL
LCL
LCL
GBL
GBL
GBL
GBL
GBL
GBL
GBL
ENTRY POINTS
NAME TYPE ADDRESS NAME
TO 1-000000
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS NAME
AZSTK R*4
I 1*2
NEWD L*l
NSTK 1*2
VT100 L*l
9-000010 COMP
4-000006 1C
10-000004 NEWR
9-000002 PI 180
6-000000
TYPE ADDRESS
L*l
1*2
L*l
R*4
12-000000
4-000004
10-000005
4-000000
NAME
DATA
ID
IJPLUM
RNRF
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
L*l
1*2
1*2
L*l
10-000002
10-000000
9-000000
11-000000
DIST R*4
INC 1*2
NP1 1*2
SCREEN L*l
4-000016
4-000010
4-000012
10-000003
ELSTK R*4
ITO 1*2
NP2 1*2
T2 L*l
9-000004
12-OOOO02
4-000014
12-000001
ARRAYS
NAME TYPE ADDRESS
IAUX
IDAT
SIZE
1*2
7-000000 O00470 156
B-000000 020000 4096
DIMENSIONS
(52,3)
(2048,2)
LABELS
LABEL ADDRESS
5
40
2220'
1-000332
1-000552
3-000070
LABEL
10
60
2230'
ADDRESS
1-000370
1-000640
3-000130
LABEL
20
70
2240'
ADDRESS
1-000672
3-000202
LABEL
25
208O'
2260'
ADDRESS
1-000444
3-000000
3-000244
LA13EL
30
2210'
ADDRESS
1-O00520
3-000004
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE SEARCH
-------
o
FORTRAN W-PLUS V02-51E 09:45:48 27-FEB-B1 PAGE 24
OMEG5D.FTN /TR:BLOCKS/WR
TOTAL SPACE ALLOCATED = 022264 4698
-------
FORTRAN IV-PLUS V02-51E
OI1EG5D. FTN /TR: BLOCKS/WR
09: 45: 51
27-FED-S1
PAGE 25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
C
C
C
840
850
860
2290
2300
SUBROUTINE DL
SET DISPLAY LIMITS
BYTE VT100,DATA.SCREEN, NEWD, NEWR
COMMON VT100
COMMON /TFLAGS/ID,DATA, SCREEN,NEWD, NEWR
COMMON /RESO/IHRES,IVRES
Ir(VTIOO)CALL ERLINE
WRITE(5,2290)
READ(5,*,ERR=840)IHRES
IF(IHRES. LT. 1 )IHRES=1
IF(IHRES.GT.16)IHRES=16
GOTO 860
ENTRY DY
IFIVRES
IF(IVRES. LT. 1)IVRES=1
IF(IVRES. GT.4>IVRES=4
NEWD=.TRUE.
NEWR=.TRUE.
SCREEN=.TRUE.
RETURN
FORMAT( '*ENTER
1, ' POINT: '>
FORMAT('*ENTER
1, ' POINT: ')
END
X DISPLAY RESOLUTION, DATA POINTS/DISPLAY'
Y DISPLAY RESOLUTION. DATA POINTS/DISPLAY'
-------
FORTRAN IV-PLUS V02-51E
OMEG5D. FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER NAME
SIZE
09:45:51
27-FEB-81
ATTRIBUTES
1
3
6
7
a
*CODE1
*IDATA
. ***$.
TFLAGS
RESO
OO0344
000176
000002
000006
000004
114
63
1
3
2
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GDL
RW, D, OVR, GBL
RW, D, OVR, GQL
PAGE 26
©
ENTRY POINTS
NAME TYPE ADDRESS NAME
DL 1-000000 DY
TYPE ADDRESS
1-000146
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
DATA L»l
NEWR L«l
7-000002
7-000005
NAME
TYPE ADDRESS
ID 1*2
SCREEN L*l
7-000000
7-000003
NAME
TYPE ADDRESS
IHRES 1*2
VT100 L*l
8-000000
6-000000
NAME TYPE ADDRESS NAME
IVRES 1*2 8-000002 NEWD
TYPE ADDRESS
L*l 7-000004
LABELS
LABEL ADDRESS
840 1-000012
LABEL
850
ADDRESS
1-000160
LABEL ADDRESS
860 1-000312
LABEL ADDRESS
2290' 3-000000
LABEL ADDRESS
2300' 3-000076
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000556 183
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS VO2-51E
OI1EG5D. FTN /TR:BLOCKS/WR
09:45:53
27-FEB-B1
PAGE 27
0001
0002
0003
O004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
1065
20BO
2460
2470
SUBROUTINE AVERAG
GET NEW AVERAGING INTERVAL
BYTE VT100, AVE
COMMON VT100
COMMON /AVGE/SAVE,AVE
IF(VT100)CALL ERLINE
WRITE(5,2470)
READ(5, 2080HC
AVE=. FALSE.
IFdC.NE. 'Y ' AND. 1C. NE. 'YE')GOTO 1065
IF(VT100)CALL ERLINE
WRITE(5,2460)
READ< 5, *>SAVE
IF (SAVE. LT. 0. 0>SAVE=0. 0
AVE=. TRUE.
RETURN
FORMAT
FORMAT<1H*,16X,'ENTER AVERAGING INTERVAL IN MINUTES:
FORMAT UH*, 16X, 'SHOULD DATA BE AVERAGED? ')
END
-------
FORTRAN IV-PLUS V02-51E
OMEG5D. FTN /TR: BLOCKS/WR
09: 45: 33
27-FEG-81
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1
3
4
6
7
*CODE1
*IDATA
*VARS
. $*$*.
AVGE
000242
000122
000002
000002
000006
81
41
1
1
3
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
ENTRY POINTS
NAME TYPE ADDRESS
AVERAC 1-000000
NAME
TYPE ADDRESS
NAME
PAGE 28
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
AVE L*l 7-000004 1C 1*2 4-000000 SAVE R*4 7-000000 VT100 L*l 6-000000
LABELS
LABEL ADDRESS
1065 1-000240
LABEL ADDRESS
2080' 3-000000
LABEL ADDRESS
2460' 3-000004
LABEL ADDRESS
2470' 3-000060
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000376
127
-------
FORTRAN IV-PLUS VO2-51E
09:45:54
27-FEB-81
PAGE 29
DMEG5D.
0001
0002
0003
0004
0005
0006
FTN
C
C
C
/TR: DLOCKS/WR
SUBROUTINE EX
EXIT ROUTINE
WRITE (5. 2000) "33, "
143
CALL WAIT<2, 2, IWSTAT)
C
C
C
2000
CALL EXIT
FORMAT STATEMENTS
FORMAT ( '*', 2A1)
END
!RESET TERMINAL TO VT52 MODE
-------
FORTRAN IV-PLUS V02-51E
QI1EG5D. FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER
3
4
NAME
$CODE1
*PDATA
HDATA
*VARS
SIZE
000102
000010
O00020
000002
ENTRY POINTS
NAME TYPE ADDRESS
EX 1-000000
33
4
8
1
NAME
09:45:54
27-FEB-B1
ATTRIBUTES
RW,I.CON,LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
TYPE ADDRESS
NAME
PAGE 30
o
&
Q
TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
IWSTAT 1*3 4-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
LABELS
LABEL ADDRESS
2000' 3-000000
LABEL ADDRESS
LABEL ADDRESS
LABEL
ADDRESS
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
EXIT WAIT
TOTAL SPACE ALLOCATED = 000134
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS
OMEG5D. FTN
V02-51E
/TR: BLOCKS/WR
O9: 45: 55
27-FEB-81
PAGE 31
0001
0002
O003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
O018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
C
c
C
c
c
10
c
c
c
c
c
c
20
c
c
c
25
C
C
C
30
1010
SUBROUTINE SRCREDCIF,JIN, IERR,JF)
THIS SUBROUTINE READS DATA FROM THE SOURCE FILE RECORD
SELECTED BY IF AND READS IT INTO THE SET OF DATA ARRAYS
SELECTED BY JIN.
BYTE VT100
COMMON VT100
COMMON /AUXIL/IAUXC52, 3)
COMMON /LDATA/IDAT(2048,2)
COMMON /RECORD/IRKD
IERR=0
IF JF IS 1, THE DIFFERENCE BETWEEN FILE NUMBER AND RECORD NUMBER,
IF ANY, WILL BE DETERMINED.
IF(JF.EQ.1)IOFF=0
NTIME=0
J=IF-IOFF
IF(JIN. LT. 3)GQTO 20
READ HEADER INFORMATION ONLY
READ(4'J,ERR=30)(IAUX(K,JIN),K=l, 52)
GOTO 25
READ HEADER INFORMATION AND LIDAR DATA BOTH
READ(4'J, ERR=30)(IAUX(K,JIN),K=l,52), (IDAT(K, JIN),K=l, 2048)
IF THIS IS THE RIGHT SHOT, RETURN
IF(IAUX(20,JIN).EQ. 990)IAUXC20, JIN)=99
IF(IAUX(7,JIN).EQ.IF)RETURN
RECALCULATE DIFFERENCE BETWEEN SHOT NUMBER AND RECORD NUMBER.
IOFF=IAUX<7,JIN)-J
IF(JF EQ.1)RETURN
NTIME=NTIME+1
TRY ONE MORE TIME
IFCNTIME. EQ. 1)GOTO 10
TWO TRIES AND STILL NO LUCK. WRITE ERROR MESSAGE AND RETURN
IERR*=1
IF(VT100)CALL ERLINE
WRITE<5,1010JIF
RETURN
IERR=1
IF(VT100)CALL ERLINE
WRITEC5,1030)
RETURN
FORMAT(17X, 'COULD NOT FIND FILE ',14)
-------
9
FORTRAN W-PLUS V02-51E 09:45:55 27-FEB-B1 PAGE 32 £
OMEG5D.FTN /TR:BLOCKS/WR
0030 1030 FORMATU7X,'ERROR READING SOURCE FILE') «
0031 END
c
-------
FORTRAN IV-PLUS V02-51E
OMEG5D. FTN /TR. BLOCKS/WR
09:45:55
27-FEB-B1
PAGE 33
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1
3
4
6
7
B
9
*CODE1 000656
UIDATA 000074
*VARS 000010
. $$*$. 000002
AUXIL 000470
LDATA 020000
RECORD 000002
215
30
4
1
156
4096
1
RU, I, CON,
RW, D, CON,
RW, D, CON,
RW, D, OVR,
RW, D, OVR,
RW, D, OVR,
RW, D, OVR,
LCL
LCL
LCL
GBL
GBL
GBL
GBL
ENTRY POINTS
NAME
SRCRED
TYPE ADDRESS
1-000000
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME TYPE ADDRESS NAME TYPE ADDRESS
VARIABLES
NAME
IERR
JF
ARRAYS
NAME
IAUX
I DAT
LABELS
LABEL
10
1030'
TYPE ADDRESS
1*2 F-000006*
1*2 F-000010*
TYPE ADDRESS
1*2 7-000000
I #2 B-000000
ADDRESS
1-000046
3-000034
NAME
IF
JIN
SI
000470
020000
LABEL
20
TYPE ADDRESS
1*2 F-000002*
1*2 F-000004*
NAME TYPE ADDRESS
IOFF 1*2 4-000000
K 1*2 4-000006
NAME TYPE ADDRESS NAME TYPE ADDRESS
IRKD 1*2 9-000000 J 1*2 4-OOOO04
NTIME 1*2 4-000002 VT100 L*l 6-OOOOOO
ZE DIMENSIONS
156 (52,3)
4096 (2048,2)
ADDRESS
1-000212
LABEL ADDRESS
25 1-000400
LABEL ADDRESS LABEL . ADDRESS
30 1-000576 1010' 3-000000
e
c
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 021456 4503
NO FPP INSTRUCTIONS GENERATED
SYO: C101,1DOMEG5D,SYO:C101,1]OMEG5D/-SP=SYO:C101,UOMEG5D
-------
FORTRAN IV-PLUS
OMEG5E. FTN
0001
V02-51
/TR:BLOCKS/WR
O9:O2:O6
04-SEP-BO
PAGE 1
0002
0003
0004
0005
0006
0007
oooa
0009
0010
001 1
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
C
c
C
340
C
c
c
350
C
C
C
360
C
C
C
C
C
C
370
380
C
C
C
390
400
C
C
C
C
C
SUBROUTINE DLDFIL
GET OLD FILE NAME
BYTE LIST, OUT
DIMENSION IRFILEC9)
COMMON /AUXIL/IAUX(52,3)
COMMON /REPORT/REPO4, 136), IREPC12, 136)
COMMON /NPC/NOPAC,NOPAC1,NOPAC2, OUT
COMMON /ACC1/ITCNT,STIM,SAVEC,NSIG,NAVE,OSIGSM, OPSUM
WRITEO, 2070)
READC5,2030HRFILE
IRFILE(V)=0
CALL CLOSE(2)
OPEN(UNIT=2,NAME=IRFILE.TYPE='OLD', READONLY. ERR=350
1,DISPOSE='SAVE')
GOTO 360
HERE IF ERROR OPENING FILE
WRITEC5, 2040)
GOTO 340
READ HEADER INFORMATION
READ(2,2050)(IAUX(I.3).1=1,52)
DISPLAY HEADER INFORMATION ON CRT
LIST=.FALSE.
CALL FILISTO, 3, LIST)
READ DATA INTO REPORT ARRAYS
DO 370 1=1,136
READ(2, 2760, END=380>(IREPCL, I),L=l, 12), (REP(L, I),L=l, 14)
CONTINUE
CALL CLOSE(2)
NOPAC=I-1
FIND FIRST SHOT OF PRINTED REPORT
IF(IREP(12,1).EQ.0)GOTO 410
DO 390 1 = 1, NOPAC
IF(IREP(12,I).LE.I)GOTO 400
CONTINUE
1 = 1-1
NQPAC1=I+1
IF(I.EQ.1)NOPAC1=1
FIND FIRST SHOT OF CURRENT RUNNING AVERAGE
ITCNT=1
IF (NOPAC. GT. I REP ( 12, NOPAC) ) ITCNT°=NOPAC-IREP ( 12, NOPAC >+l
GET START TIME OF CURRENT RUNNING AVERAGE
-------
FORTRAN W-PLUS V02-51
OMEG5E.FTN /TR . 3LDCKS/WR
09:02:06
04-SEP-8O
PAGE 2
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
410
420
C
C
C
2030
2040
2050
2090
2160
2760
STIM=60. ft IREP<4, ITCNT) +IREP(5, ITCNT) + IREP(6, ITCNTJ/60. 0
SAVEC=REP(14,NDPAC)
NSIG=IREP(12, NDPAC)
NAVE=IREP<11, MOPAC)
OSIGSM=NSIG*REP< 13, NDPAC)
GPSUM=NAVE»REP(12, NOPAC)
NOPAC2=NQPAC-NDPAC1-H
GOTO 420
NOPAC1=1
NOPAC2=1
ITCNT«=0
NSIG=0
NAVE=0
SAVEC=0. 0
STIM=0. 0
OPSUM=0. 0
OSIGSM=0. 0
I=NOPAC
TYPE STATUS OF REPORT ARRAYS
WRITE(5,2160)IREP<7,I),IREP(8,I),NOPAC2,NOPAC
RETURN
FORMAT(20A2)
FORMAT*17X/ 'ERROR OPENING DISC FILE')
FORHAT
-------
FORTRAN IV-PLUS VO2-51
DMEG5E. FTN /TR:3LOCKS/WR
PROGRAM SECTIONS
NUMBER NAME
1
2
3
4
6
7
8
NPC
ACC1
SIZE
*CQDE1 001266
fPDATA 000014
*IDATA 000340
$VARS 000030
AUXIL 000470
REPORT
347
6
112
12
156
025200 5440
000010
000026
4
11
O9: 02: 06
O4-SEP-BO
PAGE 3
ATTRIBUTES
RW. I, CON. LCL
RW, D, CON. LCL
RW.D,CON,LCL
RW. D, CON, LCL
RW,D,OVR,GEL
RW, D, OVR, GEL
RW,D.OVR,GBL
RW,D,OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
OLDFIL 1-000000
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I 1*2
NOPAC 1*2
OSIGSM R*4
4-000024
8-000000
9-000016
NAME
ITCNT
NOPAC1
OUT
TYPE ADDRESS
1*2
1*2
L*l
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
9-000000
8-000002
8-000006
L 1*2
NOPAC2 1*2
SAVEC R*4
4-000026
8-000004
9-000006
LIST L*l 4-000000
NSIG 1*2 9-000012
STIM R*4 9-000002
NAME
NAVE
OP SUM
TYPE ADDRESS
1*2
R*4
9-000014
9-OOO022
ARRAYS
NAME TYPE ADDRESS
SIZE
IAUX 1*2 6-000000 000470 156
IREP 1*2 7-016700 0063OO 1632
IRFILE 1*2 4-000002 000022 9
REP R»4 7-000000 016700 3808
DIMENSIONS
(52.3)
(12,136)
(9)
(14,136)
LABELS
LABEL
ADDRESS
340 1-000014
390 **
2040' 3-000004
LABEL
ADDRESS
350 1-000124
400 1-000616
2050' 3-000040
LABEL ADDRESS
360 1-000154
410 1-001074
2090' 3-000076
LABEL
370
420
2160'
ADDRESS
»*
1-001154
3-000142
LABEL
ADDRESS
380 1-000500
2030' 3-000000
2760' 3-000240
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE FILIST OPEN*
TOTAL SPACE ALLOCATED = 027620 6088
-------
FORTRAN IV-PLUS V02-51 09:03:11 04-SEP-BO PAGE 4
OMEG5E.FTN /TR:BLOCKS/WR
O001 SUBROUTINE IDENT
C
C TYPE ID OF CURRENTLY SELECTED FILE.
C
0002 BYTE LIST.DATA.SCREEN. NEWD, NEWR
0003 COMMON /TFLAGSXID,DATA,SCREEN, NEWD, NEWR
0004 LIST=.FALSE.
0005 CALL FILIST(5, ID,LIST)
0006 RETURN
0007 END
-------
FORTRAN IV-PLUS VO2-51
OMEC5E.FTN /TR:BLDCKS/WR
O9: O2: 1 1
O4-SEP-BO
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1 tCODEl 000040
2 »PDATA 000004
3 *IDATA 000010
4 *VARS 000002
6 TFLAGS 000006
iNTRY POINTS
NAME TYPE ADDRESS
I DENT 1-000000
/ARIABLES
NAME TYPE ADDRESS
DATA L«l 6-000002
SCREEN L*l 6-000003
16
2
4
1
3
NAME
NAME
ID
RW, I, CON.
RW, D, CON.
RW. D, CON,
RW, D, CON.
RW, D. OVR,
TYPE ADDRESS
TYPE ADDRESS
I #2 6-000000
LCL
LCL
LCL
LCL
GBL
NAME
NAME
LIST
FUNCTIONS AND SUBROUTINES REFERENCED
FILIST
TOTAL SPACE ALLOCATED = 000064
NO FPP INSTRUCTIONS GENERATED
26
PAGE 5
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
TYPE ADDRESS
L*l 4-000000
NAME
NEWD
TYPE ADDRESS
L*l 6-000004
NAME
NEWR
TYPE ADDRESS
L*l 6-000005
-------
FORTRAN IV-PLUS V02-51
OI1EG5E. FTN /TR:3LOCKS/WR
09:02:12
04-SEP-BO
PAGE 6
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
SUBROUTINE LISTF
LIST CURRENT FILE ON THE LINE-PRINTER
BYTE LIST,VT100,DATA.SCREEN, NEWD, NEUR
COMMON VT100
COMMON /TFLAGS/ID,DATA.SCREEN,NEWD, NEWR
IF(VT100)CALL ERLINE
LIST= TRUE.
CALL FILIST(6.ID.LIST)
CALL CLOSE(6)
RETURN
END
-------
FORTRAN IV-PLUS V02-51
OI1EC5E. FTN /TR:BLOCKS/WR
O9:O2:12
04-SEP-80
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1 *CODEl 000070
2 SPDATA 000004
3 * I DATA 000016
4 *VARS O00002
6 *5*$. 000002
7 TFLAGS 000006
ENTRY POINTS
NAhE TYPE ADDRESS
LISTF 1-000000
VARIABLES
NAME TYPE ADDRESS
DATA L*l 7-000002
SCREEN L»l 7-000003
2B
2
7
1
1
3
NAME
NAME
ID
VT100
RW. Ii CON, LCL
RW. D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
TYPE ADDRESS NAME
TYPE ADDRESS NAME
1*2 7-000000 LIST
LM 6-000000
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERLINE FILIST
TOTAL SPACE ALLOCATED = 000124
NO FPP INSTRUCTIONS GENERATED
42
PAGE 7
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
TYPE ADDRESS
L*l 4-000000
NAME
NEWD
TYPE ADDRESS
L*l 7-000004
NAME
NEWR
TYPE ADDRESS
L»l 7-OOOOO5
-------
FORTRAN IV-PLUS V02-51
OMEC5E FTN /TR.3LOCKS/WR
09:02:13
04-SEP-8O
PAGE B
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
O014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0033
0036
0037
O03S
C
C
C
C
C
C
C
C
C
C
100
200
300
700
SUBROUTINE FILIST(IU.JI.LIST)
THIS SUBROUTINE LISTS HEADER AND/OR LIDAR DATA ON THE
TERMINAL OR LINE PRINTER.
BYTE VT100,LIST
REAL*8 DOUBLE, DQUBL1
COMMON VT100
COMMON /AUXIL/IAUX(52, 3)
COMMON /LDATA/IDAT(2048, 2)
IF HEADER IS TO BE DISPLAYED ON THE TERMINAL, MAKE SURE IT IS IN
VT52 MODE.
IF(IU.EQ
IF( IU. EQ.
IF( IU. EQ.
WRITEtIU,
'143
1,6),lAUXtS,JI),IAUX(9,JI)
EQ.
EQ.
EQ.
EQ.
EQ.
JI)
'LI
'LI
'T2
'T2
'T2
' >DOUBLE=
>DOUBLl=
' )DOUBLE=
')DOUBL1=
')ALPHA='L
LINEAR C'
HANNEL'
T-SQUARE'
D CHANNE1
OO39
BOO
5)WRITE(5, 100)"33,
5)VT100= FALSE.
5>CALL WAIT<2,2,IWSTAT)
200)IAUXC7, JI). <1AUX(I, JI), I
WRITEUU, 300) ( IAUXU, JI ), 1=21, 52)
DOUBLE='LOe CHAN'
DOUBL1='NEL'
ALPHA=' '
IF(IAUX(10, JI)
IF(IAUX(10, JI)
IF(IAUX(10, JI)
IF(lAUXi10,JI)
IF(IAUX(10, JI)
A=.OOl»IAUX(12
WRITECIU,700)DOUBLE,DOUBL1, ALPHA, IAUX(11, JI), A
A=. ltUAUX< 15, JI )
WRITEUU. 800)1. A, IAUX(13, JI), IAUXU4, JI)
A= 1»1AUX(18,JI)
WRITEUU. 800)2, A, IAUXU6, JI ), IAUX(17, JI)
AZ= 1»IAUX(19,JI)
EL=.1*IAUX(20,JI)
WRITE
-------
FORTRAN IV-PLUS V02-51 O9:O2:13 O4-SEP-80 PACE 9
OMEG5E.FTN /TR:BLOCKS/WR
O040 900 FORMAK/' AZIMUTH ANGLE',F6.1, '; ELEVATION ANGLE', F5. 1. //)
0041 1000 FORt1AT(/' TIME
0042 1100 FORMAT!16,3X,2015)
OO43 1200 FORMAT(16,3X, 8I5/)
0044 END
-------
FORTRAN IV-PLUS V02-51
OMEC5E.FTN /TR:3LOCKS/WR
09:02:13
04-SEP-80
PROGRAM SECTIONS
NUMBER
1
2
3
4
6
7
8
NAME
SCQDE1
*PDATA
*IDATA
*VARS
. *$**.
AUXIL
LDATA
SIZE
O01526
0001 12
000460
000046
000002
000470
020000
427
37
152
19
1
156
4096
ATTRIBUTES
RW,I-CON,LCL
RW,D,CON,LCL
RW, D, CON- LCL
RW.D,CON,LCL
RW,D,OVR,GBL
RW,D,OVR,GBL
RW,D,OVR,GBL
PAGE 10
ENTRY POINTS
NAME TYPE ADDRESS
FILIST 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
A R»4
EL R»4
JI I«2
NAME
TYPE ADDRESS
4-000030 ALPHA R*4
4-OOOO40 I 1*2
F-000004# LIST L»l
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
4-000024 AZ R*4
4-000022 IU 1*2
F-000006* VT100 L#l
4-000034 DOUBLE R*8 4-000000
F-000002* IWSTAT 1*2 4-O00020
6-000000
DOUBL1 R»8
J
4-OOOO10
4-OOOO44
ARRAYS
NAME TYPE ADDRESS
SIZE
DIMENSIONS
IAUX
I DAT
LABELS
LABEL
100'
900'
1*2 7-000000
I»2 8-000000
ADDRESS
3-000000
3-000326
000470
020000
LABEL
200'
1000'
156 (52,3)
4096 (2048,2)
ADDRESS LABEL ADDRESS
3-000006 300' 3-000122
3-000404 1100' 3-000426
LABEL ADDRESS
700' 3-000130
1200' 3-000436
LABEL ADDRESS
800' 3-0002U
FUNCTIONS AND SUBROUTINES REFERENCED
WAIT
TOTAL SPACE ALLOCATED = 023O60 4888
SYO: C101. 130MEG5E. SYO: C1O1, 1]OMEG5E/-SP=SYO: C1O1, 1DOMEG5E
-------
FORTRAN IV-PLUS
OI1EG5F. FTN
V02-51
/TR:BLOCKS/WR
O9:18:28
O4-SEP-80
PAGE 1
0001
0002
0003
O004
0005
0006
0007
0008
0009
0010
001 1
0012
0013
0014
0015
0016
0017
ooie
c
c
c
c
c
c
970
2080
2420
SUBROUTINE OUTP
SELECT NEW OUTPUT FILE
BYTE VT100,OUT
COMMON VT100
COMMON /NPC/NOPAC,NOPAC1, NOPAC2, OUT
COMMON /OUTFIL/IOFILE(9)
IS AN OUTPUT FILE ALREADY OPEN?
IF(VT100)CALL ERLINE
IF(.NOT. OUT)GOTQ 970
YES, TELL OPERATOR AND VERIFY NEED FOR NEW FILE.
!IF NO. GET NEXT COMMAND
WRITE(5,2420)(IOFILE(I),1=1,7)
READ(5, 2080)1C
IFUC.NE. 'Y '. AND. 1C. NE. 'YE'JRETURN
CALL CLOSE(3)
OUT=. FALSE.
IF
-------
FORTRAN IV-PLUS V02-51
QMEG5F FTN /TR:3LOCKS/WR
OS": 18: 2B
04-SEP-BO
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1
2
3
4
6
7
8
ENTRY
NAME
OUTP
*CODE1 000256
*PDATA 000004
*IDATA 000074
*VARS 000004
. **$*. 000002
NPC 000010
OUTFIL 000022
POINTS
TYPE ADDRESS
1-000000
87
2
30
2
1
4
9
NAME
RU, I, CON. LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
RW. D, OVR. GBL
TYPE ADDRESS NAME
VARIABLES
NAME
I
OUT
TYPE ADDRESS
I»2 4-000000
L»l 7-000006
NAME
1C
VT1OO
TYPE ADDRESS NAME
I»2 4-000002 NOPAI
L»l 6-000000
ARRAYS
NAME TYPE ADDRESS SIZE
IOFILE I»2 8-000000 000022
DIMENSIONS
(9)
LABELS
LABEL ADDRESS
970 1-000236
LABEL ADDRESS
2080' 3-000000
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERLINE OUTPT
TOTAL SPACE ALLOCATED = 000416 135
NO FPP INSTRUCTIONS GENERATED
PAGE 2
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
TYPE ADDRESS
1*2 7-000000
NAME TYPE ADDRESS NAME TYPE ADDRESS
NOPAC1 J»2 7-000002 NOPAC2 I»2 7-OOOO04
LABEL ADDRESS
2420' 3-000004
LABEL ADDRESS
LABEL ADDRESS
-------
FORTRAN IV-PLUS
OMEG5F. FTN
VO2-51
/TR: BLOCKS/WR
O9: 18: 3O
O4-SEP-BO
PAGE 3
0001
0002
0003
0004
0005
0006
0007
OOOS
0009
0010
001 1
0012
0013
0014
0015
0016
0017
0018
0019
0020
C
C
C
C
C
C
C
C
C
1000
C
C
C
2080
2440
SUBROUTINE BEGIN
INITIALIZE A NEW REPORT INTERVAL
BYTE VT100, OUT
COMMON VT100
COMMON /NPC/NOPAC.NOPAC1,NOPAC2, OUT
IF(VT100)CALL ERLINE
IS REPORT INTERVAL OPEN?
IF(NOPAC. EQ. OJGOTQ 1000
YES, TELL OPERATOR AND VERIFY NEED FOR NEW ONE
WRITE<5,2440)
READO, 20BO)IC
IFdC.NE. 'Y '.AND. 1C. NE. 'YE')RETURN
INITIALIZE REPORT ARRAYS
! IF NO, GET NEW COMMAND
NOPAC=0
NOPAC2=0
NOPAC1=1
CALL CLOSEO) !CLOSE THE CURRENTLY OPEN OUTPUT FILE
OUT=. FALSE.
IF(VT100)CALL ERLINE
GET NEW OUTPUT FILE SPECIFICATION AND WRITE DATA INTO IT.
CALL OUTPT
RETURN
FORMAT(A2)
FORMAT(1H«, 16X, 'REPORT INTERVAL ALREADY OPEN. '
1, 'NEW INTERVAL NEEDED? ')
END
-------
FORTRAN IV-PLUS VO2-51
OMEC5F. FTN /TR:BLOCKS/WR
09: 18: 3O
04-SEP-8O
PAGE 4
PROGRAM SECTIONS
NUMBER
NAME
SIZE
1 $CDDE1 OO0230
2 JPDATA O00004
3 *IDATA O00106
4 *VARS 000002
6 . ****. 000002
7 NPC 000010
ENTRY POINTS
NAME TYPE ADDRESS
BEGIN 1-000000
VARIABLES
NAME TYPE ADDRESS
1C 1*2 4-OOOOOO
VTJOO L*l 6-OOOOOO
76
2
35
1
1
4
NAME
NAME
NOPAI
LABELS
LABEL ADDRESS
1000 1-000140
LABEL
2080'
ATTRIBUTES
RW,I.CON,LCL
RW, D, CON, LCL
RW,D,CON,LCL
RW, D, CON, LCL
RW,D,OVR,GBL
RW. D, OVR, GBL
TYPE ADDRESS
NAME
TYPE ADDRESS
I«2 7-000000
ADDRESS
3-000000
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NOPAC1 1*2 7-000002
LABEL
2440 '
ADDRESS
3-000004
NAME TYPE ADDRESS
NOPAC2 1*2 7-000004
LABEL ADDRESS
NAME
OUT
LABEL
TYPE ADDRESS
L*l 7-OOO006
ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERLINE QUTPT
TOTAL SPACE ALLOCATED = 000356 119
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS VO2-51
OMEC5F. FTN /TR:BLOCKS/WR
O9:18:31
04-SEP-80
PAGE 5
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0029
0029
0030
C
C
C
C
C
C
C
C
1050
1054
1056
C
C
C
C
1058
SUBROUTINE EN
END REPORT INTERVAL AND WRITE INFORMATION ON THE OUTPUT FILE.
BYTE VT100,OUT
COMMON VT100
COMMON /REPORT/REP(14,136),IREP(12,136)
COMMON /NPC/NOPAC.NOPAC1,NOPAC2, OUT
COMMON /ACC1/ITCNT,STIM,SAVEC,NSIG,NAVE, OSIGSM, OPSUM
IF(VT100)CALL ERLINE
IF AN OUTPUT FILE IS HOT OPEN, ASK FOR OUTPUT FILE SPECIFICATION
AND WRITE DATA IN REPORT ARRAYS INTO IT IF ONE IS PROVIDED.
IF(.NOT.OUT)CALL OUTPT
CALL CLOSE(3) !CLOSE THE CURRENTLY OPEN OUTPUT FILE
OUT=. FALSE.
IF(NOPAC.GT. IREP(12,NQPAC))GOTO 1050
ALL DATA IN THE REPORT ARRAYS IS NEEDED FOR THE CURRENT RUNNING AVERAGE
NOPAC1=NOPAC-H
NOPAC2=NOPAC
GOTO 1058
SAVE ONLY THE DATA IN THE REPORT ARRAYS NEEDED FOR THE CURRENT
RUNNING AVERAGE
NOPACl=NOPAC-ITCNT+2
N=ITCNT-1
NOPAC=NOPAC1-1
NOPAC2=0
ITCNT=1
MOVE DATA FOR CURRENT RUNNING AVERAGE FROM END OF REPORT ARRAYS TO
BEGINNING.
DO 1056 I=1,NOPAC
DO 1054 11=1,12
IREPdl, I > = IREP(II, I+N)
REP(II-I)=REP(II,I+N)
CONTINUE
REP(13, I )=REP(13, I+N)
REPC14,I)=REP<14,I+N)
CONTINUE
GET HEW OUTPUT FILE SPECIFICATION AND WRITE DATA FROM REPORT ARRAYS
INTO IT
CALL OUTPT
RETURN
END
-------
FORTRAN W-PLUS V02-51
QI1EG5F FTN /TR:BLOCKS/WR
09:18:31
PROGRAM SECTIONS
NUMBER NAME
SIZE
1 *CODE1 000474 158
2 *PDATA O00004 2
3 »I DATA 000006 3
4 tVARS 000006 3
3 *TEMPS 000006 3
6 . ****. 000002 I
7 REPORT 025200 5440
8 NPC 000010 4
9 ACC1 000026 11
04-SEP-80
PAGE 6
ATTRIBUTES
RW, I. CON, LCL
RW,D,CON, LCL
HW,D,CON,LCL
RW,D,CON,LCL
RW, D, CON, LCL
RW,D,OVR, GBL
RW,D, OVR,GBL
RW,D,OVR,GBL
RW.D.OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
EN 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I I»a
NOPAC 1*2
OSIGSM R*4
4-000002
8-000000
9-000016
NAME
TYPE ADDRESS
II 1*2
NOPAC1 1*2
OUT L*l
NAME
TYPE ADDRESS
4-000004
8-000002
8-000006
ITCNT 1*2
NOPAC2 1*2
SAVEC R»4
9-000000
8-000004
9-000006
NAME
N
NSIG
STIM
TYPE ADDRESS
NAME
TYPE ADDRESS
1*2
1*2
R*4
4-000000
9-000012
9-000002
NAVE 1*2
OPSUM R*4
VT100 L»l
9-000014
9-000022
6-OOOOOO
ARRAYS
NAME TYPE ADDRESS
IREP
REP
SIZE
1*2
R*4
7-016700 006300 1632
7-000000 016700 380B
DIMENSIONS
(12,136)
(14,136)
LABELS
LABEL ADDRESS
1050 1-000132
LABEL ADDRESS
1054 **
LABEL ADDRESS
1056 **
LABEL ADDRESS
1058 1-000454
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERLINE OUTPT
TOTAL SPACE ALLOCATED = O25762 5625
-------
FORTRAN IV-PLUS VO2-51
OMEG5F. FTN /TR: BLOCKS/WR
O9:IS:34
04-SEP-80
PAGE 7
0001
0002
0003
0004
0005
0006
0007
00GB
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
C
C
C
C
C
C
C
C
110
120
130
200
10
1000
1100
1200
1300
1400
SUBROUTINE OUTPT
THIS SUBROUTINE WRITES OUTPUT DATA TO THE FILE CONNECTED
TO UNIT 3
IF THERE IS NO FILE OPEN, A FILE SPECIFICATION IS REQUESTED
AND IF ONE IS PROVIDED, THE FILE IS OPENED AND THE DATA FROM THE
REPORT ARRAYS IS WRITTEN INTO IT
BYTE OUT,VT100
COMMON VT100
COMI'ION /REPORT/REP (14, 136), IREPU2, 136)
COMMON /NPC/NOPAC,NQPAC1,NOPAC2, OUT
COMMON /AUXIL/IAUXO2, 3)
COMMON /OUTFIL/IOFILE<9>
IF(QUT)GOTO 200
IF(VT100)CALL ERLINE
WRITE(5,1200)
READ(5, 1400HOFILE
IFUOFILEO). EQ. ' 'JRETURN
IOFILE(9)=0
CALL CLQSEC3)
OPEN(UNIT=3,NAME=IOFILE,ERR=120, DISPOSE='SAVE')
GOTO 130
IF(VT100)CALL ERLINE
WRITE(5.1300)
CALL WAIT(3,2,IWSTAT)
GOTO 110
OUT=. TRUE.
WRITE(3,1000)(IAUX(I,1),1=1,52)
IFCNOPAC.EQ.0)RETURN
DO 10 I=1,NOPAC
WRITE(3, 1100)(IREP
-------
FORTRAN W-PLUS V02-51
OMEG5F.FTN /TR: BLOCKS/UIR
PROGRAM SECTIONS
NUMBER
10
NAME
SIZE
1
-t
3
4
6
7
8
f
*CODE1
»PDATA
» I DATA
*VARS
. »$*$.
REPORT
NPC
AUXIL
000602
000010
000242
000006
000002
025200
000010
000470
193
4
81
3
1
5440
4
156
OUTFIL 000022
09:18:34
04-BEP-80
PAGE B
ATTRIBUTES
RW. I, CON, LCL
RW,D,CON,LCL
RW,D,CON.LCL
RW,D,CON,LCL
RW,D,QVR,GBL
RW,D,OVR,GBL
RW,D,OVR,GBL
RW,D,OVR,GDL
RW,D, OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
QUTPT l-OOOOOO
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I 1*2
NOPAC2 1*2
4-000002
8-000004
NAME
TYPE ADDRESS
IWSTAT 1*2
OUT L*l
NAME
TYPE ADDRESS
4-000000
8-000006
J 1*2
VT100 L*l
4-000004
6-000000
NAME TYPE ADDRESS
NQPAC 1*2 8-000000
NAME TYPE ADDRKSS
NOPAC1 1*2 8-000002
ARRAYS
NAME TYPE ADDRESS
SIZE
IAUX 1*2 9-000000 000470 156
IOFILE 1*2 10-000000 000022 9
IREP 1*2 7-016700 006300 1632
REP R*4 7-000000 016700 3808
DIMENSIONS
(52,3)
<9>
(12,136)
(14,136)
LABELS
LABEL
10
1000'
ADDRESS
**
3-000000
LABEL ADDRESS
110
1100'
LABEL ADDRESS
1-000030
3-000036
120
1200'
1-000174
3-000060
LABEL
130
1300'
ADDRESS
1-000262
3-000130
LABEL
200
1400'
ADDRESS
1-000276
3-000166
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE ERUNE OPEN* WAIT
-------
FORTRAN IV-PLUS VO2-51 09:18:34 O4-SEP-8O PAGE 9
OHEG5F. FTN /TR:DLOCKS/WR
SYO: C101, lilOMEGSF, SYO: [101. UOMEG5F/-SP=SYO: C101, nOMEG5F
-------
FORTRAN IV-PLUS VG2-51E
OHEG5G. FTN /TR: BLOCKS/WR
O9:1O:O7
02-DEC-BO
PAGE 1
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
OO34
OO35
OO36
OO37
C
C
C
1075
C
C
C
C
ioao
C
C
C
C
C
C
1090
1100
SUBROUTINE ACC
ACCEPT OR REJECT LAST CALCULATED VALUE
BYTE VT100, OUT, REF. NEWO, AVE
COMMON VT100
COMMON /AUXIL/IAUX(52. 3)
COMMON /REPORT/REP(14,136),IREP<12,136)
COMMON /NPC/NOPAC.NOPAC1,NOPAC2, OUT
COMMON /ACC1/ITCNT,STIM,SAVEC,NSIG,NAVE, OSIGSM, OPSUM
COMMON /AVGE/SAVE,AVE
COMMON /ACC2/REF.NEWO.RN,RSIGN,RF,RSIGF,DN.DSIGN, DF. DSIGF,
10P,OPSIG, OPC
COMMON /PICK2/INC.KNEAR.KFAR
IF(VT100)CALL ERLINE
IF NEW OPACITY IS NOT AVAILABLE, GET NEW COMMAND
IF(. NOT. NEWO)RETURN
IF(NOfJAC. LT. 136)GOTO 1075
WRITE(5,2770) !REPORT ARRAYS ARE FULL, TELL OPERATOR
RETURN
NOPAC=NOPAC-i-l
NOPAC2=NOPAC2+1
I=NOPAC
IF/60. 0
ITCNT=I
IF(AVE)GOTO 1090
A RUNNING AVERAGE IS NOT BEING CALCULATED
STIM=0.0
ITCNT=0
COPY DATE, TIME AND FILE NUMBER FROM THE AUXILIARY ARRAY TO IREP
DO 1100 L=l.7
IREP(L,I)=IAUX(L,1)
CONTINUE
IREP(S,I)=IAUX(7,2) (REFERENCE FILE NUMBER
IF(.NOT.REF)IREP(8,I)"0 !NO REFERENCE USED
IREP(9,I)=(KNEAR-1)*INC !NEAR PICK POINT
IREP(1O,I)=(KFAR-1)*INC !FAR PICK POINT
REP( 1, I)=DN
A-r A A».r\ DCTfrrrDCTM^cr l/AI litre AT nnTW PT/^U pnTMTG
-------
FORTRAN W-PLUS VO2-51E
OMEC5G.FTN /TR:BLOCKS/WR
09: 10: 07
02-DEC-BO
PAGE 2
0038
0039
0040
O041
O042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0053
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
OO71
O072
0073
C
C
C
C
C
C
C
C
C
1 110
C
C
C
C
C
C
C
REP<2.I)=DSIGN
REP(3. I )=0. 0
REP(4,I)=0.0
IF[<=RN
IF(REF)REP(4, I )=RSIGN
REP<5,I)=DF
REP(6. I )=DEIGF
REP(7, 1)=0. 0
REPGQTO 1115
CALCULATE THE NEW RUNNING AVERAGE
TIME=IAUX<4, 1)#60. 0+IAUX(5. 1> + IAUX(6. 1)/60.0
MIDNIGHT CORRECTION
IF(TIME. LT. STIM)TIME=TIt1E-H440. 0
IF(STIM+SAVE. LT. TIME)GOTO 1120
ADD THE CURRENT VALUE OF SO TO THE RUNNING AVERAGE
NSIG=NSIG-H
OSIGSM=OSIGSM+OPSIG
REPU3, I)=OSIGSM/NSIG
IREP(12.I)=NSIG
SAVEC=TII1E-STIM
REP(14.I)=SAVEC
IREPdl, I)=NAVE
IF(NAVE.GT. 0)REP(12, I)=OPSUM/NAVE
ADD THE CURRENT VALUE OF OPACITY TO THE RUNNING AVERAGE IF SO IS
8 OR LESS (FIGURED TO THE NEAREST INTEGER
IF(OPSIG.GE.8. 5)GOTO 1115
NAVE=NAVE-H
DPSUt1=OPSUI1-»-DPC
]
-------
FORTRAN IV-PLUS
OMEG5G.FTN
V02-51E
/TR.ELOCXS/WR
O9:1O:O7
O2-DEC-8O
PAGE 3
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0008
0089
C
C
C
C
1115
C
C
C
1120
C
C
C
C
C
C
C
2760
2770
2780
O090
IREP<11, I)=NAVE
REP(12,I)=OPSUM/NAVE
IF AN OUTPUT FILE IS OPEN, WRITE THE INFORMATION FROM THIS SHOT
INTO IT
IF
-------
FORTRAN IV-PLUS V02-51E
QMEG5Q.FTN /TR:BLOCKS/WR
09: JO:07
02-DEC-80
PAGE 4
PROGRAM SECTIONS
NUMBER
NAME
SIZE
1
3
4
6
7
8
9
10
11
12
13
*CODE1
*IDATA
*VARS
. ****.
AUXIL
REPORT
NPC
ACC1
AVGE
ACC2
PICK2
001666
000216
OOOO10
000002
000470
025200
O0001O
000026
000006
000056
000006
475
71
4
1
156
5440
4
1 1
3
23
3
ATTRIBUTES
RW, I,
RU, D,
RW, D,
RW, D,
RW, D,
RW. D,
RW. D.
RW, D,
RW, D,
RW, 0,
RW,D,
CON,
CON.
CON,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
OVR,
LCL
LCL
LCL
GBL
GBL
GDL
GBL
GBL
GBL
GBL
GBL
ENTRY POINTS
NAME TYPE ADDRESS
ACC 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
AVE L*l
I 1*2
L I»2
NOPAC2 I«2
OP SUM R*4
RN R*4
STIM R«4
11-000004
4-000000
4-000002
9-OOOO04
10-000022
12-000002
10-000002
DF R*4
INC I»2
NAVE 1*2
NSIG 1*2
OSIGSM R*4
RSIGF R*4
TIME R*4
12-000032
13-000000
10-000014
10-000012
10-000016
12-000016
4-000004
DN
ITCNT
NEWO
OP
OUT
RSIGN
VT100
R*4
1*2
L*l
R*4
L*l
R»4
L*l
12-000022
10-000000
12-000001
12-000042
9-000006
12-000006
6-000000
DSIGF
KFAR
NOPAC
OPC
REF
SAVE
R*4
1*2
1*2
R*4
L*l
R*4
12-000036
13-000004
9-000000
12-000052
12-000000
11-000000
DSIGN R*4
KNEAR 1*2
NOPAC 1 1*2
OPSIG R*4
RF R*4
SAVEC R*4
12-000026
13-000002
9-000002
12-OOOO46
12-000012
10-000006
ARRAYS
NAME TYPE ADDRESS
SIZE
DIMENSIONS
IAUX
IREP
REP
LABELS
LABEL
1075
1115
1*2 7-000000
1*2 8-016700
R*4 8-000000
ADDRESS
1-000100
1-001264
000470
006300
016700
LABEL
10BO
1120
156 (52,3)
1632 ( 12, 136)
3008 ( 14, 136)
ADDRESS LABEL
1-000226 1090
1-001450 2760'
ADDRESS
1-O00254
3-OOOOOO
LABEL
ADDRESS
LABEL ADDRESS
1100 **
2770' 3-000022
11 10
278O'
1-OO103O
3-0001OO
FUNCTIONS AND SUBROUTINES REFERENCED
-------
FORTRAN W-PLUS VO2-51E O9:1O:O7 O2-DEC-80 PAGE 5
OPIEG5G. FTN /TR: DLOCKS/WR
ERLINE
TOTAL SPACE ALLOCATED = 030136 6191
-------
FORTRAN IV-PLUS V02-51E
OMEC5G. FTN /TR:3LQCKS/WR
09. 10: 13
02-DEC-80
PAGE 6
OO01
0002
0003
OO04
OOO5
0006
0007
oooa
ooov
OO1O
001 1
0012
0013
1000
1010
SUBROUTINE AUT
BYTE AUTO, VT100, RESID,PLUME
CQMI10N VT100
COMMON /PICKS/NEAR, IFAR, AUTO, RESID, PLUME
AUTO=. NOT AUTO
IFfVTIOOJCALL ERLINE
IF
-------
FORTRAN IV-PLUS VO2-51E
OMEG5G. FTN /TR: BLOCKS/WR
07:10:13
02-DEC-BO
PAGE 7
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1
-t
3
4
6
7
ENTRY
NAME
AUT
*CODE1 000130
*PDATA 000010
*IDATA 000146
*VARS 000002
. ****. 000002
PICKS 000010
POINTS
TYPE ADDRESS
1-000000
44
4
51
1
1
4
NAME
RW, I, CON,
RW, D, CON,
RW, D, CON,
RW, D, CON,
RW, D, OVR,
RW, D, OVR,
TYPE ADDRESS
LCL
LCL
LCL
LCL
GBL
GBL
NAME
TYPE ADDRESS
VARIABLES
NAME
AUTO
RESID
LABELS
LABEL
1000'
TYPE ADDRESS
L»l 7-000004
L«l 7-000003
ADDRESS
3-000000
NAME
IFAR
VT100
LABEL
1010'
TYPE ADDRESS
I»2 7-000002
L«l 6-000000
ADDRESS
3-000060
NAME
IWSTAT
LABEL
TYPE ADDRESS
I«2 4-000000
ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NEAR I«2 7-000000
LABEL ADDRESS
NAME TYPE ADDRESS
PLUME L»l 7-000006
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE WAIT
TOTAL SPACE ALLOCATED «= 000322
NO FPP INSTRUCTIONS GENERATED
105
-------
FORTRAN IV-PLUS V02-51E
QMEG5C.FTN /TR:BLOCKS/WR
09:10:14
02-DEC-BO
PAGE 8
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
1000
1010
1020
SUBROUTINE SET
SET THE LIMITS FOR THE AUTOMATIC PICK POINT SEARCH.
BYTE VT100
COMMON VT100
COMMON /LIMITS/LIMLO.LIMHI
COMMON /STACK/NPLUM,NSTK,ELSTK, AZSTK
COMMON /AUXIL/IAUX(52, 3>
INC=10
IFdAUXdl. 1). GE. 10> INC = IAUX( 11.1)
IFCVTIOOCALL ERLINE
WRITE(5,1000)
IF(VT100)CALL WAIT(1,2,IWSTAT)
LIML=(LIMLO-1>*INC
IF(VT100)CALL ERLINE
WRITE<5,101OLIML
CALL RDCHK(LIML)
LIMLO=LIML/INC+1
LIMH=(LIMHI-1>«INC
IF
-------
FORTRAN IV-PLUS V02-51E
OMEC50. FTN /TR: 3LOCKS/WR
O9:1O:14
02-DEC-8O
PAGE 9
PROGRAM SECTIONS
NUMBER
NAME
SIZE
ATTRIBUTES
1
2
3
4
6
7
8
9
ENTRY
NAME
SET
*CODEl 000406
tPDATA 000010
* I DATA 000236
tVARS 000010
. *$**. 000002
LIMITS 000004
STACK 000014
AUXIL 000470
POINTS
TYPE ADDRESS
1-000000
131
4
79
4
1
2
6
156
NAME
RW, I, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR, GBL
RW, D, OVR, GBL
RW, D, OVR, GDL
RW, D, QVR, GBL
TYPE ADDRESS NAME TYPE ADDRESS
NAME TYPE ADDRESS NAME TYPE ADDRESS
VARIABLES
NAME
AZSTK
LIMHI
VT100
ARRAYS
NAME
IAUX
LABELS
LABEL
1000'
TYPE ADDRESS
R*4 8-000010
1*2 7-000002
L*l 6-000000
TYPE ADDRESS
1*2 9-000000
ADDRESS
3-000000
NAME
ELSTK
LIML
SI
000470
LABEL
1010'
TYPE ADDRESS NAME TYPE ADDRESS
R*4 8-000004 INC 1*2 4-OOOOOO
I»2 4-000004 LIMLO 1*2 7-000000
ZE DIMENSIONS
156 (52,3)
ADDRESS LABEL ADDRESS
3-000070 1020' 3-000142
NAME TYPE ADDRESS NAME TYPE ADDRESS
IWSTAT 1*2 4-O00002 LIMH I»2 4-OOOOO6
NPLUM 1*2 8-000000 NSTK 1*2 B-OOO002
LABEL ADDRESS LADEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE RDCHK WAIT
TOTAL SPACE ALLOCATED = 001376 383
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-51E
OI1EG5G. FTN /TR:BLQCKS/WR
09:10:16
02-DEC-80
PAGE 10
0001
0002
0003
OOO4
OOO5
0006
0007
OOOB
0009
0010
O01 1
0012
1000
1010
SUBROUTINE RES
BYTE VT100,RES1D.AUTO, PLUME
COMMON VT100
COMMON /PICKS/NEAR. IFAR,AUTO, RESID, PLUME
RESID=. NOT. RESID
IF(VT100)CALL ERLINE
IF(RE5ID)WRITE<5,1000)
IF(.NOT RESID)WRITE(3.1010)
RETURN
FORMATU7X. 'RESIDUAL PLUME OPACITY CORRECTION WILL BE MADE. ')
FORMATU7X, 'NO RESIDUAL PLUME OPACITY CORRECTION WILL BE MADE. ')
END
-------
FORTRAN JV-PLUS VO2-51E
QMEG5G.FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
NUMBER
NAME
SIZE
1 *CQDE1 000120
3 * I DATA 000156
6 . ****. 000002
7 PICKS 000010
40
55
1
4
09:10:16
O2-DEC-80
ATTRIBUTES
RW,I,CON,LCL
RW, D, CON, LCL
RW,D,OVR,GBL
RW,D,OVR,GBL
PAGE 11
ENTRY POINTS
NAME TYPE ADDRESS
RES 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
AUTO L*l
VT100 L»l
7-O00004
6-000000
NAME TYPE ADDRESS
IFAR I»2 7-000002
NAME TYPE ADDRESS NAME TYPE ADDRESS NAME TYPE ADDRESS
NEAR 1*2 7-000000 PLUME L*l 7-000006 RESID L»l 7-000005
LABELS
LABEL ADDRESS
1000' 3-000000
LABEL ADDRESS
1010' 3-OOOO64
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
FUNCTIONS AND SUBROUTINES REFERENCED
ERLINE
TOTAL SPACE ALLOCATED = 000310 100
NO FPP INSTRUCTIONS GENERATED
-------
FORTRAN IV-PLUS V02-51E
OMEC5G. FTN /TR:BLOCKS/WR
09:10:17
02-DEC-BO
PAGE 12
0001
0002
0003
0004
0005
000 6
0007
oooa
0009
0010
001 1
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
O042
OO43
on a 4
C
C
C
C
C
C
10
20
30
40
50
60
70
80
90
100
110
120
130
140
SUBROUTINE HELP
THIS SUBROUTINE DISPLAYS A LIST OF THE AVAILABLE COMMANDS ON THE
TERMINAL. OPTIONALLY. A COMPLETE DESCRIPTION OF THE COMMANDS CAN BE
PRINTED. OR INFORMATION ABOUT A SINGLE COMMAND CAN BE DISPLAYED ON THE
TERMINAL.
BYTE VT100
COMMON VT100
COMMON /COMMAN/ICOM(51)
WRITE<5,1000>"33."143
VT100=. FALSE.
CALL WA1TC3,2. IWSTAT)
WRITE(5.1010)
WRITEC5. 1020)
WRITE<5,1030)
READ(5,1040,END=390)1C
IU=5
1F(1C.EG. ' ' )RETURN
IF(1C. EQ. 'AL')GOTO 30
DO 10 1=1.49
IF(IC EQ.ICQM(I))GOTQ 20
CONTINUE
GOTO(330. 330, 340,290,300. 100, 100,290,310,210,210, 160, 160, 170, 190
1.200,200,220, 3BO, 380,370,90,90,360, 110, 120, 260, ISO. 180,280,240
2, 240, 250. 80,80, 140, 140,60,40,40,27O,270,230, 150.50,350,320, 130
3,70)1
WRITE(5. 1050HC
GOTO 5
IU=6
WRITEC6,1060)
WRITEUU, 1070) ! : A : AC
IF(IU.EQ. 5JRETURN
WRITEUU, 1080) ! : AU
IF(IU.EQ. 5JRETURN
URITEUU. 1090) ! : AV
IFUU. EQ. 51RETURN
WRITERETURN
WRITEUU, 1170) ! : E : EN
IFUU EQ. 5>RETURN
-------
FORTRAN IV-PLUS VO3-51E
QI1EC5C. FTN /TR: 3LOCKS/WR
O9:1O:17
O2-DEC-BO
PAGE 13
0048
004 9
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
OO63
0064
0065
0066
0067
O068
0069
0070
0071
0072
0073
0074
O075
0076
0077
0078
0079
0080
GOBI
0082
OO83
0084
0085
0086
O087
0088
0089
O090
0091
0092
0093
0094
O095
0096
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
IF(IU. EQ. 5)RETURN
WRITE* 1U. 1200)
IFUU. EQ. 5JRETURN
WRITEUU, 1210)
IFUU. EQ. 51RETURN
WRITEUU, 1220)
IFUU. EQ. 5)RETURN
WRITEUU, 1230)
IFUU. EQ. 5)RETURN
WRITEUU. 1240)
IFUU. EQ. 5JRETURN
WRITEUU. 1250)
IF( IU. EQ. 5)RETURN
WRITEUU, 1260)
IFUU. EQ. 5JRETURN
WRITEUU. 1270)
IF( IU. EQ. 5)RETURN
WRITEUU, 1280)
IF( IU. EQ. 51RETURN
WRITEUU, 1290)
IF( IU. EQ. 5)RETURN
WRITE( IU, 1300)
IFUU. EQ. 5)RETURN
WRITEUU, 1310)
IF< IU. EQ. 5)RETURN
WRITEUU, 1320)
IFUU. EQ. 5JRETURN
WRITEUU. 1330)
IFUU. EQ. 5)RETURN
WRITE( IU, 1340)
IF( IU. EQ. 5)RETURN
WRITEUU, 1350)
IFUU. EQ, 5)RETURN
WRITE( IU, 1360)
IFUU. EQ. 5)RETURN
WRITEUU, 1370)
IF( IU. EQ. 5)RETURN
WRITEUU, 1280)
IFUU. EQ. 5)RETURN
WRITEUU, 1390)
IFUU. EQ. 5)RETURN
WRITEUU, 1400)
IF< IU. EQ. 5)RETURN
WRITEUU, 1410)
!:FI
! : H : HE
!: ID
!:L :LI
! : N : NE
! : NO
! : OF
!:0 :OP
!: OU
! :PK
! : P : PR
! : RC
! : R : RD
! :RE
! : RR
! : RS
! : S : SO
! : ST
! : SL
!: TO
!:T2
! : Y : YE
IF( IU. EQ. 6)CALL CLOSEC6)
390
C
C
C
1000
1010
1020
RETURN
FORMAT STATEMENTS
FORMATUH+, 2A1 )
FORMATC ' THE FOLLOWING
FORMAT(' A AC ACCEPT',
COMMANDS
T22, 'AU
AUTO FLAG'.T42,'AV AVERAGE'
2.T62,'DA BACK'/
1 ' D BE BEGIN'.T22, 'C CO COUP FLAG',T42, 'D DA DATA'
2, T62, 'DI DISPLAY'/
1' DX DISPLAY-X', T22, 'DY DISPLAY-Y',T42,'E EN END'
-------
FORTRAN IV-PLUS VO2-51E
OMEG5G. FTN /TR:BLOCKS/WR
09: 10: 17
O2-DEC-80
PAGE 14
2,T62, 'EX EXIT'/
1 ' F FA FAR PICK',6X, 'FI FILE NUMBER H HE HELP'
2,T62,'ID ID HEADER'/
1' L LI LIST SHOT N NE NEAR PICK NO NO REF'
2,T62,'OF OLD FILE'/
1 ' 0 OP OPACITY',7X, 'OU OUTPUT FILE'
2, T42, 'PK PICK POINTS P PR PRINT REPORT'/
1' RC RN,RF CALC R RD READ DATA'
2,T42, 'RE REF SHQT',T62, 'RR READ REF SHOT'/
1' RS RESID FLAG S SO SOURCE'
2, T42, 'ST START OVER SL SEARCH LIMITS'/
1' TO TIME REF',6X, 'T2 T2 FLAG',7X, 'Y YE YES REF'/)
0097 1030 FORMAT*' FOR MORE INFORMATION, TYPE THE COMMAND '/' FOR A COMP',
1'LETE DESCRIPTION OF THE COMMANDS ON THE PRINTER, TYPE "ALL" ')
0098 1040 FORMAT(A2)
0099 1050 FORMAT*IX,A2, ' IS NOT A VALID COMMAND. TRY AGAIN. ')
0100 1060 FORMAT*' OMEGA-1 LIDAR. OPACITY DATA ANALYSIS PROGRAM. ',3X,
1'DESCRIPTION OF COMMANDS.'/)
0101 1070 FORMAT*'0:A :AC ACCEPT; STORE THE LATEST CALCULATED OPACITY '
1, 'IN THE REPORT ARRAYS, '/9X, 'AND ADD THE INFORMATION TO THE '
2, 'OUTPUT FILE IF ONE IS OPEN. ')
0102 1080 FORMAT*'0:AU AUTO FLAG; CHANGES THE STATE OF THE AUTO '
1. 'FLAG. PICK POINTS ARE'/9X, 'SELECTED AUTOMATICALLY OR '
2,'MANUALLY DEPENDING ON THE STATE OF THE FLAG. ')
0103 1090 FORMAT*'0:AV
1, 'MINUTES. ')
0104 1100 FORMAT*'0:BA
1, 'AT THE PLUME.
0105 1110 FORMAT*'0:B : BE
1. 'COUNTERS. IF AN OUTPUT FILEV9X, 'IS NOT OPEN, ONE MAY BE '
2. 'OPENED TO SAVE THE REPORT ARRAYS BEFORE THEY AREV9X, 'LOST. '
3, ' A NEW OUTPUT FILE MAY THEN BE SPECIFIED FOR FUTURE DATA. ')
0106 1120 FORMAT*'0:C :CO COMP FLAG; CHANGES THE STATE OF THE COMP '
1,'FLAG. DATA IS COMPENSATEDV9X,'OR NOT DEPENDING ON THE '
2, 'STATE OF THE FLAG. ')
0107 1130 FORMAT*'0:D :DA DATA; DATA SHOT WILL BE USED FOR DISPLAY, ID.
1. ' AND LIST. '>
0108 1140 FORMAT*'0:DI DISPLAY; DISPLAY ON THE VT100 SCREEN THE '
1, 'REFERENCE SHOT OR DATA SHOT, '/9X, 'WHICHEVER IS SELECTED. ')
0109 1150 FORMAT*'0:DX
1, 'DISPLAY. ')
0110 1160 FORMAT*'0:DY
1. 'DISPLAY. ' )
0111 1170 FORMAT*'0:E :EN END REPORT INTERVAL; THE OUTPUT FILE IS '
1, 'CLOSED. IF A FILE IS NOT OPEN, '/9X, 'ONE MAY OPENED TO '
2. 'SAVE THE REPORT ARRAYS BEFORE THEY ARE MODIFIED. '/9X, 'THE '
3, 'REPORT ARRAYS ARE THEN PURGED SO THAT ONLY THE VALUES '
4, 'NEEDED FOR'/9X. 'THE LAST RUNNING AVERAGE ARE INCLUDED. A '
5,'NEW OUTPUT FILE MAY THEN BE'/9X,'SPECIFIED TO SAVE THE '
6,'UPDATED ARRAYS AND ANY ADDITIONAL RESULTS.')
0112 11BO FORMAT*'0:EX EXIT; CLOSE THE OUTPUT FILE, RESTORE THE '
1, 'VT100 TO ITS NORMAL STATE, '/9X. 'AND EXIT THE PROGRAM. ')
nn-j 1190 FORMAT* 'O: F : FA FAR; IN MANUAL MODE, SET THE FAR PICK POINT.
AVERAGE) SPECIFY THE AVERAGING INTERVAL IN '
BACK TO PLUME; RESTART THE PICK POINT SEARCH
BEGIN REPORT INTERVAL; INITIALIZE REPORT '
DISPLAY-Xi SELECT THE X-RESOLUTION FOR THE
DISPLAY-Y; SELECT THE Y-RESOLUTION FOR THE
-------
FORTRAN IV-PLUS VO2-51E
OHEC5G. FTN /TR.BLOCKS/WR
O9.1O:17
O2-DEC-80
PAGE 15
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0134
O135
0136
1210
1220
1230
1240
1250
1260
1270
1200
1290
1300
1310
1320
1330
1340
1350
1400
1410
1, 'NUMBER OF THE NEXT SHOT TO BE'/9X, 'READ FROM THE SOURCE '
2, 'FILE. ')
FORMAT('0:H :HE HELP; PROVIDES ASSISTANCE FOR THE USER. ')
FORMAT!'0:ID ID HEADER; TYPE THE HEADER INFORMATION FOR '
1. 'THE REFERENCE OR DATA SHOT, '/9X, 'WHICHEVER IS SELECTED. ')
FORMAT('0:L :LI LIST; PRINT THE HEADER INFORMATION AND THE '
1, 'RAW LIDAR DATA FROM EITHERV9X, 'THE REFERENCE OR DATA SHOT, '
2, 'WHICHEVER IS SELECTED. ')
FORMAT('0:N :NE NEAR; IN MANUAL MODE, SET THE NEAR PICK POINT.
l'/9X, 'IN AUTOMATIC MODE, MOVE THE NEAR PICK POINT AWAY FROM '
2, 'THE PLUME TO THEV9X, 'NEXT RELATIVE MINIMUM. ')
FORMAT!'0:NO NO REFERENCE; A REFERENCE SHOT WILL NOT BE '
1, 'USED IN THE OPACITY'/9X, 'CALCULATION. ')
FORMAT!'0:OF OLD FILE; TO SPECIFY AND READ IN A FILE '
1. 'CONTAINING RESULTS SO THATV9X, 'MORE DATA MAY BE ADDED '
2, 'TO IT. ')
FORMAT! '0:0 : OP OPACITY; CALCULATE AND DISPLAY OPACITY. ')
FORMAT!'O.OU OUTPUT FILE; SPECIFY A NEW OUTPUT FILE, OPEN '
1, 'IT, AND WRITE THE REPORT'/9X, 'ARRAYS IN IT. IF A FILE IS '
2, 'ALREADY OPEN, IT IS CLOSED. ')
FORMAT!'0:PK PICK POINTS; IN MANUAL MODE, SET BOTH PICK '
1, 'POINTS. '/9X, 'IN AUTOMATIC MODE, MOVE BOTH PICK POINTS AWAY '
2, 'FROM THE PLUME TO THEV9X, 'NEXT RELATIVE MINIMA. ')
FORMAT!'0:P :PR PRINT REPORT; PRINT THE RESULTS IN THE '
1, 'REPORT ARRAYS ON THE LINEV9X, 'PRINTER IN SUMMARY FORM; AND, '
2, ' IF DESIRED, IN REPORT FORM. ')
FORMAT! '0:RC RN, RF CALCULATE; CALCULATE AND DISPLAY '
1, 'RN AND RF ')
FORMAT!'0:R :RD READ DATA; READ A NEW DATA SHOT FROM THE '
1, 'SOURCE FILE. ')
FORMAT!'0:RE REFERENCE; REFERENCE !AMBIENT AIR) SHOT WILL '
1, 'BE USED FOR DISPLAY, ID, '/9X, 'AND LIST. ')
FORMAT!'0:RR READ REFERENCE; READ A NEW REFERENCE SHOT '
1, 'FROM THE SOURCE FILE. ')
CHANGES THE STATE OF THE RESID '
'CORRECTION TO THE OPACITY IS '
FORMAT('0:RS RESID FLAG;
1, 'FLAG. RESIDUAL PLUMEV9X,
0130
0131
0132
0133
1360
1370
1380
1390
FQRMAT('0:S : SO SOURCE; TO SPI
FORMAT('0:ST START; TO INI
1, 'AND FLAGS. ' )
FORMAT<'0:SL SEARCH LIMITS;
1, 'AUTOMATIC PICK POINT SEARCH.
FORMAT<'0:TO TIME REFERENCE
'MADE OR NOT, DEPENDING ON THE STATE OF THEV9X, 'FLAG. ')
TO SPECIFY AND OPEN A SOURCE FILE. ')
TO INITIALIZE ALL PROGRAM VARIABLES '
SET THE BOUNDS FOR THE '
)
SET TO, THE TIME THE LASER '
1, 'FIRES. TO MAY BE SPEC IFIED ' /9X, 'OR DETERMINED AUTOMATICALLY'
2, ' FROM A TO SHOT. ' )
FORMAT('0:T2 T2 FLAG; CHANGES THE STATE OF THE T2 FLAG.
1, 'T-SQUARED CORRECTION IS'/9X, 'EITHER PERMITTED OR SUPPRESSED, '
2, ' DEPENDING ON THE STATE OF THE FLAG. ')
FORI1AT('0:Y : YE YES REFERENCE; THE REFERENCE SHOT WILL BE '
1. 'USED IN OPACITY CALCULATIONS. ')
END
-------
FORTRAN W-PLUS V02-51E
OI1EG5G FTN /TR: 3LOCKS/WR
09:10:17
02-DEC-80
PROGRAM SECTIONS
NUMBER NAME
1 SCODE1
2 *PDATA
3 * I DATA
4 »VARS
6 . ****.
7 CQMMAN
SIZE
002600 704
000164 5B
011734 2542
000010 4
000002 1
000146 51
ATTRIBUTES
RW.I.CON,LCL
RW. D, CON. LCL
RW,D,CON,LCL
RW. D, CON, LCL
RW,D,QVR,CBL
RW,D, OVR,GQL
PACE 16
ENTRY POINTS
NAME TYPE ADDRESS
HELP 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I 1*2 4-000006
NAME TYPE ADDRESS NAME
1C 1*2 4-000002 IU
TYPE ADDRESS NAME TYPE ADDRESS
1*2 4-000004 IWSTAT 1*2 4-000000
NAME TYPE ADDRESS
VT100 L*l 6-000000
ARRAYS
NAME
ICOM
TYPE ADDRESS
1*2 7-000000
SIZE
000146 51
DIMENSIONS
(51)
LABELS
LAOEL
5
50
100
150
200
250
300
350
1000'
1050'
1100'
1150'
1200'
1250'
1300'
135O'
1400'
ADDRESS
1-000156
1-000470
1-000730
1-001170
1-001430
1-001670
1-002130
1-002370
3-000000
3-001446
3-002420
3-003576
3-005216
3-006332
3-007432
3-O1O34O
3-011336
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
10
60
110
160
210
260
310
360
101O'
1060'
1110'
1160'
1210'
126O'
1310'
136O'
141O'
**
1-000530
1-000770
1-001230
1-001470
1-001730
1-002170
1-002430
3-000006
3-001520
3-002532
3-003700
3-005404
3-00647O
3-OO7652
3-01061O
3-011572
20
70
120
170
220
270
320
370
1020'
1070'
1120'
1170'
1220'
1270'
1320'
1370'
1-000320
1-000570
1-001030
-001270
-001530
-001770
-002230
-002470
3-000060
3-001640
3-003104
3-004002
3-005470
3-006656
3-007754
3-O1070O
30
GO
130
180
230
280
330
380
1030'
1080'
1130'
1180'
1230'
1280'
1330'
13BO'
1-000374
1-000630
1-001070
1-00133O
1-001570
1-002030
1-002270
1-002530
3-001252
3-002062
3-00331O
3-004602
3-005600
3-006742
3-010O6O
3-011004
40
90
140
190
240
290
340
390
1040'
1090'
1140'
1190'
1240'
1290'
1340'
1390'
1-000430
1-000670
1-001130
1-001370
1-001630
1-002070
1-OO2330
1-002576
3-001442
3-002316
3-003416
3-004756
3-006066
3-O07164
3-010222
3-O11126
-------
FORTRAN JV-PLUS VO2-51E O9:1O:17 O2-DEC-BO PAGE 17
OI1EG5G. FTN /TR:BLOCKS/WR
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE WAIT
TOTAL SPACE ALLOCATED = 015100 3360
NO FPP INSTRUCTIONS GENERATED
SYO:C101, nOMEG5G, SYO: C101, 1]OMEG5G/-SP=SYO: [101. 13QMEG5G/CO:77
-------
FORTRAN IV-PLUS VO2-51
OI1EC5H. FTN /TR: BLOCKS/WR
14: 31: 56
04-SEP-8O
PAGE 1
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
001 1
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
C
c
C
c
c
c
c
c
c
c
c
c
1 140
SUBROUTINE PRINT
PRINT RESULTS TO DATE ON THE LINE PRINTER
BYTE VT100.OUT.BDAT<9>,AVE
COMMON VT100
COMMON /REPORT/REP(14,136),IREP(12,136)
COMMON /NPC/NOPAC,NOPAC1.NQPAC2, OUT
COMMON /AUXIL/IAUX(52, 3)
COMMON /AVGE/SAVE.AVE
DIMENSION ISCRC20), SCR(20), TITLEO3)
IFCALL ERLINE
IF THERE IS NO DATA IN THE ARRAYS, DON'T BOTHER
IF(NOPAC.LT. NOPAC1)RETURN
PRINT HEADER INFORMATION
A= 001*IAUX(12,1)
8= 1*IAUX(15,1>
C= 1*IAUX(18,1)
AZ= 1»IAUX<19,1)
EL=. 1*IAUX(20, 1)
CALL DATE(BOAT) !GET
TODAY'S DATE
GET THE NAME OF THE OPERATOR
WRITE(5,2490)
READ(5,2030)ISCR
IF(VT100)CALL ERLINE
GET VIOLATION VALUES FOR AVERAGE AND SINGLE EVENT
WRITE<5,2510)
REAQC5,*)VAVE,VSIN
L=l
PRINT THE INFORMATION IN THE REPORT ARRAYS FOR EACH SHOT THIRTEEN
SHOTS PER PAGE, INDICATING WHEN A VIOLATION HAS OCCURRED
DO 1170 I=NOPAC1,NDPAC
IF
-------
FORTRAN IV-PLUS V02-51
OMEG5H FTN /TR:BLOCKS/WR
14:31:56
04-SEP-BO
PAGE 2
O036
0037
0038
0039
0040
0041
0042
G043
0044
0045
0046
0047
O048
0049
0050
0051
0052
0053
0054
0055
OOS6
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
OO74
1150
1160
1170
C
C
C
C
1180
C
C
C
1190
C
C
C
12OO
1REP(12. I). IREP(12, I),REP(13, I)
IF(REP(U, I ). LT. 8. 5)GOTQ 1150
WRITE(6,2550>
GOTO 1160
IF(REP(10.I).GE.VSIN)WRITE(6,2560)
1F(REP(12,1).GE.VAVE)WRITE<6,2570)
IF(REP(13,1>.GE.B.5)WRITE(6,2580)
L=L+1
IF(L.GT.13>L-=1
CONTINUE
CALCULATE AND PRINT THE AVERAGE STANDARD DEVIATION AND OPACITY FOR
ALL THE SHOTS IN THE REPORT
SUM=0. 0
SIGSUM=0.0
M=0
DO 1180 I=NOPAC1,NOPAC
SIGSUt1=SIGSUM+REP( 11. I)
IF(REP(11, I ). GE. B. 5)GOTQ HBO
SUH=SUM+REP(10, I)
M=(H-1
CONTINUE
SUI1=SUt1/M
SIGSUM=SIGSUM/NOPAC2
WRITE<6.2590>M,SUM,NQPAC2, SIGSUM
IF(VT100)CALL ERLINE
FIND OUT IF A REPORT IS NEEDED
URITE(5,2595)
READ(5,2080)1C
IFdC.NE. 'Y ' AND. 1C. NE. 'YE')GOTO 1240
A REPORT IS NEEDED, GET THE TITLE
IF(VT100)GOTO 1190
WRITE(5,2660)
READ(5,2670)TITLE
GOTO 1200
CALL ERLINE
WRITE(5,2660)
CALL WAIT(2.2,IWSTAT)
CALL ERLINE
WRITE(5,2680)
READ(5,2690)TITLE
PRINT THE REPORT. 50 SHOTS PER PAGE
L=l
DO 123O I=NOPAC1,NQPAC
IF(L.GT.1)GQTO 121O
WRITE(6, 27OO)
IIOTTC-/A 371D1TTTIP
-------
FORTRAN IV-PLUS VO2-51
OMEG5H. FTN /TR.BLOCKS/WR
14:31:56
O4-SEP-8O
PAGE 3
0078
O079
0080
OOB1
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
O104
0105
0106
0107
0108
0109
1220
1230
1240
2030
20BO
2360
2365
24BO
2490
2500
0110
Oil 1
0112
0113
0114
01 15
0116
Ol 17
O118
0119
0120
0121
0122
0123
2510
2520
2530
2540
2550
2560
2570
2580
2590
2595
2600
2610
2620
2630
A=0. 0
B=0. 0
Ml=0
M2=0
C=REP(10, I)
D=REPdl.I)
IF(C. LT. 0 0)C=0 0
IF(REP(14, I )«. 20. LT. SAVE)GOTO 1220
A=REP(12.I)
B=REP<13, I)
M1 = IREP(12, I)-IREP<11, I)
M2=IREP<12, I)
ENCQDE(19. 2360.SCR)A,D
DECODEC19, 2365,SCR)IA. IB
ENCODE(19, 2360,SCR)C,D
DECODE(19,2365,SCR)IC,IE
WRITE(6,2730)(IREP(M, I ), M=l, 6), 1C, IE, I A, IB,Ml,M2
IF(REP(10, I). GE. VSIN)WRITE(6,2740)
IF(A. GE. VAVE)WRITE(6,2750)
L=L+1
IF(L.GT. 50)L=1
CONTINUE
CALL CLOSE(6)
IF(VT100)CALL ERLINE
RETURN
FORMAT(20A2)
FORMAT(A2>
FORMATdX, F9. 0, F9. 0)
FORMATU9, IX, IB)
FORMATdHl, 'UNITED STATES ENVIRONMENTAL PROTECTION AGENCY, ',
1' NATIONAL ENFORCEMENT INVESTIGATIONS CENTER,',
2' DENVER, COLORADO 80225'/)
FORMATdH*. 16X, 'TYPE YOUR NAME: ')
FORMAT(/' OMEGA-1 LIDAR OPACITY DATA. ANALYZED ',9A1,
1 ' BY ', 20A2/)
FORMATdH*, 16X, 'ENTER VIOLATION VALUES FOR AVERAGE. ',
1' SINGLE EVENT: ')
FORMAT(/I3. '/', 12, '/', 12. 14, ': ', 12, ': '. 12, '
I ' REF FILE', 15)
FORMAT(' TN='i 15, ' XN='.F6. 1,' +OR- ',F4. 1,
FILE'.15,
RN=',F6. 1, ' +OR
15,
XF=',F6. 1, ' +OR- , F4. 1, ' RF=',F6. 1.
1, ''/. +OR- '
OP ' 'S AVE'
1, F4. 1, ' TF=
2' +OR- ', F4. 1 )
FORMAT(' OP=',F5.
1, ' MINUTES', 14, '
2F5. 1 )
FORMATUH+, 2OX, 'TOO NOISY')
FORMAT(1H+.2OX, 'VIOLATION')
FORMAT*1H+.BOX, 'VIOLATION')
FDRMATdH-t-, 113X, 'TOO NOISY')
FORMAT(/I5,' OPACITIES AVERAGE
1' STANDARD DEVIATIONS AVERAGE', F5. 1)
FORMATdH*, 16X, 'SHOULD A REPORT BE PRINTED?
FORMAT(IX,32A2)
FORMATdH+. T69, 'LOG CHANNEL, ')
FDRMATdH+, T69, 'LINEAR CHANNEL, ')
FORHAT(1H + , T69, 'T-SQUARED CHANNEL, ')
F4. 1, 11X, 'OPC=', F5. 1, "/. FOR'. F6. 2
F6. 1, "/.', 11X, 13, ' STD DEV 'S AVE',
F6. 1, 10X, 14,
-------
FORTRAN W-PLUS VO2-51
QMEG5H. FTN /TR : BLOCKS/t-JR
14: 31:56
04-SEP-80
PAGE 4
0124 2640 FORMATCIH+. T89, 13, ' NS/PT, +OR-'. F5. 2. ' VOLTS')
0123 2650 FORMATC' GATE l',F5. 1.' DB'.I6, ' TO', 16, ' NS, GATE2',F5. 1
1. ' DB', 16- ' TO', 16, ' NS, CALIBRATION FILE', 15, ', AZ=',F5. 1,
2', EL='. F4. l/>
0126 2660 FORMATU7X, 'ENTER TITLE. 132 CHARACTERS MAXIMUM. '>
0127 2670 FORMAT(20A4/13A4)
O128 268O FORMATC1H$)
0129 2690 FORMAT(33A4)
0130 2700 FORMAT(1H1.44X,'UNITED STATES ENVIRONMENTAL PROTECTION AGENCY'
1/46X,'NATIONAL ENFORCEMENT INVESTIGATIONS CENTER'
2/56X,'DENVER, COLORADO 80225'//)
0131 2710 FORMAT(1X, 33A4/J
0132 2720 FORMAT(BX, 'DATE', 6X, 'TIME', 4X, 'OPACITY SO VIOLATION',
1' AVERAGE OPACITY AVERAGE SO VIOLATION NUMBER DISCARDED'/)
0133 2730 FORMAT <6X, 12, '/', 12, '/ ', 12. 14, ': ',12, ': '. 12. 3X. 14, 4X, 13
1, 1BX, 14, 11X, I3.20X, 13. ' OF'. 14)
0134 2740 FORMATC1H+. T43. '»»**')
0135 2750 FORMATUm-, T83, '#*»*')
0136 END
-------
FORTRAN IV-PLUS VO2-51
QMEG5H.FTN /TR:BLOCKS/WR
14:31:56
04-SEP-8O
PAGE 5
PROGRAM SECTIONS
NUMBER NAME
SIZE
1
2
3
4
5
6
7
8
9
10
SCODE1
*PDATA
* I DATA
*VARS
*TEMPS
. ****.
REPORT
NPC
AUXIL
AVCE
003724
000024
002452
000502
000006
O00002
025200
000010
000470
000006
1002
10
661
161
3
1
5440
4
156
3
ATTRIBUTES
RW, I,
RW, D,
RW, D.
RW. D.
RW. D,
RW. D,
RW. D,
RW. D,
RW. D.
RW. D,
CON.LCL
CON,LCL
CON,LCL
CON,LCL
CON.LCL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
PRINT 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
NAME TYPE ADDRESS
A
D
1C
Ml
OUT
VSIN
ARRAYS
NAME
BOAT
IAUX
IREP
1SCR
REP
SCR
TITLE
LABELS
LABEL
1140
1190
1240
2480'
R»4 4-000406
R»4 4-000470
1*2 4-000460
I»2 4-000464
L*l 8-000006
R*4 4-000436
TYPE ADDRESS
L»l 4-000000
I»2 9-000000
1*2 7-016700
1*2 4-O00012
R*4 7-000000
R.4 4-000062
R*4 4-000202
ADDRESS
1-OO1O3O
1-OO2426
1-003666
3-000026
AVE
EL
IE
M2
SAVE
VT100
SIZE
000011
000470
006300
OOOO50
016700
OOO120
000204
LABEL
1 150
12OO
2030'
249O'
L*l 10-000004 AZ R*4 4-000422 B R»4 4-000412 C R*4 4-000416
R«4 4-000426 I 1*2 4-OO0444 IA 1*2 4-000474 IB 1*2 4-O00476
1*2 4-000500 IWSTAT 1*2 4-000462 L 1*2 4-000442 M 1*2 4-O00446
1*2 4-O00466 NOPAC 1*2 8-000000 NOPAC1 1*2 8-000002 NOPAC2 1*2 8-OOOOO4
R*4 10-000000 SIGSUM R*4 4-000454 SUM R*4 4-000450 VAVE R*4 4-000432
L*l 6-000000
DIMENSIONS
4 (9)
156 (52,3)
1632 ( 12, 136)
20 <20)
3BOB (14, 136)
40 (20)
66 (33)
ADDRESS LABEL ADDRESS
1-001526 1160 1-001602
1-002554 121O 1-O02712
3-000000 20BO' 3-000004
3-000222 2500' 3-000252
LABEL ADDRESS LABEL ADDRESS
1170 ** HBO 1-002072
1220 1-0031 1O 1230 1-00364O
2360' 3-OO0010 2365' 3-OOO02O
2510' 3-000342 2520' 3-000436
-------
FORTRAN W-PLUS V02-51
OMECSH. FTN /TR:BLOCKS/WR
14:3J:56
04-SEP-80
PAGE 6
2530'
2560'
2620'
2670'
2720'
3-000514
3-001 102
3-001320
3-OO1666
3-002114
2540'
2590'
2630'
2680'
2730'
3-000662
3-001122
3-001346
3-001676
3-002266
2550'
2595'
2640'
269O'
2740'
3-001022
3-001222
3-O01400
3-001702
3-002350
2560'
2600'
2650'
27 OO'
2750'
3-001042
3-001266
3-001440
3-001706
3-002364
2570'
2610'
2660'
2710'
3-001062
3-001274
3-001614
3-002106
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE DATE ERLINE WAIT
TOTAL SPACE ALLOCATED = 035042 7441
SYO:C101. UONEG5H.SYO: C101, 1]OMEG5H/-SP=SYO:C101. 110MEG5H
-------
B(c) Omega-6 Lidar Data Output File Editor Program
(FORTRAN-4+)
-------
FORTRAN IV-PLUS VO2-51E
OMECA6. FTN /TR:BLOCKS/MR
14: 47: 13
O2-DEC-8O
PAGE 1
0001
0002
0003
0004
0005
0006
0007
oooa
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
10
C
C
C
C
C
PROGRAM OMEGA6
THIS PROGRAM IS USED TO EDIT LIDAR OPACITY DATA GENERATED BY OMEGAS.
EDITING CAPABILITIES ARE LIMITED TO ACCEPTING OR DELETING DATA ON A
SHOT BY SHOT BASIS.
THE PROGRAM ALSO HAS THE CAPABILITY OF MERGING TWO OR MORE INPUT FILES
INTO ONE OUTPUT FILE, AND THE CAPABILITY OF RECALCULATING RUNNING
AVERAGES USING ONLY THE ACCEPTED DATA.
INPUT FILES CAN BE NO BIGGER THAN 140 SHOTS.
360 SHOTS IN LENGTH CAN BE CREATED.
OUTPUT FILES UP TO
BYTE AV, 1C
COMMON IAUX(52),REP(14, 140),IREP(12, 140), ISCNT, ISHOT, JSHOT, ICNT
DIMENSION REPO(14,360),IREPO(12,360),lOFILE(lO)
KMAX=360 iMAXIMUM NUMBER OF SHOTS PERMITTED IN THE OUTPUT FILE
ISCNT=1 !INPUT FILE COUNTER
AVE=0.0 !AVERAGING INTERVAL IN MINUTES
NAVE=0 !NUMBER OF OPACITIES IN THE RUNNING AVERAGE
AV=. FALSE. !DATA WILL NOT BE AVERAGED
ISHQT=0 !NUMBER OF LAST SHOT ACCEPTED OR REJECTED
GET FIRST SOURCE FILE AND READ DATA INTO INPUT ARRAYS
CALL SOURCE
I !INPUT ARRAY INDEX
KCNT=1 !OUTPUT ARRAY INDEX
IF THERE ARE NO SHOTS IN THE INPUT ARRAY, EXIT
IFdCNT. EQ. 0)CALL EXIT
WRITE(5,1000) IWILL RUNNING AVERAGE BE CALCULATED?
READ(5, 1010HC
IFdC. NE. 'Y')GOTO 10
YES. SET AV FLAG AND GET AVERAGING INTERVAL
AV = . TRUE.
WRITE<5,1020)
READ(5, »)AVE
TELL OPERATOR THE NUMBER OF THE NEXT SHOT IN THE INPUT FILE AND
GET THE NEXT COMMAND
WRITE(5, 1030)I REP(7,JCNT)
READ(5,1010,END=15)IC
IFdC.EQ. 'R')GOTO 20 IREJECT COMMAND
IFdC.EQ. 'N')GOTO 40 INEW SOURCE FILE
IFdC.EQ. 'A')GOTO 50 IACCEPT DATA
IFdC.EQ. 'W'JGOTO 150 iWRITE DATA IN AN OUTPUT FILE
IF INPUT COMMAND IS INVALID, GET A NEW COMMAND
GOTO 10
AN END OF FILE OR CONTROL 'Z' WAS TYPED TO INDICATE THE END OF THE
-------
FORTRAN IV-PLUS V02-51E
OMEOA6. FTN /TR:BLOCKS/WR
14:47:13
02-DEC-80
PAGE 2
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
003B
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
OO54
OO55
OO5&
C
C
15
C
C
C
C
C
20
C
C
C
C
25
C
C
C
30
35
C
C
C
40
C
C
C
C
c
C
50
C
C
C
C
PROGRAM
CALL EXIT
ENTRY POINT FOR REJECT COMMAND
SHOTS WILL BE REJECTED THROUGH SHOT NUMBER N. IF THERE ARE TWO SHOTS
IN THE INPUT FILE NUMBERED N, ONLY THE FIRST IS REJECTED.
WRITE(5.1040)
READC5,*)N
IF(N.LE.JSHOT)GOTD 25
THE SHOT NUMBER SPECIFIED IS BIGGER THAN THE LAST SHOT IN THE INPUT FILE
NOTIFY THE OPERATOR AND VERIFY THAT N IS CORRECT
WRITE<5,1050>N,JSHOT
READ(5,1010)1C
IF(1C.NE. 'Y')GOTO 20
IFN
IF(N.LE.JSHQT)GOTQ 60
'S
"S
N IS GREATER THAN JSHOT,
OPERATOR AND VERIFY.
WRITE(5, 1050)N, JSHOT
READ(5.1O1O)1C
IF(IC.NE. 'Y')GQTO SO
THE LAST SHOT IN THE INPUT FILE. NOTIFY THE
-------
FORTRAN IV-PLUS VO3-51E
OMEGA6.FTN /TR:BLOCKS/WR
14:47:13
02-DEC-80
PAGE 3
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
ooao
0081
0082
0083
0084
0085
0086
OOB7
OOBB
0089
60
C
C
C
70
C
C
C
C
80
C
C
C
C
C
C
C
90
100
C
C
C
C
C
C
110
C
C
C
IF(KCNT. LE. KI1AX)GOTO 70
THE OUTPUT FILE IS FULL. NOTIFY THE OPERATOR AND GET A NEW COMMAND
WRITE<5, 1080)IREPO<7, KCNT-1)
GOTO 10
I=KCNT
IFd. GT. 1JGOTO BO
THIS IS THE FIRST SHOT IN THE OUTPUT FILE. INITIALIZE ACCUMULATORS
AND TIME FOR THE RUNNING AVERAGE.
NAVE=0
SAVEC=0. 0
NSIG=0
OPSUH=0. 0
OSIGSM=0.0
STIM=IREP(4. JCNT)*60. 0-HREP<5, JCNT) -HREP ( 6, JCNT>/60. 0
ITCNT=I
IFTIME>=TIME+1440.
IFCSTIM+AVE.LT. TIME)GOTO 140
ADD THE CURRENT VALUE OF SO TO THE RUNNING AVERAGE
NSIC=NSIG-U
OSIGSM=OSIGSM+REP<11,JCNT)
REPO(13,I>=OSIGSM/NSIG
IREPO<12,I)=N5IG
-------
FORTRAN IV-PLUS
OMEGA6. FTN
0090
0091
0092
0093
C
C
C
C
0094
0093
0096
0097
0098
C
C
C
120
V02-51E
/TR:BLdCKS/WR
14;47:13
02-DEC-BO
PAGE 4
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
09
0110
0111
0112
0113
0114
0115
0116
C
C
C
C
130
C
C
C
C
C
C
140
C
C
C
C
C
c
C
SAVEC=TIME-STII1
REPOC 14. I)=SAVEC
IREPOdl. I >=NAVE
IF=OPSUN/NAVE
INCREMENT INPUT AND OUTPUT ARRAY INDICES
JCNT=JCNT-H
KCNT=KCNT+1
IF(JCNT. LE. ICNT1GOTO 130
THE INPUT ARRAY IS EMPTY. TELL OPERATOR AND GET NEW COMMAND
JCNT=JCNT-1
ISHOT=IREP(7, JCNT)
WRITE<5, 1060)ISHQT
GOTO 10
CHECK TO SEE IF ENOUGH SHOTS HAVE BEEN ACCEPTED, AND GET NEW COMMAND
IF SO.
IF(N. EQ. IREPC7, JCNT-1 > )GOTO 10
NOT DONE YET, CONTINUE
ISHOT=IREP ( 7, JCNT-1 )
GOTO 60
VALUES NEED TO BE SUBTRACTED FROM THE RUNNING AVERAGE
NSIG=NSIG-1
SUBTRACT FIRST SO FROM THE RUNNING AVERAGE
OSIGSM=OSIGSM-REPO(11, ITCNT)
ITCNT=ITCNT-H
STIM=IREPO(4, ITCNT)*60. O+IREPOO, ITCNT ) + IREPO( 6, ITCNT)/60. 0
IF(STIM+1440. 0. LE. TIME)TIME=TIM£-1440.
IF(REPO( 11, ITCNT-1). GE. 8. 5) GOTO 110
IF THE VALUE OF SO JUST SUBTRACTED WAS 8 OR LESS, SUBTRACT THE
CORRESPONDING VALUE OF OPACITY FROM THE RUNNING AVERAGE
NAVE=NAVE-1
QPSUM=OPSUM-REPO( 10, ITCNT-1)
GOTO HO
-------
FORTRAN IV-PLUS V02-51E
OMEGA6. FTN /TR:BLOCKS/WR
14. 47: 13
02-DEC-60
PAGE 5
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
O142
0143
0144
0145
0146
0147
0148
0149
O130
0151
0152
0153
0154
0155
C
C
C
C
C
C
150
160
170
180
C
C
C
C
C
C
C
C
190
20O
C
C
C
1000
1010
1020
1030
1040
1050
1060
107O
1080
10VO
1 100
1 1 10
1 120
ENTRY POINT FOR WRITE OUTPUT FILE COMMAND
GET THE OUTPUT FILE SPECIFICATION, OPEN THE FILE, AND WRITE THE
DATA FROM THE OUTPUT ARRAYS INTO IT.
MOVE THE DATA FROM THE CURRENT RUNNING AVERAGE FROM THE END OF THE
OUTPUT ARRAYS TO THE BEGINNING.
WRITE(5, 1090)
READ(5, 1100UOFILE
IOFILE(10)=0
CALL CLOSE(4)
OPEN(UNIT=4, NAME=IOFILE, ERR=160. DISPOSE= 'SAVE ' )
GOTO 170
WRITE(5, 1110)
GOTO 150
WRITE(4, 1120UAUX
DO 180 I=1,KCNT-1
WRITE (4, 1130) (IREPO( J, I ), J=l, 12), =REPQ(13, I+N)
REPOl 14, I )=REPO(14, I+N)
CONTINUE
GOTO 10
FORMAT STATEMENTS
FORMAT( '*WILL DATA BE AVERAGED? ')
FORMAT (Al )
FORMAT < '*ENTER AVERAGING INTERVAL IN MINUTES: ')
FORMATUX, 14, ' IS THE NEXT SHOT'/'*: ')
FORI1AT< '^REJECT THROUGH SHOT: ')
FORMAT( IX, 14, ' IS GREATER THAN', 15, ', THE LAST SHOT IN THE ',
1' INPUT FILE. '/'*ARE YOU SURE? ')
FORMAT(' THE SOURCE FILE IS EMPTY. LAST SHOT WAS', 15)
FORMATC '^ACCEPT THROUGH SHOT: ')
FORMATC ' OUTPUT ARRAY IS FULL. LAST SHOT IN ARRAY IS', 15)
FORMAT ( '5ENTER OUTPUT FILE SPECIFICATION: ')
FORMAT (20A2)
FORMAT< ' ERROR OPENING DISC FILE!')
FORMAT ( IX, 612, 314, A2, 15, 14, 215, 13, 215, 213, 14, 32A2)
-------
FORTRAN W-PLUS V02-51E 14:47:13 02-DEC-BO PAGE 6
QhECA6. FTN /TR : BLOCKS/UIR
0156 1130 FORMAT< IX, 612, 415, 213, 13F5. 1. F7. 3)
0137 END
-------
FORTRAN IV-PLUS V02-51E
OMEGA6.FTN /TR.BLOCKS/WR
PROGRAM SECTIONS
NUMBER NAME
SIZE
1 $CODE1 003656 983
2 *PDATA 000004 2
3 * I DATA 000750 244
4 fVARS 070304 14434
5 *TEMPS 000010 4
6 .****. 026060 5656
14:47:13
02-DEC-80
PACE 7
ATTRIBUTES
RW,I,CON.LCL
RW,D,CON,LCL
RW.D,CON,LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW, D, OVR,GBL
VARIABLES
NAME TYPE ADDRESS NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
AV
II
JCNT
N
SAVEC
L*l
1*2
1*2
1*2
R*4
4-000000
4-070302
4-070236
4-070242
4-070246
AVE
ISCNT
JSHOT
NAVE
STIM
R»4
1*2
1*2
1*2
R*4
4-070230
6-026050
6-026054
4-070234
4-070264
I
I SHOT
KCNT
NSIG
TIME
1*2
1*2
1*2
1*2
R*4
4-070244
6-026052
4-070240
4-070252
4-070274
1C
ITCNT
KMAX
OP SUM
L*l
1*2
1*2
R*4
4-000001
4-070270
4-070226
4-070254
ICNT 1*2
J 1*2
L 1*2
OSIGSM R*4
6-026006
4-070300
4-070272
4-070260
IAUX
IOFILE
IREP
IREPO
REP
REPO
LABELS
LABEL
10
35
BO
130
180
1020'
1070'
1120'
1*2 6-000000
1*2 4-070202
1*2 6-017410
1*2 4-047302
R*4 6-000150
R*4 4-000002
ADDRESS
1-000260
1-000742
1-001504
1-002446
»»
3-000040
3-000376
3-000620
000150
000024
006440
020700
017240
047300
LABEL
15
40
90
140
190
1030'
1080'
1130'
52 <52)
10 (10)
1680 (12, 140)
4320 (12,360)
3920 (14, 140)
10080 (14,360)
ADDRESS
1-000444
1-001042
1-001532
1-002512
**
3-000112
3-000430
3-000656
LABEL
20
50
100
150
200
1040'
1090'
ADDRESS
1-000462
1-001110
**
1-002730
**
3-000146
3--000512
LABEL
25
60
110
160
1000'
1050'
1100'
ADDRESS
1-000644
1-001272
1-002100
1-003034
3-000000
3-O00200
3-000560
LABEL
30
70
120
170
1010'
1060'
1110'
ADDRESS
1-000702
1-001356
1-002342
1-003O64
3-OOO034
3-000320
3-000564
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE EXIT OPEN* SOURCE
TOTAL SPACE ALLOCATED = 123226 21323
-------
FORTRAN
W-PLUS
OMEGA6. FTN
0001
OO02
OO03
O004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
OO16
0017
0018
0019
0020
0021
0022
0023
0024
0025
O026
OO27
002B
C
C
C
C
C
C
C
10
C
C
C
20
C
C
C
30
C
C
C
C
C
C
40
50
C
C
C
C
C
C
C
C
V02-51E 14:47:23 02-DEC-80 PAGE 8
/TR: BLOCKS/WR
SUBROUTINE SOURCE
THIS SUBROUTINE READS DATA FROM A DESIGNATED DISC FILE
INTO REP AND I REP
COMMON IAUXO2), REP< 14, 140), IREP< 12, 140), ISCNT, ISHOT, JSHOT, ICNT
DIMENSION ISFILL(IO)
GET THE INPUT FILE SPECIFICATION FOR INPUT FILE NUMBER ISCNT
WRITEC5, 1000USCNT
READC5, 1010USFILE
IF( ISFILE(2). EQ. ' ' )GOTO 120
ISFILE< 10)=0
CALL CLOSEO)
OPEN < UNI T=3, NAME=ISFILE, TYPE='OLD', READONLY, £RR=20
1, DISPOSE='SAVE' )
GOTO 30
HERE IF ERROR OPENING THE DISC FILE
WRITE (5, 1020)
GOTO 10
READ HEADER INFORMATION
READ(3, 1030)IAUX
DISPLAY THE HEADER INFORMATION ON THE TERMINAL
WRITE(5, 1040)IAUX<7),
-------
FORTRAN IV-PLUS V02-51E
QMEGA6.FTN /TR:BLOCKS/WR
ISCNT=ISCNT+1
14:47:23
02-DEC-80
PAGE 9
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
O045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
60
C
C
C
C
C
C
C
70
BO
90
100
110
C
C
C
C
120
C
C
C
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
IF THIS IS THE FIRST FILE, KEEP ALL THE DATA
IFdSCNT. EQ. 2)GOTQ 110
IFdSHOT. LT. IREP(7, 1 ) )GOTO HO
IF THIS IS NOT THE FIRST INPUT FILE, KEEP ONLY THE DATA WHICH HAS
NOT ALREADY BEEN ACCEPTED OR REJECTED.
DO 70 1=1,ICNT
IFdSHOT. EQ. IREP(7, I) )COTO 80
CONTINUE
1 = 1-1
DO 100 J=l,ICNT-I
DO 90 K=l,12
IREPCK,J)=IREP(K,J+I>
REP(K, J)=REP(K, J-H)
CONTINUE
REP (13, J)=REP< 13, J-t-I)
REP(14,J)=REP(14,J+I)
CONTINUE
ICNT=ICNT-I
JSHOT=IREP(7,ICNTJ
RETURN
NO INPUT FILE WAS SPECIFIED. VERIFY THAT NO NEW FILE IS DESIRED,
AND RETURN WITH THE FILE SIZE SET TO 0.
WRITE(5,1090)
READC5,1010)1C
IFdC.NE. 'Y '. AND. 1C. NE. 'YE')GOTO 10
ICNT=0
RETURN
FORMAT STATEMENTS
FORMATt' ENTER FILE SPECIFICATION FOR SOURCE FILE NUMBER', 13, 1X)
FORMAT(20A2)
FORMAT(' ERROR OPENING DISC FILE!')
FORMAT(IX, 612,314,A2, 15, 14,215, 13,215, 213, 14,32A2)
FORMAT(/' FILE', 15, 14, '/', 12, '/'. 12, 14, ': ',12, ': ', 12, 2X,
1'REF. FILE',15,2X,'GATE CALIBRATION FILE',I5/)
FORMAT(IX,32A2/)
FORMAT (IX, 612, 415,213, 13F5. 1,F7. 3)
FORMAT(' LAST SHOT WAS: ',15, ' THIS FILE STARTS AT SHOT', 15,
1' AND RUNS TO SHOT'. I5/'*IS THIS THE RIGHT FILE? ')
FORMAT( '*THIS FILE DOES NOT INCLUDE THE NEXT SHOT. ',
1' ARE YOU SURE IT"S THE RIGHT ONE? ')
FORMAT('*ARE WE DONE? ')
END
-------
FORTRAN IV-PLUS V02-51E
OMEGA6.FTN /TR:BLOCKS/MR
14:47:23
PROGRAM SECTIONS
NUMBER
3
4
5
6
NAME
SIZE
»CODE1
*PDATA
»IDATA
*VARS
*TEMPS
$$$*.
001744
000004
O00714
000036
000012
026060
498
2
230
15
5
5656
02-DEC-BO
ATTRIBUTES
RW, I, CON, LCL
RW, D, CON. LCL
RW.D,CON,LCL
RW,D,CON,LCL
RW,D,CON,LCL
RW,D,OVR,GEL
PAGE 10
ENTRY POINTS
NAME TYPE ADDRESS
SOURCE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I
J
1*2
1*2
4-000024
4-000032
NAME
1C
JSHOT
TYPE ADDRESS
1*2
1*2
4-000030
6-026054
NAME
ICNT
K
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
I#2
1*2
6-026056
4-000034
ISCNT 1*2
L 1*2
6-026050
4-000026
ISHOT 1*2
6-026O52
ARRAYS
NAME TYPE ADDRESS
IAUX 1*2
IREP 1*2
ISFILE 1*2
REP R*4
6-000000
6-017410
4-000000
6-000150
SIZE
000150 52
006440 16BO
000024 10
017240 3920
DIMENSIONS
(52)
<12,140)
( 10)
(14,140)
LABELS
LABEL ADDRESS
10
60
110
1C30'
10BO'
1-000014
1-001176
1-001606
3-000126
3-000472
LABEL
20
70
120
1040'
1090'
ADDRESS
1-000150
«*
1-001634
3-000164
3-000614
LABEL
30
80
1000'
1050'
ADDRESS
1-000200
1-001304
3-000000
3-000276
LABEL ADDRESS
40
90
1010'
1060'
*»
#*
3-000066
3-000304
LABEL
50
100
1020'
1070'
ADDRESS
1-000660
*#
3-000072
3-000326
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE OPEN*
TOTAL SPACE ALLOCATED «= O31O14 64O6
SYO: C1O1, 13QMEGA6, SYO: C1O1, 1DOMEGA6/-SP=SYO: C1O1, 13OMEGA6
-------
B(d;l) Omega-7 Lidar Data Output Program for Tabular
Data and Graphic Plots (FORTRAN-4+), Average Form
B(d;2) Omega-8 Lidar Data Output Program for Tabular
Data and Graphic Plots (FORTRAN-4+), Aggregate Form
-------
FORTRAN IV-PLUS VO2-51E
OMEGA7 FTN /TR:BLOCKS/WR
10:49:27
04-FEB-B1
PAGE 1
0001
PROGRAM OMEGA7
0002
0003
0004
O005
0006
0007
0008
0009
0010
0011
0012
0013
0014
00 IS
OO16
0017
0018
0019
0020
0021
0022
0023
C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
THIS PROGRAM IS USED TO GENERATE REPORTS AND PLOTS OF LIDAR
OPACITY DATA GENERATED BY OMEGA1.
COMMON REP( 14, 360), IREP( 12, 360), ISCNT, ISHQT, ICNT
DIMENSION IBTIM(2), IETIM(2), TITLE (25), IPTITL(26), IPFILE(IO)
DIMENSION I SCR (20), IWTIMU), ISTIM(2), INUM(3), SCR (20)
ISCNT=1 ! SOURCE FILE COUNTER
IPCNT=1 iVECTOR FILE COUNTER
AVE=0. 0 ! AVERAGING INTERVAL
DX AND DY ARE THE PLOTTING INCREMENTS FOR DRAWING THE X'S AND ERROR
BARS ON THE PLOT.
DX=0. 0333333
DY=0. 0277778
IN THIS PROGRAM THE X DIRECTION IS DEFINED AS THE DIRECTION FROM
LEFT TO RIGHT AS THE PRINTER IS VIEWED FROM THE FRONT. THE PLOTTER
SOFTWARE DEFINES THIS AS THE Y DIRECTION. THE Y DIRECTION IS DEFINED
AS THE DIRECTION FROM BOTTOM TO TOP AS THE PLOTTER IS VIEWED FROM
FRONT. THE PLOTTER DEFINES THIS AS THE -X DIRECTION.
WRITE (5, 1000)
GET THE FIRST SOURCE FILE
CALL SOURCE
JCNT=1 ! INPUT ARRAY INDEX
IF THERE ARE NO DATA IN THE INPUT ARRAY, CALL EXIT. WE ARE DONE.
IFdCNT. EQ. 0)CALL EXIT
ENTER THE REPORT START TIME AND STOP TIME IN HOURS AND MINUTES
NRITE(5, 1010)
READ(5, #) IBTIM
WRITE<5, 1020)
READ<5, »>IETIM
CONVERT STOP TIME TO MINUTES
ETIM=60. 0*IETIM(1 )+IETIM(2)
WRITE(5, 1030) IIS A RUNNING AVERAGE INCLUDED?
READ<5, 1040) 1C
IFdC.NE. 'Y ' AND. 1C. NE. 'YE')GOTO 10
YES, GET THE AVERAGING INTERVAL.
WRITE(5, 1050)
READ(5, *)AVE
GET VIOLATION STANDARDS FOR AVERAGE AND SINGLE EVENT
THE
-------
FORTRAN W-
OMEGA7. FTN
PLUS V02-51E
/TR:BLOCKS/WR
10:49:27
04-FEB-B1
PAGE 2
0024
0025
0026
0027
002B
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
005O
0051
OO52
OO53
O05A
10
c
c
C
C
C
C
C
c
c
20
C
C
C
C
C
c
c
c
c
c
30
C
C
C
40
C
C
C
WRITE(5,1060)
READ(5. »WAVE, VSIN
WRITE(5.1070)
GET THE REPORT TITLE, (100 CHARACTERS)
READ(5,10QO)TITLE
GET THE PLOT TITLE, (50 CHARACTERS)
WRITE(5,1090)
READ(5,IIOOJNCHR,IPTITL
IPTITL(26>=0
HNE=1 IREPORT LINE COUNTER, (50 LINES PER PAGE)
GET THE SPECIFICATION FOR THE NEXT PLOT FILE, (VECTOR FILE)
WRITE(5,1110)IPCNT
READ(5. 1040HPFILE
IPFILE(10)=0
CALL NEWDEV(,IPFILE,0) !NAME THE VECTOR AND PLOT FILES
INITIALIZE THE PLOTTING SOFTWARE. (PLOTTING DIMENSIONS ARE SPECIFIED
IN INCHES)
CALL PLOTST(,'IN',0)
DEFINE THE ORIGIN OF THE PLOT
CALL PLOT(7. 0, 1.9,-3)
DRAW THE BOTTOM AXIS OF THE PLOT
DO 30 1=1,20
X=.5*1
CALL PLOT-(0. 0, X, 2)
CALL PLDT(-0. OB33333, X, 2)
CALL PLOT(0.0, X, 3)
CONTINUE
DRAW THE RIGHT SIDE AXIS OF THE PLOT
DO 40 1=1,11
Y=0.416667*1
CALL PLOT(-Y,10.0,2)
CALL PLOTt-Y, 9. 91667,2)
CALL PLOT(-Y, 10. 0,3)
CONTINUE
DRAW THE TOP AXIS OF THE PLOT
DO 50 1 = 19,0,-!
X=.5»I
CALL PLOTC-4. 5B333, X, 2)
CALL PLOT (-4. 5, X, 2)
CALL PLOT(-4. 5S333. X, 3>
-------
FORTRAN IV-PLUS V02-51E
OMEGA7. FTN /TR:BLOCKS/WR
10: 49:27
04-FEB-81
PAGE 3
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
OO79
0080
0081
0082
0083
0084
0085
0066
0087
008B
0089
OOVO
0091
0092
50
C
C
C
60
C
C
C
70
C
C
C
C
C
C
C
C
C
C
C
C
80
CONTINUE
DRAW THE LEFT AXIS OF THE PLOT
DO 60 1 = 10,0. -1
Y=. 416667*1
CALL PLOTf-Y,0.0,2)
CALL PLOTC-Y,0.0833333,2)
CALL PLOT(-Y.0.0,3)
CONTINUE
LABEL THE TICK MARKS ON THE BOTTOM AXIS IN HOURS:MINUTES.
ISTIMU ) = IBTIM(1)
ISTIM<2)=IBTIM(2)
Y=-.20B333
DO 70 1=0,10,2
ENCODE<8, 1120, ISCRMSTIM
DECODE<8,1040,ISCRJIWTIM
IWTIM<4)=0
X = l. 0«I-.25
CALL SYMDOL(-Y,X,. 116667, IWTIM,90. 0,5)
ISTIM(2>=ISTIM<2>+2
IF(ISTIM(2).LT.60)GOTO 70
ISTIM(2)=ISTIM(2)-60
ISTIM(1>=ISTIM<1>+1
IF( ISTIMU ). LT. 24)GOTO 70
ISTIM<1)=0
CONTINUE
WRITE THE CAPTION ON THE BOTTOM AXIS
Y=- 541667
THE FOLLOWING TWO STATEMENTS ARE CHANGED FOR DIFFERENT TIME ZONES
X=3. 9
CALL SYMBOL(-Y,X,. 194444, 'CENTRAL TIME',90. 0, 12)
WRITE THE PLOT TITLE AT THE BOTTOM OF THE PLOT
Y=-l. 04167
X = 5. 0-0. 1*NCHR
CALL SYMBOL(-Y,X,. 194444, IPTITL,90. 0, NCHR)
LABEL THE TICK MARKS ON THE VERTICAL AXIS, (OPACITY -10/i TO 100/C)
X-=-. 4
DO 80 1=0, 11
Y=I*0.416667- 05
NUM=10*I-10
ENCODE(6,1130,ISCR)NUM
DECODE<6,1040,ISCR)INUM
INUM(3)=0
CALL SYMBOL(-Y, X, . 116667, INUM,90. 0, 3)
CONTINUE
-------
FORTRAN IV-PLUS V02-51E
OMEGA7.FTN /TR:BLOCKS/WR
10:49:27
04-FE3-B1
PAGE 4
0093
0094
0095
0096
0097
O098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0103
0109
0110
0111
0112
0113
0114
0115
0116
0117
one
Ol 19
0120
0121
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
WRITE THE CAPTION ON THE LEFT VERTICAL AXIS
X=- 45
Y=l.54167
CALL SYMBOL (-Y, X, . 233333, "/. OPAC ITY', 180. 0, 9)
WRITE THE DATE THE DATA WAS TAKEN ABOVE THE PLOT ON THE LEFT HAND SIDE
ENCODE(14,1220,ISCR)(IREP(I,JCNT),1=1,3)
ISCR(8)=B
CALL SYMBQH-4. 69444,0. 0, . 116667, ISCR,90. 0, 14)
WRITE THE LEGEND FOR THE SINGLE EVENT OPACITY STANDARD ABOVE THE PLOT
ON THE RIGHT HAND SIDE
SINGLE EVENT OPACITY STANDARD'
CALL SYMBOL(-4. 90278,5. 8, . 116667,
1, 90. 0, 29)
CALL PLOT<-4. 95033,9. 3,3)
CALL PLOT(-4.95833, 9. 55, 2>
CALL PLQTC-4.95Q33, 9. 60, 3>
CALL PLOT(-4.95Q33, 9. 70, 2)
CALL PLOT(-4. 95033, 9. 75, 3)
CALL PLOT(-4.95833,10.0,2)
X=6.38333
WRITE THE LEGEND FOR AVERAGE OPACITY STANDARD ABOVE THE PLOT ON THE
RIGHT HAND SIDE BELOW THE LEGEND FOR SINGLE EVENT STANDARD
CALL SYMBOL(-4.69444, X, . 116667, 'AVERAGE OPACITY STANDARD', 90. 0
1, 24)
CALL PLQT(-4. 75, 9. 3, 3)
CALL PLQT<-4. 75, 9. 4, 2)
CALL PLOT(-4. 75, 9. 45, 3)
CALL PLOT(-4. 75, 9. 55, 2)
CALL PLOTC-4.75,9.6,3)
CALL PLOT (-4. 75, 9. 7, 2)
CALL PLOT<-4. 75. 9. 75, 3)
CALL PLOT(-4.75,9.85,2)
CALL PLOT<-4.75,9.9,3)
CALL PLOT(-4. 75, 10. 0,2)
WRITE THE LEGEND FOR CALCULATED OPACITY PLUS OR MINUS STANDARD DEVIATION
ABOVE THE PLOT IN THE CENTER
Y=4.86111
X=2. 0
CALL PLOT(DY-
CALL PLOT(-Y-
CALL PLOT(-Y-
CALL PLOTCDY-
CALL PLOT(-4.
CALL PLOTC-4.
CALL PLOTC-4.
CALL PLDTC-5.
CALL PLQT<-5.
Y, X-DX, 3)
DY,X+DX,2)
DY,X-DX,3)
Y,X + DX,2)
70033, X-DX,3)
70033,X+DX,2)
7OQ33, X, 3)
013B9, X, 3)
013B9, X-DX, 2)
-------
FORTRAN W-PLUS
OMEGA7. FTN
0122
0123
0124
0125
V02-51E
/TR:BLOCKS/WR
1O: 49: 27
04-FEB-81
PAGE 5
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0149
0149
0150
0151
0152
0153
90
C
C
C
100
C
C
C
C
110
C
C
C
CALL PLOT(-5. 013B9, X+DX, 2)
X=2. 15
CALL SYMBOL(-4. 9027B. X, 116667, 'CALCULATED OPACITY PLUS OR'
1. 90. 0, 26 >
CALL SYMBOL(-4. 69444.X.. 116667, 'MINUS ONE STANDARD DEVIATION'
1, 90. 0, 28)
Y=.416667
REDEFINE THE ORIGIN FOR PLOTTING
CALL PLOT(-Y,0. 0.-3)
DRAW A LONG DASHED LINE AT THE 07. OPACITY LEVEL
DO 90 1=1,75
IP=2
IF(MOD(I, 4). EQ. 0) IPO
X=I*.133333
CALL PLOT(0. 0, X, IP)
CONTINUE
DRAW A SHORT DASHED LINE AT THE AVERAGE OPACITY STANDARD VALUE
Y=VAVE*.0416667
CALL PLOTC-Y,0. 0,3)
DO 100 1=1,200
IP=2
IF(MOD(I,3). EQ. 0)IP=3
X=I*.050
CALL PLOT(-Y, X, IP)
CONTINUE
DRAW A LONG-SHORT DASHED LINE AT THE SINGLE EVENT OPACITY STANDARD
VALUE
Y=VSIN». 0416667
CALL PLOT(-Y,0. 0, 3)
DO 110 1=1,200
IP=2
IF (MOD (1+3, 12). EQ. 0. OR. MOD (I, 12). EQ. 0) IPO
X=I#.0500
CALL PLOT(-Y. X, IP)
CONTINUE
BEGINNING TIME FOR THE CURRENT PLOT IN MINUTES
BTII1=IBTIM< 1)*60. 0+IBTIM(2>
TTT=ETIM !REPORT END TIME
IF THE REPORT INTERVAL INCLUDES MIDNIGHT, ADD 1440 TO TTT, THE
END OF THE REPORT INTERVAL
IF(TTT. LT. BTIM)TTT=TTT+1440. 0
PETIM=BTIM-t-10. 0 ! END OF THE CURRENT PLOT
IF THE END OF THE REPORT INTERVAL OCCURS BEFORE THE END OF THE CURRENT
-------
FORTRAN IV-PLUS
QMECA7 FTN
V02-51E
/TR:BLOCKS/WR
10:49:27
04-FEB-B1
PAGE 6
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
O174
C
C
C
C
C
120
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
130
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
PLOT. SET PETIM EQUAL TO TTT
1F(PETIM. OE. TTT)PETIM=TTT
PTIM IS THE TIME OF THE CURRENT SHOT IN MINUTES
PTIM=60. 0*IREP<4. JCNTJ+IREP<5,JCNT)+IREP(6,JCNT>/60.0
MIDNIGHT CORRECTION
IF(PETIM.GT. 1440. 0.AND. PTIM.LE.PETIM-1440. 0)PTIM=PTIM+1440. 0
IF THE POINT IS AT THE END OR OUTSIDE OF THE CURRENT PLOT INTERVAL
CLOSE THE PLOT AND OPEN ANOTHER ONE IF THERE IS STILL MORE DATA
TO BE PLOTTED. (GO TO 170)
IF(PTIM. GE. PETIMJGOTO 170
IF THE POINT OCCURS BEFORE THE CURRENT PLOT INTERVAL, GO GET THE NEXT
POINT
IFGOTO 14O
THIS IS THE FIRST LINE ON THE REPORT PAGE. WRITE THE HEADR FIRST
-------
FORTRAN IV-PLUS V02-51E
OMEGA7.FTN /TR:BLOCKS/WR
10: 49:27
04-FEB-B1
PAGE 7
0175
0176
0177
0178
0179
01BO
01Q1
0182
0183
0184
0185
01B6
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200
0201
0202
O203
0204
0205
0206
C
c
C
140
C
c
150
C
C
C
C
160
C
C
C
170
WRITE(6, 1140)
WRITEC6,1150>TITLE
WRITE<6,1160)
PRINT THE INFORMATION FROM THIS SHOT IN THE REPORT
A=0. 0
13=0. 0
Ml=0
M2=0
C=REP<10,JCNT) !OPACITY
D=REP<11, JCNT) !SO
IF(C. LT. 0. 0)C=0. 0
IF+. 33. LT. AVE)GQTO 150
A=REP(12,JCNT) !AVERAGE OPACITY
B=REP(13,JCNT) [AVERAGE SO
IF(A. LT. 0. 0)A=0. 0
Ml IS THE NUMBER OF SHOTS DISCARDED IN THE CURRENT RUNNING AVERAGE
BECAUSE SO WAS TOO BIG
M1 = IREP(12,JCNT)-IREP(11, JCNT)
M2=IREP(12, JCNT) (NUMBER OF SO'S IN THE CURRENT RUNNING AVERAGE
CHANGE THE OPACITY AND SO TOO INTEGERS
ENCODE(15,1170,SCR)A, B
DECODE(15, 1180,SCR)IA, IB
ENCODEC15,1170,SCR)C,D
DECODE(15, 1180,SCR)1C, ID
WRITE(6, 1190)(IREPCM,JCNT),M=l, 6), 1C, ID, I A, IB,Ml.M2
INDICATE AVERAGE OR SINGLE EVENT VIOLATIONS WITH ASTERISKS
IF(REP(10,JCNT)-2. *REP (11, JCNT). GE. VSIN)WRITE(6, 1200)
IFCA-2. *REP(13,JCNT). GE. VAVE)WRITE(6, 1210)
INCREMENT THE LINE COUNTER, 50 LINES PER PAGE
LINE=LINE+1
IF(LINE. GT. 50)LINE=1
INCREMENT THE INPUT ARRAY COUNTER. IF THERE IS NO MORE DATA IN THE
INPUT ARRAY, READ ANOTHER FILE IN.
JCNT=JCNT+1
IFCJCNT. LE. ICNT)GOTO 120
CALL SOURCE
JCNT=1
IF ANOTHER INPUT FILE WAS NOT SPECIFIED WE ARE DONE.
IF(ICNT. EQ. OJGOTO 190
GOTO 120
IFCPTIM.GT.PETIM)GOTO 180
-------
FORTRAN W-PLUS V02-51E
OMEGA7.FTN /TR:BLQCKS/WR
1O:49:27
04-FEB-81
PAGE B
0207
0208
0209
0210
021 1
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
O23B
C
C
C
C
C
C
C
1BO
C
C
C
185
C
C
C
C
188
C
C
C
190
C
C
C
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
1100
1 110
1120
1130
1140
115O
1 16O
IF THIS POINT IS AT THE END OF THE CURRENT PLOT AND AT THE END OF
THE REPORT INTERVAL, PUT IT ON THIS PLOT.
IFCPTIM.EQ. TTT)GOTO 130
CURRENT PLOT IS FINISHED. CLOSE IT OUT.
CALL PLOTND
INCREMENT BEGINNING TIME FOR THE NEXT PLOT
IBTIM(2)=I3TIM(2)+10
IF(IBTIM<2>. LT. 60)GOTO 185
IBTIM(2)=IBTIM(2)-60
IBTIM(1)=IBTIM(1>+1
IF< IBTIMO ). EQ. 24)IBTIM(1)=0
TT=60. 0*IBTIM< 1 >-HBTirt<2)
IF(TT.GE.TTT)GOTO 190
INCREMENT THE PLOT FILE COUNTER AND GET THE NEXT PLOT FILE SPECIFICATION
(VECTOR FILE)
IPCNT=IPCNT+1
CALL WAIT(3,2,IWSTAT) IWAIT FOR PLOTND TO CLOSE THE OLD VECTOR FILE
GOTO 20 !GET NEXT PLOT FILE
END OF PROGRAM, CLOSE THE CURRENT PLOT FILE AND EXIT
CALL PLOTND
CALL WAIT(3,2,IWSTAT)
CALL EXIT
FORMAT STATEMENTS
FORMATC THIS PROGRAM MAKES TABLES AND PLOTS OF LIDAR OPACITY',
1' DATA GENERATED BY OMEGA1. '//)
FORMAT< '*ENTER REPORT START TIME: HOURS, MINUTES ')
FORMAT<'SENTER REPORT STOP TIME: HOURS, MINUTES ')
FORMATC 'SWILL DATA BE AVERAGED? ')
FORMAT(20A2)
FORMAT('$ENTER AVERAGING INTERVAL IN MINUTES: ')
FORMAT('CENTER VIOLATION VALUES FOR AVERAGE, SINGLE EVENT: ')
FORMATC' ENTER TABLE TITLE. 100 CHARACTERS MAXIMUM.')
FORMAT(20A4/13A4)
FORMATt' ENTER PLOT TITLE. 50 CHARACTERS MAXIMUM. ')
FORMATCQ,26A2)
FORMAT( 'CENTER FILE SPECIFICATION FOR PLOT FILE NUMBER', 13. 1X)
FORMATU2, ': ', 12, 3X)
FORMATCI3,3X>
FORMATC1H1,44X,'UNITED STATES ENVIRONMENTAL PROTECTION AGENCY'
1/46X.'NATIONAL ENFORCEMENT INVESTIGATIONS CENTER'
2/56X,'DENVER. COLORADO BO225'//)
FORMATt16X, 25A4)
FORMATUBX, 'DATE', 6X. 'TIME OPACITY SO VIOLATION'.
1' AVERAGE OPACITY AVERAGE SO VIOLATION NUMBER DISCARDED'/)
-------
FORTRAN IV-PLUS V02-S1E 10:49:27 04-FEB-01 PAGE 9
OMEGA7. FTN /TR:BLOCKS/WR
0239 1170 FORMAT*IX,F7. 0,F7. O)
0240 11BO FQRMAT<17,IX,16)
0241 1190 FORMATU6X, 12, '/', 12, '/'. 12, 14, ': ', 12, ': ', 12, 3X, 14, 4X, 13
1, 1BX, 14, 11X, 13, 20X, 13, ' OF', 14)
0242 1200 FORMATUH+, T53, '****')
0243 1210 FORMATC1H+, T93, '***»')
0244 1220 FORMATC'DATE: '. 12, '/', 12, '/', 12)
0245 END
~\
-------
FORTRAN W-PLUS V02-51E
QMEGA7.FTN /TR:BLOCKS/WR
10:49:27
04-FEB-81
PAGE 10
PROGRAM SECTIONS
NUMBER NAME
SIZE
ATTRIBUTES
1
3
4
5
6
?CODE1 006702
*PDATA OO0524
$IDATA OO2452
SVARS O00644
*TEMPS 000020
*$**. 070206
1761
170
661
210
a
14403
RW, I, CON
RW, D, CON
RW, D, CON
RW, D, CON
RW, D, CON
RW, D, OVR
, LCL
, LCL
, LCL
, LCL
, LCL
, G3L
VARIABLES
NAME
A
D
I
ID
IWSTAT
M2
TT
Y
ARRAYS
NAME
IBTIM
IETIM
INUM
IPFILE
IPTITL
IREP
ISCR
ISTIM
IWTIM
REP
SCR
TITLE
LABELS
LABEL
10
60
1 10
16O
1 9O
1 04O '
1 09O '
1140'
TYPE ADDRESS
R*4 4-000602
R»4 4-000622
1*2 4-000510
1*2 4-000632
1*2 4-000642
1*2 4-000614
R*4 4-000636
R*4 4-000546
TYPE ADDRESS
1*2 4-000000
1*2 4-000004
1*2 4-000350
1*2 4-000240
1*2 4-000154
1*2 6-047300
1*2 4-000264
1*2 4-000344
1*2 4-000334
R*4 6-000000
R*4 4-000356
R*4 4-000010
ADDRESS
1-000436
**
1-OO6346
1-OO6640
3-OOO312
3-OOO546
3-OOO736
NAME
AVE
DELY
IA
IP
JCNT
NCHR
TTT
TYPE ADDRESS
R*4 4-000500
R*4 4-000576
1*2 4-000626
1*2 4-000554
1*2 4-OO0514
1*2 4-000534
R»4 4-000562
NAME
B
DX
IB
IPCNT
LINE
NUM
VAVE
TYPE ADDRESS
R*4 4-000606
R»4 4-000504
1*2 4-000630
1*2 4-000476
1*2 4-000536
1*2 4-000552
R*4 4-000524
NAME
DTIM
DY
1C
ISCNT
M
PETIM
VSIN
TYPE ADDRESS
R*4 4-000556
R*4 4-000510
1*2 4-000522
1*2 6-07O200
1*2 4-000634
R*4 4-000566
R*4 4-000530
NAME
C
ETIM
ICNT
I SHOT
Ml
PTIM
X
TYPE ADDRESS
R*4 4-000616
R«4 4-OOO516
1*2 6-070204
1*2 6-070202
1*2 4-000612
R*4 4-OOO572
R*4 4-000542
SIZE DIMENSIONS
000004
000004
000006
000024
000064
Q20700
000050
000004
000010
047300
000120
000144
LABEL
20
70
120
170
1000'
1050'
1 1OO'
1 1 5O '
2 (2>
2 (2)
3 (3)
10 (10)
26 (26)
4320 (12,360)
20 (20)
2 (2>
4 (4)
10080 (14,360)
40 (20)
50 (25)
ADDRESS
1-000662
1-001752
1-004246
1-006424
3-OOOOOO
3-OOO316
3-OOO624
3-001136
LABEL
30
BO
130
180
1010'
1060'
11 1O'
1 16O'
ADDRESS
**
**
1-OO442O
1-00647O
3-OO0126
3-OOO37O
3-000632
3-OO1 144
LABEL
40
90
140
185
1020'
1070'
1120'
117O'
ADDRESS
««
**
1-005376
1-006552
3-000202
3-OOO456
3-OOO71A
3-OO1316
,
LABEL
50
100
ISO
18B
1030 '
10BO'
1 13O '
1 1BO '
ADDRESS
**
*»
1-005574
**
3-000256
3-O00536
3-OOO73O
3-OO1326
-------
FORTRAN IV-PLUS V02-51E 10:49:27 04-FEB-81 PACE 11
OMEGA7. FTN /TR:BLOCKS/WR
1190' 3-001334 1200' 3-001416 1210' 3-001432 1220' 3-001446
FUNCTIONS AND SUBROUTINES REFERENCED
EXIT NEWDEV PLOT PLOTND PLOTST SOURCE SYMBOL WAIT
TOTAL SPACE ALLOCATED = 103172 17213
-------
FORTRAN IV-
OMEGA7. FTN
PLUS V02-51E
/TR:BLOCKS/MR
10:49:49
04-FEB-81
PAGE 12
0001
0002
0003
0004
0003
0006
0007
0008
OO09
0010
C
C
C
10
SUBROUTINE SOURCE
THIS SUBROUTINE READS DATA FROM A DESIGNATED DISC FILE
INTO REP AND IREP
COMMON REP(14.360),IREP(12,360),ISCNT,ISHOT,ICNT
DIMENSION ISFILE(IO),IAUX(52)
GET THE FILE SPECIFICATION FOR INPUT FILE NUMBER ISCNT
WRITE(5,1000)ISCNT
READ(5, 1010) ISFILE
IF(ISFILEC2).EQ ' ')GOTO 120
ISFILE(10)=0
CALL CLQSE(3)
OPEN(UNIT=3,NAME=ISFILE,TYPE='OLD', READONLY, ERR=20
1,DISPOSE='SAVE')
GOTO 30
0011
0012
0013
0014
0015
0016
0017
0018
00 1 '.'
0020
0021
0022
0023
0024
0025
0026
OO27
C
C
C
20
C
C
C
30
C
C
C
C
C
C
40
50
C
C
C
C
C
C
C
C
HERE IF ERROR OPENING DISC FILE
WRITE (5, 1020)
GOTO 10
READ HEADER INFORMATION
READO, 1030) IAUX
DISPLAY THE HEADER INFORMATION ON THE TERMINAL
WRITE (5, 1040) IAUX (7), ( IAUX( I), 1=1, 6), lAUX(B), IAUX (9)
WRITE (5, 1050) ( IAUX(I), 1=21, 52)
READ DATA INTO THE INPUT ARRAYS
DO 40 1=1, 360
READO, 1060, END=50) (IREP(L, I), L=l, 12), (REPfL, I), L=J, 14)
CONTINUE
CALL CLOSE(3)
ICNT=I-1 {NUMBER OF SHOTS IN THE INPUT FILE
TELL THE OPERATOR WHICH SHOTS ARE INCLUDED IN THIS FILE AND
VERIFY THAT THIS IS THE CORRECT FILE.
WRITE(5, 1070HSHOT. IREP<7, 1), IREP(7, ICNT)
READ(5, 1010HC
IFUC.NE. 'Y '. AND. 1C. NE. 'YE')GOTO 10
IFdECNT. EQ. DGOTO 60
CHECK TO SEE THAT THIS FILE INCLUDES THE NEXT SHOT. IF IT DOES NOT
TELL THE OPERATOR AND VERIFY THAT THIS IS THE CORRECT FILE.
IF (IREP (7, 1 ). LE. ISHOT-U. AND. I REP < 7, ICNT). GE. ISHOT-t-1 ) GOTO 6O
WRITE(5, 10BO)
READ15. 1O1O) 1C
IF(IC NE 'Y ' AND. 1C NE 'YE')GQTO 1O
-------
FORTRAN IV-PLUS VO2-51E
OMEGA7.FTN /TR:DLOCKS/WR
10:49:49
04-FEB-B1
PAGE 13
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
O053
0054
0055
0056
0057
0058
0059
0060
0061
0062
60
C
C
C
C
C
C
C
70
80
90
100
110
C
C
C
C
120
C
C
C
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
ISCNT=ISCNT+1
IF THIS IS THE FIRST FILE, KEEP ALL THE DATA.
IFUSCNT. EQ. 2>GOTO 110
IFdSHOT. LT. IREP<7. 1) )GOTO 110
IF THIS IS NOT THE FIRST FILE. KEEP ONLY THE DATA WHICH HAS NOT
ALREADY BEEN PLOTTED.
DO 70 1 = 1, ICNT
IF( ISHOT. EQ. IREP(7, I) )GOTO 80
CONTINUE
1 = 1-1
DO 100 J=l, ICNT-I
DO 90 K=l, 12
IREPCK, J) = IREP
-------
FORTRAN W-PLUS V02-31E
OMEGA7 FTN /TR:BLOCKS/WR
10:49:49
PROGRAM SECTIONS
NUMBER NAME
3
4
5
6
SIZE
*CODE1
*PDATA
5IDATA
*VARS
*TEMPS
****.
001744
000004
O00714
O00206
000012
070206
49B
2
230
67
5
14403
O4-FEB-B1
PAGE 14
ATTRIBUTES
RW,
RW,
I,CON,LCL
D,CON,LCL
RW,D,CON,LCL
RW,D,CON,LCL
RW, D, CON, LCL
RW,D.OVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
SOURCE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I
J
1*2
1*2
4-000174
4-000202
NAME
1C
K
TYPE ADDRESS
1*2
1*2
4-000200
4-000204
NAME
ICNT
L
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
1*2
1*2
6-070204
4-000176
ISCNT 1*2 6-070200 ISHOT 1*2 6-O70202
ARRAYS
NAME TYPE ADDRESS
IAUX 1*2
IREP 1*2
ISFILE 1*2
REP R*4
4-000024
6-047300
4-000000
6-000000
SIZE
000150 52
020700 4320
000024 10
047300 10080
DIMENSIONS
(52)
(12,360)
(10)
(14,360)
LABELS
LABEL ADDRESS
10
6C
110
1030'
1080'
1-000014
1-001176
1-001606
3-000126
3-000472
LABEL ADDRESS
20
70
120
1040'
1090'
1-000150
**
1-001634
3-000164
3-OOO614
LABEL ADDRESS
LABEL ADDRESS
LABEL ADDRESS
30
80
1000'
1050'
1-000200
1-001304
3-000000
3-000276
40
90
1010'
1060'
**
**
3-000066
3-000304
50
100
1020'
1070'
1-000660
#*
3-000072
3-000326
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE OPEN*
TOTAL SPACE ALLOCATED = O73312 152O5
SYO: C101, 13OMEGA7. SYO: C1O1, 1DOMEGA7/-SP=SYO: C1O1, 13OMEGA7
-------
FORTRAN IV-PLUS VO2-51E
OMEGA8.FTN /TR:BLOCKS/WR
14: 40: OB
23-MAR-81
PAGE 1
0001
PROGRAM OMEGAS
0002
OO03
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
O017
0018
0019
0020
0021
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
THIS PROGRAM IS USED TO GENERATE REPORTS AND PLOTS OF LIDAR
OPACITY DATA GENERATED BY OMEGA5. AGGREGATE VERSION
COMMON REP( 14, 360), IREP( 12, 360), ISCNT, ISHOT, ICNT
DIMENSION IBTIM<2), IETIM(2), TITLE (25), IPTITL<26), IPFILE(IO)
DIMENSION I SCR (20), IWTIM<4>. ISTIM(2), INUM(3), SCR (20)
BYTE AFLG
ISCNT=1 ! SOURCE FILE COUNTER
IPCNT=1 ! VECTOR FILE COUNTER
AVE=0. 0 !AVERAGING INTERVAL
DX AND DY ARE THE PLOTTING INCREMENTS FOR DRAWING THE X 'S AND ERROR
BARS ON THE PLOT.
DX=0. 0333333
DY=0. 0277778
IN THIS PROGRAM THE X DIRECTION IS DEFINED AS THE DIRECTION FROM
LEFT TO RIGHT AS THE PRINTER IS VIEWED FROM THE FRONT. THE PLOTTER
SOFTWARE DEFINES THIS AS THE Y DIRECTION. THE Y DIRECTION IS DEFINED
AS THE DIRECTION FROM BOTTOM TO TOP AS THE PLOTTER IS VIEWED FROM
FRONT. THE PLOTTER DEFINES THIS AS THE -X DIRECTION.
WRITE(5, 1000)
GET THE FIRST SOURCE FILE
CALL SOURCE
JCNT=1 ! INPUT ARRAY INDEX
IF THERE ARE NO DATA IN THE INPUT ARRAY, CALL EXIT. WE ARE DONE.
IFdCNT. EQ. OJCALL EXIT
ENTER THE REPORT START TIME AND STOP TIME IN HOURS AND MINUTES
WRITE(5, 1010)
READ(5, *)IBTIM
WRITE(5, 1020)
READ(5, *)IETIM
CONVERT STOP TIME TO MINUTES
ETIM=60. 0*IETIM(1 >+IETIM(2)
WRITE(5, 1030) IIS A RUNNING AVERAGE INCLUDED?
READ(5, 1040)IC
IFUC.NE. 'Y '. AND. 1C. NE. 'YE'JGOTO 10
YES, GET THE AVERAGING INTERVAL.
WRITE<5, 1050)
READ(5, *)AVE
GET VIOLATION STANDARDS FOR AVERAGE AND SINGLE EVENT
THE
4
4'
-------
FORTRAN IV-
OMECA8.FTN
PLUS V02-51E
/TR:BLOCKS/WR
14:4O:08
23-MAR-81
PAGE 2
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
OO32
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
00-»4
004ti
0046
0047
0048
0049
0050
O051
0052
0053
C
10
C
C
C
C
C
C
C
C
C
30
C
C
C
4O
c
WRITE(5, 1060)
READ(5, *)VAVE, VSIN
WRITE(5. 1070>
GET THE REPORT TITLE, (100 CHARACTERS)
READ(5.1080)TITLE
GET THE PLOT TITLE, <50 CHARACTERS)
WRITE(5.1090)
READ(5,1100)NCHR.IPTITL
IPTITL(26>=0
ATIM=0. 0
AETIM=0.0
AFLG=.FALSE.
ITOTAL=0
IH1SO=0
IFLAG=0
LINE=1 iREPORT LINE COUNTER, (50 LINES PER PAGE)
GET THE SPECIFICATION FOR THE NEXT PLOT FILE, (VECTOR FILE)
WRITE(5, U10HPCNT
READ(5, 1040HPFILE
IPFILE(10)=0
CALL NEWDEV(, IPFILE, 0) I'NAME THE VECTOR AND PLOT FILES
INITIALIZE THE PLOTTING SOFTWARE.
IN INCHES)
CALL PLOTST(, 'IN',0)
DEFINE THE ORIGIN OF THE PLOT
CALL PLOT(7. 0, 1. 9, -3)
DRAW THE BOTTOM AXIS OF THE PLOT
DO 30 1=1,20
X=.5*1
CALL PLOT(0. 0, X, 2)
CALL PLOT(-0.0833333,X,2)
CALL PLOTIO.0, X, 3)
CONTINUE
DRAW THE RIGHT SIDE AXIS OF THE PLOT
DO 40 1=1,11
Y»0. 416667*1
CALL PLOT(-Y, 10. O, 2)
CALL PLOT(-Y,9.91667,2)
CALL PLOT(-Y, 1O. O, 3)
CONTINUE
(PLOTTING DIMENSIONS ARE SPECIFIED
-------
FORTRAN 1V
OMEGAS. FTN
0054
0055
0056
0057
0058
0059 50
C
C
C
0060
0061
0062
0063
0064
0065 60
C
C
C
0066
0067
0068
0069
OO70
0071
0072
0073
0074
0075
0076
0077
0078
0079
OOBO
0081 70
C
C
C
PLUS VO2-51E
/TR: BLOCKS/WR
14:40:08
23-MAR-B1
PAGE 3
0082
0083
0084
0085
0086
0087
0088
DRAW THE TOP AXIS OF THE PLOT
DO 50 1=19,0,-1
X = . 5*1
CALL PLOT<-4. 58333. X, 2)
CALL PLOTC-4. 5.X, 2)
CALL PLOT(-4. 58333, X, 3)
CONTINUE
DRAW THE LEFT AXIS OF THE PLOT
DO 60 1=10,0,-1
Y=.416667*1
CALL PLOT(-Y,0. 0, 2)
CALL PLOT(-Y,0.0833333,2)
CALL PLOT(-Y,0. 0, 3)
CONTINUE
LABEL THE TICK MARKS ON THE BOTTOM AXIS IN HOURS:MINUTES.
ISTIMU )=IBTIM<1>
ISTIM(2)=IBTIM(2)
Y=-.208333
DO 70 1=0, 10, 2
ENCODE<8, 1120, ISCRMSTIM
DECODE(8, 1040, ISCRMWTIM
IWTIM<4)=0
X=l.0*1-.25
CALL SYMBOL(-Y,X,. 116667, IWTIM,90. 0, 5)
ISTIM(2)=ISTIM<2)+2
IF(ISTIM<2).LT.60JGOTO 70
ISTIM(2)=ISTIM(2)-60
ISTIMd >=ISTIM(1)+1
IF(ISTIM(1).LT.24)GOTO 70
ISTIM(1)=0
CONTINUE
WRITE THE CAPTION ON THE BOTTOM AXIS
Y=- 541667
THE FOLLOWING TWO STATEMENTS ARE CHANGED FOR DIFFERENT TIME ZONES
X=3. 9
CALL SYMBOL(-Y,X, 194444, 'CENTRAL TIME',90. 0, 12)
WRITE THE PLOT TITLE AT THE BOTTOM OF THE PLOT
Y=-l. 04167
X=5.0-0.1«NCHR
CALL SYMBOL(-Y, X, . 194444, IPTITL, 90. 0,NCHR)
LABEL THE TICK MARKS ON THE VERTICAL AXIS, (OPACITY -107. TO 1007.)
X = -. 4
nn nn i=n ii
-------
FORTRAN IV-PLUS V02-51E
OMEGAS FTN /TR:ELOCKS/WR
14:40:08
23-MAR-81
PAGE 4
OO0
0071
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
Oil?
0116
0117
0118
0119
0120
0121
0122
O123
0124
0125
80
C
C
C
C
C
C
C
Y=I*0.416667- 05
NUM=1O*I-10
ENCODE(6,1130,ISCRJNUM
DECODE(6. 1040, ISCRMNUM
INUM(3)=0
CALL SYMBOL(-Y. X, 116667, INUM, 90. 0, 3)
CONTINUE
WRITE THE CAPTION ON THE LEFT VERTICAL AXIS
X=- 45
Y=l.54167
CALL SYMDOL(-Y, X,
233333, "/. OPACITY', 180. 0, 9)
WRITE THE DATE THE DATA WAS TAKEN ABOVE THE PLOT ON THE LEFT HAND SIDE
ENCODE (14, 1220, ISCR) (IREP( I, JCNT), 1 = 1, 3)
ISCR<8)=8
CALL SYhBOL(-4. 69444, 0. 0, . 116667, ISCR, 90. 0, 14)
WRITE THE LEGEND FOR THE SINGLE EVENT OPACITY STANDARD ABOVE THE PLOT
ON THE RIGHT HAND SIDE
CALL SYMBOL(-4. 90278, 5. 8, . 116667, 'SINGLE EVENT OPACITY STANDARD'
1, 90. 0, 29)
CALL PLQT<-4. 95833, 9. 3, 3)
CALL PLOT(-4. 95033, 9. 55, 2)
CALL PLOT(-4. 95B33, 9. 60, 3)
CALL PLOTC-4. 95833, 9. 70, 2)
CALL PLOT(-4. 95033, 9. 75, 3)
CALL PLOTC-4. 95B33, 10. 0, 2)
X=6. 03333
WRITE THE LEGEND FOR AGGREGATE OPACITY STANDARD ABOVE THE PLOT ON THE
RIGHT HAND SIDE BELOW THE LEGEND FOR SINGLE EVENT STANDARD
CALL SYMBOLC-4. 69444,X,
1, 26)
CALL PLOT<-4. 75,9. 3, 3)
CALL PLOT<-4. 75, 9.
CALL PLOT(-4. 75, 9.
CALL PLOT(-4. 75, 9.
116667, 'AGGREGATE OPACITY STANDARD ', 90. 0
4, 2)
45,3)
55. 2)
CALL PLOT<-4. 75,9. 6,3)
PLOT(-4. 75, 9. 7, 2)
PLOTC-4. 75, 9. 75, 3)
PLOTI-4. 75, 9. 85,2)
PLOTC-4. 75, 9. 9, 3)
CALL
CALL
CALL
CALL
CALL
PLOT<-4. 75, 10. 0, 2)
WRITE THE LEGEND FOR CALCULATED OPACITY PLUS OR MINUS STANDARD DEVIATION
ABOVE THE PLOT IN THE CENTER
Y=4.86111
X=2. O
CALL PLOTCDY-Y, X-DX, 3)
CALL PLDT(-Y-DY, X + DX, 2>
-------
FORTRAN IV-PLUS V02-51E
OMEGAS.FTN /TR:BLOCKS/WR
14:4O:08
23-MAR-81
PAGE 5
0126
0127
0128
0129
0130
0131
0132
0133
0134
0133
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
C
C
C
C
C
C
90
C
C
C
100
C
C
C
C
110
C
C
C
CALL PLOT(-Y-DY, X-DX, 3)
CALL PLOT(DY-Y, X+DX,2)
CALL PLOK-4. 70833, X-DX, 3)
CALL PLOT(-4. 70G33, X+DX, 2)
CALL PLQT<-4. 70833, X, 3)
CALL PLOT(-5. 01389, X, 2)
CALL PLOT(-5. 01389, X-DX. 2)
CALL PLOT(-5. 01389, X+DX. 2)
X=2. 15
CALL SYMBOL(-4. 90278,X, . 116667, 'CALCULATED OPACITY PLUS OR'
1, 90. 0, 26)
CALL SYMBOL(-4.69444,X, . 116667, 'MINUS TWO STANDARD DEVIATIONS'
1, 90. 0, 29)
Y=.416667
REDEFINE THE ORIGIN FOR PLOTTING
CALL PLOT(-Y,0. 0,-3)
DRAW A LONG DASHED LINE AT THE 0V. OPACITY LEVEL
DO 90 1=1,75
IP=2
IFCMODd, 4). EQ. 0)IP=3
X=I*.133333
CALL PLOT(0.0, X, IP)
CONTINUE
DRAW A SHORT DASHED LINE AT THE AGGREGATE OPACITY STANDARD VALUE
Y=VAVE*.0416667
CALL PLOT(-Y,0. 0, 3)
DO 100 1=1.200
IP=2
IF
-------
FORTRAN IV-PLU5 VO2-51E
OMEGAS. FTN
C
C
C
14:40:08
0163
0164
0165
0166
0167
C
C
C
C
C
C
C
120
/TR:BLOCKS/WR
23-MAR-81
PAGE 6
IF THE REPORT INTERVAL INCLUDES MIDNIGHT. ADD 1440 TO TTT, THE
END OF THE REPORT INTERVAL
IF(TTT. LT. BTIM>TTT=TTT+1440. 0
PETIM=BTIM+10.0
-------
FORTRAN IV-PLUS VO2-51E
OMEGAS. FTN /TR:BLOCKS/WR
14:40:08
23-MAR-81
PAGE 7
0179
0180
0181
0182
01B3
0184
0185
01B6
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207
0208
0209
0210
021 1
0212
0213
0214
0215
0216
0217
0218
0219
0220
C
c
C
140
141
142
143
144
150
C
C
C
C
C
C
C
CALL PLOT(DY-Y,X-DX,3)
CALL PLOT(-Y-DY. X+DX, 2)
CALL PLQTt-Y-DY,X-DX.3)
CALL PLOT(DY-Y,X+DX,2)
CALL PLOT(DELY-Y,X-DX,3)
CALL PLOT(DELY-Y,X+DX,2)
CALL PLOT(DELY-Y,X,3)
CALL PLCJT<-Y-DELY. X, 2)
CALL PLOT<-Y-DELY,X-DX,2)
CALL PLOT(-Y-DELY, X+DX, 2)
IFCLINE. GT. DGOTO 140 x
THIS IS THE FIRST LINE ON THE REPORT PAGE. WRITE THE HEADER FIRST
WRITE<6,1140)
WRITE(6,1150)TITLE
WRITE(6,1160)
PRINT THE INFORMATION FROM THIS SHOT IN THE REPORT
C=REP(JO,JCNT) (OPACITY
D=REP(11, JCNT) !SO
IF(C. LT. 0. 0)C=0. 0
IF(C-2.0»D. LT.VAVE)GOTO 144
IFLAG=IFLAG+1
IF(AFLG)GOTO 142
AFLG= TRUE.
ASTIM=PPTIM
ALTIM=PPTIM
GOTO 150
IF
-------
FORTRAN 1V-PLUS V02-51E
14:40:08
OMEGAS.FTN
23-MAR-81
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
O245
C
C
C
C
C
C
160
C
C
C
170
C
C
C
C
C
C
C
180
C
C
C
185
C
C
C
C
188
C
C
C
190
C
C
C
1000
/TO:BLOCKS/WR
INCREMENT THE LINE COUNTER, 50 LINES PER PACE
LINE=LINE+-1
IFCLINE.GT. 501LINE-1
PAGE 8
IF THERE IS NO MORE DATA IN THE
INCREMENT THE INPUT ARRAY COUNTER.
INPUT ARRAY, READ ANOTHER FILE IN.
JCNT=JCNT+1
IF( JCNT. LE. ICNT)GOTO 120
CALL SOURCE
JCNT=1
IF ANOTHER INPUT FILE WAS NOT SPECIFIED WE ARE DONE.
IFdCNT. EQ. OJGOTO 190
GOTO 120
IFCPTIH. GT. PETIM)GOTO 180
IF THIS POINT IS AT THE END OF THE CURRENT PLOT AND AT THE END OF
THE REPORT INTERVAL, PUT IT ON THIS PLOT.
IF(PTIM. EQ. TTT)GOTO 130
CURRENT PLOT IS FINISHED. CLOSE IT OUT.
CALL PLOTND
INCREMENT BEGINNING TIME FOR THE NEXT PLOT
IDTIM(2)=IBTIM(2)+10
IF(IBTIM(2). LT. 60)GOTO 185
IBTIM(2)=IBTIM(2)-60
IFdBTIMd ). EQ. 24>IBTIM(1)=0
TT=60. 0*IBTIM(1)+IBTIM<2>
IF(TT. GE. TTT)GOTO 190
INCREMENT THE PLOT FILE COUNTER AND GET THE NEXT PLOT FILE SPECIFICATION
(VECTOR FILE)
IPCNT=IPCNT-M
CALL WAIT(3,2, IWSTAT) IWAIT FOR PLOTND TO CLOSE THE OLD VECTOR FILE
GOTO 20 !GET NEXT PLOT FILE
END OF PROGRAM, CLOSE THE CURRENT PLOT FILE AND EXIT
CALL PLOTND
CALL WAIT (3, 2, IWSTAT)
CALL EXIT
FORMAT STATEMENTS
FORMATt' THIS PROGRAM MAKES TABLES AND PLOTS OF LIDAR OPACITY'.
1' DATA GENERATED BY OMEGA5. '//)
-------
FORTRAN IV-PLUS V02-51E
OMEGAS. FPN /TR:BLOCKS/WR
14:40:08
23-MAR-B1
PAGE 9
0247 1020 FORMAT( '*ENTER REPORT STOP TIME: HOURS, MINUTES ')
0248 1030 FORMAT< '*WILL DATA BE AVERAGED? ')
0249 1040 FORMAT(20A2)
0250 1050 FORMAT<'*ENTER AGGREGATE PERIOD IN MINUTES: ')
0251 1060 FORMAT< '*ENTER STANDARDS FOR AGGREGATE, SINGLE EVENT: ')
0252 1070 FORMAT(' ENTER TABLE TITLE. 100 CHARACTERS MAXIMUM. ')
0253 1080 FORMATC20A4/13A4)
0254 1090 FORMATC' ENTER PLOT TITLE. 50 CHARACTERS MAXIMUM. ')
0255 1100 FORMAT(Q,26A2)
0256 1110 FORMATC '4ENTER FILE SPECIFICATION FOR PLOT FILE NUMBER', 13, IX)
0257 1120 FORMAT(I2, ': ', 12,3X)
0258 1130 FORMATC13,3X>
0259 1140 FORMAT<1H1,44X,'UNITED STATES ENVIRONMENTAL PROTECTION AGENCY'
1/46X,'NATIONAL ENFORCEMENT INVESTIGATIONS CENTER'
2/56X, 'DENVER, COLORADO 80225'//)
0260 1150 FORMAT(16X,25A4)
0261 1160 FORMATCiaX.'DATE',6X,'TIME OPACITY SO NONCOMPLIANCE ',
1' AGGREGATE AGGREGATE TIME FLAGGED NUMBER DISCARDED'/)
0262 1170 FORMATC 1X.F7. 0,F7. 0)
0263 1180 FORMATU7, IX. 16)
0264 1190 FORMAT(16X, 12, '/', 12, V, 12, 14, ': ',12, ': ', 12, 3X, 14, 4X, 13
1, 31X, F7. 2, ' MINUTES', 10X, 13, ' OF', 14)
0265 1200 FORMAT(1H+,T55,'»***')
0266 1210 FORMATC1H+,T69, '****')
0267 1220 FORMATC'DATE: ', 12, '/', 12. '/', 12)
0268 END
-------
FORTRAN IV-PLUS V02-51E
OMEGAS.FTN /TR:BLOCKS/WR
PROGRAM SECTIONS
14:40:08
23-MAR-81
PAGE 1O
NUMBER
NAME
SIZE
ATTRIBUTES
1
n
3
4
5
6
JCODE1 006772
*PDATA 000570
*IDATA 002516
$VARS 000664
*TEMPS 000020
*$**. 070206
17B9
188
679
218
8
14403
RW, I, CON
RW, D, CON
RW, D, CON
RW, D, CON
RW, D, CON
RW, D, OVR
, LCL
, LCL
, LCL
, LCL
, LCL
, GBL
VARIABLES
NAME
AETIM
AVE
DX
ICNT
IPCNT
JCNT
PETIM
TTT
ARRAYS
NAME
IBTIM
IETIM
INUI1
IPFILE
IPTITL
I REP
I5CR
ISTIM
IWTIM
REP
SCR
TITLE
LABELS
LABEL
10
60
no
141
16O
1VO
1O4O '
1OS>O '
TYPE ADDRESS
R*4 4-000542
R*4 4-000502
Rtt4 4-000506
1*2 6-070204
1*2 4-000500
1*2 4-000516
R*4 4-000604
R*4 4-000600
TYPE ADDRESS
1*2 4-000000
1*2 4-000004
1*2 4-000350
1*2 4-000240
1*2 4-000154
:*2 6-047300
1*2 4-000264
1*2 4-000344
1*2 4-000334
R#4 6-000000
R»4 4-000356
R*4 4-000010
ADDRESS
**
**
*»
1-005556
1-OO6436
1-OO673O
3-OO0256
3-OOO5O4
NAME
AFLG
BTIM
DY
ID
ISCNT
LINE
PPTIM
VAVE
TYPE ADDRESS
L»l 4-000476
R*4 4-000574
R«4 4-000512
1*2 4-000652
1*2 6-070200
1*2 4-000554
R*4 4-000614
R*4 4-000524
NAME
ALTIM
C
ETIM
IFLAG
ISHOT
M
PTIM
VSIN
TYPE ADDRESS
R*4 4-000640
R*4 4-000624
R*4 4-000520
1*2 4-000552
1*2 6-070202
1*2 4-000654
R*4 4-000610
R*4 4-000530
NAME
ASTIM
D
I
IHISO
ITOTAL
NCHR
TT
X
TYPE ADDRESS
R*4 4-000634
R*4 4-000630
1*2 4-000556
1*2 4-000550
1*2 4-000546
1*2 4-000534
R*4 4-000656
R*4 4-000560
NAME
ATIM
DELY
1C
IP
IWSTAT
NUM
TT1M
Y
TYPE ADDRESS
R*4 4-000536
R»4 4-O00620
1*2 4-000650
1*2 4-000572
1*2 4-000662
1*2 4-00057O
R*4 4-O00644
R*4 4-O00564
SIZE DIMENSIONS
000004
000004
000006
000024
000064
020700
000050
000004
000010
047300
000120
000144
LABEL
20
70
120
142
170
1000'
105O'
11OO'
2 (2)
2 (2)
3 (3)
10 (10)
26 (26)
4320 (12,360)
20 (20)
2 (2)
4 (4)
10080 (14,360)
40 (20)
50 (25)
ADDRESS
1-000614
1-001704
1-004262
1-O05604
1-O06514
3-OOOOOO
3-OOO262
3-OOO562
LABEL
30
BO
130
143
180
1O10'
1060'
11 1O'
ADDRESS
**
**
1-004444
1-005702
1-006560
3-000126
3-OOO332
3-OOO57O
LABEL
40
90
135
144
185
1O2O'
1070'
112O'
ADDRESS
B*
**
1-004510
1-OO5734
1-006642
3-000202
3-OOO414
3-OOO654
.
LABEL
50
100
14O
150
IBB
1O3O'
10BO'
113O'
ADDRESS
**
*»
1-005450
1-005776
**
*«
3-OOO474
3-O00666
-------
FORTRAN IV-PLUS VO2-51E 14:4O:O8 23-MAR-81 PAGE 11
OMEGAS.FTN /TR;BLOCKS/WR
114O' 3-000674 1150' 3-001074 1160' 3-001102 1170' 3-001254 1180' 3-001264
1190' 3-001272 1200' 3-001364 1210' 3-001400 1220' 3-001414
FUNCTIONS AND SUBROUTINES REFERENCED
EXIT NEWDEV PLOT PLOTND PLOTST SOURCE SYMBOL WAIT
TOTAL SPACE ALLOCATED - 103412 17285
-------
FORTRAN
OMEGAS.
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
OO25
OO26
OO27
IV-PLUS
FTN
C
C
C
C
C
C
C
10
C
C
C
20
C
C
C
30
C
C
C
C
C
C
40
50
C
C
C
C
C
C
C
C
V02-51E 14:40:30 23-MAR-81 PAGE 12
/TR: BLOCKS/WR
SUBROUTINE SOURCE
THIS SUBROUTINE READS DATA FROM A DESIGNATED DISC FILE
INTO REP AND IREP
COMMON REP( 14, 360), IREP( 12, 360), ISCNT, ISHOT, ICNT
DIMENSION ISFILEC 10), IAUX(52)
GET THE FILE SPECIFICATION FOR INPUT FILE NUMBER ISCNT
WRITEC5, 1000)ISCNT
READC5, 1010) ISFILE
IF(ISFILE(2). EQ. ' 'JGOTO 12O
ISFILE(10)=0
CALL CLOSE(3)
OPEN(UNIT=3, NAME= ISFILE, TYPE='OLD', READONLY, ERR=20
1, DISPOSE='SAVE')
GOTO 30
HERE IF ERROR OPENING DISC FILE
WRITE (5, 1020)
GOTO 10
READ HEADER INFORMATION
READC3, 1030) IAUX
DISPLAY THE HEADER INFORMATION ON THE TERMINAL
WRITE (5, 1040) IAUX (7), ( IAUX( I >, 1=1, 6), IAUX (8), IAUX<9)
WRITE (5, 1050) < IAUX (I), 1=21, 52)
READ DATA INTO THE INPUT ARRAYS
DO 40 1=1, 360
READ (3, 1060, END=50)
-------
FORTRAN IV-PLUS V02-5IE
OMEGA8.FTN /TR:BLOCKS/WR
ISCNT»ISCNT+1
14:40:3O
23-MAR-B1
PACE 13
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
60
C
C
C
C
C
C
C
70
80
90
100
110
C
C
C
C
120
C
C
C
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
IF THIS IS THE FIRST FILE, KEEP ALL THE DATA.
IFdSCNT. EQ. 2)GOTO 110
IFUSHOT. LT. IREP<7, IMGOTO 110
IF THIS IS NOT THE FIRST FILE, KEEP ONLY THE DATA WHICH HAS NOT
ALREADY BEEN PLOTTED.
DO 70 1 = 1, ICNT
IFdSHOT. EQ. IREP(7, IMGOTO 80
CONTINUE
1 = 1-1
DO 100 J=l. ICNT-I
DO 90 K=-l, 12
IREP(K,J)=IREP(K, J+I>
REP(K,J)=REP(K, J+I)
CONTINUE
REP(13,J)=REP(13, J+I>
REP(14,J)=REP(14, J+I)
CONTINUE
ICNT=ICNT-I
IEHOT = IREP(7, ICNT)
RETURN
NO INPUT FILE WAS SPECIFIED. VERIFY THAT NO NEW FILE IS DESIRED,
AND RETURN WITH THE FILE SIZE SET TO ZERO.
WRITE(5,1090)
READ(5,1010)IC
IFdC.NE. 'Y '. AND. 1C. NE. 'YE'JGOTQ 10
ICNT=0
RETURN
FORMAT STATEMENTS
FORMAT(' ENTER FILE SPECIFICATION FOR SOURCE FILE NUMBER', 13, 1X)
FORMAT(2OA2)
FORMAT<' ERROR OPENING DISC FILE!')
FORMAT(IX,612,314,A2,15,14,215,13,215,213,
FORMAT(/' FILE', 15, 14, '/', 12, '/', 12, 14,
14,32A2)
12, ': ', 12, 2X,
1'REF. FILE',15,2X,'GATE CALIBRATION FILE',I5/>
FORMAT(IX,32A2/)
FORMAT(IX, 612, 415,213, 13F5. 1, F7. 3)
FORMAT*' LAST SHOT WAS: ',15, ' THIS FILE STARTS AT SHOT'
1' AND RUNS TO SHOT', I5/'*IS THIS THE RIGHT FILE? ')
FORMAT('*THIS FILE DOES NOT INCLUDE THE NEXT SHOT. ',
1' ARE YOU SURE IT"S THE RIGHT ONE? ')
FORMAT('*ARE WE DONE? ')
END
15,
-------
FORTRAN IV-PLUS V02-51E
OMEGAS.FTN /TR:BLQCKS/WR
14:40:30
23-MAR-B1
PAGE 14
PROGRAM SECTIONS
NUMBER
1
2
3
4
3
6
NAME
SIZE
$CODE1
*PDATA
*IDATA
$VARS
*TEMPS
. ****.
001744
O00004
O00714
000206
000012
070206
498
2
230
67
5
14403
ATTRIBUTES
RW, I, CON,LCL
RW,D,CON,LCL
RW, D, CON, LCL
RW, D, CON, LCL
RW,D,CON,LCL
RW,D,QVR,GBL
ENTRY POINTS
NAME TYPE ADDRESS
SOURCE 1-000000
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
VARIABLES
NAME TYPE ADDRESS
I
J
1*2
4-000174
4-000202
NAME
1C
K
TYPE ADDRESS
1*2
I #2
4-000200
4-000204
NAME
ICNT
L
TYPE ADDRESS
1*2
1*2
6-070204
4-000176
NAME TYPE ADDRESS
ISCNT 1*2 6-070200
NAME TYPE ADDRESS
ISHOT 1*2 6-07O202
ARRAYS
NAME TYPE ADDRESS
SIZE
IAUX 1*2 4-000024 000150 52
IREP 1*2 6-047300 020700 4320
ISFILE 1*2 4-000000 000024 10
REP R*4 6-000000 047300 10080
DIMENSIONS
(52)
(12,360)
( 10)
(14,360)
LABELS
LABEL ADDRESS
10
60
110
1030'
1-000014
1-001176
1-001606
3-000126
3-000472
LABEL ADDRESS
20
70
120
1040'
1090'
1-000150
**
1-001634
3-000164
3-000614
LABEL
30
80
1000'
1050'
ADDRESS
1-000200
1-001304
3-000000
3-000276
LABEL ADDRESS
40
90
1010'
1060'
3-000066
3-000304
LABEL
50
100
1020'
1070'
ADDRESS
1-000660
**
3-000072
3-000326
FUNCTIONS AND SUBROUTINES REFERENCED
CLOSE OPEN*
Al OTATFO
073312 15205
-------
8(e) Lidar Eyesafe Program (FORTRAN-4+, HP Language
and Variable Dictionary)
-------
FORTRAN IV-PLUS V02-51E
EYESAF. FTN /TR:BLOCKS/WR
08:16:14
11-MAR-81
PAGE 1
0001
ooor>
0003
0004
0005
0006
OO07
0008
0009
0010
0011
0012
0013
0014
0015
0016
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
9
C
10
C
1 1
C
C
C
C
12
C
13
C
14
PROGRAM LIDAR EYESAFE OUTPUT TO VT-100 AND PRINTER
THIS PROGRAM CALCULATES THE INTEGRATED OPTICAL ATMOSPHERIC EXTINCTION
COEFFICIENT ALONG THE LIDAR LINE-OF-SIGHT, AND THE METEOROLOGICAL
VISUAL RANGE AS A FUNCTION OF THIS EXTINCTION COEFFICIENT.
THEN HAVING THE ACTUAL RANGE OF THE VISIBLE EMISSIONS SOURCE FROM
THE LIDAR, THE OPACITY OF THE PLUME UNDER-TEST AND THE ATMOSPHERIC
EXTINCTION COEFFICIENT, THE APPROXIMATE EYESAFE DISTANCE (DIRECT
IN-BEAM VIEWING) IS CALCULATED, AND REPORTED IN KILOMETERS, STATUTE
MILES AND NAUTICAL MILES.
SECTION A THIS SECTION OF THE PROGRAM CALCULATES THE INTEGRATED
OPTICAL ATMOSPHERIC EXTINCTION COEFFICIENT, BETA.
USING A CLEAR-AIR RETURN SIGNAL ON THE LIDAR 'S OSCILLOSCOPE DISPLAY,
SELECT TWO POINTS OF THE CURVE (SEE ATTACHED PHOTO), CALLING THEM
P(l) AND P(2), WITH P(l> BEING THE CLOSER ONE TO T(0).
T(l> IS THE ABSCISSA VALUE IN TIME FOR THE POINT P(l).
T(2> IS THE ABSCISSA VALUE IN TIME FOR THE POINT P(2).
1(1) IS THE ORDINATE VALUE IN AMPLITUDE FOR THE POINT P(l).
1(2) IS THE ORDINATE VALUE IN AMPLITUDE FOR THE POINT P(2).
THE HORIZONTAL TIME SCALE ON THE OSCILLOSCOPE IS IN NANOSECONDS
WHICH IS THE DISPLAY ABSCISSA.
ENTER THE OSCILLOSCOPE DISPLAY ABSCISSA VALUE IN NANOSEC/CM.
REAL*8 C
WRITE (6,9)
FORMAT (/, ' * * » LIDAR EYESAFE PROGRAM OUTPUT * * «')
TYPE 10
FORMAT (/, '*ENTER # OF NANOSEC/CM FROM OSCILLOSCOPE = ')
ACCEPT *, NS
WRITE (6, 11 ) NS
FORMAT (/, ' NO OF NANOSEC FROM OSCILLOSCOPE = ',16, ' NANOSEC')
POINT OF ENTRY FOR DISPLAY VALUES WHICH ARE IN CM,
ABSCISSA VALUES FIRST.
TYPE 12
FORMAT ('CENTER » OF CM FOR T(l) IN X. XX CM = ')
ACCEPT *, Tl
WRITE (6, 13) Tl
FORMAT (/, ' NUMBER OF CM FOR T(l) - ',F5. 2, 'CM')
TYPE 14
FORMAT ("CENTER « OF CM FOR T(2) IN X. XX CM = ')
ACCEPT ». T2
-------
FORTRAN IV-PLUS V02-51E
EYESAF FTN
08:16:14
/TR:BLOCKS/WR
1 1-MAR-B1
PAGE 2
OO17
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
OG48
15
C
16
C
17
C
IB
C
19
C
C
C
C
C
C
C
C
20
C
C
C
C
C
C
C
WRITE (6, 15) T2
FORI1AT (/. ' NUMBER OF CM FOR T(2) - '.F5. 2, 'CM')
TYPE 16
FORMAT ('CENTER # OF CM FOR 1(1) IN X. XX CM - ')
ACCEPT *, AMP1
WRITE (6, 17) AMP1
FORMAT (/. ' NUMBER OF CM FOR 1(1) = ', F5. 2, 'CM')
TYPE 18
FORMAT ( '$ENTER # OF CM FOR 1(2) IN X. XX CM = ')
ACCEPT *. AMP2
WRITE (6, 19) AMP2
FORMAT (/, ' NUMBER OF CM FOR 1(2) = ',F5. 2, 'CM')
C=29979245620. !C IS THE SPEED OF LIGHT IN CM
RAT=T1/T2
AMP=AMP2/AMP1
TNS1=T1*NS
TNS2=T2*NS
DELT=TNS2-TNS1 ! DELT IS IN NANOSEC
SDELT=DELT*(1. E-9) iSDELT IS IN SECONDS
CDELT=SDELT*C/2. -ICDELT IS C(T2-Tl)/2 IN CM
DELTC = 1. /CDELT
NOW THE EXTINCTION COEFFICIENT BETA IS CALCULATED.
BETA=DELTC*(ALOG(RAT)-1. 152*ALOG10( AMP > )
WRITE (5,20) BETA
WRITE (6,20) BETA
FORMAT , ' BETA = ',E12. 4, ' INVERSE CM')
BETAC=BETA
PER SEC
SECTION B THIS SECTION OF THE PROGRAM CALCULATES THE METEOROLOGICAL
VISUAL RANGE IN KILOMETERS, STATUTE MILES
MILES.
AND NAUTICAL
RMVRK=3. 915*<1. E-5)/BETAC IRMVR IS IN KILOMETERS
C
RMVRS=2. 433*(1. E-5)/BETAC !RMVR IS IN STATUTE MILES
C
C
22
RMVRN=2. 113*(l.E-5)/BETAC IRMVR IS IN NAUTICAL
WRITE (5,22) RMVRK
WRITE (6,22) RMVRK
FORMAT (/, ' RMVR = ',F6. 0, ' KILOMETERS')
MILES
OO49
WRITE (5,24) RMVRS
-------
FORTRAN IV-
EYESAF FTN
0050
0051
C
0052
0053
0054
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
0055
OOS6
0057
PLUS V02-51E
/TR:BLOCKS/WR
OB:16:14
ll-MAR-81
PAGE 3
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
WRITE (6,24) RMVRS
24 FORMAT (/, ' RMVR = ',F6.0, ' STATUTE MILES')
WRITE (5,26) RMVRN
WRITE (6,26) RMVRN
26 FORMAT (/, ' RMVR = ',F6.0, ' NAUTICAL MILES')
SECTION C THIS SECTION OF THE PROGRAM CALCULATES THE APPROXIMATE
EYESAFE DISTANCE (DIRECT IN-BEAM VIEWING) IN KILOMETERS,
STATUTE MI1.ES AND NAUTICAL MILES.
HAVING THE LASER OUTPUT ENERGY, BEAM DIAMETER OUT OF THE UPCDLLIMATOR
AND THE BEAM DIVERGENCE ANGLE OUT OF THE UPCOLL IMATOR, IN ADDITION TO
THE ATMOSPHERIC EXTINCTION COEFFICIENT AND THE LIDAR RANGE TO THE
STACK, THE IN-BEAM RADIANT EXPOSURE AND THE BEAM ENERGY/PULSE IS
ARE CALCULATED AT THE PLUME UNDER-TEST.
ENTER THE TIME SCALE FROM THE OSCILLOSCOPE USED FOR THIS MEASUREMENT
IN NANOSEC/CM. IF THE SAME AS NS ENTERED AT THE BEGINNING OF THIS
PROGRAM, ENTER THE SAME VALUE.
28
29
30
31
32
33
TYPE 28
FORMAT (/, '$ENTER # OF NANOSEC/CM FROM OSCILLOSCOPE =
ACCEPT *, NNS
NANOSEC')
USUALLY 620-750 NANOSEC
WRITE (6,29) NNS
FORMAT , ' NO OF NANOSEC/CM FROM SCOPE = ', 16,
T(0) IS THE TIME OF SYSTEM TRIGGER IN THE LIDAR,
TYPE 30
FORMAT (/,'$ENTER VALUE OF T(0) IN NANOSEC = ')
ACCEPT *,TO
WRITE (6,31) TO
FORMAT (/. ' VALUE OF T(0> = ',F6.0, ' NANOSECONDS')
RS IS THE RANGE TO THE STACK UNDER-TEST OBTAINED FROM THE OSCILLOSCOPE.
TYPE 32
FORMAT (/,'*ENTER # OF CM FOR STACK RANGE IN X. XX CM = ')
ACCEPT *,RSCM
WRITE (6,33) RSCM
FORMAT (/, ' NUMBER OF CM FOR STACK RANGE
', F5. 2,
CM')
RNS=RSCM*NNS
RSN=RNS-TO
RSS=REN*(1. E-9)
RS=RSS*C/2.
RSM=RS/100.
!RNS IS IN NANOSECONDS
IRSN IS IN NANOSECONDS WITH T(0) REMOVED
!RSS IS IN SECONDS
IRS IS IN CM
IRSM IS IN METERS
A IS THE LASER BEAM EXIT DIAMETER OUT OF THE UPCOLLIMATOR.
-------
FORTRAN IV-PLUS
EYEEAF.
0075
0076
0077
007B
0079
OOBO
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
OO95
OO96
FTN
C
C
C
C \
C
C
C
C
C
C
C
34
C
3S
C
C
C
C
C
36
C
37
C
C
C
C
C
C
C
C
C
C
C
C
C
*
38
V02-51E 08:16:14 ll-MAR-81 PAGE 4
/TR: BLOCKS/WR
A=4. 0 !THE DIAMETER IS GIVEN IN CM
PHI IS THE LASER BEAM ANGULAR DIVERGENCE VALUE.
PHI=2. E-4 .'DIVERGENCE OUT OF THE UPCOLLIMATOR IS 0.2 MILLIRADIANS
DRS=A + 100. *PHI*RSM IDRS IS THE BEAM DIAMETER AT THE STACK IN CM
HS IS THE LASER BEAM RADIANT EXPOSURE AT THE STACK.
Q IS THE OUTPUT ENERGY OF THE LASER IN JOULES/PULSE.
TYPE 34
FORMAT (/, '$ENTER LASER OUTPUT ENERGY IN JOULES/PULSE = ')
ACCEPT *, Q
WRITE (6,35) Q
FORMAT (/, ' LASER OUTPUT ENERGY = ',F5. 1, ' JOULES/PULSE')
HS=( 1. 27*Q*(EXP(-10Q. #BETAC*RSM) > )/(DRS**2. )
THE LASER BEAM RADIANT EXPOSURE VALUE IS MODIFIED BY THE OPACITY
VALUE OF THE PLUME UNDER-TEST.
TYPE 36
FORMAT , '*ENTER PLUME OPACITY VALUE IN 7. = ')
ACCEPT *, OP
WRITE (6,37) OP
FORMAT , ' PLUME OPACITY VALUE = ',F5. 0, ' 7.')
OPP=OP/100. (CONVERT OP IN 7. TO AN EQUIVALENT DECIMAL
TP=1. -OPP
HOPS=HS*TP (RADIANT EXPOSURE ON THE BACK SIDE OF THE PLUME
AIO=Q (LASER OUTPUT ENERGY-CHANGE OF VARIABLE
THE ENERGY OF THE LASER PULSE IS CALCULATED AT THE PLUME.
AIS=AIO*(EXP<-100. *BETAC*RSM» 'BEAM ENERGY AT THE STACK
THE LASER BEAM ENERGY AT THE STACK IS MODIFIED BY THE OPACITY
VALUE OF THE PLUME UNDER-TEST.
AISP=AIS*TP (LASER ENERGY ON THE BACK SIDE OF THE PLUME
THE LASER ENERGY (AISP) AND THE BEAM DIAMETER AT THE BACK SIDE OF
THE PLUME ARE USED TO CALCULATE THE SAFE RADIANT EXPOSURE VALUE.
RB = 500. *1OO. !RB IS THE RANGE BEHIND THE STACK-50O M BEGIN
CONTINUE ! BEGINNING OF LOOP FOR RANGE CALCULATION
OO-97
RD=RE + 50O. »10O. ! INCREMENT LIDAR RANGE BEHIND PLUME BY 5OO METERS
-------
FORTRAN
EYESAF.
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
IV-PLUS
FTN
C
C
C
C
C
C
C
39
C
C
40
C
41
C
C
43
C
45
C
48
C
V02-51E 00:16:14 ll-MAR-81 PAGE 5
/TR: BLDCKS/WR
DRSB=A+PHI*RB IBEAM DIAMETER IN BACK OF THE PLUME AT ANY RSMB
HSB = 1. 27*AISP*(EXP(-BETAC*RB) >/(DRSB**2. ) IRADIANT EXPOSURE
IF (HSB GT. 5.E-7) GO TO 38 (PROTECTIVE STANDARD IN JOULES/CMSQ
RKM=(RSM+RB/100. )/1000. IRANGE IN KILOMETERS
RSMI=0. 6214*RKM IRANGE IN STATUTE MILES
RNMI=0. 5396*RKM IRANGE IN NAUTICAL MILES
WRITE (5,39) RSM
WRITE (6,39) RSM
FORMAT (/, ' LIDAR RANGE TO THE STACK = ',F6. 0, ' METERS')
WRITE (5,40) DRS
WRITE (6,40) DRS
FORMAT (/, ' LASER BEAM DIAMETER AT THE STACK = ',F6. 0, ' CM')
WRITE (5,41) DRSB
WRITE (6,41) DRSB
FORMAT(/, ' LASER BEAM DIAMETER AT EYESAFE DISTANCE = ',F6. 0, 'CM')
WRITE (5,43) RKM
WRITE (6,43) RKM
FORMAT (//, ' LIDAR EYESAFE DISTANCE = ', F6. 0, ' KILOMETERS')
WRITE (5,45) RSMI
WRITE (6,45) RSMI
FORMAT (/, ' LIDAR EYESAFE DISTANCE = ',F6. 0, ' STATUTE MILES')
WRITE (5,48) RNMI
WRITE (6/48) RNMI
FORMAT (/, ' LIDAR EYESAFE DISTANCE = ',F6. 0, ' NAUTICAL MILES',/)
STOP
END
-------
FORTRAN IV-PLUS V02-51E
EYESAF FTN /TR:BLOCKS/WR
08:16:14
ll-MAR-81
PAGE 6
PROGRAM SECTIONS
NUMBER NAME
1 $CODE1
2 *PDATA
3 *IDATA
4 $VARS
SIZE
003142 B17
000064 26
002444 65B
000264 90
ATTRIBUTES
RW, I,CON,LCL
RW,D.CON,LCL
RW, D, CON, LCL
RW,D,CON,LCL
VARIABLES
NAME TYPE
ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME
TYPE ADDRESS
NAME TYPE ADDRESS
A
AMP1
CDELT
HOPS
OP
RB
RNMI
RSMI
TNS2
LABELS
LABEL
9'
14'
19'
28 '
33'
38
45'
R*4 4-000154 AIS
R»4 4-O00022 AMP2
R»4 4-000062 DELT
R*4 4-000214 HS
R»4 4-000200 OPP
R*4 4-000234 RKM
R«4 4-00026O RNS
R*4 4-000254 RSN
R«4 4-000046 TP
ADDRESS LABEL
3-000000 10'
3-000350 15'
3-000654 20'
3-001112 29'
3-001446
1-002302
3-002276
34'
39'
48'
R»4 4-000224 AISP R*4 4-000230 AIO R*4 4-000220 AMP R*4 4-OOO036
R»4 4-000026 BETA R*4 4-000072 BETAC R*4 4-OOOO76 C R»B 4-OOOOOO
R*4 4-000052 DELTC R*4 4-000066 DRS R*4 4-000164 DRSB R*4 4-OOO24O
R*4 4-000174 HSB R*4 4-000244 NNS 1*2 4-000116 NS 1*2 4-00001O
R*4 4-000204 PHI R*4 4-000160 Q R*4 4-000170 RAT R»4 4-000032
Rit4 4-000250 RMVRK R»4 4-000102 RMVRN R*4 4-000112 RMVRS R*4 4-000106
R»4 4-000130 RS R*4 4-O00144 RSCM R*4 4-OO0124 RSM R*4 4-OOO15O
R*4 4-000134 RSS R*4 4-000140 SDELT R*4 4-000056 TNS1 R*4 4-OOOO42
R*4 4-000210 TO R*4 4-000120 Tl R*4 4-000012 T2 R»4 4-000016
ADDRESS LABEL ADDRESS LABEL ADDRESS LABEL ADDRESS
3-000066 11' 3-000146 12' 3-000232 13' 3-000302
3-000420 16' 3-000466 17' 3-000536 18' 3-000604
3-000722 22' 3-000756 24' 3-001012 26' 3-001052
3-001172 30' 3-001252 31' 3-OO1320 32' 3-001366
3-001522
3-001772
3-002360
35' 3-001604 36' 3-001662
40' 3-002046 41' 3-002126
37' 3-001730
43' 3-002216
FUNCTIONS AND SUBROUTINES REFERENCED
*ALG10 $ALOG *EXP
TOTAL SPACE ALLOCATED = 006156 1591
SYO: U01, 3JEYESAF, SYO: C101, 33EYESAF/-SP=SYO: C101. 3DEYESAF
-------
PROGRAM: LIDAR EYESAFE
Variable Dictionary
Fortran
Variable
Names
NS
Tl
T2
AMP1
AMP2
RAT
AMP
TNS1
TNS2
DELT
SDELT
CDELT
DELTC
BETA
BETAC
RMVRK
RMVRS
RMVRN
NNS
T0
RSCM
RNS
RSN
RSS
RS
RSM
A
HPL
Variable
Names
N[l]
T[l]
T[2]
A[l]
A[2]
R[l]
A[3]
T[3]
T[4]
D[l]
S
C[l]
D[2]
B[l]
B[2]
R[2]
R[3]
R[4]
N[2]
T[5]
R[5]
R[6]
R[7]
R[8]
R[9]
R[10]
A[4]
Fortran
Variable
Names
PHI
DRS
HS
Q
OP
OPP
TP
HOPS
AI0
AIS
AISP
RB
DRSB
HSB
5.E-7
RKM
RSMI
RNMI
HPL
Variable
Names
P
D[3]
H[l]
Q
0[1]
0[2]
T[6]
H[2]
A[5]
A[6]
A[7]
R[ll]
D[4]
H[3]
Z
RC12]
R[13]
R[14]
-------
" L I D h R E V E S fl F
f Lid o. r E y e s o. f
R 0. n '9 8 I"' f" O '? r 0. ivl
R e y 0 3 U 8 1" :
d l fl H E i" 1 j b C 2 ]
CC2] jDC4J ? HC3]
HC2J >Q [21 j RC20
T r " ~
5 I L £ J
f f ' t,
1 1
t ivi T. ii 5 f '.' . y j
~ _ _ -j
2 9 S 7 9 2 4 5 6 2 3 + C
C / 2 -* C
P r-1. " L I D R R
'ESfiFE PROGR
f"i 0. f'i 0 S t C '' C n f f" 0 i':'i
scope" ? NCI]
12: P r t. " # o f
n o. n o =. £ c ' c PI = " ?
MCI]
i 3 ; ;=. P c 1
14= E' n t " # o f
c.v, for TCI] in
X. XX G,VI. ", TCI]
i'rj- P r t " ft n f
c PI for T [ i 1 = " ,
TC11
I 7 e n t " ft o f
c ivi for T [ 2 ] i n
X . X X c i'i . " ? T C 2 ]
18; P r t " # o f
c r': for T E 2 ] = " ?
TC2]
19: cpr. f
2@: ent "if of
c i'\ for ! C 1 J i n
X . X X c I-.-, , " ? fl C 1 ]
21: P rt " tt of
c. (v, for I [ 1 ] = " j
fl [11
2 2 i s P c. 1
23^ .= n t. " ft o f
c fi for I [ 2 J i n
X.XX or, . ", HC2]
-------
24: P r t. ' tt o f
.- ,V| £ ~t.,. T r'"' ~i ~-u
26? T [i] /TC23*P [
1 1
27: H [ 2 J " H [ 1 ] H- fl [
-= q - T r " - v. i-j r ? i j. T r
u_ r - i L. i. j i ! u i j i L
2 U : T L 4 ] - T [ 3 ] * D C
31: DC13*tnt(-
3 4 : D C 2 3 * f 1 n ( R C 1
3 7 ' P r t. " B e t. o.
= " 5 B E 1 ] j " in y e r
42: P r t " M f t e o r- o
logic G.I Visual
R 0. M '9 t !
5) --BC2]^P [21
44: 2.433*tntC-
53 -B[2]^R [33
45= 2 . 1 1 3 * t. n r ( -
5) -BC2J-RE4]
4 6 : :.:.i r t- 1 6 . i j
R C 21 ? " k i 1 o ivi e t e
r s"
4 7 : u r t. 16.2?
P C 3 3 ? " st a t. u t e
n i 1 e s "
4 3 : !.o r t. 1 6 . 3 ?
R [ 4 ] ? " n o. u t i G a 1
iv! i 1 8 S "
A i~i i i- . . .1 --t
-) 7 T .::. U i.
51: e n t "tt o f
n o. n o s := c / c !vi" ?
H C 2 3
52: Prt "ft of
nan o i e c / c ivi =
H C 2 3
-------
54: snt "TE33
i n n o. n o £ 8 c " ?
55:~~Prt "TC03
= " ? i L 3 j ? " n o. n o £
£' C
5 6 : £ P c 1
57: ent "S of
c Pi f o r s t o.,- k
r o. n -38 if: X . 'A X
c;V ,RC5]
5 £i = P r t " t? o f
0 I'M f O f' ;= t u. c k
r a n T <= = " j R [ 5 J ?
C i"!
59= £ P c 1
6Q= R[5]*N[2]*R[
6.1. R [61 -T C5]*RC
71
£ 2 = F: L 71 * t n t ( -
G '' JL i~> F " "I
- .i i~ L o J
i: j = or c i i: > _i D r Q i
:-! - = l\ L U J i_ ' i\ u 7 J
14 ° R [ 9 ] i Q Q * R [ 1
!J]
65: 4 -J- R [ 4 ]
66= 2 *tntt- 4)+ p
67^ fl[4]+160#P*
REi0]^D [3]
6 8 : £ P c 1
6 9 ' e n t. " L a s P r
o u t P u t 6 n t r ? y
i n o o u 1 e £ ' c ivi" ? Q
70: P r t. " L o. £ e r
o 1.41. p u t e r\ e r s y
- " ? Q j " J o u 1 s £ /
pulse"
,- i = i . 2 7 * Q # e x P ( -
100*8E21*R[i03)
/ (0133*0 [3] )*HC
1 ]
:"' -' ' f f"! t "PI L-i ivi t
0 P 0. C i t. y '.,' 0. 1 U 8
_ i n °-i" ? 0 E13
74- P r t. " P 1L4 !vi t
O P 0. r. i t. y y n. 1 u P
=" j u [ n -" ';"
75= SPG 1
," 6 : f x d 0
i' )' :: P L- l
78: p r-1- " * *
-------
F" o. n ? t o i t o. c k
= " ? R E1 0 ] ? " PI e t P
£ 2 : 0 [ 1 3 -1 Q 0 * 0 E 2
S3: i-OE2]-m&]
, 5 = Q + Fi ::. 1
: b : fi [ 5 ] * e x P I -
100*3[2]*RC10])
*fl[&]
i' = K L O J "^ i L b J "^ H L
'" .-; : i '.-' ,-' T- jI i .-' i -T-
- - J. l_ I ' I 1 !_ I _l
PXP (-EC2]*R Ci 1]
"> - ( D L 4 ] * D E 4 J J * H
L '": "i
? t. o " c o n t "
'F-5: (RC163+RC11J
109) ' 1890-^R LI 2
96: . 6214*RC1£3 ->
RC13]
97: .539b*R[12]^
K L 1 4 J
'-8: SPG 1
9 9 : P r t " * *
* * "
108° SPG 1
101: f x d 0
102: P r t " L a s e r
E; e a ivi D i o. MI e t. e r
o. t. t, h e S t. a .- k
SPG
104: p r t. " L o. s e r
B e o. iv; D i o. n e t 9 r
o. t- E y e s o f e D i = t
o. n G e = " j D [ 4 J j "
-------
106: P r t. " *
108: P r t "Li d a r
El '/ £ S 0. t t' U 1 £ t 0. f~! C
109; wr t 16,1?
R C12] j ' ki ioivipt.
R C i 3 ] ? " s t- o. t u t e
111: i.;.! r t. 16. 3 j
PL14J ; " no.ut. ica
I MI lies '
i 1 2 i =. P r. 1
-------
B(f) FAA Report Program (HP Language)
-------
0: d = P " R e P o r t
f or F H H T o w e r"
j !.-1 ait 2589
1 : d S P " P 1 0 t
L i d a r p o s i t i o n
o n F 1 . C h a r t" ?
s t P
'd ' d i ITI X $ [ 9 ] j
V $ [25]
'3 : e n t " E n t. = r
f 1 i -g n t c h a r t
scale"»X$
4 : e n t. " E n t 8 r
r f- f e r e n c e V 0 R " ?
V *
1 i d a r d i s t. .
f r o i"i V 0 R i n ivi ) " ? L
6: ent "Enter
1 i d o. r- r a dial
f r o :Yi V 0 R ( d e ? ) " ?
p
7 : e n t " M a ? n e t i c
b e a r i n -g o f
1 a. s e r ( d e -9) " ? S
8 : e n t " P e d e s t a 1
a n 9 1 e P o s i t. i o n
i d e -5 . 3 " ? T
9' ent "Ground
P 1 e '.-' o. t i o n o f
1 i d a r ( f t ) " j G
10: ent "E n t er
e v e s o. f e d i s t a n c
e C N ri i ) " ? H
11: H * b.0 7 6 *H
12: sin(TJ*H*P
1 3 : P + G / 1 U 3 0 + 1 * H
14: i n t. ( N ) * H
15: dii'i fl[H3 j
BCH] jCCHl jDCH] j
EEN] 5FCH] jJCN]
16: if X$="1:250
? 0 0 0 " ! L / 7 . 4 -J- L
17; if X$ = " l : 5g£i
? 0 0 Q :1 j L.-' 3 . 7 * L
18: for 1=1 to N
19: I*1000^RCIJ
20: R [! 1 -G * B C11
21: if BCIJ <0!
q t. o " o n e "
-------
22: B [ I 3 " t o. n ( T J *
C CI ]
2 3 : C C! ] -' S 0 7 6 -Hi: C
11
24: 1 3 0 - o. b s ( S -
R J * K
25: r(Lt2+CCnt2
- 2 * L * C [ 11 * c o s ( K
) J * D CI ]
26: iL T 2 + D[I]12-
CEI]t2)/(2*L*
DCI] 3+ECn
i-ECI]
29: if n. h s C S -
R ) > 138? = t o "alp
h 0. "
29: i f _ S > R ? R +
E [ I ] + F CI ] ? ? t, o
" o n e "
30: if 3 < R 5 R -
E[I3*FCI] ;-9to
" o n e "
3 1 : "alph a":i f
3>RJR-ECI]^FCI]
32: if 33695
F [I]-3&0*F[I]
34: if FCI]<05
a b s ( 3 6 0 + F CI ] J * F
CI1
3i: "one"5 next I
3 b ' P r t " R e P o r t
f or F fl R T o u e r "
[ s P c 2
3 7 ' P r t " * *
* *" 5 s P c
3 8 : P r t " R e f e r e n
c e d to1, Y $ , " V 0 R
j lidar t ru o k"
39: f x d 15 P r t
"is 1 o c a te d"j L j
" H PI i "
48: f x d 9 jP rt
" on ro.d i a i " ? R 5
s P o 2
41: P r t "* *
-------
-T2 » P rt " j he
1 o. s P r b P a IM i s
d i r e c t P d o n a
PI o. 9 n s-1 i G
b P o. r i n ? o f " ? o ?
* * ' ! s P c
-i.-fs _.. j. "T'--
- -! » r-! f t i f i f
1 o. s P r b e o. ivi
p a s s P s t h r o u 3 h "
? ^- P C- c
45; for 1=1 to H
46' if Bill<9 5
? v 0 " t !.:.! 0 "
47; fxd 0 ?Pr t
"nit 11. ude
( M S L j ( f t. j ' ?
R [II
4 3 = f x d 1 ? P r t
" a t " ? D C13 ? " N n i
49: f x d 8 ? P r t.
" R a d i a 1 " j F [ 13 ?
- 1 r-, ,- t " ± +
+ 1 :"; !=; 4
-------