Off-Line Analysis Programs
For Long-Path Spectrometer
Final Report
Ann Arbor, Michigan
Prepared for:
Environmental Protection Agency
Research Triangle Park,
North Carolina
By:
Roger H. Harisen
Robert H. Dye
Contract No. : 68-O2-O249
Systems Division
-------
BSR 3322
CONTENTS
Page
1. INTRODUCTION 1-1
2. DOCUMENTATION 2-1
2.1 HEXED PROGRAM 2-1
2.2 OMAS PROGRAM 2-3
2.3 EPASTREG PROGRAM 2-5
2.4 OMCC PROGRAM 2-27
2.5 EPAMSTDV PROGRAM 2-29
2.6 EPAPLOTR PROGRAM 2-30
2.7 FACTORAN PROGRAM 2-31
2.8 FACREC PROGRAM 2-37
2.9 DIMAT PROGRAM 2-39
2.10 ALFMAT PROGRAM 2-42
2.11 FILTER PROGRAM 2-43
2.12 DICIS PROGRAM 2-45
2.13 PLTSMF PROGRAM 2-50
3. REFERENCES 3-1
11
-------
BSR 3322
SECTION 1
INTRODUCTION
The purpose of this report is to document the Off-Line Analysis Programs
for the Long-Path Infrared Spectrometer instrument and to provide user instructions
for implementing the programs on an IBM-360/50 computer. Theoretical discussion
is included only to the extent necessary to permit the proper use of the programs.
Thirteen computer programs are documented. They are listed below by
number and name:
1. HEXED - Hexidecimal Edit Program
2. OMAS - Ozone Monitor Absorption Simulator Program
3. EPASTREG - EPA Stepwise Regression Program
4. OMCC - Ozone Monitor Coefficient Converter Program
5. EPAMSTDV - EPA Mean and Standard Deviation Program
6. EPAPLOTR - EPA Plotter Program
7. FACTORAN - Factor Analysis Program
8. FACREC - Factor Recombination Program
9. DIMAT - Deconvolution and Interpolation Matrix Program
10. ALFMAT - Absorption Contaminant Matrix Program
11. FILTER - Spectral Filter Data Program
12. DICIS - Deconvolution, Interpolation, Contamination, and Instrument
Simulation Program
13. PLTSMF - Plot Spectral Modulation Functions Program.
1-1
-------
BSR 3322
SECTION 2
DOCUMENTATION
2.1 HEXED.PROGRAM
2.1.1 Purpose
This program edits spectral data obtained from the Long Path Spectrometer
(LPS) in the form of a four hexadecimal digit number for each channel reading.
The data are first processed through paper-tape-to-card conversion equipment to
produce data cards which are the input media for this program. A complete set of
channel readings, representing one spectral scan, is accompanied by an ID number
and a checksum. The program recomputes a checksum for the data and a com-
parison is made with the checksum associated with the data set. If the comparison
fails, the data are rejected.
The channel readings are converted from hexadecimal-coded numbers to
decimal numbers in the program, and those data sets which pass the checksum
comparison are punched on an output card file for subsequent use in numerical
computations.
Through the use of control options, the program will list all the data cards
as read, list only those card sets in error, -list the converted card images, list
the filter wheel position list, and punch the filter wheel position list on the output
card file.
2.1.2 Control Cards: Fortran Unit 5
1. Columns 1-4: One of the following options: (one to five option cards)
a. PRNT - Print filter wheel position list.
b. FWPL - Write filter wheel position list on output file.
c. GDIS - List contents of input records as read.
d. CVRF - List converted input records.
e. EXEC - Begin program execution (must be last option card).
Columns 5-80: Blank.
2-1
-------
BSR 3322
2. DAT (I), 1=1, NOC+2
DAT (1) = Line Feed code (LF=Z69)
DAT (I), 1=2, 5 = NOG (number of channels)
DAT (I), 1=6, NOG, 4 (K66) = Filter wheel position list
DAT (66) = Carriage return code (CR=Z7A)
3. Cards 3 - (2 + NOC/16)
DAT (1)= LF
DAT (I), 1=2, NOG, 4 (K66) = Filter wheel position list
DAT (66) = CR
DAT (I), I = NOG + 1 = Checksum
DAT (I), I = NOG + 2 = CR
2.1.3 Data Input: Fortran Unit 5
Following are the scan data cards from the LPS:
DAT (1) = LF
DAT (I), 1=2, NOG, 4 (I<66)= Channel readings
DAT (66) = CR
- DAT (NOG + 1) = ID number
DAT (NOG + 2) = Checksum
DAT (NOG + 3) = CR
2.1.4 Output Data File: Fortran Unit 7
This unit produces the punched-card output for input to OMAS :
DAT (1) = NC = Number of cases
DAT (2) = NOG = Number of channels
DAT (I), I = 3, NOG + 3, 4 = Filter wheel position list (FWPL. TRUE. )
DAT (I), I = NOG + 4, 2* NOG + 4, 4 = Channel readings
DAT (2* NOG + 5) = ID number
2.1.5 Temporary Data File: Fortran Unit 8
2.1.6 Printer: Fortran Unit 6
2-2
-------
BSR 3322
2.2 OUAS PROGRAM
2.2.1 Purpose
^P^J^' *
This program computes the transmittance that would be in each spectral
channel if there had been an amount of ozone in the beam giving a specified peak
fractional absorptance. This computed transmittance takes into account the spectral
bandwidth of the Ozone Monitor and is needed to simulate ozone-containing spectra.
2.2.2 Control Cards: Fortran Unit 1
1. NOP, NOD, NOAPP, NTSC; Format (110) - Four cards
NOP - Number of problems (contaminants) = 1 for Ozone Monitor
NOD - Number of channels deleted from computation = 0 for Ozone
Monitor
NOAPP - Number of agents per problem = 1 for Ozone Monitor
NTSC - Number of spectral scans to skip
2. AAPK, NAM, PRINTF, BW; Format (8G10.0) - One card
AAPK - Agent absorption peak
NAM - Background-to-Agent case ratio = 1 for Ozone Monitor
PRINTF - Print flag (1 = print; 0 = no print)
BW - Bandwidth of spectral channels =0.15 for Ozone Monitor
3. NAGENT, NC, (ALPHA (I), 1= 1, 19); Format (2A4, 12, 7E10. 0)
NAGENT - Name of contaminating agent
NC - Card number
ALPHA(I) - Absorption coefficients for agent (7 per card)
2.2.3 Data Input: Fortran Unit 4 (reads HEXED punched output cards)
1. N; Format (G10.0) (one card)
N - Number of cases .
2-3
-------
BSR 3322
2. NOG, FWPOS(I), 1= 1, NOC; Format (8G10.0)
NOC - Number of channels
FWPOS(I) - Filter wheel position list
3. RAD(J), J = 1, NOC, IDN; Format (20A4)
RAD(J) - Channel readings for one spectral scan
IDN - ID number for scan group
2.2.4 Data Output File: Fortran Unit 5 (card punch output for E PAST REG)
1. NCS, NCS; Format (2110)
s
NCS - Number of output cases
2. RAD(I), IDN; Format (6F10.5, 10*. 110)
. RAD(I) - Convolved output data
IDN - ID number for scan group
2.2.5 Printer: Fortran Units 3 and 6
2-4
-------
BSR 3322
2.3 EPASTREGPROGRAM
This program is a modification of a regression analysis pro-
gram produced by the Health Science Computing Facility of the
University of California. For a further discussion of regression
analysis, see Ref. 1*.
2.3.1 General Description
This program computes a sequence of multiple linear regres-
sion equations in a stepwise manner. At each step, one variable is
added to the regression equation. The variable added is the one which
makes the greatest reduction in the error sum of squares. Equival-
ently it is the variable which has highest partial correlation with the
dependent variable partialed on the variables-which have already been
added; and equivalently it is the variable which, if it were added, would
have the highest F value. In addition, variables can be forced into the
regression equation and automatically removed when their F values
become too low. Regression equations with or without the regression
intercept may be selected.
The output from this program includes:
(1) At each step:
(a) Multiple R
(b) Standard error estimate
(c) Analysis-of-variance table
(d) For variables in the equation:
1. Regression coefficient
2. Standard error
3; F to remove
(e) For variables not in the equation:
See Section 3 for references.
2-5
-------
BSR 3322
1. Tolerance
2. Partial correlation coefficient
3. F to enter
(2) Optional output prior to performing regression:
(f) Means and standard deviations
(g) Covariance matrix
(h) Correlation matrix
(3) Optional output after performing regression:
(i) List of residuals
The limitations per problem are:
(1) p, number of original variables (2< p< 141)
(2) q, number of variables added by transgeneration
(-9 < q < 78)
(3) p+q, total number of variables (2 < p+q < 141)
(4) s, number of Subproblem Cards {1 < s < 99)
(5) k, number of Variable Format Cards (1 < k < 10)
(6) i, number of variables to be plotted (0 < i < 30)
(7) m, number of Transgeneration Cards (0 < m < 99)
This program allows transgeneration of the variables. Codes
01-17 and 20-24 of the transgeneration list may be used.
2-6
-------
BSR 3322
2. 3. 2 Order of Cards in Job Deck
Cards indicated by letters enclosed in parentheses are optional.
All other cards must be included in the order shown:
a. System Cards
b. Problem Card
(c. ) Transgeneration Card(s)
(d. ) Labels Card(s)
e. DATA INPUT Cards
' (Place data input deck here if
data input is from cards. )
f. Subproblem Card(s)
g. Control-Delete Card(s)
h. through (i. ) may be repeated as many as 99 times in
each problem; b. through (i. ) may be repeated as often
as desired
i. Finish Card
2.3.3 Card Preparation (Specific for This Program)
Preparation of the cards listed below is specific for this
program. All other cards listed in the preceding section are prepared
according to instructions in the Introduction.
b. Problem Card (one for each problem)
Col. 1-6 BLANK (Mandatory)
Col. 8-15 Alphanumeric problem name
Col. 17-20 Sample size (1 < n < 9999)
2-7
-------
BSR 3322
Co. 23-25 Number of original variables (2 < p < 141)
(Dependent plus independent variables).
Col. 28-30 Number of Transgeneration Cards
(0
-------
BSR 3322
g. Subproblem Card
Col. 1-6 333333 (Mandatory).
Col. 9, 10 Number of the dependent variable.
Col. 14, 15 Maximum number of steps. This will be
2(p+q) if left blank.
Col. 21-30 F-level for inclusion. This will be 0. 01
if left blank.
Col. 31-40 F-level for deletion. This will be 0. 005 if
left blank.
o
Col. 41-50 Tolerance level. This will be 10 if left
blank.
Col. 53-55 1 if Control-Delete Cards are included.
Col. 58-60 1 if list of residuals is to be printed.
Col. 65 1 if Retreat mode to be used.
(h. ) Control-Delete Card
Col. 1-6 444444 (Mandatory).
Col. 7 Control value* for first variable.
Col. 8 Control value* for second variable
Col. 72 Control value* for 66th variable.
(i. ) Labels Cards
Labels Cards allow the user to substitute alphanumeric
names for the usual numeric indexes (variable numbers
or category designations) which appear on the printed
output.
2-9
-------
BSR 3322
Card Preparation
Col. 1-6 LABELS (Mandatory).
Col. 7-10 The number of the variable (or category or
index) to be named. This number must be
right- jus tified.
Col. 11-14 The corresponding alphanumeric name.
Col. 17-20 The number of another variable.
Col. 21-24 The corresponding alphanumeric name.
Col. 67-70 The number of another variable.
Col. 71-76 The corresponding alphanumeric name of
that variable (up to 7 per card).
There may be from one to seven pairs of variable num-
bers and labels on each Labels Card. If desired, only
one pair may be specified on each card. However, the
total number of labels appearing on all the Labels Cards
must equal the number of labels specified on the Problem
or Subproblem Card. It is not necessary to label all the
variables. Those labeled may be listed in any order. .
Example: Suppose the number of variables to be labeled
. as specified on the Problem Card is 9. Then the Labels
Cards might be punched as: LABELS 10HEIGHT
07WEIGHT 105AGE 003X1 0051VA3S39 0073 X+Y LABELS
99SE 0100ANYNAM
LABELS 05STATUS
(j. ) Transgeneration Cards
The term transgeneration is used ta» include transforma-
tions of input variables and creatienrof new variables
prior to the normal computations performed by the vari-
ous programs. The transformations described below are
2-10
-------
BSR 3322
performed on the values of the variables in each case.
In these examples, the symbol xj will denote the i**1
variable as well as its value.
Example s:
log!0X4 - X4 log^X4replaces X^
Xg -X Xg replaces X1
X + X -» X2 *2 + X3 rePlaces X2
By successive transformations, more complicated rela-
tionships may be obtained. For example:
n 2
(1) To replace X by /X + X four transformations are
required:
Variables as -they are stored at each step
X X X X^ X_
Transformation 1 2 3 4 a
*\ - XJ Xl X2 X3 X4 X5
X3 - X3 Xl X2 X3 X4 X5
Xl XZ X3 X4 X1+X3
Xl XZ X3
In this example, it can be seen- that the original values
of X5 are irrelevant. Actually., the variable X5 may be a
dummy variable introduced by the program specifically
to provide capacity for creating new variables by trans-
generation. Dummy variables may be required for
intermediate storage to effect some transformations.
(2) To replace X by exp (-1/2 X ), three transformations
are required:
2-11
-------
BSR 3322
Transformation
2
X ^^
* rf»
1 1
1 /2 Y _^ v
-l/£ A -* A
J
exp (X ) - X
xi
2
x;
i
-iAx^
exp (- 1/2
X2 X3
"Y Y^
2 3
^^ ^f
X2 X3
2
*^ . / "^O ^^1
(3) To replace X4 by X2 + Iog10 (X4-X3 +100), four trans-
formations are required:
X X0 X, X^
Transformation 1 2 3 _ 4 _
100)
0(X4 -X3 +100)
x2 + x4 -* x4 xl x2 x3 x2+iog10(x4-x3+ioo)
The transformations are performed in the order in which
the Transgeneration Cards appear so that, for example,
the two transgenerations ZXj^ Xj followed by Xj -2Xj
will result in 2X1 -2, whereas Xj -2 - X]_ followed by
ZXl -* Xx will result in 2(Xj -2).
2. 3. 3. 1 Transgeneration List
The notation to be used in the following transgeneration list
is as follows:
1. i, j, k are variable indexes ((need not be different)
2-12
-------
BSR 3322
2. c is a constant
3. a , a , a , ... are constants
4. n is the number of cases, or sample size
n
5. The mean X~. = / X
i n Z-f, 11
6. The standard deviation s. =
i
J =
Code Trans gene ration Restriction
01 *JX~. - X, X. > 0
i k i
-irt (X..-X.,2
n-1 4, ji i
02 ^. + \/X. + 1 -* X, X. > 0
ilk i
03 loginX. X, X. > 0
10 i k i
04 eXi - X,
k
05 arcsin-Tx". -~ X, 0 < X < 1
i k i
06 arcsin -v/X./ (n+1)
+ arcsin \/(X. +1) / (n-i-1) -X. 0 < (X. n) < 1
07 1/X. - X, X. * 0
i k i
08 X. + c - X,
i k
09 X.c - X,
i k
2-13
-------
BSR 3322
Code Transgeneration Restriction
10
11
12
13
14
15
Xi
Xi +
Xi "
^^ j»
1
V
If X.
-
K
X. - X,
J K
X_^ ^^
""* ^^ ~
J ^
^^ ^^
J "^
X. - X, X. * 0
J k j
>c, 1 -* X, ;
otherwise 0 -» X,
k
16 If X. > X., 1- X, ;
i- J k
otherwise 0 -» X,
k
17 log X - X, X.> 0
e i k i
18 & 19 Not used
20 sin X. - X,
21 cos X. -» X,
i k
22 arctan X. X,
i k
X.
23 X. J - X, X. > 0
i k i
X.
24 c J -* X, c > 0
k
Not defined
If X. = aj or a3 .... a7>
then c -» Xfc ; otherwise Xj^
remains unchanged.
If Xi is blank, then c - X (X. * -0)*
otherwise X^ remains
unchanged.
*Note that in reading numeric fields, a blank field and -0 are
equivalent.
2-14
-------
BSR 3322
When a violation of a restriction in the right-hand column
occurs during transgeneration, the program will print a diagnostic
message. Most programs will proceed to the next problem, if any.
Some programs will delete the case where the violation occurred and
continue the computation. Other programs will screen all the input
data for additional restriction violations before proceeding to the next
problem.
2.3.3.2 Standard Transgeneration Cards
Standard Transgeneration Cards are used vwlth programs
which use Standard Data Input. Let p denote the numflBer of variables
in the data matrix and m the maximum number of vaxaables allowed
by the program for any problem. Any of the variables xj, .... xm
may be used in transgeneration. The initial values .of the first p varia-
bles are read from the input data file (Data Cards or Alternate Input
Tape). The initial values of the remaining m-p variables are left over
from previous calculations. After transgeneration of a particular case,
the values of the first p + q variables for that case are used as the
values of .the transgenerated variables. If the -p + q variables required
for the computation are not the first p + q, they must foe relocated.
This may be done by using transgeneration code 08 wiah c = 0. The
numbers p and q (q may be positive, negative, or zero) are specified
on the Problem Card. The indexes i, j, and k from the transgeneration
list may exceed p or p + q but must never exceed m.
Card Preparation
Col. 1-6 222222 - (Mandatory.)).
Col. 7-9 Variable index k.
Col. 10, 11 Code from transgeneration 1st (restricted by
availability in particular program).
Col. 12-14 'Variable index i.
Col. 15-20 Variable index j or constant c.
Col. 21-25 Blank.
2-15
-------
BSR 3322
Col. 26 Number of a.'s for transformation 40.
i
Col. 27-32 a, value.
Col. 33-38 a2 value.
Col. 63-68 a? value.
The constants c, a , . . . , ay are punched with a decimal
po'int if used with variables which have an F-t.ype format and without
a decimal point if used with variables which have an I-type format.
If there are more than 66 variables, continue on another card of the
same form, until p+q variables have been specified.
The variable numbers above refer to variables after
trans gene ration.
Control Values
1. Delete variable (or dependent variable).
2. Free variable.
3. Low-Level forced variable.
9. High-level forced variable.
If no Control-Delete Cards are included, or if a field is left blank on
the Control-Delete Cards included in the deck, the value will be
assigned if the variable is not the dependent variable and the value
1 assigned if it is the dependent variable.
2. 3. 4 Computational Procedure
Step 1. The data are read and transgenerated. Let
p denote the number of variables after
2-16
-------
BSR 3322
transgeneration, n the number of cases, and
x: j the value of the j variable, after trans-
rH
generation, for the i case. The means:
n
x. = / x, . i = 1, . . . , p
i m ki . r
are computed and, if called for, printed. If
a zero regression intercept is not requested
on the Problem Card, the matrix A:
n
is computed. If a zero regression intercept is
requested, the matrix A:
n
ij = Z xki
is computed instead.
Step 2. The The covariances, .standard deviations, and
correlations :
Sij = aij/(n"U if J = l ..... p
i = 1 ..... p
r. . = s. ./s.s. i, j = 1 ..... p
ij i/ i j
are computed and, if called for, printed. It
should be noted that if the zero regression
intercept option is chosen, these statistics will
not be centered about the mean. A similar
statement applies to all the computations which
follow.
2-17
-------
BSR 3322
Step 3 . At each step in the stepwise regression proce-
dure, the variables x^, . . . , xp are divided into
two disjoint sets: xj,, .... xj : thfe independent
variables in the regression equation
Xi , .... x- : the remaining variables including
Ji Jf
the dependent variable y = x^.
For purposes of exposition, assume that
xj., . . . , x. equation at a typical step then
q
has the form:
y = a
Let
All 12 , A .
A = . . where A is q x q .
A21 A22 U
be a partition of the matrix A from Step 1; let
B . Ai' Aii A'2
A21 AU A22-A21Ai! A12
let m = n- 1 if a zero regression intercept is not
requested; and let m = n if it is requested. For
each step in the stepwise procedure, the follow-
ing are computed and printed:
1. The residual degrees of freedom, sum of
squares, and mean square:
df = m-q, SS = bJJ, MS = SS/df
dd
2. The regression degrees of freedom, sum
of squares, mean square, and F value:
rdf = q RSS = add-bdd
RMS = RSS/rfd F = RMS/MS
2-18
-------
BSR 3322
3. The standard error of estimate and multiple
correlation coefficient:
S = -v/MS" R = N/RSS/a,J.
ad
For each independent variable x^ in the regres
sion equation, the following are computed and
printed:
1. The regression coefficient, its standard
error, and F value:
p. = b.,; S. = b.!/2 S, F. = (p./S.)2
i id i 11 111
2. If a zero regression intercept is not re-
quested, the intercept or is computed:.
M
a =/ B. x. .
LJ Ki i
For each independent variable x^ not in the
regression equation, the following are com-
puted and printed:
The tolerance level, partial correlation,
coefficient, and F value:
b., b2(m-2-l)
T. = b../a... R. *- -- F. =
Step 4. To move from one step to the next, an indepen-
dent variable is added to or removed from the
regression equation according to the following
three rules:
2-19
-------
BSR 3322
1. If there are one or more independent varia-
bles in the regression equation whose con-
trol value, as specified by the Control-
Delete Card, is 2 (i.e., a free variable)
and whose F value is less than the "F-to-
remove" value specified on the Subproblem
Card, the one with the smallest F value will
be removed.
2. If no variable is removed by item 1 above
and there are one or more independent
variables not in the regression equation
which pass the tolerance test and have con-
trol values of 3 or more (i. e., forced
variables), the one which has the highest
control value and the highest F value among
all with the same control value will be added.
An independent variable Xj not in the regres-
sion equation is said to pass the tolerance
test if its tolerance value Tj is greater than
or equal to the "minimum tolerance value"
specified on the Subproblem Card.
3. If no variable is removed by item 1 or
added by item 2 and there are one or more
independent variables not in the regression
equation which pass the tolerance test, have
a control value of 2 (i. e. , a free variable),
and an F value greater than or equal to the
'F-to-enter" value specified on the Subprob-
lem Card, the one with the highest F value
will be added. If no variable is added or
removed by items 1, 2, or 3, the step-
wise procedure is terminated.
Step 5. If a list of residuals is called for on the Sub-
problem Card, the residuals:
ri = Vi'a- L Vu i ~- l'""n
j
2-20
-------
BSR 3322
are computed and printed. The summation is
over all indexes j of independent variables x:
in the regression equation at the last step.
2.3.5 Machine Procedure
The Computational Procedure section (2.3.4) explains in terms
of the input data what is computed; however, it offers few details on how the
machine accomplishes the computation. The purpose of this section
is to present more detailed information about the machine procedure.
It is written in the imperative mood to conform with the commands
presented by the program to the machine.
2.3.5.1 Main Program
1. Read a Problem Card. Read the data and transgenerate.
Let
x. .; i = 1, . . . n; j = 1, . . . , p
denote the ith case value of the j* variable after
transgeneration. If a regression intercept is called
for, compute a matrix A and vector B as follows.
Set:
a = 0 1 < i < j < p
ij ~ ~
b. = x, . i = 1, . . . , p
i l.i
and apply the recursion relations:
b = b + x, . followed by
i i ki
a.. = a.. +
1
ij ij k-1
x, . (kx. . - b.Jb.HJ-- x
ki kj j i k kj
,']
for k = 2, . . . , n. Set m = n- 1. If a regression inter-
cept is not called for, set:
2-21
-------
BSR 3322
a..=b. =0
ij i
and apply the recursion relations for k = 1 n.
Set m = n. Save the transgenerated data on tape.
2. Replace B and A by a mean vector and covariance
matrix:
bj = ^/n i = 1 p
a.. = - a.. l
-------
BSR 3322
-1 variable k removed
Flag = 0 go to Step 9
1 variable k added
6. Let d denote the index of the dependent variable.
Compute and print:
a. q = q + Flag
b. The residual degrees of freedom, sum of squares,
and mean square:
df = m-q, SS = m s^ aJJ, MS = SS/df
d dd
c. The regressiorl degrees of freedom, sum of
squares, mean square, and F value:
rdf = q RSS = sd - SS
RMS = RSS/df F = RMS/MS
d. The standard error of estimate and the multiple
correlation coefficient:
S = >/MST
7. A variable with index i is in the regression of c. <_ 0.
For each such variable, compute and print the regres-
sion coefficient, its standard error, and F value:
P. = ^-^ , S. = -2-^. F. = (P./S.)2.
"i s.i sm i 'I'l
i i
If the regression intercept en is called for, compute and
print:
- / P. b.
L-. i i
where the summation is over all i such that c^< 0.
« = "a
2-23
-------
BSR 3322
8. A variable with index i * d is not in the regression if
c._>l. For all such variables, compute and print the
tolerance level, partial correlation coefficient, and F
value:
F. = fd(»-q-D/(»il«dd-v)-
Go to Step 5.
9. If called for, compute and print the residuals:
3. x.. i = 1, . . .. n
J XJ
where the summation is over all j such that c _< 0.
10. Return to Step 4 and continue reading Subproblem Cards
until there are no more.
11. Return to Step 1 and continue reading Problem Cards
until there are no more.
2.3.5.2 Subroutine STEPRG
1. Compute
F. . a,.
- +2
in F. +m-q-l+2
in
v out ' add .7
out m-q
where F and F are the F values to enter and remove.
in out
2-24
-------
BSR 3322
2. Find the k such that c, < 1 and k minimizes:
k
k
k k a
kk
If V, V or c, > 1 for all k, go to Step 3.
i out k
3. Let Tol be the minimum tolerance. Find the k such
that ck > 1, akk 2 Tol> and k maximizes:
kk.
k k a
kk
If Vk >^ Vin, set Flag = 1, reduce ck by 9, and go to
Step 4.
If Vk < in or there is no k such that ck > 1 and akk >
Tol, set Flag = 0 and go to Step 5.
4. C:dl subroutine STEP and return
5. Set m = m + Flag and return.
2.3.5.3 Subroutine STEP
l' Set: a K i < k
ik ~
u. = -Flag i = k
a, . k < i < p
ki ""
a.. = a. . = 0 i < k < j
ik kj -
2-25
-------
BSR 3322
2. Step the upper diagonal part of A:
u.u.
a.. = a..
1J 1J a
kk
1 < i < j < p+1
and return.
2-26
-------
BSR 3322
2.4 OMCC PROGRAM
2.4. 1 Purpose
The Ozone Monitor Coefficient Converter (OMCC) program takes the output
from the Regression Analysis program (EPASTREG) and converts the selected co-
efficients into double-precision octal form for insertion via punched paper tape into
the PDP-8/L computer.
2.4.2 Control Cards: Fortran Unit 5 (three cards required)
1. NOG, NOE: Format (8G10. 0) - first card
NOG - Number of data channels
NOE - Number of equations = 2 (normally) for Ozone Monitor
2. INPD, NOS, SN, SCALE, NFSA; Format. (4G10. 0, 6X, A4) - next two
cards
INPD - Input Device
NOS - Number of steps in the regression analysis (set to 1 for first
pass; then set to total number of steps)
SN - Regression step number of interest (set to 0 for first pass; then to
desired step number)
SCALE - "Magic number" for converting decimal floating point num-
bers to double-precision octal number for insertion into
PDP-8/L
= 8388.608 for equation 1 (starting address, 4200)
= 2048. for subsequent equations (starting address, 4400)
NFSA - Number for starting address in PDP-8/L for data
2.4.3 Data Input: Fortran Unit 5 (read EPASTREG punched output cards)
1. NSTP, NCOEFF, SE; Format (2110, F10.0) - one card
NSTP - The step number in regression analysis
NCOEFF - Number (how many) of non-zero coefficients in the step
SE - Standard estimate of error
2-27
-------
BSR 3322
2. ICN, COEF(ICN); Format (4(110, F10.5)) - one or more cards
ICN - Index of channel number
COEF(ICN) - Coefficient for ICN channel
(Note 1 and 2 repeat for NOS times)
2.4.4 Output Data File: Fortran Unit 7 (card punch output for card-to-tape
PDP-8/L input)
LF, NFSA, Nl - N4, CR, LF, N5 - N8, CR;
Format (Al, A4, 1H/, 411, Al, Al, 411, Al)
LF - Line feed code (Z69)
NFSA - Starting address in PDP-8/L for data
Nl - N8 T Double-precision octal coefficients
. CR - Carriage return code (Z7A)
2.4.5 Printer: Fortran Unit 6
2-28
-------
BSR 3322
2. 5 EPAMSTDV PROGRAM
2.5. 1 Purpose
This program computes mean and standard deviations for up to 50 variables
and any number of cases.
2.5.2 Data Input Cards: Fortran Unit 5
1. NOV. NOG, NPRNT: Format (214, IX, II)
NOV - Number of variables
NOG - Number of cases
NPRNT - 1 - Print input data
2. DATA (I), 1=1, NOV; Format (6F10.5)
2.5.3 Printer: Fortran Unit 6
2-29
-------
BSR 3322
2. 6 EPA PLOTR PROGRAM
2. 6. 1 Purpose
This program plots raw scan data obtained from the Ozone Monitor Instru-
ments. The program prints the channel number, fitter wheel position number,
and wavelength. In addition, it prints the case number and the raw data values.
2.6.2 Data Input Cards: Fortran Unit 5
1. BCD - Title of the plot, Format (20A4)
2. N - Total number of plots requested, Format (110)
3. NSTEP - Step number of each plot, Format (110) (one per card)
2. 6. 3 Data Input Cards: Fortran Unit 9
1. N - Number of cases, Format (110)
2. NOG, FWPL (I), 1 = 1, NOC; Format (8110)
NOC - Number of channels
FWPL - Filter wheel position list
3. RAD (I), 1=1, NOC, ID; Format (20A4)
RAD (I) - Radiant reading
ID - Identification number
2.6.4 Printer: Fortran Unit 6
2-30
-------
BSR 3322
2.7 FACTORAN PROGRAM
This factor analysis .program is from the Scientific Subroutine Package pro-
duced by IBM (Ref. 5) and modified by Bendix Aerospace Systems Division.
2.7.1 General Description
This program performs a factor analysis of up to 198 input variables. The
factoring may be done by using either covariance or correlation matrices. Three
types of rotation are available, all based on the oblimin criteria. In the first, the
factors are restricted to be orthogonal which yields, among others, quartimax and
varimax rotations. In the second, the criteria are applied to the reference factor
structure and the factors are allowed to be oblique which yields the standard oblimin
rotations. In the third, the criteria are applied to the primary factor loadings,
allowing the factors to be oblique and yielding simple loading rotations (Ref. 2).
Factor scores may be estimated. Data input may be in the form of raw data, a
correlation matrix, a covariance matrix, or a factor loading matrix. The program
leaves communalities unaltered.
The output consists of:
Means and standard deviations.
Correlation or covariance matrix.
Eigenvalues and cumulative proportion of total variance.
Factor loading matrix before rotation.
Rotated factor loading matrix.
« Correlation matrix of the rotated factors.
Factor scores.
2.7.2 Job Control Setup
The program must be run in a large partition of approximately 270K size.
The program requires two temporary disk files with data set reference numbers 1
and 2.
FACTORAN has been equipped with a flexible option input scheme. Option
cards may be input in any order, with four exceptions:
2-31
-------
BSR 3322
Format card(s) must follow DATAFMT, FSFMT, FACTFMT option cards.
Label for data set must follow LABEL option card.
EXEC card must be the last in definition of a set of options for one
problem; i.e. , it triggers the analysis.
Any data input from the card reader must follow the EXEC card belonging
to its problem definition.
Any number of problems may be submitted in one run. If more than one
problem is submitted at once, all options chosen for the first hold for subsequent
problems, unless explicitly changed with new option cards.
Any option card which has a value associated with it must have that value
punched in columns 9-20 with decimal point; i.e., the card is read on format
(A8, F12.0). . '
2.7.3 Data Option Cards
The data input and output options available are described below. A "b"
indicates a blank column.
DEFINITION
default Input will be raw data only.
Means, standard deviations, number of
factors, eigenvalues, unitary transform
matrix, and factor matrix will be read
in. Raw data must still be input as well.
(This option allows the user to use
punched output from a previous run as
input to avoid duplication of these cal-
culations. ) The program automatically
punches these values with each run made
on the DATA option. They are output in
the order listed above, followed by the
factor score coefficient matrix for non-
standard data. Formats for these are:
2-32
-------
BSR 3322
SIGDATA
DATAFMTbxx.
SIGFSCOR
FSFMTbbbxx.
FACTFMTbxx.
DATAUNITxx.
FSUNITbbxx.
Means:
Std dev:
No. fact:
Eigenvalues:
Unitary transform:
Factor Matrix
4F18.8
4F18.8
15
5F15.8 (No. fact of
them)
5F15.8 (Row wise)
5F15.8 (Columnwise)
default Data input will be in signature data pro-
cessing form, KT =1 or KT = 2.
Data input will be in format following
this card, xx indicates how many for-
mat cards follow, xx defaults to 1. The
maximum is 9 cards.
default Factor Score output will be in signature
data, processing form. KT = 5.
Factor Score output will be in format
following this card, xx indicates how
many format cards follow, xx defaults
to 1, maximum is 9. The file will be
preceded.by a record written on format
3110 giving number of observations,
number of variables, number of factors.
Factor matrix input will be in format
following this option card, xx indicates
how many format cards follow, xx de-
faults to 1. The maximum is 9 cards.
This format applies only to the factor
matrix and not the means, standard de-
viations, eigenvalues, or unitary trans-
form matrix of the FACTOR option.
Data input unit, xx defaults to 8.
Factor score output unit, xx defaults to
9.
2-33
-------
BSR 3322
FACTUNITxx.
INGROUPbxx.
LABEL
NUMOBSbbxxxxx
NUMVARbbxx_.
NTALPRNT
ALLPRNT
default
Factor matrix input unit (including
means, standard deviations, number of
factors, eigenvalues, unitary transform
matrix), xx defaults to 5.
Group number of group from input file to
be analyzed. This applies to signature
data processing form of input. Specify
as many of these cards in one problem
(in ascending order of group number) as
number of groups desired in factor score
output file.
Card following this contains an 8-
character code to be used in the label
field of newly created signature data
processing type file; i.e., use when in-
put is not SDPS, but want factor score
output to be. The label defaults to blanks,
Number of observations in raw data in-
put. If SIGDATA, defaults to read off
input file. If DATAFMT and not from
card reader, defaults to read off initial
record of input filethe first variable
on 2110 format. Otherwise, defaults to
90.'
Number of variables in raw data input.
If SIGDATA, defaults to read off input
file. Otherwise, defaults to 8.
Do not print all matrices before rotation.
Print all matrices before and after ro-
tation.
As an example of the options available, consider the following setup as one
run with five problems.
2-34
-------
BSR 3322
Once you have specified
an EXEC card, a new
output unit must be
specified for subse-
quent problems in the
same run. You can use
the same input file in
more than one problem.
INGROUP 1.
INGROUP 2.
INGROUP 3.
EXEC
FSUNIT 11.
INGROUP 4.
EXEC
FSUNIT 12.
INGROUP 5.
EXEC
FSUNIT 13.
INGROUP 6.
EXEC
DATAUNIT 10.
FSUNIT 14.
INGROUP 1.
EXEC
Input from default unit in SDPS for-
mat. Three output groups in one
file on default.unit in SDPS format.
Three output files on separate units,
one group each. Input is from same
file as first problem since did not
specify DATAUNIT.
Input from unit 10 in SDPS format.
Output unit 14 will have one output
group in SDPS format.
2.7.4 Analysis Option Cards
The types of data analysis options available, are described below.
CODE DESCRIPTION
default
MEAN
ORIGIN
CORREL
COVAR
NOKAIS
KAIS
NOROT
ORTHROT
default
default
default
Correlation or covariance to be done
about the mean.
Correlation or covariance to be done
about .the origin.
Correlation matrix to be used in analysis,
Covariance matrix to be used in analysis.
Do not Kaiser normalize before rotation.
Kaiser normalize before rotation.
No rotation.
Orthogonal rotation.
2-35
-------
BSR 3322
OBROT
SIMPLOAD
EIGMINbbxxxxx
FACTKEEPxxxxx
PCNTKEEPxxxxx
GAMMAbbbxxxxx
default
Oblimin rotaftion.
Oblique rotation for simple loadings.
Minimum eigenvalue xxxxx defaults to
0.0.
Number of factors to keep, xxxxx has
no default.
Maximum percentage of total variance
to be explained, xxxxx has no default.
Variable gamma for rotation.
xxxxx defaults to 1. 0 if orthogonal ro-
tation.
xxxxx defaults to 0. 5 if oblimin rotation.
xxxxx defaults to 0.0 if oblique rotation
for simple loadings
Some values of gamma which lead to standard rotations:
ORTHOGONAL
OBLIMIN
SIMPLE
LOADINGS
\ = 0.0
quartimax
quartimin
direct
quartimin
V = .0.5
bi-quartimin
\ = 1.0
varimax
covarimin
2-36
-------
BSR 3322
2. 8 FACREC PROGRAM
2. 8. 1 Purpose
This program reconstructs spectral data by recombination of
the factor analysis of the data. By retaining only the more prominent
factors, the reconstructed data accurately reproduce the spectral pat-
terns present, while eliminating the effects of the instrument noise
which exhibits no channel-to-channel correlation.
2.8.2 Method
The program accepts as input the factor matrix A and a list
of factors score vectors X. The reconstructed channel reading vectors
y are given by:
y = Ax.
At the user's option, the program will plot either the individual factors
against wavelength or the factor scores in order of occurrence, or
both.
2.8.3 Option Cards: Fortran Unit 5: Format (1A8)
1. PRRD; Causes the reconstructed data to be printed
2. PFM; Causes the factor matrix to be plotted
3. PLOTFS; Causes the factor scores to be plotted
4. EXEC: Causes execution to begin under control of
options already specified
5. CWL.(I), 1=1, NV; Format (8F10.0)
CWL = Center wavelength
6. FINISH; Terminates execution.
2.8.4 Data Input File: Fortran Unit 8
1. NC, NV, NF; Format (3110)
NC = Number of cases
NV = Number of variables
NF = Number of factors
2-37
-------
. BSR 3322
2. A (I, J), I = 1, NV,
J = 1, NF; Format (20A4)
A (I, J) = Factor matrix element for the Ith variable
and Jth factor
3. X(J), J = 1, NF; Format (20A4)
X (J) = Score for Jth factor.
2.8.5 Output Data File: Fortran Unit 9
1. NC; Format (110)
NC = Number of cases
2. y (I), 1=1, NV; Format (20 A4)
y (I) = Reconstructed reading for Ith channel.
2.8.6 Printer: Fortran Unit 6
2-38
-------
BSR 3322
2.9 DIMAT PROGRAM
2.9.1 Purpose
This program generates a matrix for use in Program DICIS to
correct spectroradiometer data for the specific colorations introduced
by a particular instrument and to interpolate the data for points lying
between center wavelengths of the channels.
2.9.2 Method
A list of filter wheel position numbers is read and a corres-
ponding list of channel center wavelengths is computed by means of a
polynomial. The coefficients in the polynomial were previously
obtained by regression of manufacturer's data for the particular filter
wheel used in an instrument constructed for the Naval Applied Science
Laboratory. The filter wheel position list must, of course, be the
same as the list selected by the user and employed in the instrument
when spectral data were collected. With rare exceptions, the data
were collected with 33 channels spaced about 0. 125 micron apart and
covering a spectral range from 8. 5 to 12. 5 microns.
A four-point cubic interpolation rule is used to generate the
elements ajj of the interpolation matrix A:
2) -xJ ~ j
-a
XJ+2
3a
2-39
-------
BSR 3322
7 -J±
_\x j+i xj
al,j+l
X
J-H
J+l
-2 - 1 : a
2
where
X. = center wavelength of Jth channel 1 < J _< 33
J
\ = Ith wavelength of interpolation 1 < I < 251
I
a = XL-Xj
and the channel subscript J is altered as required to maintain the
relation
XJ < XI ^ XJ+1.
Next, the filter wheel transmission matrix B is computed.
The shape of the spectral transmission of each channel is approxi-
mately that of a Gaussian distribution, and the expression used is:
T
J, I
D
J, I ' 251
ITJ,I
1=1
2-40
-------
BSR 3322
The inverse of the product of the matrixes A and B is then
computed and multiplied by A, producing the matrix D:
D = A(BA)"1
Finally, a responsivity correction factor is computed for each
channel. Experimental data were obtained by operating the instru-
ment in an ambient temperature of 297. 0°K and exposing it to the
radiation from a blackbody tank at 306. 5°K. Thirty spectra were
collected and averaged, and a correction factor for each channel was
obtained by dividing the known spectral radiance difference at the
wavelength for each channel by the average reading for each channel.
The correction factors are then applied to each column of the matrix
D, completing the required calculations.
2.9.3 Data Input Cards: Fortran Unit 5
1. NOC, X(I), 1= 1, NOC; Format (.8F10.0)
NOC = number of channels .
X(I) = filter wheel position number for Ith channel
2. BW; Format (F10. 0)
BW = channel half-power bandwidth in microns
3. TR(J), J = 1, NOC; Format (8F10.0)
TR(J) = average reading of Jth channel
2.9.4 Data Output File: Fortran Unit 10
1. NOC; Format (110)
2. A(I, J), I = 1, 251; J = 1, NOC; Format (20A4)
A(I, J) = element of the deconvolution and interpolation
matrix for the Ith wavelength and the Jth
channel.
2.9.5 Printer: Fortran Unit 6
2-41
-------
BSR 3322
2.10 ALFMAT PROGRAM
2. 10. 1 Purpose
This program generates a matrix of absorption coefficients
and writes it into a data file for use by Program DICIS. The input
data are from cards, with each contaminant represented requiring 131
readings covering the spectral range from 7. 5 to 14. 0 microns in
steps of 0. 05 micron. Linear interpolation is used to provide higher
nominal resolution, and the spectral range is restricted for the con-
venience of the subsequent computation by Program DICIS. Each con-
taminant is represented in the output by 251 readings covering the
spectral range from 8. 0 to 13. 0 microns in steps of 0. 02 micron.
2. 10.2 Control Cards: Fortran Unit 5
NOCT; Format (110)
NOCT = number of contaminants
2. 10. 3 Data Input Cards: Fortran Unit 5
X(I), I = 1, 131; Format (10X, 7F10.0) .
X(I) = absorption coefficients
2. 10.4 Data Output File: Fortran Unit 11
1. CONNAM(I), I = 1, I'O; Format (10A8)
CONNAM(I) = name or mnemonic for (I)th contaminant
2. A(I, J), I = 1, 251, J = 1, 10; Format (20A4)
A(I, J) = (I)th absorption coefficient for (J)th contami-
nant
2. 10.5 Printer: Fortran Unit 6
2-42
-------
BSR 3322
2.11 FILTER PROGRAM
2.11.1 Purpose
This program accepts spectral filter and channel allocation
data from card input and outputs lists of individual channel parameters
to a data file for use by Program DICIS.
2.11.2 Control Cards: Fortran Unit 5
NOFT; Format (110)
NOFT = number of filter types
2. 11. 3 Data Cards: Fortran Unit 5
1. NF(k), BWL(k), DWL(k).
k = 1, NOFT; Format (110, 2F10. 0)
NF(k) = number of channels to be assigned to filter type K
BWL(k) = beginning wavelength for the channels of type K
KWL(k) = difference between center wavelengths for
channels of type K
2. FTR(I, k), 1=1, L, k = 1, NOFT; Format (3x, F9.3)
FTR(I, k) = filter transmission at the (I-l)th wavelength
deviation from the center wavelength of
filter type K
L = value of I for which first zero transmission is read
2.11.4 Output Data File: Fortran Unit 12
1. NOFT, NOC; Format (2 I 10)
NOFT = number.of filter types
NOC = total number of channels summed over all filter
types
2-43
-------
BSR 3322
2. IFT(j), FWL(j). PTR(j),
j = 1, NOG; Format (110, 2F10. 5)
IFT(j) = filter type number for jth channel
FWL(j) = center wavelength of jth channel
PTR(j) = peak transmission of jth channel
3. FTR(I, k), 1= 1, 251, K = 1, NOFT; Format (8F10. 6)
2.11.5 Printer: Fortran Unit 6
2-44
-------
BSR 3322
2.12 DICIS PROGRAM
2.12. 1 Purpose
This program processes spectral data in three major steps.
In the first step, the input data are deconvolved and interpolated to
provide a high-resolution representation of a radiance difference spec-
trum corrected for the known properties of the collecting instrument.
In the second step, the spectra are contaminated by the absorption
spectra of various user-chosen atmospheric contaminants. In the
third step, an instrument simulation is performed to convert the final
radiance spectra to a set of channel readings consistent with the user-
specified number of channels, channel band widths, center wavelengths,
and instrument noise.
^
2.12.2 Method
Three arrays of constants are read f-rom data files created by
other programs. The first array consists of the elements of a decon-
volution and interpolation matrix generated by Program DIMAT. The
second array consists of the spectral absorption coefficients for up to
10 atmospheric contaminants produced by Program ALFMAT. The
third array consists of a number of channel description parameters
provided by Program FILTER.
After various user options are determined by reading a series
of control-cards, tables of spectral transmittance are prepared for
each of the contaminants selected:
Ti,k = exp(-*i, k CV
where Tj> fc is the transmittance of the kth contaminant at the Ith wave-
length, aj k is the corresponding absorption coefficient, and the CL
product is chosen to achieve a specific peak'absorption.
The execution of the main computation loop begins with the
reading of the first input background spectrum and is repeated for each
additional spectrum to be processed. A refined version of the back-
ground spectrum is obtained by the relation:
2-45
-------
BSR 3322
33
I
AT . = X., 1< I < 251
i. J J - -
. J=l
where Xj is the input reading of the jth channel, y is the corrected
spectral radiance at the Ith wavelength, and AJJ is a 251 by 33 decon-
volution and interpolation matrix.
The effects of an airborne contaminant may be introduced in
the spectrum by use of the relation:
X. = y. . T.
I 'I I, k
under the restriction that the temperature of the contaminant is the
same as that of the instrument ambient temperature.
The instrument simulation portion of the program generates
a set of channel readings by summing the products of the spectral radi-
ance and the individual spectral channel transmissions. The user-
specified amount of random noise is added to .each channel reading,
and a target value for the subsequent regression analysis is appended
to the set of channel readings.
The target value is set to a non-zero value only for those back-
grounds which have been modified by a target contaminant. It is com-
puted by obtaining the vector difference between the original and the
modified spectral radiance vector and finding the length of the compon-
ent perpendicular to the original vector. The sign is taken positive or
negative according to whether absorption or emission effects prevailed.
2. 12.3 Option Cards: Fortran Unit 5
1. PRIN; causes input spectral data to be printed
2. PROUT; causes refined spectral data to be printed
3. PRCR; causes output channel readings to be printed
4. REWIN; causes Fortran Unit 8 to be rewound before
processing continues
2-46
-------
BSR 3322
5.
6.
RNOISE;
BBSYN;
7. TARGET;
8. NONTAR;
9. PLOTBS;
10. PLOTCB;
11. EXEC;
12. FINISH;
causes another card to be read in Format (F10.0)
which specifies random noise level to be used
causes another card to be read in Format (110)
which specifies the number of blackbody spectra
to be synthesized and included with the refined
spectra for processing
causes sufficient additional cards to be read in
Format (110, /4 (110, F10.0)) to specify the number
of target contaminants to be used, their identity,
and peak absorption
causes sufficient additional cards to be read in
Format (110, /4 (110, F10. 0)) to specify the num-
ber of non-target contaminants to be used, their
identity, and peak absorption
causes sufficient additional cards to be read in
Format (110, /(8I10)) to specify the number of
background spectra to be plotted and to identify
the particular background for which plots are
desired
causes sufficient additional cards to be read in
Format (110, /(8I10)) to specify the number of
contaminated;spectra to be plotted and to identify
the particular backgrounds and contaminants for
which plots are desired
causes execution to begin under control of options
already specified
terminates execution.
2-47
-------
BSR 3322
2.12.4 Input Data File: Fortran Unit 10
1. NOMC; Format (110)
NOMC = Number of matrix channels
2. A (I, J), 1=1, 251
J= 1, NOMC; Format (20A4)
A (I, J) = Element of deconvolution and interpolation
matrix for Ith wavelength and Jth channel.
2.12.5 Input Data File: Fortran Unit 11
1. CONNAM (K), K = 1, 10; Format (10A8)
CONNAM (K) = Name of Kth contaminant
2. ALF (I, K), 1=1, 251
K = 1, 10; Format (20A4)
ALF (I, K) = Absorption coefficient of Kth contaminant
at Ith wavelength.'
2.12.6 Input Data File: Fortran Unit 12
1. NOFT.NOOC; Format (2110) '
NOFT = Number of filter types
NOOC = Number of output channels
2-48
-------
BSR 3322
2. IFT (J), FWL (J), PTR (J).
J = 1, NOOC; Format-(110, 2F10.0)
IFT (J) = Index of filter type for Jth output channel
FWL (J) = Filter center wavelength for Jth output
channel
PTR (J) = Peak transmission of Jth output channel.
2.12.7 Input Data File: Fortran Unit 8
!. MCI; Format (110)
j
NCI = Number of input spectra
2. X (J), J = 1, 33;
X (J) = Jth channel reading.
2.12.8 Output Data File: Fortran Unit 9
1. NCO;
NCO = Number of output cases'
2. X(J), J = 1, NOOC, TARG;
X(J) = Output reading for Jth channel
TARG = Target value associated with current readings.
2. 12. 9 Printer: Fortran Unit 6
Format (20A4)
Format (110)
Format (6F10.3)
2-49
-------
BSR 3322
2.13 PLTSMF PROGRAM
2. 13. 1 Purpose
This program plots spectral modulation functions from regres
sion analysis data and channel filter response data.
2.13.2 Method
The spectral modulation function is obtained by summing the
products of the spectral response of each channel with its associated
regression coefficient. The summation is performed for each wave-
length of interest using the relation
where r is the response at the Ith wavelength, C is the coefficient
for the Jth channel, Tj T is the transmission of tne Jth channel at the
Ith wavelength, and N is the number of channels. The values of rx
are plotted against the wavelength corresponding to the index I.
2. 13. 3 Data Input Cards: Fortran Unit 5
NSTBP,
' NSI (I), I = 1, NSTBP; Format (8110)
NSTBP = Number of regression steps to be plotted
NSI (I) = Step number of Ith plot.
2.13.4 Data Input File: Fortran Unit 11
1. NOFT, NOC; Format (2110)
NOFT - Number of filter types
NOC = Number of channels
2-50
-------
BSR 3322
2. IFT (J), FWL (J), PTR (J),
J = 1, NOC Format (110, 2F10. 5)
IFT (J) = Filter type number for Jth channel
FWL, (J) = Center wavelength of Jth channel
PTR (J) = Peak transmission of Jth channel
3. FTR (I, K), I = 1, 251
K = 1, NOFT; Format (8F10. 6)
FTR (I, K) = Filter transmission at the (I-l)th
wavelength deviation from the center
wavelength of filter type K.
2. 13.5 Data Input File: Fortran Unit 12
1. NSTEP, NOCF, SE: Format (2110, F10. 5)
NSTEP = Regression step number
NOCF = Number of coefficients in this step
SE = Standard error of estimate for this step
2. NCN (M), COEF (M),
M = 1, NOCF; Format (4(110, F10. 5))
NCN (M) = Channel number of Mth channel included
in regression step
COEF (M) = Coefficient for Mth channel included.
2. 13.6 Printer: Fortran Unit 6
2-51
-------
BSR 3322
SECTION 3
REFERENCES
1. M. A. Efroymson, "Multiple Regression Analysis. " Mathematical Methods for
Digital Computers, Part V, (17), Edited by A. Ralston and H. S. Wilf,
John Wiley, New York (I960).
2. R. I. Jennrich and P. F. Sampson, "Rotation for Simple Loadings, "
Psychometrika (1966).
3. J. H. Wilkinson, "The Calculation of Eigenvectors of Codiagonal Matrices, "
Computer J., J_, 90-96 (1958).
4. Harry H. Harman, Modern Factor Analysis, Chicago: Univ. Chicago
Press (1960).
5. IBM Corporation, System/360 Scientific Subroutine Package (360A-CM-03X)
Version III Programmer's Manual, Ref. H20-0205-3, Fourth Edition.
3-1
------- |