Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap4_198111 - decus/20-0100/lincur.for
There are no other files named lincur.for in the archive.
C              LINEAR LEAST-SQUARES CURVE FITTING PROGRAM               CF0 0010
C                               1/79                                    CF0 0020
C ***       PROGRAM CURRENTLY DIMENSIONED FOR 65 MAX VARIABLES          CF0 0030
C --- BEFORE TRANSFORMATIONS, 40 VARIABLES AFTER TRANSFORMATIONS,       CF0 0040
C --- 1000 OBSERVATIONS,  COMPONENT EFFECTS TABLE = (VARIABLES X        CF0 0050
C --- OBSERVATIONS) = 6,562, 8 FORMAT CARDS, AND 5 DELETE OBSERVATIONS  CF0 0060
C --- CARDS AND 5 INDICATOR-VARIABLE-OBSERVATIONS CARDS.                CF0 0061
C                                                                       CF0 0070
C          PROGRAM WRITTEN AND REVISED AT STANDARD OIL (INDIANA) BY     CF0 0080
C     R. A. BREHMER, P. E. PIECHOCKI, W. B. TRAVER, F. M. JACOBSEN,     CF0 0090
C     F. M. OLIVA, R. J. TOMAN AND F. S. WOOD IN DOUBLE PRECISION       CF0 0100
C     FOR IBM 360 AND 370 SYSTEM COMPUTERS (SHARE LIBRARY PROGRAM       CF0 0110
C     NUMBER 360D-13.6.008).                                            CF0 0111
C                                                                       CF0 0120
C          PROGRAM CONVERTED AT UNIV. CAL(BERKELEY) BY N. H. TIMM TO    CF0 0130
C     SINGLE PRECISION FOR CDC 6000 SERIES COMPUTERS (VIM LIBRARY       CF0 0140
C     PROGRAM NUMBER G2-CAL-LINWOOD).  UPDATED BY TIMM, WOOD, AND       CF0 0150
C     B. E. FOSTER AND ELI COHEN, NORTHWESTERN UNIVERSITY.              CF0 0151
C                                                                       CF0 0160
C          PROGRAM MODIFIED AT ALCOA R&D LABORATORIES BY  R. F. KOHM    CF0 0170
C     TO ALLOW FOR OVERLAYING AND CONVERSION FOR DECSYSTEM-10 AND 20    CF0 0180
C     COMPUTERS (DECUS LIBRARY PROGRAM NUMBER LINCUR-10-257).  PROGRAM  CF0 0181
C     ADAPTED FOR INTERACTIVE USE BY E. R. ZIEGEL AT STANDARD OIL (IND) CF0 0182
C                                                                       CF0 0190
C          PROGRAM CONVERTED AT UNIV. WISCONSIN BY J. D. MURAT AND      CF0 0191
C     T. R. ZEISLER FOR BURROUGHS 4700 AND 6700 SYSTEM COMPUTERS (CUBE  CF0 0192
C     LIBRARY PROGRAM NUMBER WIS/LINWOOD).  THE PROJECT WAS INITIATED   CF0 0193
C     BY D. S. RUMSEY OF BURROUGHS.                                     CF0 0194
C                                                                       CF0 0200
C          PROGRAM CONVERTED AT JOHNSON SPACE CENTER BY J. E. KEITH     CF0 0201
C     FOR UNIVAC 1108 COMPUTERS (PROGRAM NUMBER LINWOOD).               CF0 0202
C                                                                       CF0 0203
C          PROGRAM CONVERTED AT U.S. NAVAL AVIONICS FACILITY,           CF0 0210
C     INDIANAPOLIS, IND. BY D. F. ZARNOW FOR HONEYWELL 60000/600/66     CF0 0211
C     COMPUTERS (HLSUA LIBRARY PROGRAM NUMBER GES-1206).           .    CF0 0212
C                                                                       CF0 0213
C          FOR GLOSSARY OF TERMS, DEFINITIONS OF STATISTICS AND         CF0 0220
C     INTERPRETATION OF RESULTS SEE USER'S MANUAL IN BOOK "FITTING      CF0 0230
C     EQUATIONS TO DATA" BY C. DANIEL AND F. S. WOOD WITH ASSISTANCE    CF0 0240
C     OF J. W. GORMAN, 2ED EDITION, WILEY 1979.                         CF0 0250
C                                                                       CF0 0260
C                                                                       CF0 0270
C ---    AUXILIARY EQUIPMENT NEEDED TO RUN PROGRAM (DEFINED IN          CF0 0280
C --- SUBROUTINE BASPGM, CF1)                                           CF0 0290
C                                                                       CF0 0300
C ---      CARD READER (UNIT 5), PRINTER (6), 4 SCRATCH FILES (1 TO 4)  CF0 0310
C --- AND CARD PUNCH (7) IF DESIRED.                                    CF0 0320
C                                                                       CF0 0330
C                                                                       CF0 0340
C ---               ORDER OF CARDS FOR EACH PROBLEM                     CF0 0350
C                                                                       CF0 0360
C --- 1  CONTROL CARD.                                                  CF0 0370
C --- 2  FORMAT CARD(S), IF ANY.                                        CF0 0380
C --- 3  DELETE OBSERVATIONS CARD(S), IF ANY.                           CF0 0381
C --- 4  INDICATOR-VARIABLE-OBSERVATIONS CARD(S), IF ANY.               CF0 0382
C --- 5  TRANSFORMATION CARD(S), IF ANY.                                CF0 0390
C --- 6  INFORMATION CARD(S) FOR PRINTOUT, IF ANY.                      CF0 0400
C --- 7  NAMES OF VARIABLES CARD(S) FOR PRINTOUT, IF ANY.               CF0 0410
C --- 8  CP FACTORIAL SEARCH CARD, IF ANY.                              CF0 0420
C --- 9  DATA CARDS (IF NOT READ FROM A FILE).                          CF0 0430
C ---10  END CARD (END IN COL 1-3 OF IDENTIFICATION FIELD).  THE NUMBER CF0 0440
C ---     OF END CARDS MUST EQUAL THE NUMBER OF CARDS PER OBSERVATION.  CF0 0450
C ---     END CARDS ARE NOT NEEDED IF DATA ARE READ FROM A FILE.        CF0 0451
C ---11  ESTIMATE OF VARIANCE CARD, IF ANY.                             CF0 0460
C ---12  ADDITIONAL CP FACTORIAL SEARCH AND ESTIMATE OF VARIANCE CARDS, CF0 0470
C ---     IF ANY.                                                       CF0 0480
C ---                                                                   CF0 0490
C --- NOTE: FORMAT, DATA, END AND NAME CARDS ARE NOT NEEDED IN          CF0 0500
C ---        SUBSEQUENT PROBLEMS IF SAME INPUT DATA ARE REUSED.         CF0 0510
C                                                                       CF0 0520
C                                                                       CF0 0530
C ---                  GLOSSARY OF CONTROL CARD                         CF0 0540
C                                                                       CF0 0550
C --- COL. Q(I) DESCRIPTION    (NOTE: BLANKS = 0)                       CF0 0560
C --- 1-18      PROBLEM IDENTIFICATION.                                 CF0 0570
C ---19-20   1  NUMBER OF INDEPENDENT VARIABLES READ IN.                CF0 0580
C ---21-22   2  NUMBER OF   DEPENDENT VARIABLES READ IN.                CF0 0590
C ---   24      E CAUSES RESIDUALS, Y AND FITTED Y TO TO BE             CF0 0600
C ---              LISTED WITH E FORMAT RATHER THAN F FORMAT.           CF0 0610
C ---   25   3  1 DO TRANSFORMATIONS.                                   CF0 0620
C ---   26   4  1 WEIGHT OBSERVATIONS. WEIGHT ENTERED IN LAST POSITION. CF0 0630
C ---           2 WEIGHT BY 1/VAR. OF OBSERVATION.  VARIANCE ENTERED.   CF0 0631
C ---   27   5  1 LET B(0) = ZERO, OTHERWISE B(0) IS CALCULATED VALUE.  CF0 0640
C ---   28   6  1 CHECK OBSERVATION NUMBER SEQUENCE.                    CF0 0650
C ---   29   7  1 CHECK SEQUENCE WITHIN OBSERVATION NUMBER.             CF0 0660
C ---   30   8  1 DO BACK TRANSFORMATION OF DEPENDENT VARIABLE.         CF0 0670
C ---   31   9  1 PUNCH DATA FOR CONFIDENCE INTERVAL PROGRAM.           CF0 0680
C ---   32  10  0 (OR BLANK) LIST ALL INPUT DATA.                       CF0 0690
C ---           1 LIST ONLY 1ST OBSERVATION.                            CF0 0700
C ---           2 DO NOT LIST ANY INPUT DATA.                           CF0 0710
C ---   33  11  0 LIST TRANSFORMATIONS AND ALL TRANSFORMED DATA.        CF0 0720
C ---           1 LIST TRANSFORMATIONS AND 1ST TRANSFORMED OBSERVATION. CF0 0730
C ---           2 DO NOT LIST TRANSFORMATIONS OR TRANSFORMED DATA.      CF0 0740
C ---   34  12  1 DO NOT LIST SUMS OF VARIABLES.                        CF0 0750
C ---   35  13  1 DO NOT LIST RAW SUMS AND CROSS PRODUCTS WHEN B(O)=O.  CF0 0760
C ---   36  14  1 DO NOT LIST RESIDUAL SUMS AND CROSS PRODUCTS.         CF0 0770
C ---   37  15  1 DO NOT LIST MEANS AND ROOT MEAN SQUARES OF VARIABLES. CF0 0780
C ---   38  16  1 DO NOT LIST SIMPLE CORRELATION COEFFICIENTS.          CF0 0790
C ---   39  17  1 DO NOT LIST INVERSE MATRIX.                           CF0 0800
C ---   40  18  1 DO NOT PRINT PLOTS OF RESIDUALS VS. FITTED Y.         CF0 0810
C ---           2 PLOT (A) RESIDUALS AND (B) COMPONENT AND COMPONENT-   CF0 0820
C ---              PLUS-RESIDUALS VS. EACH INDEPENDENT VARIABLE.        CF0 0830
C ---           3 PLOT (A) RESIDUALS ONLY.                              CF0 0840
C ---           4 PLOT (B) COMPONENT AND COMPONENT-PLUS-RESIDUALS ONLY. CF0 0850
C ---           5 PLOT (B) BUT EXPAND SCALE TO FILL EACH PLOT.          CF0 0860
C ---   41  19  0 READ DATA WITH STANDARD FORMAT (A6, I4, I2, 10F6.3).  CF0 0870
C ---           1 READ DATA WITH FORMAT TO BE READ, 1CARD(72COL)ASSUMED.CF0 0880
C ---           2 READ DATA WITH READ DATA (REDATA) SUBROUTINE.         CF0 0890
C ---   42  20  0 DO NOT SAVE DATA FOR NEXT PROBLEM.                    CF0 0900
C ---           1 SAVE DATA FOR NEXT PROBLEM.                           CF0 0910
C ---           2 REUSE DATA FROM PREVIOUS PROBLEM.                     CF0 0920
C ---43-44  21  NUMBER OF VARIABLES IN CP SEARCH IF GREATER THAN 12.    CF0 0930
C ---   45  22  NUMBER OF FORMAT CARDS IF GREATER THAN 1. (8 MAX.)      CF0 0940
C ---46-47  23  NUMBER OF INFORMATION CARDS TO BE READ FOR DISPLAY ON   CF0 0950
C ---            PRINTOUT IF DESIRED, 72 COL. EACH, 12 CARDS MAXIMUM.   CF0 0960
C ---   48  24  0 DO NOT READ NAMES OF VARIABLES FOR DISPLAY ON         CF0 0970
C ---              PRINTOUT.                                            CF0 0980
C ---           1 READ NAMES OF VARIABLES FROM CARDS. (NAMES IN SAME    CF0 0990
C ---              POSITION AS VARIABLES ON TRANSFORMATION CARDS -      CF0 1000
C ---              COLS. 1-6, 11-16, - - - , 61-66. (NAMES ARE NOT      CF0 1010
C ---              MOVED, ONLY LISTED OR DELETED.)                      CF0 1020
C ---           2 REUSE NAMES OF VARIABLES FROM PREVIOUS PROBLEM.       CF0 1030
C ---   49  25  SEARCH FOR CANDIDATE EQUATIONS VIA CP.  USE ESTIMATE    CF0 1040
C ---             OF VARIANCE (RMS) FROM                                CF0 1050
C ---           1 FULL EQUATION,                                        CF0 1060
C ---           2 SUBSET EQUATION WITH MINIMUM RMS VALUE, OR            CF0 1070
C ---           3 ESTIMATE OF VARIANCE CARD, F16.8 FORMAT.              CF0 1080
C ---   50  26  NUMBER OF CP FACTORIAL SEARCH CARDS TO BE READ PER      CF0 1090
C ---            IDENTIFING NUMBER OF THE VARIABLES (AFTER TRANSFOR-    CF0 1110
C ---            MATIONS) TO BE USED IN THAT SEARCH, 18(2X,I2) FORMAT.  CF0 1120
C ---            ALL OTHER VARIABLES WILL BE PLACED IN BASIC EQUATION.  CF0 1130
C ---   51  27  1 LIST COMPONENT-EFFECT TABLE, REQUIRED X(I) PRECISION, CF0 1140
C ---              ESTIMATE OF STANDARD DEVIATION FROM NEAR NEIGHBORS,  CF0 1150
C ---              AND FUNCTIONS OF FITTED Y.                           CF0 1160
C ---           2 LIST ONLY ESTIMATE OF STD. DEVIATION AND FUNCTIONS.   CF0 1170
C ---           3 LIST ONLY FUNCTIONS OF FITTED Y.                      CF0 1171
C ---52-53  28  NUMBER OF FILE IF DATA ARE READ FROM SEPARATE FILE,     CF0 1180
C ---            NO END CARD IF ONLY ONE SET OF DATA IS ON EACH FILE.   CF0 1190
C ---54-55  29  NUMBER OF INDEPENDENT VARIABLES GREATER THAN THE 99     CF0 1200
C ---             ALLOWED IN COLS 19-20.                                CF0 1210
C ---56-58  30  TO REDUCE PRINTOUT WITH MANY OBSERVATIONS,              CF0 1220
C ---             NUMBER OF CENTRAL OBSERVATIONS AND RESIDUALS NOT      CF0 1230
C ---             TO BE PRINTED WITH E IN COL 24.                       CF0 1240
C ---   59  31  CROSS VERIFICATION OF MODEL AND COEFFICIENTS WITH A     CF0 1250
C ---             SECOND SAMPLE OF DATA.                                CF0 1260
C ---           1 WRITE B(0) AND B(I)S ON FILE KTIN5 IN ONE PROBLEM     CF0 1270
C ---             (TRANSFORMATIONS ARE NOT SAVED).                      CF0 1280
C ---           2 READ  B(0) AND B(I)S ON FILE KTIN5 IN NEXT PROBLEM    CF0 1290
C ---             WITH SECOND SET OF OBSERVATIONS.                      CF0 1300
C ---   60  32  NUMBER OF DELETE OBSERVATION CARDS.  KEYPUNCH           CF0 1301
C ---            OBSERVATION NUMBER OF DATA TO BE DELETED IN ORDER READ CF0 1302
C ---            BY COMPUTER USING 7(I4,6X) FORMAT.  5 CARDS MAXIMUM.   CF0 1303
C ---   61  33  NUMBER OF INDICATOR-VARIABLE-OBSERVATION CARDS.         CF0 1304
C ---            USING A 7(I4,2X,I3,1X) FORMAT, KEYPUNCH OBSERVATION    CF0 1305
C ---            NUMBER (IN ORDER READ) AND VARIABLE NUMBER (BEFORE     CF0 1306
C ---            TRANSFORMATIONS) INTO WHICH A 1 IS TO BE INSERTED.     CF0 1307
C                                                                       CF0 1310
C          ROUTINES CF1 THROUGH CF16 ARE WRITTEN IN USASI FORTRAN IV    CF0 1320
C                                                                       CF0 1330
C                                                                       CF0 1340
C ***                   DIMENSION STATEMENTS TO MAKE                    CF0 1350
C ***              A 50 VARIABLE, 2000 OBSERVATION PROGRAM              CF0 1360
C *** DOUBLE PRECISION IDZA(2000), IDENT, IEND, LIEND                   CF0 1370
C *** DIMENSION AMAX(50), AMIN(50), AVATR( 75), AVG(50), B(50),         CF0 1380
C ***1    BETA(50), C(50,50), DATA( 76), DELTA(2000), FMT(144),         CF0 1390
C ***2    IDZB(2000), IOMIT( 75), IQ(40), ITLOC( 75), ITRFM( 75),       CF0 1400
C ***3    LSORT(2000), SIGMA(50), STDDEV(50), VAR(50), VARTR( 75),      CF0 1410
C ***4    W1(50), YRESID(50), YYCC(2000), YYIN(2000), Z(51,51)          CF0 1420
C *** DIMENSION A(50,50), LP(50), C(50)     (IN SUBROUTINE CF6)         CF0 1430
C                                                                       CF0 1440
C ***                   DIMENSION STATEMENTS TO MAKE                    CF0 1450
C ***              A 80 VARIABLE, 1000 OBSERVATION PROGRAM              CF0 1460
C *** DOUBLE PRECISION IDZA(1000), IDENT, IEND, LIEND                   CF0 1470
C *** DIMENSION AMAX(80), AMIN(80), AVATR(105), AVG(80), B(80),         CF0 1480
C ***1    BETA(80), C(80,80), DATA(106), DELTA(1000), FMT(144),         CF0 1490
C ***2    IDZB(1000), IOMIT(105), IQ(40), ITLOC(105), ITRFM(105),       CF0 1500
C ***3    LSORT(1000), SIGMA(80), STDDEV(80), VAR(80), VARTR(105),      CF0 1510
C ***4    W1(80), YRESID(80), YYCC(1000), YYIN(1000), Z(81,81)          CF0 1520
C *** DIMENSION A(80,80), LP(80), C(80)     (IN SUBROUTINE CF6)         CF0 1530
C                                                                       CF0 1540
C                                                                       CF0 1550
C ---      LOCATION AND DIMENSIONS OF COMMON STATEMENTS *               CF0 1560
C --- A USED IN CF 1-5,9,12,  DIM=MAX OBSERVATIONS                      CF0 1570
C ---              16                                                   CF0 1571
C --- B USED IN CF 1-5,12     DIM=(MAX TRANSFORMATIONS+1)+MAX VARIABLES CF0 1580
C --- C USED IN CF 1-4,12     DIM=3*MAX VARIABLES OR 36 MIN.            CF0 1590
C --- D USED IN CF 3,4,9,12   IN CF 4 AVAILABLE FOR REDATA CALCULATIONS CF0 1600
C --- D IN CF 3               DIM=3*(MAX OBSV.) + INTERGER MAX OBSV.    CF0 1610
C --- D IN CF 9               DIM=GRIDA+GRIDB+2*(MAX OBSV.)+MAX VAR     CF0 1620
C --- D IN CF 12              DIM=IS(20+K) WHERE K=18 OR MAX VAR,  +    CF0 1630
C ---                             GRIDA(1378)+GRIDB(1378)               CF0 1631
C ---   IN DOUBLE PRECISION PROGRAMS GRIDA, GRIDB ARE SINGLE PRECISION  CF0 1632
C --- E USED IN CF 3,4,6,9,12 DIM=MAX OBSERVATIONS                      CF0 1640
C --- F USED IN CF 1-5,8,16   DIM=2*MAX TRANSFORMATIONS                 CF0 1650
C --- G USED IN CF 1-4,9,12,  DIM=MAX VAR BEFORE TRANS+144(12CARDSX12A6)CF0 1660
C ---              16                                                   CF0 1661
C --- H USED IN CF 1-4,6,9,   DIM=(MAX VAR+1) + (MAX VAR * MAX VAR) +   CF0 1670
C ---              12 AND 13      (MAX VAR+1 * MAX VAR+1)               CF0 1680
C --- J USED IN CF 3,4,12     DIM=MAX OBSERVATIONS                      CF0 1690
C --- K USED IN CF 1-5,8,9,   DIM=40 CONTROL CARD SWITCHES              CF0 1700
C ---              12,15                                                CF0 1701
C --- L USED IN CF 1-3,15     DIM=MAX OBSERVATIONS DELETED, 7*MNOMTC, + CF0 1701
C ---                             MAX INDICATOR VAR. OBSVS., 14*MNIVOC. CF0 1702
C --- S USED IN CF 1,12       DIM=18 OR MXVRAT                          CF0 1710
C ---                                                                   CF0 1720
C --- * DEFINITION OF SUBROUTINES: CF0=MAIN, 1=BASPGM, 2=STAT, 3=FIT,   CF0 1730
C ---    4=REDATA, 5=TRANSF, 6=INV, 7=MINMAX, 8=YBACK, 9=PITCHA,        CF0 1740
C ---   10=GRID, 11=PACK, 12=CPMAIN, 13=SWEEP, 14=SORT, 15=CCARD,       CF0 1750
C ---   16=TRANPT                                                       CF0 1751
C --                                                                    CF0 1760
C ---***************************************************************    CF0 1770
C --                                                                    CF0 1780
C ---      LIMIT TRAP THAT CAN BE SET BY INSTALLATION STATISTICIAN      CF0 1790
C ---                                                                   CF0 1800
C --- MAXSRH, THE TOTAL NUMBER OF VARIABLES THAT CAN BE SEARCHED, IS    CF0 1810
C ---  SET IN CPMAIN, CF12.  EACH COMPUTER CENTER MAY WISH TO HAVE      CF0 1820
C ---  MORE THAN ONE PROGRAM COMPILED WITH DIFFERENT LEVELS OF MAXSRH   CF0 1830
C ---  LIMITS.                                                          CF0 1840
C --- THE TOTAL NUMBER OF SEARCHES = 2**MAXSRH.                         CF0 1850
C ---    WHEN MAXSRH = 12, TOTAL =   4,096 SEARCHES,                    CF0 1860
C ---    WHEN MAXSRH = 14, TOTAL =  16,384 SEARCHES,                    CF0 1870
C ---    WHEN MAXSRH = 18, TOTAL = 256,144 SEARCHES.                    CF0 1880
C --                                                                    CF0 1890
C ---***************************************************************    CF0 1900
C --                                                                    CF0 1910
C --                                                                    CF0 1920
C --- ROOT SEGMENT OF THE OVERLAY PROGRAM                               CF0 1930
C                                                                       CF0 1940
C                                                                       CF0 1950
C        SUSGESTED OVERLAY CARDS TO BE INCLUDED IN THE LINK STEP        CF0 1960
C                                                                       CF0 1970
C --- OVERLAY AAA                                                       CF0 1980
C ---  INSERT BASPGM,CCARD                                              CF0 1990
C --- OVERLAY AAA                                                       CF0 2000
C ---  INSERT STAT,REDATA,TRANSF                                        CF0 2001
C --- OVERLAY AAA                                                       CF0 2010
C ---  INSERT FIT,INV,YBACK,MINMAX,FALPHA                               CF0 2020
C --- OVERLAY AAA                                                       CF0 2030
C ---  INSERT PITCHA                                                    CF0 2040
C --- OVERLAY AAA                                                       CF0 2050
C ---  INSERT CPMAIN,SWEEP                                              CF0 2060
C ---                                                                   CF0 2070
C --                                                                    CF0 2080
C ---***************************************************************    CF0 2090
C --                                                                    CF0 2100
C --- VARIABLE DEFINITION FOR THE ROOT SEGMENT                          CF0 2110
C --                                                                    CF0 2120
C --- K 411  : INDICATOR VARIABLE FOR CALL TO FIT. IF K411 = 411        CF0 2130
C ---          TRANSFER IS MADE IN FIT TO STATEMENT 411.                CF0 2140
C ---          OTHERWISE THE ENTRY IS AT THE BEGINNING OF FIT.          CF0 2150
C ---          THE TEST FOR TRANSFER TO 411 IS MADE IN FIT.             CF0 2160
C --                                                                    CF0 2170
C --                                                                    CF0 2180
C --- N77    : INDICATOR VARIABLE FOR BASIC PROGRAM CALL. (BASPGM)      CF0 2190
C ---          IF N77 = 77 CONTROL IS SENT TO STATEMENT 77. THIS CALL   CF0 2200
C ---          IS THE RESULT OF A RETURN TO &77 FROM STAT.              CF0 2210
C --                                                                    CF0 2220
C ---                                                                   CF0 2230
C --- M 10   : INDICATOR VARIABLE FOR BASIC PROGRAM CALL. (BASPGM)      CF0 2240
C ---          IF M10=10 CONTROL IS SENT TO STATEMENT 10 IN BASPGM.     CF0 2250
C ---          THIS CALL IS THE RESULT OF A RETURN TO &10 FROM STAT.    CF0 2260
C --                                                                    CF0 2270
C --                                                                    CF0 2280
C ---  SET K411 TO 0. WHEN K411 = 411, CALLS TO FIT WILL RESULT IN      CF0 2290
C ---  STARTING AT STATEMENT 411 IN FIT.                                CF0 2300
C --                                                                    CF0 2310
      IMPLICIT REAL*8(A-H,O-Z)                                          CF0 2320
C --- IN SINGLE PRECISION PROGRAMS NSIZE = ISIZE AT STATEMENT 144       CF0 2321
C --- IN DOUBLE PRECISION PROGRAMS NSIZE = 2*ISIZE                      CF0 2322
      DIMENSION STDDEV(40)                                              CF0 2330
      DOUBLE PRECISION IDENT,IEND                                       CF0 2331
      COMMON /CCCCCC/ COM3(240)                                         CF0 2340
      COMMON /FORFIT/ RMS, YCMAX, YCMIN, INTDUM, K411, NCP              CF0 2350
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF0 2360
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF0 2370
     1                NOOBSV, ICURY                                     CF0 2380
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF0 2390
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF0 2400
      EQUIVALENCE (COM3(161),STDDEV(1))                                 CF0 2410
    1  K411 = 0                                                         CF0 2420
C --- SET N77 TO 0. IF N77 = 77, THEN BASIC PROGRAM WILL START AT       CF0 2430
C --- STATEMENT 77 .                                                    CF0 2440
      CALL OPNFLS                                                       CF0 2441
      N77=0                                                             CF0 2450
C --- SET M10 TO 0. IF M10 = 10, THEN BASIC PROGRAM WILL START AT       CF0 2460
C --- STATEMENT 10.                                                     CF0 2470
      M10 = 0                                                           CF0 2480
      GO TO 12                                                          CF0 2490
   77 N77=77                                                            CF0 2500
      M10=0                                                             CF0 2510
       GO TO 12                                                         CF0 2520
 10   M10=0                                                             CF0 2530
 12   CONTINUE                                                          CF0 2540
C --- CALL THE BASIC LINEAR LEAST-SQUARES CURVE-FITTING PROGRAM         CF0 2550
C --- WITH THE APPROPRIATE INDICATOR VARIABLES.                         CF0 2560
      ITON=0                                                            CF0 2561
      CALL BASPGM(N77,M10,ITON)                                         CF0 2570
      IF(ITON.EQ.1)GO TO 9999                                           CF0 2571
  145 CALL STAT(ISIZE,IRTRN)                                            CF0 2580
      GO TO(77,10,144), IRTRN                                           CF0 2590
  144 NSIZE = 2*ISIZE                                                   CF0 2591
      CALL FIT(C,MAXINF,NOOBSV,NSIZE,IRTRN)                             CF0 2600
      GO TO(10,1250), IRTRN                                             CF0 2601
 1250 IF(IQ(18).EQ.1.OR.IQ(8).EQ.1) GO TO 481                           CF0 2610
C --                                                                    CF0 2620
C --- DO PLOTTING                                                       CF0 2630
C --                                                                    CF0 2640
      CALL PITCHA(YCMAX,YCMIN,C,MAXINF,NOOBSV,ISIZE)                    CF0 2650
 481  IF(IQ(9)-1) 485,482,485                                           CF0 2660
 482  WRITE(KTOU,484) PR1,PR2,PR3                                       CF0 2670
 484  FORMAT(1H1,3A6//35H PUNCH-OUTS FOR CONFIDENCE INTERVAL ,          CF0 2680
     1  19H PROGRAM REQUESTED.  )                                       CF0 2690
C ---   CALCULATE CPS FOR SELECTION OF VARIABLES IF DESIRED.            CF0 2700
 485   IF(NCP.LT.1 .OR. NOIND .EQ. 1) GO TO 487                         CF0 2710
      ZMS=RMS/(STDDEV(K)*STDDEV(K)*(NOOBSV-1))                          CF0 2720
      CALL CPMAIN(ZMS)                                                  CF0 2730
 489  CONTINUE                                                          CF0 2740
 487  K = K+1                                                           CF0 2750
C --- CHECK TO SEE IF ALL DEPENDENT VARIABLES HAVE BEEN RUN. IF NOT     CF0 2760
C --- RE-ENTER FIT AT STATEMENT 411.  IF ALL HAVE BEEN RUN. GO BACK AND CF0 2770
C --- READ IN THE NEXT PROBLEM.                                         CF0 2780
      IF(K-NOVAR) 411,411,10                                            CF0 2790
 411   K411 = 411                                                       CF0 2800
      GO TO 144                                                         CF0 2810
 9999 STOP                                                              CF0 2811
      END                                                               CF0 2820
      SUBROUTINE BASPGM(N77,M10,ITON)                                   CF1 0010
C          SUBROUTINE READS CONTROL CARD, (FORMAT AND TRANSFORMATION    CF1 0020
C     CARDS IF SO INDICATED ON CONTROL CARD) DATA CARDS AND END CARD(S).CF1 0030
C          CHECKS FOR BZERO, E FORMAT OF PRINTOUT, CONFIDENCE INTERVAL  CF1 0040
C     CALCULATION, WEIGHTING FACTORS, INDEX OF CARDS AND SEQUENCE(IF    CF1 0050
C     DESIRED).                                                         CF1 0060
C                                                                       CF1 0070
C *** DEFINES DIMENSION LIMITS IN MXVRBT, MXVPBT, MXVRAT, MXVPAT,       CF1 0080
C ***        MXOBS, MXSIZE, MXFMTC AND MXFMTD FOR ERROR TRAPS.          CF1 0090
C                                                                       CF1 0100
      IMPLICIT REAL*8(A-H,O-Z)                                          CF1 0110
      DOUBLE PRECISION IDENT, IEND, LIEND                               CF1 0120
      DIMENSION AVATR( 65), DATA( 66), FMT(144), IOMIT( 65), ITLOC( 65) CF1 0130
C ---                                                                   CF1 0140
      COMMON /AAAAAA/ COM1(1000)                                        CF1 0150
      COMMON /BBBBBB/ COM2(186)                                         CF1 0160
      COMMON /CCCCCC/ COM3(240)                                         CF1 0170
      COMMON /DDDDDD/ COM4(3500)                                        CF1 0180
      COMMON /EEEEEE/ LSORT(1000)                                       CF1 0190
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF1 0200
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF1 0210
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF1 0220
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF1 0230
     1                NOOBSV, ICURY                                     CF1 0240
      COMMON /LLLLLL/ XEFMT, JOMIT(35), JIVOS(35), JIV(35), NOMIT,      CF1 0250
     1                NIVOS, NFOUND, JFOUND                             CF1 0251
      COMMON /MMMMMM/ IDENT, IEND, BZRO, IOBSV, ISEQ, JOBSV, KSL2,      CF1 0260
     1                NOERR, NVP1, NOEQ                                 CF1 0270
      COMMON /NNNNNN/ DEFR, XNOIND, NOVM1, MXVRBT, MXVPBT, MXVRAT,      CF1 0280
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF1 0290
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF1 0300
      COMMON /PPPPPP/ JNOVAR, KCP, NRDLMT                               CF1 0310
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF1 0320
      COMMON /RRRRRR/ KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5            CF1 0330
      COMMON /SSSSSS/ ICP(20)                                           CF1 0340
C ---          EQUIVALENCE STATEMENTS IN CF 1, 2 AND 5                  CF1 0350
      EQUIVALENCE (COM1(1),AVATR(1)), (COM1(106),ITLOC(1)),             CF1 0360
     1            (COM1(321),IOMIT(1))                                  CF1 0370
C ---          EQUIVALENCE STATEMENTS IN CF 1 AND 2                     CF1 0380
      EQUIVALENCE (COM2(1),DATA(1))                                     CF1 0390
C                                                                       CF1 0400
      EQUIVALENCE (COM3(1),FMT(1))                                      CF1 0410
      DATA EBLANK/6H      /                                             CF1 0420
      DATA LIEND,PBLANK/3HEND,1H /                                      CF1 0430
      IEND=LIEND                                                        CF1 0440
      BLANK=PBLANK                                                      CF1 0450
C ---                                                                   CF1 0460
C --- DETERMINE THE ENTRY POINT STATEMENT FOR SUBROUTINE                CF1 0470
C ---                                                                   CF1 0480
C --- IF(N77.EQ.77) GO TO 77                                            CF1 0490
      IF(M10.EQ.10) GO TO 10                                            CF1 0500
C                                                                       CF1 0510
C ***    DEFINITION OF DIMENSION LIMITS FOR USE IN ERROR TRAPS.         CF1 0520
C                                                                       CF1 0530
C --- MAXIMUM NUMBER OF INDEPENDENT AND DEPENDENT VARIABLES             CF1 0540
C --- MXVRBT = BEFORE TRANSFORMATIONS                                   CF1 0550
      MXVRBT = 65                                                       CF1 0560
C --- MXVPBT = BEFORE TRANSFORMATIONS PLUS 1                            CF1 0570
      MXVPBT = MXVRBT + 1                                               CF1 0580
C --- MXVRAT = AFTER TRANSFORMATIONS                                    CF1 0590
      MXVRAT = MXVRBT - 25                                              CF1 0600
C --- MXVPAT = AFTER TRANSFORMATIONS PLUS 1                             CF1 0610
      MXVPAT = MXVRAT + 1                                               CF1 0620
C --- MXOBSV = MAXIMUM NUMBER OF OBSERVATIONS                           CF1 0630
      MXOBSV = 1000                                                     CF1 0640
C --- MAXIMUM NUMBER ( INDEPENDENT VARIABLES X OBSERVATIONS IN          CF1 0650
C --- COMPONENT EFFECTS TABLE (CF3) AND PLOTS (CF9) ) = MXSIZE, SIZE OF CF1 0660
C --- C AND Z ARRAYS.                                                   CF1 0670
      MXSIZE = (MXVRAT*MXVRAT) + (MXVPAT*MXVPAT)                        CF1 0680
C --- ISIZE = MXSIZE/NOOBSV, NOOBSV AND ISIZE ARE USED IN ARGUMENT      CF1 0690
C --- OF CALL FIT AND CALL PITCHA TO SET SIZE OF ARRAYS DE AND X.       CF1 0700
C --- MXFMTC = MAXIMUM NUMBER OF FORMAT CARDS READ.                     CF1 0710
      MXFMTC = 8                                                        CF1 0720
C --- MXFMTD = MXFMTC X 18 = DIMENSIONS OF FMT                          CF1 0730
      MXFMTD = MXFMTC * 18                                              CF1 0740
C --- MXINFC = MAXIMUM NUMBER OF INFORMATION CARDS.                     CF1 0741
      MXINFC = 12                                                       CF1 0742
C --- MNOMTC = MAXIMUM NUMBER OF DELETE OBSERVATION CARDS.              CF1 0743
      MNOMTC = 5                                                        CF1 0744
C --- MNOMIT = MNOMTC*7 OBSERVATIONS/CARD, 7(I4,6X), IDENT OF           CF1 0745
C ---          OBSERVATIONS TO BE DELETED.  DIMENSION OF JOMIT(MNOMIT). CF1 0746
C --- MNIVOC = MAXIMUM NUMBER OF INDICATOR VARIABLE OBSERVATION CARDS.  CF1 0747
      MNIVOC = 5                                                        CF1 0748
C --- MNIVOS = MNIVOC*7 OBSERVATIONS PER CARD, 7(I4,3X,I3),             CF1 0749
C ---          OBSERVATIONS TO PUT A 1 IN LOCATION OF SPECIFIED         CF1 0750
C ---          INDICATOR VARIABLE BEFORE TRANSFORMATIONS. DIMENSIONS    CF1 0751
C ---          JIVOS(MNIVOS) AND JIV(MNIVOS).                           CF1 0752
C --- MAXSRH = MAX CP SEARCH.  SET IN CPMAIN BY TRAP TO = 18.           CF1 0753
      MAXSRH = 18                                                       CF1 0754
C                                                                       CF1 0750
C ***    DEFINITION OF SCRATCH, INPUT AND OUTPUT FILES                  CF1 0760
C     (FORMATS: KTBIN1-5=VARIABLE BLOCKED, KTIN AND KTOU=FIXED BLOCKED) CF1 0770
C                                                                       CF1 0780
C --- KTBIN1 STORES ENGLISH NAMES OF VARIABLES WHEN IQ(24) = 1          CF1 0790
C ---        AND STORES SIMPLE CORRELATION COEFFICIENTS AND INVERSE     CF1 0800
C ---        MATRIX WHEN IQ(25), IQ(26) OR IQ(27) = 1.                  CF1 0810
      KTBIN1 = 1                                                        CF1 0820
C --- KTBIN2 STORES CROSS PRODUCTS OF INDEPENDENT AND DEPENDENT VARABLESCF1 0830
      KTBIN2 = 2                                                        CF1 0840
C --- KTBIN3 STORES TRANSFORMED DATA WHEN IQ(3)=1.                      CF1 0850
      KTBIN3 = 3                                                        CF1 0860
C --- KTBIN5 STORES DATA READ FROM CARDS FOR LATER USE WHEN IQ(20)=1.   CF1 0870
      KTBIN5 = 4                                                        CF1 0880
C --- KTIN   READS CARDS IN                                             CF1 0890
      KTIN   = 5                                                        CF1 0900
C --- KTOU   WRITES PRINT-OUT                                           CF1 0910
      KTOU   = 6                                                        CF1 0920
C --- KTPCH  PUNCHES CARDS WHEN IQ(9) = 1.                              CF1 0930
      KTPCH  = 7                                                        CF1 0940
C                                                                       CF1 0950
C *** READ CONTROL CARD                                                 CF1 0960
C                                                                       CF1 0970
   10 READ(KTIN,800,END=3000)                                           CF1 0980
     1               PR1,PR2,PR3,IQ(1),IQ(2),XEFMT,(IQ(JZ),JZ=3,40)     CF1 0990
  800 FORMAT(3A6,2I2,1X,A1,18I1,I2,I1,I2,4I1,2I2,I3,10I1)               CF1 1000
C                                                                       CF1 1010
C --- WRITE PROBLEM IDENTIFICATION ON OUTPUT FILE                       CF1 1020
C                                                                       CF1 1030
      TYPE 3999, PR1, PR2, PR3,MXVRAT,MXOBSV                            CF1 1031
 3999 FORMAT(//27H0LINWOOD - DEC VERSION 1979/22H0LINEAR LEAST-SQUARES ,CF1 1032
     1         21HCURVE-FITTING PROGRAM //1H0 3A6/                      CF1 1033
     2         1H0,I5,10H VARIABLE,,I5,20H OBSERVATION PROGRAM//)       CF1 1034
      WRITE(KTOU,805) MXVRAT, MXOBSV, PR1, PR2, PR3                     CF1 1040
  805 FORMAT(1H1,44X,42HLINEAR LEAST-SQUARES CURVE-FITTING PROGRAM//    CF1 1050
     1 28H 1979 VERSION OF THE LINWOOD,I3,10H VARIABLE,,I5,             CF1 1060
     2 20H OBSERVATION PROGRAM//                                        CF1 1061
     3 55H REFER TO FITTING EQUATIONS TO DATA BY DANIEL AND WOOD,,      CF1 1062
     4 33H SECOND EDITION, WILEY PUBLISHER,/                            CF1 1063
     5 49H FOR GLOSSARY OF TERMS, USER'S MANUAL, DETAILS OF,            CF1 1064
     6 44H CALCULATIONS AND INTERPRETATION OF RESULTS.// 1H0,3A6/)      CF1 1065
C                                                                       CF1 1070
C --- CALCULATE NUMBER OF VARIABLES FROM CONTROL CARD VALUES            CF1 1080
C                                                                       CF1 1090
      IF(IQ(1).LT.99) GO TO 2                                           CF1 1091
      IQ(1) = IQ(1) + IQ(29)                                            CF1 1100
    2 NOIND=IQ(1)                                                       CF1 1110
      NODEP=IQ(2)                                                       CF1 1120
      NOVAR=IQ(1)+IQ(2)                                                 CF1 1130
      NVP1=NOVAR+1                                                      CF1 1140
      CALL CCARD(MXFMTC, MXINFC, MNOMTC, MNIVOC, MAXSRH)                CF1 1141
      IF(NOVAR.LE.MXVRBT) GO TO 6                                       CF1 1150
      WRITE(KTOU,5) MXVRBT, NOVAR                                       CF1 1160
    5 FORMAT( 1H0//////1X, 45H******THIS VERSION OF PROGRAM DIMENSIONED CF1 1170
     1FOR,I3,11H VARIABLES,,I3,34H REQUESTED.  ALL PROBLEMS FLUSHED.)   CF1 1180
      TYPE 5,MXVRBT,NOVAR                                               CF1 1181
      CALL EXIT                                                         CF1 1190
C                                                                       CF1 1200
C --- INITIALIZE INPUT STORAGE AREAS, SWITCHES, AND FILES               CF1 1210
C                                                                       CF1 1220
    6 MVP1 = NVP1                                                       CF1 1230
      IF(MVP1.GT.MXVPAT) MVP1 = MXVPAT                                  CF1 1240
      NFILE = KTIN                                                      CF1 1250
      IF(IQ(28).GT.0) NFILE=IQ(28)                                      CF1 1260
      DO 15 J=1,MVP1                                                    CF1 1270
      DO 15 I=1,MVP1                                                    CF1 1280
      Z(I,J)=0.                                                         CF1 1290
   15 CONTINUE                                                          CF1 1300
C                                                                       CF1 1310
C --- CONTROL ON CP PUNCH                                               CF1 1320
      KCP=2                                                             CF1 1330
      IF(IQ(9).EQ.2) KCP=1                                              CF1 1340
      KFM   = IQ(22)                                                    CF1 1350
      IF(IQ(20).EQ.2) GO TO 18                                          CF1 1351
      IF(IQ(31).GT.0) IQ(20) = 0                                        CF1 1360
   18 IF(IQ(20)) 21,20,20                                               CF1 1370
   20 REWIND KTBIN5                                                     CF1 1380
   21 REWIND KTBIN3                                                     CF1 1390
      REWIND KTBIN2                                                     CF1 1400
      REWIND KTBIN1                                                     CF1 1410
      KNOIND=NOIND                                                      CF1 1420
      KNODEP=NODEP                                                      CF1 1430
      KNOVAR=NOVAR                                                      CF1 1440
      KNVP1 =NVP1                                                       CF1 1450
      JNOIND=NOIND                                                      CF1 1460
      JNODEP=NODEP                                                      CF1 1470
      JNOVAR=NOVAR                                                      CF1 1480
C                                                                       CF1 1490
C                                                                       CF1 1500
C --- DETERMINE NUMBER OF EQUATIONS IN PROBLEM AND FORMAT OF INPUT DATA CF1 1510
C                                                                       CF1 1520
      IQF=IQ(19)+1                                                      CF1 1530
      IQE=IQ(20)+1                                                      CF1 1540
      IF(IQE.GE.1.AND.IQE.LE.3) GO TO 26                                CF1 1550
      WRITE(KTOU,24) IQ(20)                                             CF1 1560
   24 FORMAT(1H0,36HBAD VALUE FOR MODEL CONTROL. VALUE =,I2)            CF1 1570
      CALL EXIT                                                         CF1 1580
   26 GO TO (28,32,36),IQE                                              CF1 1590
   28 WRITE(KTOU,30)                                                    CF1 1600
   30 FORMAT(1H0,24HPROBLEM HAS ONE EQUATION)                           CF1 1610
      GO TO 38                                                          CF1 1620
   32 NOEQ=1                                                            CF1 1630
      WRITE(KTOU,34) NOEQ                                               CF1 1640
   34 FORMAT(1H0, 9HEQUATION ,I2,28H OF A MULTI-EQUATION PROBLEM)       CF1 1650
      GO TO 38                                                          CF1 1660
   36 NOEQ=NOEQ+1                                                       CF1 1670
      WRITE(KTOU,34) NOEQ                                               CF1 1680
      GO TO 80                                                          CF1 1690
   38 IF(IQF.GE.1.AND.IQF.LE.3) GO TO 42                                CF1 1700
      WRITE(KTOU,40) IQ(19)                                             CF1 1710
   40 FORMAT(1H0,37HBAD VALUE FOR FORMAT CONTROL. VALUE =,I2)           CF1 1720
      CALL EXIT                                                         CF1 1730
C                                                                       CF1 1740
C --- READ DATA VIA STD. OR SPECIAL FORMAT, OR READ DATA SUBROUTINE.    CF1 1750
C                                                                       CF1 1760
   42 GO TO (44,52,72),IQF                                              CF1 1770
   44 WRITE(KTOU,50)                                                    CF1 1780
   50 FORMAT(1H0,51HDATA READ WITH STANDARD FORMAT (A6, I4, I2, 10F6.3))CF1 1790
      GO TO 80                                                          CF1 1800
   52 WRITE(KTOU,53)                                                    CF1 1810
   53 FORMAT(1H0,29HDATA READ WITH SPECIAL FORMAT)                      CF1 1820
      IF(KFM.LE.MXFMTC) GO TO 56                                        CF1 1830
      WRITE(KTOU,57) MXFMTC, KFM                                        CF1 1840
   57 FORMAT(1H0, 27H****PROGRAM DIMENSIONED FOR, I2,                   CF1 1850
     1 14H FORMAT CARDS., I3, 27HREQUESTED. PROBLEM FLUSHED. )          CF1 1860
      CALL EXIT                                                         CF1 1870
   56 IF(KFM.LE.0) KFM=1                                                CF1 1880
      FMT(1)=BLANK                                                      CF1 1890
      DO 62 I=2, MXFMTD                                                 CF1 1900
      FMT(I)=FMT(1)                                                     CF1 1910
   62 CONTINUE                                                          CF1 1920
      DO 2022 I=1,KFM                                                   CF1 1930
      KZ=18*I                                                           CF1 1940
      LZ=KZ-17                                                          CF1 1950
      READ(KTIN,1030) (FMT(JZ),JZ=LZ,KZ)                                CF1 1960
 1030 FORMAT(18A4)                                                      CF1 1970
      WRITE(KTOU,64) I,(FMT(JZ),JZ=LZ,KZ)                               CF1 1980
   64 FORMAT(1H0,11HFORMAT CARD,I2,1X,18A4)                             CF1 1990
 2022 CONTINUE                                                          CF1 2000
      GO TO 80                                                          CF1 2010
   72 WRITE(KTOU,74)                                                    CF1 2020
   74 FORMAT(1H0,32HDATA READ WITH SUBROUTINE REDATA )                  CF1 2030
C                                                                       CF1 2040
C --- INDICATE ON OUTPUT FILE IF BZERO =0, OR BZERO = CALCULATED VALUE  CF1 2050
C                                                                       CF1 2060
   80 IF(IQ(5)) 17,17,16                                                CF1 2070
   16 BZRO=0.                                                           CF1 2080
      WRITE(KTOU,980)                                                   CF1 2090
  980 FORMAT(10H0BZERO = 0)                                             CF1 2100
      GO TO 86                                                          CF1 2110
   17 BZRO=1.                                                           CF1 2120
      WRITE(KTOU,985)                                                   CF1 2130
  985 FORMAT(25H0BZERO = CALCULATED VALUE)                              CF1 2140
C                                                                       CF1 2150
C --- PUNCH CONTROL CARDS FOR CONFIDENCE INTERVAL CALCULATIONS**********CF1 2151
   86 IF(IQ(9)-1) 47,46,47                                              CF1 2152
   46 CONTINUE                                                          CF1 2153
C  46 WRITE(KTPCH,801)PR1,PR2,PR3,(IQ(JZ),JZ=1,8)                       CF1 2154
  801 FORMAT(3A6,2I2,2X,6I1,35HPUNCH-OUTS FOR CONFIDENCE INTERVAL ,     CF1 2155
     1  7HPROGRAM )                                                     CF1 2156
C                                                                       CF1 2157
C --- READ DELETE OBSERVATION CARDS.                                    CF1 2158
C                                                                       CF1 2159
   47 NOMIT = 0                                                         CF1 2160
      IF(IQ(32).EQ.0) GO TO 168                                         CF1 2170
      JC = MNOMTC                                                       CF1 2171
      NOMITC = IQ(32)                                                   CF1 2172
      IF(NOMITC.LE.JC) JC = NOMITC                                      CF1 2173
      DO 160 J = 1, JC                                                  CF1 2174
      NOMIT = NOMIT + 7                                                 CF1 2175
      J1    = NOMIT - 6                                                 CF1 2176
  160 READ(KTIN,161) (JOMIT(I),I=J1,NOMIT)                              CF1 2177
  161 FORMAT( 7(I4,6X) )                                                CF1 2178
  162 IF(JOMIT(NOMIT).NE.0) GO TO 164                                   CF1 2179
      NOMIT = NOMIT - 1                                                 CF1 2180
      IF(NOMIT.NE.0) GO TO 162                                          CF1 2190
      WRITE(KTOU,163)  NOMITC                                           CF1 2191
  163 FORMAT(1H0//1X,6H******,I2, 32H DELETE CARD(S) WITH (7(I4,6X)) ,  CF1 2192
     1 48HFORMAT REQUESTED, NO OBSERVATION NUMBERS FOUND. ,6H******//)  CF1 2193
  164 WRITE(KTOU,264)                                                   CF1 2194
  264 FORMAT(1H0,26HOBSERVATIONS TO BE DELETED )                        CF1 2195
      WRITE(KTOU,265) (JOMIT(I),I=1,NOMIT)                              CF1 2196
  265 FORMAT(1H ,10X, 7(I4,8X) / (11X, 7(I4,8X)) )                      CF1 2197
      IF(NOMITC.LE.MNOMTC) GO TO 168                                    CF1 2198
      WRITE(KTOU,165) MNOMTC, NOMITC                                    CF1 2199
  165 FORMAT(1H0//////1X,  45H******THIS VERSION OF PROGRAM DIMENSIONED CF1 2200
     1FOR,I2,26H DELETE OBSERVATION CARDS,,I2,  42H REQUESTED.  NOT ALL CF1 2210
     2OBSERVATIONS DELETED.,6H******//////)                             CF1 2211
      JC = JC + 1                                                       CF1 2212
      DO 166 J = JC, NOMITC                                             CF1 2213
  166 READ(KTIN,167) DUMMY                                              CF1 2214
  167 FORMAT(A4)                                                        CF1 2215
  168 NFOUND = 0                                                        CF1 2216
C                                                                       CF1 2217
C --- READ INDICATOR VARIABLE OBSERVATION CARDS.                        CF1 2218
C                                                                       CF1 2219
      NIVOS = 0                                                         CF1 2220
      IF(IQ(33).EQ.0) GO TO 178                                         CF1 2230
      JC = MNIVOC                                                       CF1 2231
      NIVOC = IQ(33)                                                    CF1 2232
      IF(NIVOC.LE.JC) JC=NIVOC                                          CF1 2233
      DO 170 J=1, JC                                                    CF1 2234
      NIVOS = NIVOS + 7                                                 CF1 2235
      J1    = NIVOS - 6                                                 CF1 2236
  170 READ(KTIN,171) (JIVOS(I), JIV(I), I=J1,NIVOS)                     CF1 2237
  171 FORMAT( 7(I4,2X,I3,1X) )                                          CF1 2238
  172 IF(JIVOS(NIVOS).NE.0) GO TO 174                                   CF1 2239
      NIVOS = NIVOS - 1                                                 CF1 2240
      IF(NIVOS.NE.0) GO TO 172                                          CF1 2250
      WRITE(KTOU,173) NIVOC                                             CF1 2251
  173 FORMAT(1H0//1X,6H******,I2,33H INDICATOR VARIABLE CARD(S) WITH ,  CF1 2252
     1 57H(7(I4,2X,I3,1X) FORMAT REQUESTED, NO OBSERVATION NUMBERS ,    CF1 2253
     2 14HFOUND.  ******/)                                              CF1 2254
  174 WRITE(KTOU,266)                                                   CF1 2255
  266 FORMAT(1H0,50HOBSERVATIONS AND INDICATOR VARIABLES INTO WHICH A , CF1 2256
     1 19H1 IS TO BE INSERTED )                                         CF1 2257
      WRITE(KTOU,268) (JIVOS(I), JIV(I), I=1,NIVOS)                     CF1 2258
  268 FORMAT(1H ,10X, 7(I4,1X,I3,4X) / (11X, 7(I4,1X,I3,4X)) )          CF1 2259
      IF(NIVOC.LE.MNIVOC) GO TO 178                                     CF1 2260
      WRITE(KTOU,175) MNIVOC, NIVOC                                     CF1 2261
  175 FORMAT(1H0//////1X,  45H******THIS VERSION OF PROGRAM DIMENSIONED CF1 2262
     1FOR,I2,39H INDICATOR-VARIABLE-OBSERVATIONS CARDS.,I3,             CF1 2263
     2 33H REQUESTED.  NOT ALL OBSERVATIONS/7X,                         CF1 2264
     3 33HHAVE INDICATOR VARIABLES.  ******//////)                      CF1 2265
      JC = JC + 1                                                       CF1 2266
      DO 176 J = JC, NIVOC                                              CF1 2267
  176 READ(KTIN,177) DUMMY                                              CF1 2268
  177 FORMAT(A4)                                                        CF1 2269
  178 JFOUND = 0                                                        CF1 2270
C                                                                       CF1 2271
C ---      CHECK FOR TRANSFORMATION CARD INDICATOR + READ IN            CF1 2272
      IF(IQ(3) ) 54, 54, 48                                             CF1 2273
   48 NOBSP =NOVAR/7                                                    CF1 2274
      IF(MOD(NOVAR,7)) 6001,6001,6003                                   CF1 2275
 6001 NOBSP = NOBSP + 1                                                 CF1 2276
 6003 J2 = 0                                                            CF1 2277
 6002 J2 = J2 + 7                                                       CF1 2280
      J1 = J2 - 6                                                       CF1 2290
      IF(J2.GT.NOVAR) J2 = NOVAR                                        CF1 2291
      READ(KTIN,975)(ITRFM(JZ),VARTR(JZ),ITLOC(JZ),IOMIT(JZ),           CF1 2300
     1              AVATR(JZ),JZ=J1,J2 )                                CF1 2310
  975 FORMAT(I2,F5.0,I2,I1,  T1,2X,A5,3X, I2,F5.0,I2,I1, T11,2X,A5,3X,  CF1 2320
     1       I2,F5.0,I2,I1, T21,2X,A5,3X, I2,F5.0,I2,I1, T31,2X,A5,3X,  CF1 2321
     2       I2,F5.0,I2,I1, T41,2X,A5,3X, I2,F5.0,I2,I1, T51,2X,A5,3X,  CF1 2322
     3       I2,F5.0,I2,I1, T61,2X,A5,3X)                               CF1 2323
C*****     NOTE  THE T FORMAT IS AN IBM 360 METHOD USED TO GO BACK      CF1 2330
C     TO COLUMN 1 (T1) AND REREAD THE TRANSFORMATION CARD WITH THE      CF1 2340
C     FORMAT THAT FOLLOWS.  IN THE IBM 7044 READ 18 IS USED TO REREAD   CF1 2350
C     80 COLUMNS WITH A DIFFERENT FORMAT.  THE CARDS USED ARE           CF1 2360
C     READ(KTIN,975)(ITRFM(JZ),VARTR(JZ),ITLOC(JZ),IOMIT(JZ),JZ= J1,J2) CF1 2370
C 975 FORMAT(7(I2, F5.0, I2, I1))                                       CF1 2380
C     READ(18,990) (AVATR(JZ),JZ=J1,J2 )                                CF1 2390
C 990 FORMAT(7(2X,A5,3X))                                               CF1 2400
C*****                                                                  CF1 2410
      IF(J2.LT.NOVAR) GO TO 6002                                        CF1 2420
C          PUNCH FOR CONFIDENCE INTERVAL CALCULATIONS*******************CF1 2430
      IF(IQ(9) - 1 ) 54, 58, 54                                         CF1 2440
   58 WRITE(KTPCH,992) (ITRFM(JZ),AVATR(JZ),ITLOC(JZ),IOMIT(JZ), JZ=1,  CF1 2450
     1  NOVAR )                                                         CF1 2460
C          CARD OUTPUT FOR TRANSFORMATIONS IF CONFIDENCE INTVL PUNCH-OUTCF1 2470
  992 FORMAT(7(I2, A5, I2, I1))                                         CF1 2480
C                                                                       CF1 2490
C --- READ  EQUATION AND NAMES OF VARIABLES FOR DISPLAY ON PRINTOUT     CF1 2500
C --- IF DESIRED                                                        CF1 2510
C                                                                       CF1 2520
   54 IF(IQ(23).EQ.0) GO TO 11                                          CF1 2530
      IF(IQ(23).LE.MXINFC) GO TO 12                                     CF1 2531
      WRITE(KTOU,803) MXINFC, IQ(23)                                    CF1 2532
  803 FORMAT(1H0//////1X,  45H******THIS VERSION OF PROGRAM DIMENSIONED CF1 2533
     1FOR,I3,19H INFORMATION CARDS,,I3,26H REQUESTED.  ALL PROBLEMS ,   CF1 2534
     2  8HFLUSHED.)                                                     CF1 2535
      CALL EXIT                                                         CF1 2536
   12 NEQU = IQ(23)*12                                                  CF1 2540
      READ(KTIN,802)(EQU(I),I=1,NEQU)                                   CF1 2550
  802 FORMAT( 12A6 )                                                    CF1 2560
      WRITE(KTOU,270)                                                   CF1 2561
  270 FORMAT(1H0,17HINFORMATION CARDS )                                 CF1 2562
      WRITE(KTOU,272) (EQU(I), I=1,NEQU)                                CF1 2563
  272 FORMAT(1H ,10X, 12A6 / (11X, 12A6) )                              CF1 2564
   11 IF(IQ(24) - 1) 600, 602, 604                                      CF1 2570
  600 DO 601 I = 1, NOVAR                                               CF1 2580
  601 BI(I) = EBLANK                                                    CF1 2590
      IQ(24) = 1                                                        CF1 2591
      GO TO 13                                                          CF1 2600
  602 READ(KTIN,603) (BI(I), I=1,NOVAR)                                 CF1 2610
  603 FORMAT( 7(A6,4X) )                                                CF1 2620
C --- SAVE NAMES OF VARIABLES                                           CF1 2630
   13 WRITE(KTBIN1) (BI(I), I=1,NOVAR)                                  CF1 2640
      GO TO 614                                                         CF1 2650
  604 READ(KTBIN1) (BI(I), I=1,NOVAR)                                   CF1 2660
      REWIND KTBIN1                                                     CF1 2670
      WRITE(KTBIN1) (BI(I), I=1,NOVAR)                                  CF1 2680
  614 IF(IQ(24).EQ.0) GO TO 154                                         CF1 2681
      IF(IQ(3).EQ.1) GO TO 154                                          CF1 2682
      WRITE(KTOU,273)                                                   CF1 2683
  273 FORMAT(1H0,18HNAMES OF VARIABLES )                                CF1 2684
      WRITE(KTOU,274) (BI(I),I=1,NOVAR)                                 CF1 2685
  274 FORMAT(1H ,10X, 10(A6,6X) / (11X, 10(A6,6X)) )                    CF1 2686
  154 IF(IQ(3).EQ.0) GO TO 155                                          CF1 2687
C ---       LIST TRANSFORMATIONS                                        CF1 2688
      CALL TRANPT                                                       CF1 2689
  155 IF(IQ(26).EQ.0) GO TO 14                                          CF1 2700
C --- READ VARIABLES TO BE SEARCHED IN CP SUBROUTINE                    CF1 2710
      J1 = 12                                                           CF1 2720
      IF(IQ(21).GT.12) J1 = IQ(21)                                      CF1 2730
      READ(KTIN,152) (ICP(I),I=1,J1)                                    CF1 2740
  152 FORMAT( 18(2X,I2) )                                               CF1 2750
      WRITE(KTOU,278)                                                   CF1 2751
  278 FORMAT(1H0,43HVARIABLES ON FIRST CP FACTORIAL SEARCH CARD )       CF1 2752
  605 IF(ICP(J1).NE.0) GO TO 606                                        CF1 2753
      J1 = J1 - 1                                                       CF1 2754
      IF(J1.NE.0) GO TO 605                                             CF1 2755
  606 WRITE(KTOU,279) (ICP(I),I=1,J1)                                   CF1 2756
  279 FORMAT(1H ,10X, 10(I4,8X) / (11X, 10(I4,8X)) )                    CF1 2760
   14 WRITE(KTOU,280)                                                   CF1 2761
  280 FORMAT(1H0)                                                       CF1 2762
      RETURN                                                            CF1 2770
 3000 CONTINUE                                                          CF1 2780
      ITON=1                                                            CF1 2781
      RETURN                                                            CF1 2782
      END                                                               CF1 2800
      SUBROUTINE STAT(ISIZE,IRTRN)                                      CF2 0010
C                                                                       CF2 0020
C          SUBROUTINE LISTS OBSERVED AND TRANSFORMED DATA, CALCULATES   CF2 0030
C     DEGREES OF FREEDOM, SUMS OF VARIABLES, RAW AND RESIDUAL SUMS OF   CF2 0040
C     SQUARES AND CROSS PRODUCTS, RANGE OF VARIABLES, MEANS AND         CF2 0050
C     STANDARD DEVIATION OF VARIABLES, SIMPLE CORRELATION COEFFICIENTS, CF2 0060
C     AND PUNCHES CARDS FOR CONFIDENCE INTERVAL AND CP PROGRAMS.        CF2 0070
C                                                                       CF2 0080
      IMPLICIT REAL*8(A-H,O-Z)                                          CF2 0090
      DOUBLE PRECISION IDENT, IEND                                      CF2 0100
      DIMENSION AMAX(40), AMIN(40), AVATR( 65), AVG(40), B(40),         CF2 0110
     1          DATA(66), FMT(144), IOMIT(65), ITLOC(65),               CF2 0120
     2          SIGMA(40), STDDEV(40), W1(40)                           CF2 0130
C                                                                       CF2 0140
      COMMON /AAAAAA/ COM1(1000)                                        CF2 0150
      COMMON /BBBBBB/ COM2(186)                                         CF2 0160
      COMMON /CCCCCC/ COM3(240)                                         CF2 0170
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF2 0180
      COMMON /FORFIT/ RMS, YCMAX, YCMIN, INTDUM, K411, NCP              CF2 0190
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF2 0200
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF2 0210
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF2 0220
     1                NOOBSV, ICURY                                     CF2 0230
      COMMON /LLLLLL/ XEFMT, JOMIT(35), JIVOS(35), JIV(35), NOMIT,      CF2 0240
     1                NIVOS, NFOUND, JFOUND                             CF2 0250
      COMMON /MMMMMM/ IDENT, IEND, BZRO, IOBSV, ISEQ, JOBSV, KSL2,      CF2 0260
     1                NOERR, NVP1, NOEQ                                 CF2 0270
      COMMON /NNNNNN/ DEFR, XNOIND, NOVM1, MXVRBT, MXVPBT, MXVRAT,      CF2 0280
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF2 0290
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF2 0300
      COMMON /PPPPPP/ JNOVAR, KCP, NRDLMT                               CF2 0310
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF2 0320
      COMMON /RRRRRR/ KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5            CF2 0330
C ---          EQUIVALENCE STATEMENTS IN CF 1, 2 AND 5 (IOMIT ALSO IN 3)CF2 0340
      EQUIVALENCE (COM1(1),AVATR(1)), (COM1(106),ITLOC(1)),             CF2 0350
     1            (COM1(321),IOMIT(1))                                  CF2 0360
C ---          EQUIVALENCE STATEMENTS IN CF 1 AND 2                     CF2 0370
      EQUIVALENCE (COM2(1),DATA(1)), (COM2(107),B(1))                   CF2 0380
      EQUIVALENCE (COM3(1),FMT(1))                                      CF2 0390
C ---          EQUIVALENCE STATEMENTS IN CF 2 AND 3                     CF2 0400
      EQUIVALENCE (COM1(1),AMAX(1)), (COM1(81),AMIN(1)),                CF2 0410
     1            (COM1(161),W1(1))                                     CF2 0420
      EQUIVALENCE (COM3(1),AVG(1)), (COM3(81),SIGMA(1)),                CF2 0430
     1            (COM3(161),STDDEV(1))                                 CF2 0440
C                                                                       CF2 0450
      WRITE(KTOU,10) PR1, PR2, PR3                                      CF2 0460
   10 FORMAT(1H1,32X,42HLINEAR LEAST-SQUARES CURVE-FITTING PROGRAM//    CF2 0470
     1 1H ,3A6// )                                                      CF2 0480
      TYPE 817, IQ(1), IQ(2)                                            CF2 0481
  817 FORMAT(11H0DATA INPUT,6X,I5,22H INDEPENDENT VARIABLES,I5,         CF2 0482
     1       22H DEPENDENT VARIABLE(S)/)                                CF2 0483
      IQ(10) = IQ(10) - 1                                               CF2 0490
      IF (IQ(10))  55, 55, 75                                           CF2 0500
   55 IF (IQ(4))  65, 65, 70                                            CF2 0510
C          HEADING LINES FOR DATA CARDS LISTING                         CF2 0520
   65 WRITE(KTOU,815) IQ(1) , IQ(2)                                     CF2 0530
  815 FORMAT(11H0DATA INPUT        , 6X,  I5,                           CF2 0540
     122H INDEPENDENT VARIABLES,I5,22H DEPENDENT VARIABLE(S)//          CF2 0550
     2                          121H OBSV.  SEQ.   1-11-21    2-12-22   CF2 0560
     3 3-13-23    4-14-24    5-15-25    6-16-26    7-17-27    8-18-28   CF2 0570
     4 9-19-29   10-20-30)                                              CF2 0580
      GO TO 75                                                          CF2 0590
C          HEADING LINES FOR DATA CARDS LISTING WITH WT OF OBSERVATION. CF2 0600
   70 WRITE(KTOU,816) IQ(1) , IQ(2)                                     CF2 0610
  816 FORMAT(11H0DATA INPUT        , 6X,  I5,                           CF2 0620
     122H INDEPENDENT VARIABLES,I5,22H DEPENDENT VARIABLE(S), 6X,       CF2 0630
     221HWEIGHT OF OBSERVATION//121H OBSV.  SEQ.   1-11-21    2-12-22   CF2 0640
     3 3-13-23    4-14-24    5-15-25    6-16-26    7-17-27    8-18-28   CF2 0650
     4 9-19-29   10-20-30)                                              CF2 0660
C          INITIALIZE INSTRUCTIONS + COUNTERS TO READ OBSERVATIONS      CF2 0670
   75 NOOBSV = 0                                                        CF2 0680
      NOERR  = 0                                                        CF2 0690
      JOBSV  = 0                                                        CF2 0700
      KSL2   = 1                                                        CF2 0710
      NRDLMT = NOVAR                                                    CF2 0720
C          ADJUST FOR WEIGHT OF OBSERVATION IF DESIRED                  CF2 0730
      IF(IQ(4).GT.0) NRDLMT = NVP1                                      CF2 0740
C          SET UP INDEX LIMITS TO WRITE FIRST CARD OF DATA GROUP        CF2 0750
      IF(NRDLMT - 10) 76,66,66                                          CF2 0760
   76 MNO = NRDLMT                                                      CF2 0770
      GO TO 77                                                          CF2 0780
   66 MNO=10                                                            CF2 0790
   77 JSEQ=0                                                            CF2 0800
C --- SET INDICATOR VARIABLE N77 BACK TO 0                              CF2 0810
      N77 = 0                                                           CF2 0820
      N = 1                                                             CF2 0830
      IF(IQ(19))  67, 68, 67                                            CF2 0840
   67 M  = NRDLMT                                                       CF2 0850
      MP = NRDLMT                                                       CF2 0860
      GO TO 69                                                          CF2 0870
   68 M=10                                                              CF2 0880
      MP=10                                                             CF2 0890
   69  KSL1   = 1                                                       CF2 0900
C          READ OBSERVATIONS- MP VALUES PER DATA CARD                   CF2 0910
   71 IF(IQ(20) -2 ) 83, 144, 83                                        CF2 0920
   83 IF(IQ(19) - 1 ) 78, 73, 84                                        CF2 0930
   84 CALL REDATA                                                       CF2 0940
      GO TO 82                                                          CF2 0950
   73 READ(NFILE,FMT,END=124) IDENT,IOBSV,ISEQ, (DATA(JZ), JZ = N,M )   CF2 0960
      GO TO 82                                                          CF2 0970
   78 READ(NFILE,820,END=124) IDENT,IOBSV,ISEQ, (DATA(JZ), JZ = N,M )   CF2 0980
C          DATA CARD  INPUT                                             CF2 0990
  820 FORMAT(1A6, I4, I2, 10F6.3)                                       CF2 1000
   82 IF(IDENT - IEND) 85,242,85                                        CF2 1010
  242 IF(M - NRDLMT) 241,142,142                                        CF2 1020
  241 N = N + MP                                                        CF2 1030
      M = M + MP                                                        CF2 1040
      READ(NFILE,820,END=124) IDENT,IOBSV,ISEQ, (DATA(JZ), JZ = N,M )   CF2 1050
      GO TO 242                                                         CF2 1060
C          CHECK OBSERVATION NO. SEQUENCE IF DESIRED                    CF2 1070
   85 IF( IQ(6) ) 125, 125, 100                                         CF2 1080
C               CHECK IF FIRST CARD OF OBSERVATION HAS OBSERVATION NO.  CF2 1090
C               LARGER THAN PREVIOUS OBSERVATION NO.                    CF2 1100
  100 GO TO (105, 115), KSL1                                            CF2 1110
  105  KSL1 = 2                                                         CF2 1120
      IF( IOBSV - JOBSV) 110, 110, 125                                  CF2 1130
C               COUNT ERROR                                             CF2 1140
  110 NOERR= NOERR +1                                                   CF2 1150
C               WRITE ERROR MESSAGE                                     CF2 1160
      WRITE(KTOU,840)  IOBSV,JOBSV                                      CF2 1170
C          ERROR MSG IF OBSV. NO. NOT IN ASCENDING SEQUENCE             CF2 1180
  840 FORMAT(11H0OBSV. NO. I4,41H IS NOT IN ASCENDING SEQUENCE W/OBSV. NCF2 1190
     1O I4)                                                             CF2 1200
      GO TO 125                                                         CF2 1210
C               CHECK IF CARDS WITHIN OBSERVATION HAVE SAME OBSERVATION CF2 1220
C               NO.                                                     CF2 1230
  115 IF(IOBSV-JOBSV)120,125,120                                        CF2 1240
  120 NOERR=NOERR + 1                                                   CF2 1250
      WRITE(KTOU,835)  JOBSV                                            CF2 1260
C          ERROR MSG IF DATA CARDS W/IN OBSV. HAVE INCORRECT OBSV. NO.  CF2 1270
  835 FORMAT(23H0DATA CARDS W/IN OBSV. I4, 25H HAVE INCORRECT OBSV. NO.)CF2 1280
C          CHECK IF SEQUENCE NO. WITHIN OBSERVATION IS ONE + PREVIOUS   CF2 1290
  124 IF(NFILE.NE.KTIN) REWIND NFILE                                    CF2 1300
      IDENT = IEND                                                      CF2 1310
  125 IF(IQ(7)) 140, 140, 130                                           CF2 1320
  130 IF(ISEQ-JSEQ-1)135,140,135                                        CF2 1330
  135 NOERR=NOERR +1                                                    CF2 1340
C          WRITE ERROR MESSAGE                                          CF2 1350
      WRITE(KTOU,845)  IOBSV                                            CF2 1360
C          ERROR MSG IF SEQ. NO. OF OBSV. NOT 1 GREATER THAN PREVIOUS   CF2 1370
  845 FORMAT(25H0SEQ. NO. W/IN OBSV. NO. I4,10H INCORRECT)              CF2 1380
C          INCREMENT SEQUENCE NO. IF PRESENT ONE IN ERROR               CF2 1390
      ISEQ =ISEQ + 1                                                    CF2 1400
C          MAKE CURRENT SEQUENCE NO. = PREVIOUS SEQUENCE NO.            CF2 1410
C          MAKE CURRENT OBSV. NO = PREVIOUS OBSV. NO                    CF2 1420
  140 JSEQ = ISEQ                                                       CF2 1430
      JOBSV= IOBSV                                                      CF2 1440
      IF(M - NRDLMT)141,142,142                                         CF2 1450
C          INCREMENT COUNTERS FOR VARIABLES ON NEXT DATA CARD           CF2 1460
  141 N=N+MP                                                            CF2 1470
      M=M+MP                                                            CF2 1480
      GO TO 83                                                          CF2 1490
  142 IF(IQ(20)) 145, 145, 143                                          CF2 1500
  143 WRITE(KTBIN5)  IDENT,IOBSV,ISEQ, (DATA(JZ), JZ = 1, NRDLMT)       CF2 1510
      GO TO 145                                                         CF2 1520
  144 READ (KTBIN5)  IDENT,IOBSV,ISEQ, (DATA(JZ), JZ = 1, NRDLMT)       CF2 1530
C                                                                       CF2 1540
C          CHECK FOR CARD WITH WORD END IN FIRST 6 COLUMNS FOR LAST OBSVCF2 1550
  145 IF(IDENT-IEND)  45,250,45                                         CF2 1560
   45 IF((NOMIT - NFOUND).EQ.0) GO TO 146                               CF2 1570
C ---      DELETE KOMIT OBSERVATIONS IF REQUESTED                       CF2 1580
      J = NFOUND + 1                                                    CF2 1590
      IF(JOMIT(J).NE.IOBSV) GO TO 146                                   CF2 1600
      NFOUND = NFOUND + 1                                               CF2 1610
      GO TO 247                                                         CF2 1620
  146 IF((NIVOS - JFOUND).EQ.0) GO TO 46                                CF2 1630
C --- PUT 1.0 IN SPECIFIED INDICATOR VARIABLE BEFORE TRANSFORMATIONS.   CF2 1640
      J = JFOUND + 1                                                    CF2 1650
      IF(JIVOS(J).NE.IOBSV) GO TO 46                                    CF2 1660
      JFOUND = JFOUND + 1                                               CF2 1670
      JA = JIV(J)                                                       CF2 1680
      IF(JA.GT.0.AND.JA.LE.NOVAR) GO TO 42                              CF2 1690
      WRITE(KTOU,40) IOBSV, JA                                          CF2 1700
   40 FORMAT(1H0,49H******INDICATOR VARIABLE ASSIGNED FOR OBSERVATION,  CF2 1710
     1I4,12H FOUND TO BE,I3,38H.  A VALUE LESS THAN 1 OR GREATER THAN,  CF2 1720
     2 17H THE TOTAL NUMBER/7X,54HOF VARIABLES NOT ALLOWED.  ASSIGNMENT CF2 1730
     3SKIPPED.  ****** /)                                               CF2 1740
      GO TO 46                                                          CF2 1750
   42 DATA(JA)= 1.0D0                                                   CF2 1760
      WRITE(KTOU,44)  JA, IOBSV                                         CF2 1770
   44 FORMAT(1H ,42HA VALUE OF 1.0 HAS BEEN PLACED IN VARIABLE, I3,     CF2 1780
     1 15H OF OBSERVATION, I7)                                          CF2 1790
C                                                                       CF2 1800
C ---      LIST DATA IF DESIRED                                         CF2 1810
   46 IF(IQ(10)) 147, 147, 149                                          CF2 1820
  147  ISEQ=0                                                           CF2 1830
C               INCLUDE OBSERVATION NO. IF FIRST CARD OF OBSERVATION    CF2 1840
C          DATA CARD  LISTING-CARD 1 OF THE OBSERVATION                 CF2 1850
      WRITE(KTOU,825)      IOBSV,ISEQ, (DATA(JZ), JZ = 1,MNO )          CF2 1860
  825 FORMAT(1H I4, I6, 10F11.3)                                        CF2 1870
      IF(IQ(10).EQ.0) IQ(10) = 1                                        CF2 1880
       KKK=10                                                           CF2 1890
  170  IF(NRDLMT - KKK)149,149,148                                      CF2 1900
  148  KONE=KKK+1                                                       CF2 1910
       IF(NRDLMT - (KKK+10))166,166,165                                 CF2 1920
  165  KTWO=KKK+10                                                      CF2 1930
       GO TO 167                                                        CF2 1940
  166  KTWO=NRDLMT                                                      CF2 1950
  167  ISEQ=ISEQ+1                                                      CF2 1960
      WRITE(KTOU,830)            ISEQ, (DATA(JZ), JZ = KONE, KTWO )     CF2 1970
C          DATA CARD  LISTING-CARDS OTHER THAN 1ST OF THE OBSERVATION   CF2 1980
  830 FORMAT(5X, I6, 10F11.3)                                           CF2 1990
       KKK=KKK+10                                                       CF2 2000
       GO TO 170                                                        CF2 2010
C          END OF LOOP WHICH READS ONE OBSERVATION                      CF2 2020
C                                                                       CF2 2030
C          INCREMENT NO. OF OBSERVATIONS COUNTER                        CF2 2040
  149 NOOBSV = NOOBSV + 1                                               CF2 2050
C          AFTER READING + CHECKING ALL VARIABLES, CHECK IF ANY SEQUEN- CF2 2060
C          CING ERRORS OCCURRED. IF NONE OCCUR, CONTINUE PROCESSING THE CF2 2070
C          OBSERVATION. IF THE NO. OF ERRORS IS LESS THAN FIVE, CONTINUECF2 2080
C          READING DATA + CHECKING THE SEQUENCE W/O PROCESSING. WHEN THECF2 2090
C          NO. OF ERRORS REACHES FIVE, CONTINUE READING DATA BUT DISCON-CF2 2100
C          TINUE CHECKING SEQUENCING + PROCESSING.  PRINTER MESSAGES    CF2 2110
C          NOTIFY USER OF THESE ALTERNATIVES.                           CF2 2120
      IF(NOERR)150, 185, 150                                            CF2 2130
  150 IF(NOERR-5)247,155, 155                                           CF2 2140
  155 GO TO (160,77), KSL2                                              CF2 2150
  160 KSL2 = 2                                                          CF2 2160
      INSQOB = 0                                                        CF2 2170
      INSQCD = 0                                                        CF2 2180
      INTRFM = 0                                                        CF2 2190
      WRITE (KTOU,855)  PR1,PR2,PR3                                     CF2 2200
C          ERROR MSG IF MORE THAN 5 ERRORS FOUND IN SEQ CHECKING DATA   CF2 2210
  855 FORMAT(9H0PROBLEM 3A6,91H HAS 5 ERRORS IN SEQUENCING OF DATA. PROBCF2 2220
     1LEM SKIPPED AT THIS POINT. NO FURTHER DATA CHECKS.)               CF2 2230
      GO TO 77                                                          CF2 2240
C          DO ALGEBRAIC TRANSFORMATIONS ON SCALED DATA                  CF2 2250
  185 IF(IQ(3) ) 230,230,190                                            CF2 2260
  190 CALL TRANSF                                                       CF2 2270
C          CHECK IF ANY SPILLS IN DOING TRANSFORMATIONS                 CF2 2280
C          COMPUTE RAW SUMS + CROSS PRODUCTS, WEIGHTED OR UNWEIGHTED    CF2 2290
  230 IF(KNVP1.GT.MXVPAT) GO TO 77                                      CF2 2300
      IF(IQ(4) ) 235,235,240                                            CF2 2310
  235 DATA(NVP1) = 1.0                                                  CF2 2320
C --- WEIGHT OBSERVATION BY 1/(VARIANCE OF OBSERVATION)                 CF2 2330
  240 IF(IQ(4).EQ.2) DATA(NVP1)=1.0/ DATA(NVP1)                         CF2 2340
      DO 243 J=1, KNOVAR                                                CF2 2350
  243 Z(J, KNVP1) = Z(J, KNVP1) + DATA (J) * DATA(NVP1)                 CF2 2360
      IF(IQ(5).EQ.0) GO TO 246                                          CF2 2370
      DO 245 J=1, KNOVAR                                                CF2 2380
      DO 245 M=J, KNOVAR                                                CF2 2390
  245 Z(J,M) = Z(J, M) + DATA(J) * DATA (M) * DATA (NVP1)               CF2 2400
C          CHECK FOR SPILLS                                             CF2 2410
  246 KNVP1 = KNVP1                                                     CF2 2420
      Z(KNVP1, KNVP1) = Z(KNVP1, KNVP1) + DATA(NVP1)                    CF2 2430
C          WRITE OBSERVATION ON BINARY TAPE -FOR LATER USE-             CF2 2440
      DATA(KNVP1) = DATA(NVP1)                                          CF2 2450
      WRITE(KTBIN3)  IDENT,IOBSV,      (DATA(JZ), JZ = 1, KNVP1  )      CF2 2460
  247 JOBSV=IOBSV                                                       CF2 2470
C          END OF LOOP FOR READING ALL OBSERVATIONS                     CF2 2480
      GO TO 77                                                          CF2 2490
  250 IF((NIVOS - JFOUND).EQ.0) GO TO 254                               CF2 2500
      WRITE(KTOU,251) NIVOS, JFOUND                                     CF2 2510
  251 FORMAT(1H0//1X,6H******,I3,29H OBSERVATIONS WITH INDICATOR ,      CF2 2520
     1 21HVARIABLES REQUESTED. ,I3,15H FOUND.  ******/)                 CF2 2530
  254 IF(NOERR) 255, 265, 255                                           CF2 2540
  255 WRITE(KTOU,860) PR1,PR2,PR3, NOERR                                CF2 2550
C          ERROR MSG IF LESS THAN 5 ERRORS FOUND AFTER ALL SEQ CHECKS   CF2 2560
C               COMPLETED.                                              CF2 2570
  860 FORMAT(9H0PROBLEM 3A6,10H SKIPPED. I2,93H ERRORS. IF THE NO. OF ERCF2 2580
     1RORS IS LESS THAN 5, ALL THE OBSERVATIONS HAVE BEEN SEQUENCE CHECKCF2 2590
     2ED)                                                               CF2 2600
C --- READ REMAINING CP SEARCH CARDS AND ESTIMATE OF VARIANCE CARDS, IF CF2 2610
C ---   ANY, AND THEN RETURN TO READ NEXT CONTROL CARD.                 CF2 2620
 9010 JC = 0                                                            CF2 2630
      IF(IQ(25).EQ.3) JC = 1                                            CF2 2640
      I = NOVAR - NOIND                                                 CF2 2650
      JC = (JC + IQ(26))*I                                              CF2 2660
      IF(JC.LT.2) GO TO 9014                                            CF2 2670
      DO 9012 J = 2, JC                                                 CF2 2680
 9012 READ(KTIN,9013) DUMMY                                             CF2 2690
 9013 FORMAT(A4)                                                        CF2 2700
 9014 IRTRN=2                                                           CF2 2710
      RETURN                                                            CF2 2720
C          FINALIZE THE NO. VARIABLE QUANTITIES                         CF2 2730
  265 NOVAR = KNOVAR                                                    CF2 2740
      NOIND = KNOIND                                                    CF2 2750
      NODEP = KNODEP                                                    CF2 2760
      NVP1  = KNVP1                                                     CF2 2770
C          CALCULATE DEGREES OF FREEDOM + CHECK                         CF2 2780
      XNOOBS = Z(NVP1, NVP1)                                            CF2 2790
      XNOVAR = NOVAR                                                    CF2 2800
      XNOIND = NOIND                                                    CF2 2810
      RNOOBS = NOOBSV                                                   CF2 2820
      DEFR   = RNOOBS - XNOIND - BZRO                                   CF2 2830
       IF(KNOIND+KNODEP-MXVRAT)299,299,296                              CF2 2840
  296 WRITE(KTOU,297) MXVRAT                                            CF2 2850
      TYPE 297,MXVRAT                                                   CF2 2851
  297  FORMAT(1H0///94H0AFTER PERFORMING TRANSFORMATIONS, THE NUMBER OF CF2 2860
     1INDEPENDENT PLUS DEPENDENT VARIABLES EXCEEDS ,I3/17H0PROBLEM SKIPPCF2 2870
     2ED. )                                                             CF2 2880
      GO TO 9010                                                        CF2 2890
  299 IF(DEFR) 266, 266, 267                                            CF2 2900
  266 WRITE(KTOU,935) DEFR                                              CF2 2910
      TYPE 935, DEFR                                                    CF2 2911
C          PRINTER + TAPE MSG IF DEGREES OF FREEDOM ZERO OR NEGATIVE    CF2 2920
  935 FORMAT(40H0THE CALCULATED DEGREES OF FREEDOM ARE  F5.0,39H NO FURTCF2 2930
     1HER CALCULATIONS. NEXT PROBLEM.)                                  CF2 2940
      GO TO 9010                                                        CF2 2950
C          PUNCH XNOBS, DEGREES OF FREEDOM, KNOIND + KNODEP FOR CONFDNCECF2 2960
C            INTERVAL CALCULATIONS.                                     CF2 2970
  267 IF(IQ(9) - 1 ) 269, 268, 269                                      CF2 2980
  268 CONTINUE                                                          CF2 2981
C 268 WRITE (KTPCH,1020) XNOOBS, DEFR, KNOIND, KNODEP                   CF2 2990
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF2 3000
C 1020 FORMAT(5Z16)                                                     CF2 3010
C          LIST  TRANSFORMED DATA IF DESIRED                            CF2 3020
  269 REWIND KTBIN3                                                     CF2 3030
      IQ(11) = IQ(11) - 1                                               CF2 3040
      IF(IQ(3)) 3032,3032,263                                           CF2 3050
C                                                                       CF2 3060
  263 IF(IQ(11).EQ.2) GO TO 264                                         CF2 3070
      CALL TRANPT                                                       CF2 3080
  264  IF(KNOIND)282,282,281                                            CF2 3090
  281 IF(KNODEP)283,283,284                                             CF2 3100
  282 WRITE(KTOU,286)                                                   CF2 3110
      TYPE 286                                                          CF2 3111
  286 FORMAT(1H0///74H0AFTER PERFORMING THE TRANSFORMATIONS, THERE ARE NCF2 3120
     1O INDEPENDENT VARIABLES./17H0PROBLEM SKIPPED.)                    CF2 3130
      GO TO 9010                                                        CF2 3140
  283 WRITE(KTOU,287)                                                   CF2 3150
      TYPE 287                                                          CF2 3151
  287 FORMAT(1H0///72H0AFTER PERFORMING THE TRANSFORMATIONS, THERE ARE NCF2 3160
     1O DEPENDENT VARIABLES./17H0PROBLEM SKIPPED.)                      CF2 3170
      GO TO 9010                                                        CF2 3180
C                                                                       CF2 3190
  284 IF(IQ(11)) 1014, 1012, 2000                                       CF2 3200
 1012 WRITE(KTOU,1013) KNOIND, KNODEP                                   CF2 3210
 1013 FORMAT(40H0FIRST OBSERVATION AFTER TRANSFORMATIONS , 6X,          CF2 3220
     1                              24HTHE FITTED EQUATION HAS ,I2,     CF2 3230
     224H INDEPENDENT VARIABLES, I2,22H DEPENDENT VARIABLE(S) / )       CF2 3240
      GO TO 2000                                                        CF2 3250
 1014 WRITE(KTOU,864) KNOIND, KNODEP                                    CF2 3260
  864 FORMAT(27H0DATA AFTER TRANSFORMATIONS, 6X,                        CF2 3270
     1                              24HTHE FITTED EQUATION HAS ,I2,     CF2 3280
     224H INDEPENDENT VARIABLES, I2,22H DEPENDENT VARIABLE(S) / )       CF2 3290
 2000 IF(IQ(24).EQ.0) GO TO 2014                                        CF2 3300
C ---       PRINT NAMES OF VARIABLES IF DESIRED                         CF2 3310
      JA = 0                                                            CF2 3320
      DO 606 J = 1, JNOVAR                                              CF2 3330
      IF(IOMIT(J).EQ.1) GO TO 606                                       CF2 3340
      JA = JA + 1                                                       CF2 3350
      BI(JA) = BI(J)                                                    CF2 3360
  606 CONTINUE                                                          CF2 3370
      IF(IQ(11)) 2011,2011,3032                                         CF2 3380
 2011 WRITE(KTOU,2012) (BI(I), I=1,NOVAR)                               CF2 3390
 2012 FORMAT(1H ,11X,A6,9(6X,A6)/  ( 12X,A6,9(6X,A6)) )                 CF2 3400
 2014 WRITE(KTOU,862)                                                   CF2 3410
  862 FORMAT(126H OBSV.     1-11-21     2-12-22     3-13-23     4-14-24 CF2 3420
     1    5-15-25     6-16-26     7-17-27     8-18-28     9-19-29    10-CF2 3430
     220-30 )                                                           CF2 3440
C AMAX(  ) AND AMIN(  ) ARE LOCATIONS FOR MAX + MIN OF VARIABLES        CF2 3450
 3032 DO 3000 I=1,NOVAR                                                 CF2 3460
      AMIN(I)=1D32                                                      CF2 3470
      AMAX(I)=-AMIN(I)                                                  CF2 3480
 3000 CONTINUE                                                          CF2 3490
      TYPE 1015, KNOIND, KNODEP                                         CF2 3491
 1015 FORMAT(25H0THE FITTED EQUATION HAS ,I2,23H INDEPENDENT VARIABLES,,CF2 3492
     1       I3,22H DEPENDENT VARIABLE(S) /)                            CF2 3493
      DO 275 I=1, NOOBSV                                                CF2 3500
      READ (KTBIN3)  IDENT,IOBSV,      (DATA(JZ), JZ = 1,  NOVAR )      CF2 3510
      DO 3008 JZ=1,NOVAR                                                CF2 3520
      IF(DATA(JZ)-AMIN(JZ)) 3002,3004,3004                              CF2 3530
 3002 AMIN(JZ)=DATA(JZ)                                                 CF2 3540
 3004 IF(DATA(JZ)-AMAX(JZ)) 3008,3008,3006                              CF2 3550
 3006 AMAX(JZ)=DATA(JZ)                                                 CF2 3560
 3008 CONTINUE                                                          CF2 3570
      IF(IQ(3)) 275,275,3034                                            CF2 3580
 3034 IF(IQ(11)) 2002,3036,275                                          CF2 3590
 3036 IF(IQ(11).EQ.0) IQ(11) = 1                                        CF2 3600
 2002 WRITE(KTOU,865)IOBSV,(DATA(JZ),JZ=1,NOVAR)                        CF2 3610
C 865 FORMAT(1H ,I4,1X,1P10E12.5/( 6X,1P10E12.5))                       CF2 3620
  865 FORMAT(1H ,I4, (T7,1P10E12.5) )                                   CF2 3630
  275 CONTINUE                                                          CF2 3640
C --- W1(  ) IS THE LOCATION FOR THE RANGE OF VARIABLES                 CF2 3650
      DO 3010 JZ=1,NOVAR                                                CF2 3660
      W1(JZ)=AMAX(JZ)-AMIN(JZ)                                          CF2 3670
 3010 CONTINUE                                                          CF2 3680
C          LIST SUMS OF VARIABLES IF DESIRED                            CF2 3690
  280 IF(IQ(12) ) 305,285,305                                           CF2 3700
  285 WRITE(KTOU,870)                                                   CF2 3710
      TYPE 870                                                          CF2 3711
C          SUM OF VARIABLES LISTING                                     CF2 3720
  870 FORMAT(18H0SUMS OF VARIABLES)                                     CF2 3730
      WRITE(KTOU,875) (Z(I,NVP1), I =1,NOVAR)                           CF2 3740
      TYPE 875, (Z(I,NVP1), I=1,NOVAR)                                  CF2 3741
  875 FORMAT(6X, 1P10E12.5)                                             CF2 3750
C ---      CALCULATE MEAN                                               CF2 3760
  305 DO 2040   I=1, NOVAR                                              CF2 3770
      AVG(I)= Z(I,NVP1)/Z(NVP1,NVP1)                                    CF2 3780
 2040 Z(I,KNVP1) = 0.                                                   CF2 3790
C          SAVE Z(1,1) IF JOINT CONFIDENCE INTERVAL PUNCH OUT RQSTD     CF2 3800
      B(30) = Z(1,1)                                                    CF2 3810
      IF(IQ(5))  307,307,290                                            CF2 3820
C          LIST RAW SUMS OF SQUARES + CROSS PRODUCTS IF DESIRED + B0=0  CF2 3830
  290 IF(IQ(13))  306,295,306                                           CF2 3840
  295 WRITE(KTOU,885)                                                   CF2 3850
C          HEADING LINE FOR RAW SUMS OF SQUARES + CROSS PRODUCTS        CF2 3860
  885 FORMAT(37H0RAW SUMS OF SQUARES + CROSS PRODUCTS/126H           1-1CF2 3870
     11-21     2-12-22     3-13-23     4-14-24     5-15-25     6-16-26  CF2 3880
     2   7-17-27     8-18-28     9-19-29    10-20-30  )                 CF2 3890
      DO 300 J=1, NOVAR                                                 CF2 3900
      WRITE(KTOU,865)  J, (Z(JZ,J), JZ = 1,J )                          CF2 3910
  300 CONTINUE                                                          CF2 3920
C          PUNCH RAW SUMS + CROSS PRODUCTS, TRIANGULAR, IF CONFIDENCE   CF2 3930
C            INTERVAL DATA NEEDED + BZERO = 0.                          CF2 3940
  306 IF(IQ(9) - 1 )  325,308,325                                       CF2 3950
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM           CF2 3960
308    CONTINUE                                                         CF2 3961
C 308 WRITE(KTPCH,1020)((Z(JZA,JZB),JZB=1,KNOIND),JZA=1,KNOIND)         CF2 3970
      GO TO 325                                                         CF2 3980
C ---                                                                   CF2 3990
C ---      TAKE MEAN OUT OF EACH OBSERVATION OF INDEPENDENT VARIABLES   CF2 4000
C ---                                                                   CF2 4010
  307 REWIND KTBIN3                                                     CF2 4020
      DO 2038 I = 1, KNOVAR                                             CF2 4030
      DO 2038 M = I, KNOVAR                                             CF2 4040
 2038 Z(I,M) = 0.                                                       CF2 4050
      DO 2035 J = 1, NOOBSV                                             CF2 4060
      READ (KTBIN3)  IDENT,IOBSV,      (DATA(JZ), JZ = 1, KNVP1  )      CF2 4070
      DO 2036 I = 1, KNOVAR                                             CF2 4080
 2036 DATA(I) = DATA(I) - AVG(I)                                        CF2 4090
C ---      COMPUTE RAW SUMS AND CROSS PRODUCTS - WITH MEAN REMOVED      CF2 4100
C ---      THEY EQUAL THE RESIDUAL SUMS AND CROSS PRODUCTS.             CF2 4110
C ---      THESE VALUES ARE USED TO CALCULATE INVERSE MATRIX            CF2 4120
      DO 2037 I=1, KNOVAR                                               CF2 4130
      DO 2037 M = I, KNOVAR                                             CF2 4140
 2037 Z(I,M) = Z(I, M) + DATA(I) * DATA (M) * DATA (KNVP1)              CF2 4150
 2035 CONTINUE                                                          CF2 4160
C          PUNCH RESIDUALS IF CONFIDENCE INTERVAL DATA NEEDED + BZERO   CF2 4170
C            NOT EQUAL TO 0.                                            CF2 4180
      IF(IQ(9) - 1 ) 314, 312, 314                                      CF2 4190
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF2 4200
312   CONTINUE                                                          CF2 4201
C 312 WRITE(KTPCH,1020)((Z(JZA,JZB),JZB=1,KNOIND),JZA=1,KNOIND)         CF2 4210
C          LIST RESIDUALS IF DESIRED                                    CF2 4220
  314 IF(IQ(14) ) 325,315,325                                           CF2 4230
  315 WRITE(KTOU,895)                                                   CF2 4240
C          RESIDUAL SUMS                                                CF2 4250
  895 FORMAT(42H0RESIDUAL SUMS OF SQUARES + CROSS PRODUCTS)             CF2 4260
      DO 320 J=1, NOVAR                                                 CF2 4270
  320 WRITE(KTOU,865)  J, (Z(JZ,J), JZ = 1,J )                          CF2 4280
C          CHECK DIAGONALS OF RESIDUALS                                 CF2 4290
  325 NOVM1 =NOVAR-1                                                    CF2 4300
      DO 350   I=1, NOVAR                                               CF2 4310
      IF(Z(I,I).GT.1.0D-07) GO TO 340                                   CF2 4320
  335 WRITE(KTOU,905)  I                                                CF2 4330
      TYPE 905, I                                                       CF2 4331
  905 FORMAT(34H0RESIDUAL DIFFERENCE FOR VARIABLE I2,31H IS ZERO. VARIABCF2 4340
     1LE IS CONSTANT.)                                                  CF2 4350
C          **** PROGRAM GIVES UP IF  Z(I,I) = 0                         CF2 4360
      WRITE (KTOU,906)                                                  CF2 4370
      TYPE 906                                                          CF2 4371
  906 FORMAT(16H PROBLEM SKIPPED)                                       CF2 4380
      GO TO 9010                                                        CF2 4390
  340 SIGMA(I) = DSQRT(Z(I,I))                                          CF2 4400
  350 Z(I,I) = 1.                                                       CF2 4410
C          SAVE DEPENDENT VARIABLE PORTION ABOVE DIAGONAL OF THE RESIDU-CF2 4420
C          AL MATRIX FOR STATISTICAL COMPUTATIONS TO COME.              CF2 4430
      L=NOIND+1                                                         CF2 4440
      DO 353J=L, NOVAR                                                  CF2 4450
      WRITE(KTBIN2)    (Z(JZ,J), JZ = 1,NOIND )                         CF2 4460
  353 CONTINUE                                                          CF2 4470
C ---      CALCULATE ROOT MEAN SQUARE OF VARIABLE                       CF2 4480
      IF(Z(NVP1,NVP1).GT.RNOOBS) GO TO 355                              CF2 4490
  354 RTDEFR = DSQRT(RNOOBS - 1.0)                                      CF2 4500
      GO TO 356                                                         CF2 4510
  355 RTDEFR = DSQRT(Z(NVP1,NVP1)-1.0)                                  CF2 4520
  356 DO 360    I=1, NOVAR                                              CF2 4530
  360 STDDEV(I)=SIGMA(I)/RTDEFR                                         CF2 4540
C          LIST CALCULATED MEANS + ROOT MEAN SQUARES IF DESIRED         CF2 4550
      IF(IQ(15) )  365,362,365                                          CF2 4560
C ---      LIST DELETED OBSERVATIONS, IF ANY.                           CF2 4570
  362 IF(NOMIT.EQ.0) GO TO 364                                          CF2 4580
      IF(NFOUND.EQ.0) GO TO 909                                         CF2 4590
      WRITE(KTOU,907)                                                   CF2 4600
  907 FORMAT(21H0OBSERVATIONS DELETED)                                  CF2 4610
      WRITE(KTOU,908) (JOMIT(JZ),JZ=1,NFOUND)                           CF2 4620
  908 FORMAT(2X, 10I12)                                                 CF2 4630
      IF((NOMIT-NFOUND).EQ.0) GO TO 364                                 CF2 4640
  909 WRITE(KTOU,910)                                                   CF2 4650
  910 FORMAT(23H0OBSERVATIONS NOT FOUND )                               CF2 4660
      J = NFOUND + 1                                                    CF2 4670
      WRITE(KTOU,908) (JOMIT(JZ),JZ=J,NOMIT)                            CF2 4680
  364 WRITE(KTOU,911)                                                   CF2 4690
      TYPE 911                                                          CF2 4691
  911 FORMAT(19H0MEANS OF VARIABLES)                                    CF2 4700
      WRITE(KTOU,875) (AVG(JZ), JZ = 1, NOVAR )                         CF2 4710
      TYPE 875, (AVG(JZ),JZ=1,NOVAR)                                    CF2 4711
      WRITE(KTOU,915)                                                   CF2 4720
      TYPE 915                                                          CF2 4721
  915 FORMAT(31H0ROOT MEAN SQUARES OF VARIABLES )                       CF2 4730
      WRITE(KTOU,875) (STDDEV(JZ), JZ = 1,NOVAR )                       CF2 4740
      TYPE 875, (STDDEV(JZ), JZ = 1,NOVAR )                             CF2 4741
C                                                                       CF2 4750
C          PUNCHOUTS FOR SEPARATE CP PROGRAM                            CF2 4760
  365 GO TO(3305,369), KCP                                              CF2 4770
3305     CONTINUE                                                       CF2 4771
C3305 WRITE(KTPCH,3307) PR1,PR2,PR3,NOVAR,NOOBSV                        CF2 4780
C3307 FORMAT(6HCPCPCP,3A6,2Z8)                                          CF2 4790
C     WRITE(KTPCH,1020)(STDDEV(JZ),JZ=1,NOVAR)                          CF2 4800
  369 ISIZE  =  MXSIZE/NOOBSV                                           CF2 4810
      IRTRN=3                                                           CF2 4820
      RETURN                                                            CF2 4830
      END                                                               CF2 4840
      SUBROUTINE FIT(DE,MAXINF,NBSV,ISIZE,IRTRN)                        CF3 0010
C                                                                       CF3 0020
C          SUBROUTINE CALCULATES COEFFICIENTS OF EACH INDEPENDENT       CF3 0030
C     VARIABLE, CALCULATES AND LISTS STATISTICS OF FIT, CALCULATES      CF3 0040
C     FITTED Y VALUES AND RESIDUALS, AND ORDERS RESIDUALS, CALCULATES   CF3 0050
C     COMPONENT EFFECTS TABLE AND ESTIMATES ERROR FROM NEAR NEIGHBORS.  CF3 0060
C                                                                       CF3 0070
      IMPLICIT REAL*8(A-H,O-Z)                                          CF3 0080
      DOUBLE PRECISION IDZA(1000)                                       CF3 0090
      REAL*4 DE(NBSV,ISIZE), STDRES(1000)                               CF3 0091
      DIMENSION AMAX(40), AMIN(40), AVG(40), B(40), D(40),              CF3 0100
     1          DELSD(1000), DELTA(1000), DELYN(1000), IDRS1(1000),     CF3 0110
     2          IDRS2(1000), IOMIT( 65), JSORT(1000), RELINF(40),       CF3 0120
     3          SIGMA(40), STDDEV(40), TVALUE(40), VAR(40), W1(40),     CF3 0130
     4          XXIN(1000), YRESID(40), YYCC(1000), YYIN(1000)          CF3 0140
C --- THE DIMENSIONS OF DE(NOOBSV,ISIZE) ARE SET IN CALL FIT IN CF2.    CF3 0150
C --- ISIZE = MXSIZE/NOOBSV.  MXSIZE = THE DIMENSIONS OF C AND Z.       CF3 0160
      COMMON /AAAAAA/ COM1(1000)                                        CF3 0170
      COMMON /BBBBBB/ COM2(186)                                         CF3 0180
      COMMON /CCCCCC/ COM3(240)                                         CF3 0190
      COMMON /DDDDDD/ COM4(3500)                                        CF3 0200
      COMMON /EEEEEE/ LSORT(1000)                                       CF3 0210
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF3 0220
      COMMON /FORFIT/ RMS, YCMAX, YCMIN, INTDUM, K411, NCP              CF3 0230
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF3 0240
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF3 0250
      COMMON /JJJJJJ/ IDZB(1000)                                        CF3 0260
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF3 0270
     1                NOOBSV, ICURY                                     CF3 0280
      COMMON /LLLLLL/ XEFMT, JOMIT(35), JIVOS(35), JIV(35), NOMIT,      CF3 0290
     1                NIVOS, NFOUND, JFOUND                             CF3 0291
      COMMON /NNNNNN/ DEFR, XNOIND, NOVM1, MXVRBT, MXVPBT, MXVRAT,      CF3 0300
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF3 0310
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF3 0320
      COMMON /PPPPPP/ JNOVAR, KCP, NRDLMT                               CF3 0330
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF3 0340
      COMMON /RRRRRR/ KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5            CF3 0350
C ---          EQUIVALENCE STATEMENTS IN CF 2 AND 3(IOMIT ALSO IN 1, 5) CF3 0360
      EQUIVALENCE (COM1(1),AMAX(1)), (COM1(81),AMIN(1)),                CF3 0370
     1            (COM1(161),W1(1)), (COM1(241),D(1)),                  CF3 0380
     2            (COM1(321),IOMIT(1))                                  CF3 0381
      EQUIVALENCE (COM3(1),AVG(1)), (COM3(81),SIGMA(1)),                CF3 0390
     1            (COM3(161),STDDEV(1))                                 CF3 0400
C ---          EQUIVALENCE STATEMENTS IN CF 3 ALONE                     CF3 0410
      EQUIVALENCE (BETA(1),TVALUE(1)), (COM1(426),RELINF(1))            CF3 0420
      EQUIVALENCE (COM2(1),YRESID(1)), (COM2(1),VAR(1)),                CF3 0430
     1            (COM2(107),B(1))                                      CF3 0440
      EQUIVALENCE (COM4(3001),JSORT(1)), (COM4(1001),XXIN(1)),          CF3 0450
     1            (COM4(1001),IDZA(1)),  (COM4(2001),YYIN(1)),          CF3 0460
     2            (COM4(1001),DELYN(1)), (COM4(2001),DELSD(1))          CF3 0470
      EQUIVALENCE (C(1),IDRS1(1)), (Z(1),IDRS2(1))                      CF3 0480
C ---          EQUIVALENCE STATEMENTS IN CF 3, 9                        CF3 0490
      EQUIVALENCE (COM1(1),DELTA(1)), (COM4(1),YYCC(1))                 CF3 0500
      DATA EFORMT/1HE/                                                  CF3 0510
C1020 FORMAT(5Z16)                                                      CF3 0520
      IF(K411.EQ.411) GO TO 411                                         CF3 0530
      DO 370  I = 1, NOVM1                                              CF3 0540
      IPL1 =I+1                                                         CF3 0550
      DO 370   J=IPL1, NOVAR                                            CF3 0560
      Z(I,J)=Z(I,J)/(SIGMA(I)*SIGMA(J))                                 CF3 0570
C          SQUARE THE TRIANGULAR R(I,J) MATRIX                          CF3 0580
370   Z(J,I)= Z(I,J)                                                    CF3 0590
C          CHECK FOR SPILLS                                             CF3 0600
C          PUNCH R(I,J) VALUES, TRIANGULAR, IF CONFIDENCE INTERVAL DATA CF3 0610
C            NEEDED.                                                    CF3 0620
      IF(IQ(9) -1) 373, 372,373                                         CF3 0630
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF3 0640
372   CONTINUE                                                          CF3 0641
C 372 WRITE(KTPCH,1020)((Z(JZA,JZB),JZB=1,KNOIND),JZA=1,KNOIND)         CF3 0650
C          LIST THE SIMPLE CORRELATION COEFFICIENTS IF DESIRED          CF3 0660
  373 IF(IQ(16) ) 385,375,385                                           CF3 0670
  375 WRITE(KTOU,920)                                                   CF3 0680
  920 FORMAT(1H0,45HSIMPLE CORRELATION COEFFICIENTS, R(I,I PRIME))      CF3 0690
      DO 149 J=1, NOVAR                                                 CF3 0700
  149 WRITE(KTOU,3040) J, (Z(JZ,J),JZ=1,J)                              CF3 0710
C          INVERT INDEPENDENT VARIABLE PORTION OF THE SIMPLE CORRELATIONCF3 0720
C          COEFFICIENT MATRIX, R(I,J), I=J=NO. IND. VARIABLES           CF3 0730
  385 GO TO(3315,386), KCP                                              CF3 0740
C     CP  PUNCH                                                         CF3 0750
 3315 DO  3317  J = 1, NOVAR                                            CF3 0760
3317   CONTINUE                                                         CF3 0761
C3317 WRITE(KTPCH,1020)(Z(J,JZ),JZ=1,NOVAR)                             CF3 0770
C  ---STORE MATRIX TO BE INVERTED IN C.  ORIGINAL MATRIX IN Z IS        CF3 0780
C  ---PRESERVED                                                         CF3 0790
  386 DO 8338 I=1,NOIND                                                 CF3 0800
      DO 8338 J=1,NOIND                                                 CF3 0810
 8338 C(I,J)=Z(I,J)                                                     CF3 0820
      NNNN=NOIND                                                        CF3 0830
      IQPLOT = IQ(18)                                                   CF3 0831
      CALL INV                                                          CF3 0840
C          AFTER INVERTING, THE INVERSE IS C(I,J)                       CF3 0850
C          CHECK FOR SPILLS                                             CF3 0860
      IF(NNNN.NE.999) GO TO 388                                         CF3 0870
      WRITE(KTOU,387)                                                   CF3 0880
      TYPE 387                                                          CF3 0881
  387 FORMAT(1H0,49H*******MATRIX OF SIMPLE CORRELATION COEFFICIENTS  , CF3 0890
     1 44HIS SINGULAR.  MATRIX WILL NOT INVERT.*******  )               CF3 0900
      IRTRN=1                                                           CF3 0910
      RETURN                                                            CF3 0911
C          LIST INVERSE IF DESIRED                                      CF3 0920
  388 IF(IQ(17) ) 400,390,400                                           CF3 0930
  390 WRITE(KTOU,925)                                                   CF3 0940
C          INVERSE LISTING                                              CF3 0950
  925 FORMAT(1H0,21HINVERSE, C(I,I PRIME))                              CF3 0960
      DO 395 I=1, NOIND                                                 CF3 0970
  395 WRITE(KTOU,3040) I, (C(I,JZ),JZ=1,I)                              CF3 0980
C --- ***NORMAL FORMAT                                                  CF3 0990
C3040 FORMAT(1H ,I4, 1X,10(F12.3)/(   6X, 10F12.3) )                    CF3 1000
C --- ***FORMAT USED TO CHECK PRECISION OF CALCULATIONS                 CF3 1010
C3040 FORMAT(1H ,I4, 1X, 6(1PE18.11, 2X)/ (   6X, 6(1PE18.11, 2X)) )    CF3 1020
C --- ***                                                               CF3 1030
 3040 FORMAT(1H ,I4, (T7,10F12.3) )                                     CF3 1040
C          BEGIN CALCULATIONS FOR EACH DEPENDENT VARIABLE               CF3 1050
  400 REWIND KTBIN2                                                     CF3 1060
C          PUNCH REMAINDER OF NON-REPITITIVE DATA FOR CONFIDENCE INTER- CF3 1070
C            VAL CALCULATIONS.                                          CF3 1080
      IF(IQ(9) -1 ) 401,510,401                                         CF3 1090
C          PUNCH MEANS OF THE INDEPENDENT VARIABLES                     CF3 1100
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF3 1110
510   CONTINUE                                                          CF3 1111
C 510 WRITE(KTPCH,1020)(AVG(JZ),JZ=1,KNOIND)                            CF3 1120
C          PUNCH  INVERSE OF R(I,J) MATRIX                              CF3 1130
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF3 1140
C     WRITE(KTPCH,1020)((C(JZA,JZB),JZB=1,KNOIND),JZA=1,KNOIND)         CF3 1150
C          REARRANGE TRFMTN INFO IF BACK TRANSFORMING DEPENDENT VARIABLECF3 1160
  401 IF(IQ(3) ) 406,406,402                                            CF3 1170
  402 IF(IQ(8) ) 406,406,403                                            CF3 1180
  403 K=1                                                               CF3 1190
      DO 405 I=1, JNOVAR                                                CF3 1200
      IF(IOMIT(I)) 404, 404, 405                                        CF3 1210
  404 ITRFM(K) = ITRFM(I)                                               CF3 1220
      VARTR(K) = VARTR(I)                                               CF3 1230
      K =K+1                                                            CF3 1240
  405 CONTINUE                                                          CF3 1250
  406 NCP = IQ(25) + IQ(26)                                             CF3 1260
      WNOBS = Z(KNVP1,KNVP1)                                            CF3 1261
      J = NOVAR - NOIND                                                 CF3 1270
      IF(NCP.LT.1.AND.IQ(27).LT.1.AND.J.EQ.1.AND.IQ(18).LT.2) GO TO 410 CF3 1280
C ---    STORE SIMPLE CORR. COEFS. AND INVERSE WHEN IQ(25) AND IQ(26)=1 CF3 1290
  407 DO 408  I = 1, NOIND                                              CF3 1300
  408 WRITE(KTBIN1) (C(I,J), J = I,NOIND)                               CF3 1310
      DO 409 I = 1, NOVAR                                               CF3 1320
  409 WRITE(KTBIN1)    (Z(I,J), J = I,NOVAR )                           CF3 1330
      WRITE(KTBIN1) (AMAX(J),  J=1,NOVAR)                               CF3 1340
      WRITE(KTBIN1) (AMIN(J),  J=1,NOVAR)                               CF3 1350
      WRITE(KTBIN1) (AVG(J),   J=1,NOVAR)                               CF3 1360
      WRITE(KTBIN1) (SIGMA(J), J=1,NOVAR)                               CF3 1370
      WRITE(KTBIN1) (STDDEV(J),J=1,NOVAR)                               CF3 1380
      WRITE(KTBIN1) (W1(J),    J=1,NOVAR)                               CF3 1390
      WRITE(KTBIN1)  WNOBS                                              CF3 1391
C          SET LOOP TO CALCULATE STATISTICS FOR EACH DEPENDENT VARIABLE CF3 1400
  410 K = L                                                             CF3 1410
  411 RSQD = 0.0                                                        CF3 1420
      K411 = 0                                                          CF3 1430
      BZERO =0.0                                                        CF3 1440
      SUMB  =0.0                                                        CF3 1450
      REWIND KTBIN3                                                     CF3 1460
      YYMIN = 1E32                                                      CF3 1470
      YCMIN =1E32                                                       CF3 1480
      YYMAX = -YYMIN                                                    CF3 1490
      YCMAX = -YCMIN                                                    CF3 1500
      ICURY = K - NOIND                                                 CF3 1510
C          READ RESIDUAL VALUES FOR DEPENDENT VARIABLES                 CF3 1520
      READ(KTBIN2) (YRESID(JZ), JZ =1,NOIND )                           CF3 1530
      IF(ICURY.EQ.1) GO TO 418                                          CF3 1540
C ---    READ SIMPLE CORR. COEFS. AND INVERSE WHEN IQ(25) AND IQ(26)=1  CF3 1550
      REWIND KTBIN1                                                     CF3 1560
      IF(IQ(24).EQ.0) GO TO 412                                         CF3 1570
      READ(KTBIN1) ( DUM, I=1, NOVAR)                                   CF3 1580
  412 DO 413  I = 1, NOIND                                              CF3 1590
  413 READ(KTBIN1) (C(I,J), J = I,NOIND)                                CF3 1600
C          SQUARE C MATRIX.                                             CF3 1610
      NOIM1 = NOIND - 1                                                 CF3 1620
      DO 414  I = 1, NOIM1                                              CF3 1630
      IPL1 =I+1                                                         CF3 1640
      DO 414 J = IPL1, NOIND                                            CF3 1650
  414 C(J,I)= C(I,J)                                                    CF3 1660
      DO 416 I = 1, NOVAR                                               CF3 1670
  416 READ(KTBIN1)    (Z(I,J), J = I,NOVAR )                            CF3 1680
      READ(KTBIN1) (AMAX(J),  J=1,NOVAR)                                CF3 1690
      READ(KTBIN1) (AMIN(J),  J=1,NOVAR)                                CF3 1700
      READ(KTBIN1) (AVG(J),   J=1,NOVAR)                                CF3 1710
      READ(KTBIN1) (SIGMA(J), J=1,NOVAR)                                CF3 1720
      READ(KTBIN1) (STDDEV(J),J=1,NOVAR)                                CF3 1730
      READ(KTBIN1) (W1(J),    J=1,NOVAR)                                CF3 1740
      READ(KTBIN1)  WNOBS                                               CF3 1741
C          SQUARE Z MATRIX.                                             CF3 1750
      DO 417  I = 1, NOVM1                                              CF3 1760
      IPL1 = I + 1                                                      CF3 1770
      DO 417 J = IPL1, NOVAR                                            CF3 1780
  417 Z(J,I)= Z(I,J)                                                    CF3 1790
C          WRITE HEADING LINE FOR STATISTICS                            CF3 1800
  418 WRITE(KTOU,5101) PR1,PR2,PR3,ICURY,BI(K), AMIN(K), AMAX(K), W1(K) CF3 1810
 5101 FORMAT(1H1,38X,42HLINEAR LEAST-SQUARES CURVE-FITTING PROGRAM//    CF3 1820
     1     1X, 3A6,9H  DEP VAR,I2,2H: ,A6,        22X,8HMIN Y = ,       CF3 1830
     2     1PE10.3,2X,8HMAX Y = ,1PE10.3,2X,10HRANGE Y = ,1PE10.3/ )    CF3 1840
      TYPE 5100,PR1,PR2,PR3,ICURY,BI(K),AMIN(K),AMAX(K),W1(K)           CF3 1841
 5100 FORMAT(//1H ,3A6,9H  DEP VAR,I2,2H: ,A6,22X,8HMIN Y = ,1PE10.3,2X,CF3 1842
     1         8HMAX Y = ,1PE10.3,2X,10HRANGE Y = ,1PE10.3/)            CF3 1843
      IF(IQ(23).LT.1) GO TO 942                                         CF3 1850
      NEQU = IQ(23)*12                                                  CF3 1860
      WRITE(KTOU,943) (EQU(I), I=1, NEQU )                              CF3 1870
  943 FORMAT(1H , 18X, 12A6 )                                           CF3 1880
  942 IF(NOMIT.EQ.0) GO TO 944                                          CF3 1881
      IF(NFOUND.EQ.0) GO TO 909                                         CF3 1882
      WRITE(KTOU,907) (JOMIT(JZ),JZ=1,NFOUND)                           CF3 1883
  907 FORMAT(19X,22HOBSERVATIONS DELETED: ,8(I4,2X),7(/41X,8(I4,2X)))   CF3 1884
      IF((NOMIT-NFOUND).EQ.0) GO TO 944                                 CF3 1885
      J = NFOUND + 1                                                    CF3 1886
  909 WRITE(KTOU,910) (JOMIT(JZ),JZ=J,NOMIT)                            CF3 1887
  910 FORMAT(19X,24HOBSERVATIONS NOT FOUND: ,8(I4,2X),7(/43X,8(I4,2X))) CF3 1888
  944 WRITE(KTOU,945)                                                   CF3 1889
      TYPE 945                                                          CF3 1890
  945 FORMAT(1H0,10HIND.VAR(I),3X,4HNAME,4X,9HCOEF.B(I),6X,             CF3 1900
     110HS.E. COEF.,3X,7HT-VALUE,3X,8HR(I)SQRD,4X,8HMIN X(I),7X,        CF3 1910
     28HMAX X(I),6X,10HRANGE X(I),2X,12HREL.INF.X(I) )                  CF3 1920
C          CALCULATE BETA VALUES                                        CF3 1930
      DO 420 I=1, NOIND                                                 CF3 1940
      BETA(I) = 0.0                                                     CF3 1950
      DO 419 J=1, NOIND                                                 CF3 1960
C --- K IS THE POSITION OF THE DEPENDENT VARIABLE                       CF3 1970
  419 BETA(I)=BETA(I)+C(I,J)*Z(J,K)                                     CF3 1980
C          CALCULATE B(I), COEFFICIENTS OF EQUATION                     CF3 1990
      B(I)  =BETA(I)*SIGMA(K)/SIGMA(I)                                  CF3 2000
C          CALCULATE B(I)*X(I) FOR BZERO CALCULATIONS                   CF3 2010
      BZERO = BZERO +(B(I)*AVG(I))                                      CF3 2020
C          CALCULATE R ZERO SQ, OVER-ALL  MULT. CORREL. COEFF.          CF3 2030
  420 RSQD=RSQD + BETA(I)*Z(I,K)                                        CF3 2040
C          CALC BZERO                                                   CF3 2050
      BZERO =AVG(K)-BZERO                                               CF3 2060
C          CALCULATE  CONSTANT TERM FOR SIGMA BETA CALC                 CF3 2070
      FACTOR = DSQRT((1.0 - RSQD)/DEFR)                                 CF3 2080
C          CALCULATE STATISTICS + LIST FOR EACH IND. VARIABLE           CF3 2090
      IF(IQ(5).EQ.1) GO TO 521                                          CF3 2100
  520 WRITE(KTOU,3012) BZERO                                            CF3 2110
      TYPE 3012, BZERO                                                  CF3 2111
C --- ***NORMAL FORMAT                                                  CF3 2120
C3012 FORMAT(1H ,5X,1H0,13X,1PE12.5)                                    CF3 2130
C --- ***FORMAT USED TO CHECK PRECISION OF CALCULATIONS                 CF3 2140
C3012 FORMAT(1H ,5X,1H0,12X,1PD18.11)                                   CF3 2150
C --- ***                                                               CF3 2160
 3012 FORMAT(1H ,5X,1H0,13X,1PE12.5)                                    CF3 2170
      GO TO 523                                                         CF3 2180
  521 WRITE(KTOU,522)                                                   CF3 2190
      TYPE 522                                                          CF3 2191
  522 FORMAT(1H ,5X,1H0,14X,8HB(0) = 0 )                                CF3 2200
  523 DO 425 I=1, NOIND                                                 CF3 2210
C          CALCULATE STANDARD DEV. OF BETA                              CF3 2220
      SGBETA = DSQRT(C(I,I)) * FACTOR                                   CF3 2230
C          CALCULATE T-VALUE AND PLACE IN BETA FOR USE IN CPMAIN.       CF3 2240
      TVALUE(I) = DABS(BETA(I)/SGBETA)                                  CF3 2250
C          CALCULATE SIGMA B                                            CF3 2260
      SIGB  =SGBETA*SIGMA(K)/SIGMA(I)                                   CF3 2270
      RELINF(I) = DABS(B(I)*W1(I)/W1(K))                                CF3 2280
      RISQRD = 1. - (1./C(I,I) )                                        CF3 2290
C          WRITE THESE VALUES                                           CF3 2300
      WRITE(KTOU,950) I, BI(I), B(I), SIGB, TVALUE(I), RISQRD, AMIN(I), CF3 2310
     1 AMAX(I), W1(I), RELINF(I)                                        CF3 2320
      TYPE 950,I,BI(I),B(I),SIGB,TVALUE(I),RISQRD,AMIN(I),AMAX(I),W1(I),CF3 2321
     1         RELINF(I)                                                CF3 2322
C --- ***NORMAL FORMAT                                                  CF3 2330
C 950 FORMAT(1H ,4X,I2,5X,A6,   2X,1PE12.5, 5X,1PE9.2,4X,0PF5.1,5X,     CF3 2340
C --- ***FORMAT USED TO CHECK PRECISION OF CALCULATIONS                 CF3 2350
C 950 FORMAT(1H ,4X,I2,5X,A6, 1X,  1PE18.11,   1PE9.2,4X,0PF5.1,5X,     CF3 2360
C --- ***                                                               CF3 2370
  950 FORMAT(1H ,4X,I2,5X,A6,   2X,1PE12.5, 5X,1PE9.2,4X,0PF5.1,5X,     CF3 2380
     1F7.4,1PE14.3,1PE15.3,5X,1PE10.3,4X,0PF6.2 )                       CF3 2390
      D(I) = SIGB*SIGB                                                  CF3 2391
  425 SUMB=SUMB+(B(I)*YRESID(I))                                        CF3 2400
C          CHECK FOR SPILLS                                             CF3 2410
C          PERFORM F RATIO TEST ON OVERALL REGRESSION                   CF3 2420
      FRATIO =RSQD*DEFR/(XNOIND*(1.0-RSQD))                             CF3 2430
C          CALCULATE TOTAL SUM OF SQUARES, SSYT                         CF3 2440
      SSYT=SIGMA(K)*SIGMA(K)                                            CF3 2450
C          CALCULATE RESIDUAL SUM OF SQUARES, RSS                       CF3 2460
      RSS   = SSYT - SUMB                                               CF3 2470
C          CALCULATE RESIDUAL MEAN SQUARE, RMS                          CF3 2480
      RMS = RSS/DEFR                                                    CF3 2490
C          CALCULATE RESIDUAL ROOT MEAN SQUARE, RRMS                    CF3 2500
      RRMS = DSQRT(RMS)                                                 CF3 2510
C          LIST THE STATISTICS COMPUTED                                 CF3 2520
      IF(IQ(5).EQ.0) GO TO 421                                          CF3 2530
C ---      REDEFINE RSQD IF B0 = ZERO                                   CF3 2540
      FACTOR = AVG(K)*AVG(K)*WNOBS                                      CF3 2550
      SSYT = SSYT - FACTOR                                              CF3 2560
      SUMB = SUMB - FACTOR                                              CF3 2570
      RSQD = SUMB/SSYT                                                  CF3 2580
  421 XNOBS = DFLOAT(NOOBSV)                                            CF3 2590
      XNOIND= DFLOAT(NOIND)                                             CF3 2591
      WRITE(KTOU,3014) NOOBSV                                           CF3 2592
      TYPE 3014, NOOBSV                                                 CF3 2593
 3014 FORMAT(1H0,19HNO. OF OBSERVATIONS,11X,I5)                         CF3 2600
      WRITE(KTOU,3016) NOIND                                            CF3 2610
 3016 FORMAT(1H ,21HNO. OF IND. VARIABLES,10X,I4)                       CF3 2620
      NDEFR=DEFR+0.01                                                   CF3 2630
      WRITE(KTOU,3018) NDEFR                                            CF3 2640
 3018 FORMAT(1H , 27HRESIDUAL DEGREES OF FREEDOM,4X,I4)                 CF3 2650
      IF(IQ(5).EQ.1) GO TO 422                                          CF3 2660
      WRITE(KTOU,3020) FRATIO                                           CF3 2670
 3020 FORMAT(1H ,7HF-VALUE,22X,F8.1)                                    CF3 2680
  422 WRITE(KTOU,3022) RRMS                                             CF3 2690
 3022 FORMAT(1H ,25HRESIDUAL ROOT MEAN SQUARE,3X,F16.8)                 CF3 2700
      WRITE(KTOU,3024) RMS                                              CF3 2710
 3024 FORMAT(1H ,20HRESIDUAL MEAN SQUARE,8X,F16.8)                      CF3 2720
      WRITE(KTOU,3026) RSS                                              CF3 2730
      TYPE 3026, RSS                                                    CF3 2731
 3026 FORMAT(1H ,23HRESIDUAL SUM OF SQUARES,5X,F16.8)                   CF3 2740
      TYPE 3028, SSYT                                                   CF3 2751
      WRITE(KTOU,3028) SSYT                                             CF3 2750
 3028 FORMAT(1H ,20HTOTAL SUM OF SQUARES,6X,F18.8)                      CF3 2760
      WRITE(KTOU,3030) RSQD                                             CF3 2770
 3030 FORMAT(1H ,27HMULT. CORREL. COEF. SQUARED,8X,F5.4)                CF3 2780
C     ADJRSQ = 1.-(RMS/(SSYT/DFLOAT(NOOBSV-1)))                         CF3 2781
C     WRITE(KTOU,3031) ADJRSQ                                           CF3 2782
C3031 FORMAT(' ADJ. MULT. CORR. COEF. SQUARED',5X,F5.4)                 CF3 2783
  999 FORMAT(//52H0 *** PRINT OUTPUT FILE FOR COMPLETE INFORMATION ***/)CF3 2785
      TYPE 999                                                          CF3 2786
      PAR = XNOBS - DEFR                                                CF3 2787
C --- TO CALCULATE FIT AND RESIDUALS USING COEFFICIENTS SAVED FROM      CF3 2790
C ---    PREVIOUS RUN.                                                  CF3 2800
C --- CONTROL CARD COL 59, IQ(31)=1, WRITE B(0)AND B(I)'S ON KTBIN5     CF3 2810
C ---                      IQ(31)=2,  READ B(0)AND B(I)'S ON KTBIN5     CF3 2820
      NEWOBS = IQ(31)                                                   CF3 2821
      IF(NEWOBS.EQ.0) GO TO 6901                                        CF3 2830
      REWIND KTBIN5                                                     CF3 2840
      IF(NEWOBS.EQ.2) GO TO 6001                                        CF3 2850
      IF(IQ(5).EQ.1) BZERO = 0.0                                        CF3 2860
      WRITE(KTBIN5) BZERO, (B(J),J=1,NOVAR)                             CF3 2870
      DO 6018 I = 1, NOIND                                              CF3 2871
 6018 WRITE(KTBIN5) (C(I,J),J=1,NOIND)                                  CF3 2872
      WRITE(KTBIN5) (SIGMA(J),J=1,NOIND),(AVG(J),J=1,NOIND),RRMS,WNOBS, CF3 2873
     1               DEFR, PAR                                          CF3 2874
      WRITE(KTOU,6020)                                                  CF3 2880
 6020 FORMAT(1H0,  39H*** COEFFICIENTS SAVED AS REQUESTED *** )         CF3 2890
      GO TO 6901                                                        CF3 2900
 6001 READ(KTBIN5)  BZERO, (B(J),J=1,NOVAR)                             CF3 2910
      DO 6022 I = 1, NOIND                                              CF3 2911
 6022 READ(KTBIN5) (C(I,J),J=1,NOIND)                                   CF3 2912
      READ(KTBIN5) (SIGMA(J),J=1,NOIND),(AVG(J),J=1,NOIND),VRRMS,VNOBS, CF3 2913
     1              VDEFR, VPAR                                         CF3 2914
C          SQUARE C MATRIX.                                             CF3 2915
      NOIM1 = NOIND - 1                                                 CF3 2916
      DO 6023 I = 1, NOIM1                                              CF3 2917
      IPL1 =I+1                                                         CF3 2918
      DO 6023 J = IPL1, NOIND                                           CF3 2919
 6023 C(J,I)= C(I,J)                                                    CF3 2920
      WRITE(KTOU,946)                                                   CF3 2921
  946 FORMAT(1H0,10HIND.VAR(I),3X,4HNAME,4X,9HCOEF.B(I),41X,            CF3 2930
     18HMIN X(I),7X,8HMAX X(I),6X,10HRANGE X(I),2X,12HREL.INF.X(I) )    CF3 2940
      WRITE(KTOU,6030)                                                  CF3 2950
 6030 FORMAT(1H0, 38H*** COEFFICIENTS FROM PREVIOUS FIT *** )           CF3 2960
      WRITE(KTOU,3012) BZERO                                            CF3 2970
      DO 6425 I=1, NOIND                                                CF3 2980
      RELINF(I) = DABS(B(I)*W1(I)/W1(K))                                CF3 2990
 6425 WRITE(KTOU,951) I,BI(I),B(I),AMIN(I),AMAX(I),W1(I),RELINF(I)      CF3 3000
  951 FORMAT(1H ,4X,I2,5X,A6,   2X,1PE12.5, 35X,                        CF3 3010
     1     1PE14.3,1PE15.3,5X,1PE10.3,4X,0PF6.2 )                       CF3 3020
      RSS = 0.0                                                         CF3 3030
 6901 CALL SORT(NOIND, RELINF, LSORT )                                  CF3 3040
      IF(NOIND.EQ.1) LSORT(1) = 1                                       CF3 3050
      MAXINF = LSORT(NOIND)                                             CF3 3060
      NTABLE = IQ(27)                                                   CF3 3061
      IF(NOOBSV.LE.MXOBSV) GO TO 3034                                   CF3 3070
      WRITE(KTOU,3032) MXOBSV                                           CF3 3080
 3032 FORMAT(1H0//1X, 36HNUMBER OF OBSERVATIONS GREATER THAN ,I4,       CF3 3090
     1 36H. CALCULATIONS OF RESIDUALS SKIPPED.  )                       CF3 3100
      GO TO 481                                                         CF3 3110
 3034 IF(NTABLE.LT.1.OR.NTABLE.GT.2) GO TO 426                          CF3 3120
      IF(NTABLE.GT.1) GO TO 4444                                        CF3 3130
C                                                                       CF3 3140
C --- SET LIMIT OF EFFECT OF REQUIRED X(I) PRECISION                    CF3 3141
      PI = 1.0                                                          CF3 3142
      PI = PI/XNOIND                                                    CF3 3143
      DUM  = XNOBS/(RMS*PI*12.)                                         CF3 3144
      WRITE(KTOU,2040)                                                  CF3 3145
 2040 FORMAT(1H0,71X,23HREQUIRED X(I) PRECISION,        /67X, 7H(DIGIT  CF3 3146
     126HRIGHT OF DECIMAL POSITIVE,/75X,25HLEFT OF DECIMAL NEGATIVE) )  CF3 3147
      WRITE(KTOU,2042)                                                  CF3 3148
 2042 FORMAT(1H0, 73X,10HIND.VAR(I),4X,5HDIGIT )                        CF3 3149
      DO 221 I=1,NOIND                                                  CF3 3150
      D(I) = D(I)*DUM                                                   CF3 3151
      IF(D(I).LE.0.) D(I)=1.0E-10                                       CF3 3152
      DNP = DLOG10(D(I))                                                CF3 3153
      IF(DNP.LE.0.) GO TO 876                                           CF3 3154
      DNP = DNP/2.                                                      CF3 3155
      GO TO 878                                                         CF3 3156
  876 DNP = (DNP/2.) - 1.                                               CF3 3157
  878 NP  = DNP + DSIGN(.5D0,DNP)                                       CF3 3158
      IF(NP.EQ.0) NP= 1                                                 CF3 3159
      IF(AMAX(I).EQ.1.0.AND.W1(I).EQ.1.0) NP = -1                       CF3 3160
      IF(W1(I).EQ.0.0) NP = -1                                          CF3 3161
  221 WRITE(KTOU,2044)  I, NP                                           CF3 3162
 2044 FORMAT(1H , 77X, I2, 8X, I3 )                                     CF3 3163
C --- ******TRAP NOT TO EXEED DIMENTIONS OF DE(NOOBSV,ISIZE))***********CF3 3164
 4444 IF(NOIND.LE.2*ISIZE) GO TO 4                                      CF3 3165
C --- IN SINGLE PRECISION, J=MXSIZE, IN DOUBLE J=2*MXSIZE.              CF3 3166
      J = 2*MXSIZE                                                      CF3 3167
      WRITE(KTOU,3) J                                                   CF3 3170
    3 FORMAT(1H0//48H NUMBER OF OBSERVATIONS X NUMBER OF INDEPENDENT ,  CF3 3180
     1 17HVARIABLES EXCEEDS/1X,31HCURRENT DIMENSIONS OF COMPONENT,      CF3 3190
     2 39H EFFECT OR NEAR NEIGHBOR CALCULATIONS (, I5, 1H) )            CF3 3200
      GO TO 426                                                         CF3 3210
    4 IF(NTABLE.GT.1) GO TO 102                                         CF3 3220
C --- CALCULATE COMPONENT EFFECT TABLE.                                 CF3 3221
C ---    LOAD JSORT WITH RELINF IN DECENDING ORDER.                     CF3 3230
      NT = NOIND + 1                                                    CF3 3240
      DO 2 IA = 1, NOIND                                                CF3 3250
      JA = NT - IA                                                      CF3 3260
      IB = LSORT(JA)                                                    CF3 3270
      RELINF(IA) = BI(IB)                                               CF3 3280
    2 JSORT(IA) = IB                                                    CF3 3290
      WRITE(KTOU,5102)                                                  CF3 3300
 5102 FORMAT(1H1,38X,42HLINEAR LEAST-SQUARES CURVE FITTING PROGRAM)     CF3 3310
      WRITE(KTOU,5104) PR1,PR2,PR3,ICURY,BI(K)                          CF3 3320
 5104 FORMAT(1H0,   3A6,9H  DEP VAR,I2,2H: ,A6)                         CF3 3330
      WRITE(KTOU,8)                                                     CF3 3340
    8 FORMAT(1H0,  42HCOMPONENT EFFECT OF EACH VARIABLE ON EACH ,       CF3 3350
     1 27HOBSERVATION (IN UNITS OF Y)                                   CF3 3360
     2/ 52H (VARIABLES ORDERED BY THEIR RELATIVE INFLUENCE --- ,        CF3 3370
     363HOBSERVATIONS ORDERED BY INFLUENCE OF MOST INFLUENTIAL VARIABLE)CF3 3380
     5//1X,5H SEQ., 6H OBSV., 8X, 9HVARIABLES)                          CF3 3390
      WRITE(KTOU,9) (JSORT(I),I = 1, NOIND)                             CF3 3400
    9 FORMAT(1H , 11X, 14(4X,I4), 5(/12X,14(4X,I4)) )                   CF3 3410
      WRITE(KTOU,11) (RELINF(I), I=1,NOIND)                             CF3 3420
   11 FORMAT( 1H , 11X, 14(2X,A6), 5(/12X,14(2X,A6)) )                  CF3 3430
C --- CALCULATIONS USED IN BOTH COMPONENT EFFECT AND NEAR NEIGHBORS.    CF3 3431
  102 DO  6 IA = 1, NOOBSV                                              CF3 3440
      READ(KTBIN3) DUM,      IDZB(IA), (VAR(JZ), JZ = 1, NOVAR )        CF3 3450
      YYIN(IA) = VAR(K)                                                 CF3 3460
      YCALC = BZERO                                                     CF3 3470
      DO  5 IB = 1, NOIND                                               CF3 3480
      YCALC = YCALC + B(IB)*VAR(IB)                                     CF3 3490
    5 DE(IA,IB) = B(IB)*(VAR(IB) - AVG(IB))                             CF3 3500
    6 YYCC(IA) = YCALC                                                  CF3 3510
      DO  7 IC = 1, NOOBSV                                              CF3 3520
      DELTA(IC) = YYIN(IC) - YYCC(IC)                                   CF3 3530
    7 XXIN(IC) = DE(IC,MAXINF)                                          CF3 3540
      REWIND KTBIN3                                                     CF3 3550
      NTP = NOOBSV + 1                                                  CF3 3560
      NTL = NOOBSV                                                      CF3 3570
      IF(NTABLE.GT.1) GO TO 103                                         CF3 3580
C --- MORE COMPONENT EFFECT TABLE CALCULATIONS.                         CF3 3581
      CALL SORT(NOOBSV, XXIN, LSORT)                                    CF3 3590
      DO 12 IA = 1, NTL                                                 CF3 3600
      JB = NTP - IA                                                     CF3 3610
      JA = LSORT(JB)                                                    CF3 3620
      DO 10 I = 1, NOIND                                                CF3 3621
      JC = JSORT(I)                                                     CF3 3622
   10 XXIN(I) = DE(JA,JC)                                               CF3 3623
   12 WRITE(KTOU,13) IA, IDZB(JA), ( XXIN(I), I=1,NOIND)                CF3 3630
   13 FORMAT(1H , I4, 2X, I4, 2X, 14(F8.2), 5(/13X,14(F8.2)) )          CF3 3640
  103 CALL SORT(NOOBSV, YYCC, LSORT)                                    CF3 3650
      JC = 4                                                            CF3 3660
   14 J = NTL*JC                                                        CF3 3670
      IF(J.LE.MXOBSV) GO TO 15                                          CF3 3680
      JC = JC - 1                                                       CF3 3690
      GO TO 14                                                          CF3 3700
   15 IC = 0                                                            CF3 3710
      DO 17 JD = 1, JC                                                  CF3 3720
      NTL = NTL - 1                                                     CF3 3730
      DO 17 IA = 1, NTL                                                 CF3 3740
      JA1 = LSORT(IA)                                                   CF3 3750
      JB = IA + JD                                                      CF3 3760
      JA2 = LSORT(JB)                                                   CF3 3770
      SSD = 0.0                                                         CF3 3780
      DO 16 IB = 1, NOIND                                               CF3 3790
      ADJAY = DE(JA1,IB) - DE(JA2,IB)                                   CF3 3800
   16 SSD = SSD + (ADJAY*ADJAY)                                         CF3 3810
      IC = IC + 1                                                       CF3 3820
      DELSD(IC) = SSD/RMS                                               CF3 3830
   17 DELYN(IC) = DABS(DELTA(JA1) - DELTA(JA2) )                        CF3 3840
      NTL = NOOBSV                                                      CF3 3850
      IC = 0                                                            CF3 3860
      DO 117 JD = 1, JC                                                 CF3 3870
      NTL = NTL - 1                                                     CF3 3880
      DO 117 IA = 1, NTL                                                CF3 3890
      JA1 = LSORT(IA)                                                   CF3 3900
      JB = IA + JD                                                      CF3 3910
      JA2 = LSORT(JB)                                                   CF3 3920
      IC = IC + 1                                                       CF3 3930
      IDRS1(IC) = IDZB(JA1)                                             CF3 3940
  117 IDRS2(IC) = IDZB(JA2)                                             CF3 3950
      WRITE(KTOU,5102)                                                  CF3 3960
      WRITE(KTOU,5106) PR1,PR2,PR3,ICURY,BI(K),RRMS                     CF3 3970
 5106 FORMAT(1H0,   3A6,9H  DEP VAR,I2,2H: ,A6, 9X,                     CF3 3980
     1 45HRESIDUAL ROOT MEAN SQUARE OF FITTED EQUATION:,  F10.2 )       CF3 3990
      WRITE(KTOU,18) JC                                                 CF3 4000
   18 FORMAT(1H0,  47HSTANDARD DEVIATION ESTIMATED FROM RESIDUALS OF ,  CF3 4010
     1 44HNEIGHBORING OBSERVATIONS (OBSERVATIONS 1 TO ,I1, 7H APART ,   CF3 4020
     2 19HIN FITTED Y ORDER).//36H       CUMULATIVE     ---------ORDER, CF3 4030
     3 59HED BY WSSD----------  ---------ORDERED BY FITTED Y--------- / CF3 4040
     4 58H  NO.    STD DEV      WSSD   OBSV.  OBSV.  DEL RESIDUALS  ,   CF3 4050
     5 45HWSSD  DEL RESIDUALS  FITTED Y   OBSV.    SEQ. )               CF3 4060
      CALL SORT( IC, DELSD, JSORT)                                      CF3 4070
      SUMDLY = 0.0                                                      CF3 4080
      XDEFR = DFLOAT(NDEFR)                                             CF3 4090
      XNOBS = DFLOAT(NOOBSV)                                            CF3 4100
      ADJAY = 1.128*DSQRT(XDEFR/XNOBS)                                  CF3 4110
      NTL = NOOBSV                                                      CF3 4111
      IF(JC.EQ.1) NTL = NTL - 1                                         CF3 4112
      DO 19 IA = 1, NTL                                                 CF3 4120
      JA = JSORT(IA)                                                    CF3 4130
      IC = LSORT(IA)                                                    CF3 4140
      SUMDLY = SUMDLY + DELYN(JA)                                       CF3 4150
      STDDLY = SUMDLY / ( DFLOAT(IA)*ADJAY)                             CF3 4160
   19 WRITE(KTOU,20)IA,STDDLY,DELSD(JA),IDRS1(JA),IDRS2(JA),DELYN(JA),  CF3 4170
     1  DELSD(IA),DELYN(IA),YYCC(IC), IDZB(IC), IA                      CF3 4180
   20 FORMAT(1H ,I3, 2X,F8.2,4X,F8.2,2(3X,I4),3X,F8.2,3X,F8.2,2X,F8.2,  CF3 4190
     1     F13.2, 5X, I4, 4X, I4 )                                      CF3 4200
C                                                                       CF3 4210
C                                                                       CF3 4220
C ---                                                                   CF3 4230
      REWIND KTBIN1                                                     CF3 4240
C --- REPLACE Z AND C MATRIX IF CP SEARCH IS DESIRED.                   CF3 4250
      IF(IQ(24).EQ.0) GO TO 22                                          CF3 4260
      READ(KTBIN1) ( DUM, I=1, NOVAR)                                   CF3 4270
   22 DO 23  I = 1, NOIND                                               CF3 4280
   23 READ(KTBIN1) (C(I,J), J = I,NOIND)                                CF3 4290
      DO 24 I = 1, NOVAR                                                CF3 4300
   24 READ(KTBIN1)    (Z(I,J), J = I,NOVAR )                            CF3 4310
C ---      SQUARE C AND Z MATRIX.                                       CF3 4320
      NOVM1 = NOVAR - 1                                                 CF3 4330
      DO 26  I = 1, NOVM1                                               CF3 4340
      IPL1 = I + 1                                                      CF3 4350
      DO 26 J = IPL1, NOVAR                                             CF3 4360
      C(J,I)= C(I,J)                                                    CF3 4361
   26 Z(J,I)= Z(I,J)                                                    CF3 4370
C          CALCULATE FITTED Y AND LIST WITH RESIDUALS                   CF3 4380
C          INITIALIZE B ZERO WITH ZERO IF YCALC HAS BZERO = 0           CF3 4390
  426 IF(IQ(5)) 428,428,427                                             CF3 4400
  427 BZERO = 0.0                                                       CF3 4410
  428 IF(IQ(9).NE.1) GO TO 438                                          CF3 4411
C        HEXADECIMAL PUNCHOUT FOR CONFIDENCE INTERVAL PROGRAM***********CF3 4412
C     WRITE(KTPCH,1020)RMS,BZERO,(B(JZ),JZ=1,KNOIND)                    CF3 4420
  438 JBACK = 1                                                         CF3 4421
      IF(IQ(8).EQ.1) GO TO 430                                          CF3 4422
      JBACK = 0                                                         CF3 4423
C *****NOTE IF FUNCTION TABLE IS DESIRED AT ALL TIMES, PUT A C IN COL 1 CF3 4424
C *****OF IF(NTABLE---) GO TO 429, 475 AND 6903 SWITCH CARDS.********** CF3 4425
      IF(NTABLE.LT.1) GO TO 429                                         CF3 4426
      WRITE(KTOU,5102)                                                  CF3 4427
      WRITE(KTOU,5104) PR1,PR2,PR3,ICURY,BI(K)                          CF3 4428
      WRITE(KTOU,5108)                                                  CF3 4429
 5108 FORMAT(1H0,46HFUNCTIONS RELATED TO THE VARIANCE OF FITTED Y.,     CF3 4430
     1 41H  OBSERVATIONS ORDERED BY COMPUTER INPUT.)                    CF3 4431
      WRITE(KTOU,5110)                                                  CF3 4432
 5110 FORMAT(1H0,26X,11HSTUDENTIZED,32X,13HDELETE-EFFECT,/1X,6HIDENT.,  CF3 4433
     1 7H  OBSV.,4X,41HRESIDUAL  RESIDUAL   V(Y)/RMS  V(R)/RMS  ,       CF3 4434
     2 25HV(Y)/V(R)  VALUE  PERCENT )                                   CF3 4435
  429 IF(NEWOBS.EQ.2) DELETE = 0.0                                      CF3 4440
      INTER = 1                                                         CF3 4441
      IF(IQ(5).EQ.1) INTER = 0                                          CF3 4442
  430 PAR = XNOBS - DEFR                                                CF3 4443
      IF(NEWOBS.NE.2) GO TO 439                                         CF3 4444
      RRMS = VRRMS                                                      CF3 4445
      WNOBS = VNOBS                                                     CF3 4446
      PAR = VPAR                                                        CF3 4447
      DEFR = VDEFR                                                      CF3 4448
C --- SET MIN VALUE OF DELETE-EFFECT FVALUE TO CALCULATE PERCENT EFFECT.CF3 4449
  439 DEMIN = 0.47                                                      CF3 4450
      IF(PAR.GT.4) DEMIN = 0.90                                         CF3 4451
      DO 475 IB = 1, NOOBSV                                             CF3 4452
      COVTY = 0.                                                        CF3 4453
      READ(KTBIN3) IDZA(IB),IDZB(IB), (VAR(JZ), JZ = 1,NOVAR), WEIGHT   CF3 4460
      YCALC = BZERO                                                     CF3 4470
      DO 440 J=1, NOIND                                                 CF3 4480
  440 YCALC = YCALC + B(J) * VAR(J)                                     CF3 4490
C          INITIALIZE BACK-TRANSFORMATION ROUTINE                       CF3 4500
      IF(JBACK ) 470,470,445                                            CF3 4510
  445 CALL YBACK(K,YCALC)                                               CF3 4520
      CALL YBACK(K,VAR(K) )                                             CF3 4530
      STDRES(IB) = 0.0                                                  CF3 4531
  470 DIFF  = VAR(K)- YCALC                                             CF3 4540
      DELTA(IB) = DIFF                                                  CF3 4550
      YYIN(IB)  = VAR(K)                                                CF3 4560
      YYCC(IB)  = YCALC                                                 CF3 4570
      CALL MINMAX(YCMIN, YCMAX, YCALC )                                 CF3 4580
      RSS = RSS + (DIFF * DIFF)                                         CF3 4581
      IF(JBACK.EQ.1) GO TO 475                                          CF3 4590
C --- COMPUTATION FOR THE COVARIANCE CONTRIBUTION TO THE STANDARD ERROR CF3 4591
C --- OF THE PREDICTED Y (COVTY) AND THE RESIDUAL (COVTR).              CF3 4592
C ---                                                                   CF3 4593
      DO 444 J=1,NOIND                                                  CF3 4594
      DO 442 I=1,NOIND                                                  CF3 4595
C ---    NOTE : : :  C MATRIX CONTAINS (X'X) INVERSE                    CF3 4596
C --- COVTY IS THE COVARIANCE CONTRIBUTION TO                           CF3 4597
C --- THE STANDARD ERROR OF PREDICTED Y.                                CF3 4598
C ---    COVTR = 1. - COVTY, FOR NEW Y OBS. COVTR = 1. + COVTY.         CF3 4599
      COVTY=COVTY +                                                     CF3 4600
     1((VAR(J)-AVG(J))*(VAR(I)-AVG(I))*C(I,J)/(SIGMA(I)*SIGMA(J)))      CF3 4601
  442 CONTINUE                                                          CF3 4602
  444 CONTINUE                                                          CF3 4603
C --- ADD 1/SUM OF WEIGHTED OBSERVATIONS. IF NOT WEIGHTED L.S., WNOBS=N.CF3 4604
      COVTY=COVTY+(1.D0 / WNOBS)                                        CF3 4605
C ---                                                                   CF3 4606
C --- COVTY IS TERM REQUIRED FOR TOLERENCE INTERVAL CALCULATIONS,       CF3 4607
C ---    I.E.  COVAR TERM FOR PREDICTED Y.                              CF3 4608
      COVTR = (1.D0 / WEIGHT) - COVTY                                   CF3 4609
      IF(NEWOBS.EQ.2) COVTR = (1.D0 / WEIGHT) + COVTY                   CF3 4610
      IF(DABS(DELTA(IB)).LT.1.0D-06) DELTA(IB) = 0.0D0                  CF3 4620
C --- STDRES = STANDARDIZED RESIDUAL                                    CF3 4621
      STDRES(IB) = DELTA(IB)/(DSQRT(DABS(COVTR))*RRMS)                  CF3 4622
      IF(NTABLE.LT.1) GO TO 475                                         CF3 4623
C --- CALCULATE DELETE EFFECT, SEE COOK, TECHNOMETRICS, FEB. 1977.      CF3 4624
      VRATIO = COVTY/COVTR                                              CF3 4625
      IF(NEWOBS.EQ.2) GO TO 451                                         CF3 4626
      DELETE = STDRES(IB)*STDRES(IB)*VRATIO/PAR                         CF3 4627
C --- UNLESS FVALUE(DELETE) GT DEMIN, DO NOT CALCULATE % PROBILITY.     CF3 4628
      IF(DELETE.LT.DEMIN) GO TO 451                                     CF3 4629
      CALL FALPHA(PAR,DEFR,DELETE,PERCNT)                               CF3 4630
  450 WRITE(KTOU,5112) IDZA(IB),IDZB(IB),DELTA(IB),STDRES(IB),COVTY,    CF3 4640
     1 COVTR,VRATIO,DELETE,PERCNT                                       CF3 4641
 5112 FORMAT(1H ,A6,I6,F13.3,3X,F5.1,5X,F7.4,3X,F7.4,4X,F5.1,5X,F5.1,   CF3 4642
     1 3X, F4.0 )                                                       CF3 4643
      GO TO 475                                                         CF3 4644
  451 WRITE(KTOU,5112) IDZA(IB),IDZB(IB),DELTA(IB),STDRES(IB),COVTY,    CF3 4645
     1 COVTR,VRATIO,DELETE                                              CF3 4646
  475 CONTINUE                                                          CF3 4647
C ---                                                                   CF3 4650
      IF(NEWOBS.NE.2) GO TO 6902                                        CF3 4660
      RMS  = RSS/DEFR                                                   CF3 4661
      RRMS = DSQRT(RMS)                                                 CF3 4662
      WRITE(KTOU,5102)                                                  CF3 4663
      WRITE(KTOU,5104) PR1,PR2,PR3,ICURY,BI(K)                          CF3 4664
      WRITE(KTOU,5114)                                                  CF3 4665
 5114 FORMAT(1H0,45HFIT OF SECOND SAMPLE USING COEFFICIENTS FROM ,      CF3 4666
     1 20HFIRST SAMPLE OF DATA)                                         CF3 4667
      WRITE(KTOU,3014) NOOBSV                                           CF3 4668
      NPAR= NOOBSV - NDEFR                                              CF3 4670
      WRITE(KTOU,3015) NPAR                                             CF3 4680
 3015 FORMAT(1H ,17HNO. OF PARAMETERS,14X,I4)                           CF3 4681
      WRITE(KTOU,3018) NDEFR                                            CF3 4682
      RSQD = (SSYT - RSS - FACTOR) / SSYT                               CF3 4683
      WRITE(KTOU,3022) RRMS                                             CF3 4684
      WRITE(KTOU,3024)  RMS                                             CF3 4685
      WRITE(KTOU,3026)  RSS                                             CF3 4686
      WRITE(KTOU,3028) SSYT                                             CF3 4687
      IF(IQ(5).EQ.1) GO TO 6902                                         CF3 4690
      WRITE(KTOU,3030) RSQD                                             CF3 4700
C ---      ORDER RESIDUALS                                              CF3 4710
 6902 CALL SORT(NOOBSV, DELTA, LSORT)                                   CF3 4720
      NT = NOOBSV + 1                                                   CF3 4730
      IF(NTABLE.LT.1) GO TO 6903                                        CF3 4731
      WRITE(KTOU,5102)                                                  CF3 4732
      WRITE(KTOU,5104) PR1,PR2,PR3,ICURY,BI(K)                          CF3 4733
 6903 IF(XEFMT.EQ.EFORMT) GO TO 1230                                    CF3 4734
C                                                                       CF3 4740
      REWIND KTBIN3                                                     CF3 4750
      WRITE(KTOU,1015)                                                  CF3 4760
 1015 FORMAT(1H0,61H-----------------ORDERED BY COMPUTER INPUT--------- CF3 4770
     1---------,3X,62H---------------------ORDERED BY RESIDUALS---------CF3 4780
     2------------/1X,  6HIDENT.,2X,5HOBSV.,1X,12HWSS DISTANCE,1X,6HOBS.CF3 4790
     3 Y,5X,8HFITTED Y, 5X,10HRESIDUAL  ,1X,5HOBSV.,6X,6HOBS. Y,        CF3 4800
     45X,8HFITTED Y, 2X,14HORDERED RESID.,13H STUD.RESID. ,  3HSEQ )    CF3 4810
C                                                                       CF3 4820
C---       CALCULATE SQUARED STANDARDIZED DISTANCE OF EACH OBSERVATION  CF3 4830
C---       FROM CENTROID OF ALL OBSERVATIONS OF INDEPENDENT VARIABLES.  CF3 4840
      DO 1220 IC = 1, NOOBSV                                            CF3 4850
      SSD = 0.                                                          CF3 4860
      IA = NT - IC                                                      CF3 4870
        JC = LSORT(IA)                                                  CF3 4880
      READ(KTBIN3) IDZA(IC),IDZB(IC), (VAR(JZ), JZ = 1,NOVAR )          CF3 4890
      DO 2031 J=1, NOIND                                                CF3 4900
      SDX = ( VAR(J) - AVG(J))                                          CF3 4910
      SSDX= SDX*SDX*B(J)*B(J)                                           CF3 4920
 2031 SSD = SSD + SSDX                                                  CF3 4930
      SSD = SSD/RMS                                                     CF3 4940
 2032 CONTINUE                                                          CF3 4950
      WRITE(KTOU,1219) IDZA(IC),IDZB(IC),SSD,YYIN(IC),YYCC(IC),         CF3 4960
     1DELTA(IC),IDZB(JC),YYIN(JC),YYCC(JC),DELTA(JC),STDRES(JC),IC      CF3 4970
 1219 FORMAT(1H ,A6,   I6,2X,F6.0,3F13.3, 1X,I6,3F13.3,6X,F5.1,4X,I4)   CF3 4980
 1220 CONTINUE                                                          CF3 4990
      GO TO 1241                                                        CF3 5000
 1230 WRITE(KTOU,1232)                                                  CF3 5010
 1232 FORMAT(1H0,54H--------------ORDERED BY COMPUTER INPUT-------------CF3 5020
     1--,4X,65H----------------------ORDERED BY RESIDUALS---------------CF3 5030
     2--------/1X,6HIDENT.,1X,8HOBS. NO.,5X,6HOBS. Y,6X,8HFITTED Y,6X,  CF3 5040
     310HRESIDUAL  ,2X,8HOBS. NO.,5X,6HOBS. Y,6X,8HFITTED Y,2X,         CF3 5050
     414HORDERED RESID.,13H STUD.RESID. ,  3HSEQ)                       CF3 5060
      IF(IQ(30).GT.NOOBSV) IQ(30) = 0                                   CF3 5070
      NSTOP = (NOOBSV - IQ(30))/2                                       CF3 5080
      DO 1240 IC = 1, NSTOP                                             CF3 5090
      IA = NT - IC                                                      CF3 5100
        JC = LSORT(IA)                                                  CF3 5110
      WRITE(KTOU,1234) IDZA(IC),IDZB(IC),YYIN(IC),YYCC(IC),DELTA(IC),   CF3 5120
     1IDZB(JC),YYIN(JC),YYCC(JC),DELTA(JC),STDRES(JC),IC                CF3 5130
 1234 FORMAT(1H ,A6,I6,3(3X,1PE11.4),3X,I6,3(3X,1PE11.4),5X,0PF5.1,     CF3 5140
     1         4X,I4)                                                   CF3 5141
 1240 CONTINUE                                                          CF3 5150
C --- ROUND UP WHEN (NOOBSV - IQ(30) ) IS ODD NUMBER                    CF3 5151
      NSTOP = (NOOBSV - IQ(30) + 1)/2                                   CF3 5152
      NSTOP = NOOBSV - NSTOP + 1                                        CF3 5160
      DO 2240 IC = NSTOP, NOOBSV                                        CF3 5170
      IA = NT - IC                                                      CF3 5180
      JC = LSORT(IA)                                                    CF3 5190
 2240 WRITE(KTOU,1234) IDZA(IC),IDZB(IC),YYIN(IC),YYCC(IC),DELTA(IC),   CF3 5200
     1IDZB(JC),YYIN(JC),YYCC(JC),DELTA(JC),STDRES(JC),IC                CF3 5210
 1241 IF(IQ(8).EQ.0) GO TO 1250                                         CF3 5220
      WRITE(KTOU,1242)                                                  CF3 5230
 1242 FORMAT(1H0, // 1X, 81H******OBSERVED AND FITTED Y VALUES BACK TRANCF3 5240
     1SFORMED, RESIDUAL PLOTS DELETED****** )                           CF3 5250
      GO TO 481                                                         CF3 5260
 1250 IF(IQPLOT.LT.6) GO TO 481                                         CF3 5270
      IF(IQPLOT.EQ.6) IQ(18)=0                                          CF3 5271
      IF(IQPLOT.EQ.7) IQ(18)=2                                          CF3 5272
      IF(IQPLOT.EQ.8) IQ(18)=3                                          CF3 5273
      IF(IQPLOT.EQ.9) IQ(18)=4                                          CF3 5274
      DO 1252 IC = 1, NOOBSV                                            CF3 5275
 1252 DELTA(IC) = DBLE(STDRES(IC))*RRMS                                 CF3 5276
      CALL SORT(NOOBSV,DELTA,LSORT)                                     CF3 5277
  481 CONTINUE                                                          CF3 5280
      IRTRN=2                                                           CF3 5290
      RETURN                                                            CF3 5291
      END                                                               CF3 5300
      SUBROUTINE REDATA                                                 CF4 0010
C                                                                       CF4 0020
C ---    SUBROUTINE TO READ DATA. CAN BE REVISED TO SUIT SPECIAL NEEDS. CF4 0030
C                                                                       CF4 0040
C ---    CONTROL CARD SHOULD INDICATE THE NUMBER OF INDEPENDENT         CF4 0050
C     VARIABLES BEING RETURNED IN ARRAY LABELLED DATA(106).             CF4 0060
C     IDENTIFICATION CAN BE RETURNED USING A6 FORMAT IN IDENT.          CF4 0070
C ---     NUMBER OF OBSERVATIONS (NOOBSV) ARE COUNTED IN CF2.           CF4 0080
C     THE OBSERVATION NUMBER CAN BE RETURNED USING I4 FORMAT IN IOBSV.  CF4 0090
C     THE SEQUENCE NUMBER CAN BE RETURNED USING I2 FORMAT IN ISEQ IF    CF4 0100
C     DESIRED.                                                          CF4 0110
C ---     DATA CAN BE READ FROM NFILE SPECIFIED IN COLUMNS 52-53 OF     CF4 0120
C --- CONTROL CARD.                                                     CF4 0130
C ---     ARRAYS THAT CAN BE USED IN REDATA TO SAVE COMPUTER CORE SPACE CF4 0140
C     ARE COM4, LSORT AND IDZB, E.G.                                    CF4 0150
C     EQUIVALENCE (COM4,NEWARY)  WHERE NEWARY IS USED IN REDATA.        CF4 0160
C ---     KSL2 CAN BE USED AS A SWITCH.  KSL2 IS SET = 1 IN MAIN AFTER  CF4 0170
C     CONTROL CARD IS READ.  IF KSL2 IS SET = 2 IN REDATA AFTER READING CF4 0180
C     FIRST OBSERVATION, SUBSEQUENT OBSERVATIONS CAN BE READ IN         CF4 0190
C     DIFFERENT MANNER USING KSL2 AS A SWITCH.                          CF4 0200
C                                                                       CF4 0210
      IMPLICIT REAL*8(A-H,O-Z)                                          CF4 0220
      DOUBLE PRECISION IDENT, IEND                                      CF4 0230
      DIMENSION AVATR( 65), DATA( 66), FMT(144), IOMIT( 65), ITLOC( 65) CF4 0240
      COMMON /AAAAAA/ COM1(1000)                                        CF4 0250
      COMMON /BBBBBB/ COM2(186)                                         CF4 0260
      COMMON /CCCCCC/ COM3(240)                                         CF4 0270
      COMMON /DDDDDD/ COM4(3500)                                        CF4 0280
      COMMON /EEEEEE/ LSORT(1000)                                       CF4 0290
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF4 0300
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF4 0310
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF4 0320
      COMMON /JJJJJJ/ IDZB(1000)                                        CF4 0330
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF4 0340
     1                NOOBSV, ICURY                                     CF4 0350
C                                                                       CF4 0360
      COMMON /MMMMMM/ IDENT, IEND, BZRO, IOBSV, ISEQ, JOBSV, KSL2,      CF4 0370
     1                NOERR, NVP1, NOEQ                                 CF4 0380
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF4 0390
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF4 0400
      COMMON /RRRRRR/KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5             CF4 0410
C ---          EQUIVALENCE STATEMENTS IN CF 4 ARE THE SAME AS IN CF 1   CF4 0420
      EQUIVALENCE (COM1(1),AVATR(1)), (COM1(106),ITLOC(1)),             CF4 0430
     1            (COM1(321),IOMIT(1))                                  CF4 0440
      EQUIVALENCE (COM2(1),DATA(1))                                     CF4 0450
      EQUIVALENCE (COM3(1),FMT(1))                                      CF4 0460
C     READ(NFILE,FMT,END=99) IDENT,IOBSV,ISEQ,(DATA(JZ), JZ=1,40)       CF4 0470
      IF(IDENT - IEND ) 4,99,4                                          CF4 0480
    4 IA = IA                                                           CF4 0490
      RETURN                                                            CF4 0500
   99 IDENT = IEND                                                      CF4 0510
      RETURN                                                            CF4 0520
      END                                                               CF4 0530
      SUBROUTINE TRANSF                                                 CF5 0010
C                                                                       CF5 0020
C          SUBROUTINE TO PERFORM TRANSFORMATION OF VARIABLES            CF5 0030
C                                                                       CF5 0040
      IMPLICIT REAL*8(A-H,O-Z)                                          CF5 0050
      DIMENSION AVATR( 65), DATA( 66), IOMIT( 65), ITLOC( 65)           CF5 0060
      COMMON /AAAAAA/ COM1(1000)                                        CF5 0070
      COMMON /BBBBBB/ COM2(186)                                         CF5 0080
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF5 0090
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF5 0100
     1                NOOBSV, ICURY                                     CF5 0110
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF5 0120
C ---          EQUIVALENCE STATEMENTS IN CF 1, 2 AND 5                  CF5 0130
      EQUIVALENCE (COM1(1),AVATR(1)), (COM1(106),ITLOC(1)),             CF5 0140
     1            (COM1(321),IOMIT(1))                                  CF5 0150
      EQUIVALENCE (COM2(1),DATA(1))                                     CF5 0160
C                                                                       CF5 0170
C          THE FOLLOWING TRANSFORMATION CODES ARE REPRESENTED           CF5 0180
C     BLANK = NO TRANSFORMATION                                         CF5 0190
C         0 = NO TRANSFORMATION                                         CF5 0200
C         1 = NATURAL LOG (BASE E)                                      CF5 0210
C         2 = COMMON LOG (BASE 10)                                      CF5 0220
C         3 = ANTI-LOG OF NATURAL LOG                                   CF5 0230
C         4 = ANTI-LOG OF COMMON LOG                                    CF5 0240
C         5 = POWER RAISING                                             CF5 0250
C         6 = PRODUCT OF VARIABLE AND ARGUMENT (CON)                    CF5 0260
C         7 = QUOTIENT OF VARIABLE AND ARGUMENT (CON)                   CF5 0270
C         8 = ALGEBRAIC SUM OF VARIABLE AND ARGUMENT (CON)              CF5 0280
C         9 = PRODUCT OF TWO VARIABLES                                  CF5 0290
C        10 = QUOTIENT OF TWO VARIABLES                                 CF5 0300
C        11 = SUM OF TWO VARIABLES                                      CF5 0310
C        12 = DIFFERENCE OF TWO VARIABLES                               CF5 0320
C        13 = SIN OF VAR IN RADIANS                                     CF5 0330
C        14 = COS OF VAR IN RADIANS                                     CF5 0340
C        15 = QUOTIENT OF ARGUMENT DIVIDED BY VARIABLE                  CF5 0350
C        16 = LN(LN(X))  WHERE LN = NATURAL LOG                         CF5 0360
C        17 = LOG(LOG(X))                                               CF5 0370
C        18 = LOG(X+K) = BASE 10 LOG OF (VARIABLE + .OR. - ARGUMENT)    CF5 0380
C        19 =  E**(E**X) = INVERSE OF NUMBER 16                         CF5 0390
C        20 =  10**(10**X)=INVERSE OF NUMBER 17                         CF5 0400
C                                                                       CF5 0410
      DO  65 IA= 1, NOVAR                                               CF5 0420
      VX = DATA(IA)                                                     CF5 0430
      VY = VARTR(IA)                                                    CF5 0440
      K = ITRFM(IA)                                                     CF5 0450
      IF( (K.GT.0) .AND. (K.LT.21) ) GO TO 50                           CF5 0460
      VALUE = VX                                                        CF5 0470
      GO TO 60                                                          CF5 0480
C          DETERMINE TRANSFORMATION                                     CF5 0490
   50 GO TO(1,2,3,4,5,6,7,8,9, 9, 9, 9,13,14,15,16,17,18,19,20), K      CF5 0500
C               NATURAL LOG                                             CF5 0510
    1 VALUE = DLOG(VX)                                                  CF5 0520
      GO TO 60                                                          CF5 0530
C               COMMON LOG                                              CF5 0540
    2 VALUE = DLOG10(VX)                                                CF5 0550
      GO TO 60                                                          CF5 0560
C               ANTI-LOG OF NATURAL LOG                                 CF5 0570
    3 VALUE = DEXP(VX)                                                  CF5 0580
      GO TO 60                                                          CF5 0590
C               ANTI-LOG OF COMMON  LOG                                 CF5 0600
    4 VALUE = DEXP(2.302585093 * VX)                                    CF5 0610
      GO TO 60                                                          CF5 0620
C               POWER RAISING                                           CF5 0630
    5 VALUE = VX ** VY                                                  CF5 0640
      GO TO 60                                                          CF5 0650
C               PRODUCT OF VAR + CON                                    CF5 0660
    6 VALUE = VX * VY                                                   CF5 0670
      GO TO 60                                                          CF5 0680
C               QUOTIENT OF VAR + CON                                   CF5 0690
    7 VALUE = VX / VY                                                   CF5 0700
      GO TO 60                                                          CF5 0710
C               SUM OF VAR + CON                                        CF5 0720
    8 VALUE = VX + VY                                                   CF5 0730
      GO TO 60                                                          CF5 0740
    9 MA = IDINT(0.01 * VY)                                             CF5 0750
      NA = IDINT(DMOD(VY,1.0D2))                                        CF5 0760
      K = K - 8                                                         CF5 0770
      GO TO (91,10,11,12), K                                            CF5 0780
C               PRODUCT OF TWO VARIABLES                                CF5 0790
   91 VALUE = DATA(MA) * DATA(NA)                                       CF5 0800
      GO TO 60                                                          CF5 0810
C               QUOTIENT OF TWO VARIABLES                               CF5 0820
   10 VALUE = DATA(MA) / DATA(NA)                                       CF5 0830
      GO TO 60                                                          CF5 0840
C               SUM OF TWO VARIABLES                                    CF5 0850
   11 VALUE = DATA(MA) + DATA(NA)                                       CF5 0860
      GO TO 60                                                          CF5 0870
C               DIFFERENCE OF TWO VARIABLES                             CF5 0880
   12 VALUE = DATA(MA) - DATA(NA)                                       CF5 0890
      GO TO 60                                                          CF5 0900
C               SIN OF VAR IN RADIANS                                   CF5 0910
   13 VALUE = DSIN(VX)                                                  CF5 0920
      GO TO 60                                                          CF5 0930
C               COS OF VAR IN RADIANS                                   CF5 0940
   14 VALUE = DCOS(VX)                                                  CF5 0950
      GO TO 60                                                          CF5 0960
   15 VALUE = VY / VX                                                   CF5 0970
      GO TO 60                                                          CF5 0980
   16 VALUE = DLOG(DLOG(VX))                                            CF5 0990
      GO TO 60                                                          CF5 1000
   17 VALUE = DLOG10(DLOG10(VX))                                        CF5 1010
      GO TO 60                                                          CF5 1020
   18 VALUE = DLOG10(VX + VY)                                           CF5 1030
      GO TO 60                                                          CF5 1040
   19 VALUE = DEXP(DEXP(VX))                                            CF5 1050
      GO TO 60                                                          CF5 1060
   20 VALUE = DEXP(2.302585093 * DEXP(2.302585093 * VX))                CF5 1070
      GO TO 60                                                          CF5 1080
C          DETERMINE LOCATION TO PLACE VARIABLE                         CF5 1090
   60 IF( ITLOC(IA) .GT. 0) GO TO 62                                    CF5 1100
      DATA(IA) = VALUE                                                  CF5 1110
      GO TO 65                                                          CF5 1120
   62 NA = ITLOC(IA)                                                    CF5 1130
      DATA(NA) = VALUE                                                  CF5 1140
   65 CONTINUE                                                          CF5 1150
C          OMIT VARIABLES SPECIFIED, RECALCULATING NET NO. LEFT         CF5 1160
      L=NOIND +1                                                        CF5 1170
      KNO = 1                                                           CF5 1180
      DO 115  IA = 1, NOIND                                             CF5 1190
      IF( IOMIT(IA) .NE. 0) GO TO 115                                   CF5 1200
      DATA(KNO) = DATA(IA)                                              CF5 1210
      KNO = KNO + 1                                                     CF5 1220
  115 CONTINUE                                                          CF5 1230
      KNOIND = KNO -1                                                   CF5 1240
      DO 125  IA = L, NOVAR                                             CF5 1250
      IF( IOMIT(IA) .NE. 0) GO TO 125                                   CF5 1260
      DATA(KNO) = DATA(IA)                                              CF5 1270
      KNO = KNO +1                                                      CF5 1280
  125 CONTINUE                                                          CF5 1290
      KNVP1 = KNO                                                       CF5 1300
      KNOVAR= KNO -1                                                    CF5 1310
      KNODEP= KNOVAR -KNOIND                                            CF5 1320
      RETURN                                                            CF5 1330
      END                                                               CF5 1340
      SUBROUTINE INV                                                    CF6 0010
C                                                                       CF6 0020
C          SUBROUTINE INVERTS MATRIX BY THE GAUSS-JORDAN METHOD OF      CF6 0030
C     REDUCTION AS DESCRIBED IN MATHEMATICAL METHODS FOR DIGITAL        CF6 0040
C     COMPUTERS, WILEY PUB.   COMMON USERS GROUP PROGRAM NO 5.0.039     CF6 0050
C                                                                       CF6 0060
C     LS = 0 TO OBTAIN INVERSE.                                         CF6 0070
C     LS = 1 TO OBTAIN PRODUCT FORM OF THE INVERSE.                     CF6 0080
C     LS = 2 WHEN THE MATRIX IS SINGULAR.                               CF6 0090
C                                                                       CF6 0100
C     N IS THE NUMBER OF INDEPENDENT VARIABLES.                         CF6 0110
C     DETT HAS THE VALUE OF THE DETERMINANT.                            CF6 0120
C     LEXP IS THE EXPONENT OF THE DETERMINANT.                          CF6 0130
C     INCOMING MATRIX A (C IN MAIN LINE) IS DESTROYED AND REPLACED BY   CF6 0140
C     THE INVERSE MATRIX.                                               CF6 0150
C                                                                       CF6 0160
      IMPLICIT REAL*8(A-H,O-Z)                                          CF6 0170
      DIMENSION C(40), LP(40)                                           CF6 0180
      COMMON /EEEEEE/ LSORT(1000)                                       CF6 0190
      COMMON /HHHHHH/ BETA(41), A(40,40), Z(41,41), N, MXSIZE           CF6 0200
C ---          EQUIVALENCE STATEMENTS IN CF 6 ALONE                     CF6 0210
C --- EQUIVALENCE (LSORT(1),C(1)), (LSORT(2*MXVRAT+1),LP(1))            CF6 0220
      EQUIVALENCE (LSORT(1),C(1)), (LSORT(161),LP(1))                   CF6 0230
      IF(N.NE.1)GO TO 1315                                              CF6 0240
      A(1,1)=1./A(1,1)                                                  CF6 0250
      RETURN                                                            CF6 0260
 1315 NN=N                                                              CF6 0270
      LS = 0                                                            CF6 0280
      DETT=1.                                                           CF6 0290
      M2=1                                                              CF6 0300
      LEXP=0                                                            CF6 0310
      LP(1)=0                                                           CF6 0320
      DO 1 M1=1,N                                                       CF6 0330
      BIG=0.                                                            CF6 0340
      DO 2 I=1,N                                                        CF6 0350
      DO 3 J=1,M2                                                       CF6 0360
      IF(I-LP(J))3,2,3                                                  CF6 0370
    3 CONTINUE                                                          CF6 0380
      IF(DABS(BIG)-DABS(A(I,1)))4,2,2                                   CF6 0390
    4 BIG=A(I,1)                                                        CF6 0400
      L1=I                                                              CF6 0410
    2 CONTINUE                                                          CF6 0420
      DETT=DETT*BIG                                                     CF6 0430
      BETT=DABS(DETT)                                                   CF6 0440
      IF(BETT-1.0D+30)100,100,101                                       CF6 0430
  100 IF(BETT-1.0D-30)103,102,102                                       CF6 0460
  101 DETT=DETT/1.0D+30                                                 CF6 0470
      LEXP=LEXP+30                                                      CF6 0480
      GO TO 102                                                         CF6 0490
  103 DETT=DETT/1.0D-30                                                 CF6 0300
      LEXP=LEXP-30                                                      CF6 0510
  102 M2=M1                                                             CF6 0520
C --- ************* TRAP IF MATRIX IS SINGULAR.  THE DEFINITION OF      CF6 0530
C --- ************* SINGULAR IS MACHINE DEPENDENT.                      CF6 0531
      IF (DABS(BIG).LE.(1.D-14)) GO TO 999                              CF6 0540
    6 LP(M1)=L1                                                         CF6 0550
      IF(NN-1)50,51,50                                                  CF6 0560
   50 DO 8 I=2,NN                                                       CF6 0570
    8 A(L1,I-1)=A(L1,I)/BIG                                             CF6 0580
      IF(L1-1)9,10,9                                                    CF6 0590
   10 LN=2                                                              CF6 0600
   13 LM=N                                                              CF6 0610
      GO TO 15                                                          CF6 0620
    9 LM=L1-1                                                           CF6 0630
      LN=1                                                              CF6 0640
   15 DO 11 I=LN,LM                                                     CF6 0650
      C(I)=-A(I,1)                                                      CF6 0660
      IF(C(I))12,111,12                                                 CF6 0670
  111 DO 112 J=2,NN                                                     CF6 0680
  112 A(I,J-1)=A(I,J)                                                   CF6 0690
      GO TO 11                                                          CF6 0700
   12 DO 65 J=2,NN                                                      CF6 0710
   65 A(I,J-1)=C(I)*A(L1,J-1)+A(I,J)                                    CF6 0720
   11 CONTINUE                                                          CF6 0730
      IF(LN-1)19,18,19                                                  CF6 0740
   18 LN=LN+L1                                                          CF6 0750
      IF(LN-N)13,13,19                                                  CF6 0760
   19 C(L1)=1.                                                          CF6 0770
      DO 77 I=1,N                                                       CF6 0780
   77 A(I,NN)=C(I)/BIG                                                  CF6 0790
    1 NN=NN-LS                                                          CF6 0800
   55 DO 34 K=1,N                                                       CF6 0810
      DO 16 J=1,N                                                       CF6 0820
   16 C(J)=A(J,K)                                                       CF6 0830
      DO 34 J=1,N                                                       CF6 0840
      L=LP(J)                                                           CF6 0850
      IF(K-J)56,34,34                                                   CF6 0860
   56 IF(LP(K)-L)34,34,57                                               CF6 0870
   57 DETT=-DETT                                                        CF6 0880
   34 A(J,K)=C(L)                                                       CF6 0890
      IF(LS)70,71,70                                                    CF6 0900
   71 DO 20 J=1,N                                                       CF6 0910
      DO 21 K=1,N                                                       CF6 0920
   21 C(K)=A(J,K)                                                       CF6 0930
      DO 20 K=1,N                                                       CF6 0940
      L=LP(K)                                                           CF6 0950
   20 A(J,L)=C(K)                                                       CF6 0960
      RETURN                                                            CF6 0970
   51 A(L1,1)=-1.                                                       CF6 0980
      DO 52 I=1,N                                                       CF6 0990
   52 A(I,1)=-A(I,1)/BIG                                                CF6 1000
      GO TO 55                                                          CF6 1010
   70 DO 83 I=1,N                                                       CF6 1020
      J=N+1-I                                                           CF6 1030
   83 A(I,J)=A(I,J)-1.                                                  CF6 1040
      RETURN                                                            CF6 1050
  999 N = 999                                                           CF6 1060
      RETURN                                                            CF6 1070
      END                                                               CF6 1080
      SUBROUTINE MINMAX(TMIN,TMAX,T )                                   CF7 0010
C                                                                       CF7 0020
C          SUBROUTINE TO FIND MINIMUM AND MAXIMUM OF ANY GIVEN ARRAY    CF7 0030
C                                                                       CF7 0040
      IMPLICIT REAL*8(A-H,O-Z)                                          CF7 0050
      IF (T-TMIN)  2,3,3                                                CF7 0060
    2 TMIN = T                                                          CF7 0070
    3 IF (T-TMAX)  5,5,4                                                CF7 0080
    4 TMAX = T                                                          CF7 0090
    5 RETURN                                                            CF7 0100
      END                                                               CF7 0110
      SUBROUTINE YBACK (KQ, ZBAK)                                       CF8 0010
C                                                                       CF8 0020
C          SUBROUTINE TO PREFORM BACK TRANSFORMATION OF VARIABLES       CF8 0030
C                                                                       CF8 0040
      IMPLICIT REAL*8(A-H,O-Z)                                          CF8 0050
      COMMON /FFFFFF/ VARTR( 65), ITRFM( 65)                            CF8 0060
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF8 0070
     1                NOOBSV, ICURY                                     CF8 0080
                              LBJ = ITRFM(KQ)                           CF8 0090
      KV = 1                                                            CF8 0100
      IF( KQ .EQ. 0 ) KV = 2                                            CF8 0110
      VK = VARTR(KQ)                                                    CF8 0120
      IF( LBJ .LT.1) GO TO 9                                            CF8 0130
      IF( LBJ .GT.8) GO TO 10                                           CF8 0140
      GO TO(1,2,3,4,5,6,7,8 ), LBJ                                      CF8 0150
    1 ZBAK = DEXP(ZBAK)                                                 CF8 0160
      GO TO 9                                                           CF8 0170
    2 ZBAK = DEXP(2.302585093 * ZBAK)                                   CF8 0180
      GO TO 9                                                           CF8 0190
    3 ZBAK = DLOG(ZBAK)                                                 CF8 0200
      GO TO 9                                                           CF8 0210
    4 ZBAK = DLOG10(ZBAK)                                               CF8 0220
      GO TO 9                                                           CF8 0230
    5 GO TO(51,  9), KV                                                 CF8 0240
   51 ZBAK = DEXP(DLOG(ZBAK) / VK)                                      CF8 0250
      GO TO 9                                                           CF8 0260
    6 GO TO(61,  9), KV                                                 CF8 0270
   61 ZBAK = ZBAK / VK                                                  CF8 0280
      GO TO 9                                                           CF8 0290
    7 GO TO(71,  9), KV                                                 CF8 0300
   71 ZBAK = ZBAK * VK                                                  CF8 0310
      GO TO 9                                                           CF8 0320
    8 GO TO(81,  9), KV                                                 CF8 0330
   81 ZBAK = ZBAK - VK                                                  CF8 0340
    9 RETURN                                                            CF8 0350
   10 IF( LBJ .LT. 13) GO TO 9                                          CF8 0360
      KBJ = LBJ  - 12                                                   CF8 0370
      GO TO (13,14,15,16,17,18,19,20), KBJ                              CF8 0380
   13 ZBAK = DARSIN(ZBAK)                                               CF8 0390
      GO TO 9                                                           CF8 0400
   14 ZBAK = DARCOS(ZBAK)                                               CF8 0410
      GO TO 9                                                           CF8 0420
   15 GO TO(151,  9), KV                                                CF8 0430
  151 ZBAK =  VK / ZBAK                                                 CF8 0440
      GO TO 9                                                           CF8 0450
   16 ZBAK = DEXP(DEXP(ZBAK))                                           CF8 0460
      GO TO 9                                                           CF8 0470
   17 ZBAK = DEXP(2.302585093 * ZBAK)                                   CF8 0480
      GO TO 2                                                           CF8 0490
   18 GO TO(181,  9), KV                                                CF8 0500
  181 ZBAK = DEXP(2.302585093 * ZBAK) - VK                              CF8 0510
      GO TO 9                                                           CF8 0520
   19 ZBAK = DLOG(ZBAK)                                                 CF8 0530
      GO TO 3                                                           CF8 0540
   20 ZBAK = DLOG10(ZBAK)                                               CF8 0550
      GO TO 4                                                           CF8 0560
      END                                                               CF8 0570
      SUBROUTINE PITCHA(YCMAX,YCMIN,X,MAXINF,NBSV,ISIZE)                CF9 0010
C                                                                       CF9 0020
C ---      SUBROUTINE PLOTS (1) CUMULATIVE FREQUENCY OF RESIDUALS,      CF9 0030
C --- (2) RESIDUALS VS. FITTED Y, AND EACH INDEPENDENT VARIABLE VS.     CF9 0040
C --- (3) RESIDUALS AND (4) COMPONENT-EFFECTS-PLUS-RESIDUALS.           CF9 0050
C                                                                       CF9 0060
      IMPLICIT REAL*8(A-H,O-Z)                                          CF9 0070
      REAL*4 GRIDA(53,26), GRIDB(53,26)                                 CF9 0080
      DIMENSION AMAX(40), AMIN(40), B(40), COMPR(1000), DELTA(1000),    CF9 0090
     1          RESID(9),    X(NBSV,ISIZE), YYCC(1000), ICOMP(9),       CF9 0100
     2          NEG(8), POS(8), PRAX(51), IAND(3), ICPR(24)             CF9 0110
      COMMON /AAAAAA/ COM1(1000)                                        CF9 0120
      COMMON /BBBBBB/ COM2(186)                                         CF9 0130
      COMMON /DDDDDD/ COM4(3500)                                        CF9 0140
      COMMON /EEEEEE/ LSORT(1000)                                       CF9 0150
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF9 0160
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF9 0170
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF9 0180
     1                NOOBSV, ICURY                                     CF9 0190
      COMMON /NNNNNN/ DEFR, XNOIND, NOVM1, MXVRBT, MXVPBT, MXVRAT,      CF9 0200
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF9 0210
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF9 0220
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF9 0230
      COMMON /RRRRRR/ KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5            CF9 0240
C ---          EQUIVALENCE STATEMENTS IN CF 3, 9                        CF9 0250
      EQUIVALENCE (COM1(1),DELTA(1)), (COM4(1),YYCC(1))                 CF9 0260
C ---          EQUIVALENCE STATEMENTS IN CF 9 ALONE                     CF9 0270
      EQUIVALENCE (COM4(1001),GRIDA(1)),(COM4(1691),GRIDB(1))           CF9 0280
      EQUIVALENCE (COM2(1),AMAX(1)), (COM2(107),B(1)),                  CF9 0290
     1            (COM4(2381),AMIN(1)), (COM4(2461),COMPR(1))           CF9 0300
      DATA RESID/1HR,1HE,1HS,1HI,1HD,1HU,1HA,1HL,1HS/                   CF9 0310
      DATA POS/1HP,1HO,1HS,1HI,1HT,1HI,1HV,1HE/                         CF9 0320
      DATA NEG/1HN,1HE,1HG,1HA,1HT,1HI,1HV,1HE/                         CF9 0330
      DATA IPLUS/4H++++/                                                CF9 0340
      DATA ICOMPT/4HCCCC/                                               CF9 0350
      DATA ISAME/4H****/                                                CF9 0360
      DATA ICOMP/1HC,1HO,1HM,1HP,1HO,1HN,1HE,1HN,1HT/                   CF9 0370
      DATA IAND/1HA,1HN,1HD/                                            CF9 0380
      DATA ICPR/1HC,1HO,1HM,1HP,1HO,1HN,1HE,1HN,1HT,1H ,1HP,1HL,1HU,    CF9 0390
     11HS,1H ,1HR,1HE,1HS,1HI,1HD,1HU,1HA,1HL,1HS/                      CF9 0400
      DATA PRAX/.000233,  .000302,  .000390,  .000501,  .000641,        CF9 0410
     1          .000816,  .001035,  .001306,  .001641,  .002052,        CF9 0420
     2          .002555,  .003167,  .003907,  .004797,  .005868,        CF9 0430
     3          .007143,  .008656,  .010444,  .012545,  .015003,        CF9 0440
     4          .017864,  .021178,  .025588,  .029379,  .034380,        CF9 0450
     5          .040059,  .046479,  .053699,  .061780,  .070781,        CF9 0460
     6          .080757,  .091759,  .103835,  .117023,  .131357,        CF9 0470
     7          .146859,  .163543,  .181411,  .200454,  .220650,        CF9 0480
     8          .241964,  .264347,  .287740,  .312067,  .337243,        CF9 0490
     9          .363169,  .389739,  .416834,  .444330,  .472097,        CF9 0500
     A          .500000/                                                CF9 0510
      ITYPE = 1                                                         CF9 0520
C --- ITYPE SELECTS FORM OF PLOT TO BE MADE IN SUBROUTINE GRID.         CF9 0530
      XNP=NOOBSV                                                        CF9 0540
      JJC=LSORT(NOOBSV)                                                 CF9 0550
      DELP=DELTA(JJC)                                                   CF9 0560
      IIC=LSORT(1)                                                      CF9 0570
      YIW=(1.005D0*(DELP-DELTA(IIC)))/51.                               CF9 0580
    1 XIW=(1.005D0*(YCMAX-YCMIN))/101.                                  CF9 0590
      IF(YCMAX.EQ.YCMIN) XIW=0.0001                                     CF9 0600
      IF(DELTA(IIC).LT.0.0.AND.DELP.GT.0.0) GO TO 3                     CF9 0610
      WRITE(KTOU,5)                                                     CF9 0620
    5 FORMAT(1H0//60H **** PLOTS DELETED, ALL RESIDUALS ARE POSITIVE OR CF9 0621
     1NEGATIVE.)                                                        CF9 0622
      RETURN                                                            CF9 0623
    3 DLEV = DELP                                                       CF9 0630
      DO 2 IA=1, 51                                                     CF9 0640
      DLEV = DLEV - YIW                                                 CF9 0650
      IF(DLEV.GT.0.) GO TO 2                                            CF9 0660
      L1 = IA + 1                                                       CF9 0670
      GO TO 4                                                           CF9 0680
    2 CONTINUE                                                          CF9 0690
    4 CALL GRID(GRIDA,GRIDB,L1,ITYPE)                                   CF9 0700
      DO 30 IA=1,NOOBSV                                                 CF9 0710
      JAC=LSORT(IA)                                                     CF9 0720
      LINE = IDINT((DELP-DELTA(JAC))/YIW)+2                             CF9 0730
      IF(LINE.LT.2.OR.LINE.GT.52) GO TO 30                              CF9 0740
      LOCX1=IDINT((YYCC(JAC)-YCMIN)/XIW)+1                              CF9 0750
      IF(LOCX1.LT.1.OR.LOCX1.GT.101) GO TO 10                           CF9 0760
      IF(LOCX1.EQ.1) LOCX1=2                                            CF9 0770
      LOCX2=LOCX1+4                                                     CF9 0780
      LCHAR=MOD(LOCX2,4)                                                CF9 0790
      LWORD=LOCX2/4                                                     CF9 0800
      IF(LCHAR) 8,6,8                                                   CF9 0810
    6 LCHAR=4                                                           CF9 0820
      LWORD=LWORD-1                                                     CF9 0830
    8 CALL PACK(GRIDA(LINE,LWORD),LCHAR,IPLUS)                          CF9 0840
   10 PRLOC=(IA-0.5)/XNP                                                CF9 0850
      IF(PRLOC-0.5) 12,12,18                                            CF9 0860
   12 DO 14 IB=1,51                                                     CF9 0870
      IF(PRLOC-PRAX(IB)) 16,16,14                                       CF9 0880
   14 CONTINUE                                                          CF9 0890
      IB=51                                                             CF9 0900
   16 LOCP1=IB                                                          CF9 0910
      GO TO 24                                                          CF9 0920
   18 DO 20 IB=1,51                                                     CF9 0930
      IC=52-IB                                                          CF9 0940
      IF(PRLOC+PRAX(IC)-1.) 22,22,20                                    CF9 0950
   20 CONTINUE                                                          CF9 0960
   22 LOCP1=IB+50                                                       CF9 0970
   24 LOCP2=LOCP1+4                                                     CF9 0980
      LCHAR=MOD(LOCP2,4)                                                CF9 0990
      LWORD=LOCP2/4                                                     CF9 1000
      IF(LCHAR) 28,26,28                                                CF9 1010
   26 LCHAR=4                                                           CF9 1020
      LWORD=LWORD-1                                                     CF9 1030
   28 CALL PACK(GRIDB(LINE,LWORD),LCHAR,IPLUS)                          CF9 1040
   30 CONTINUE                                                          CF9 1050
      WRITE(KTOU,34) PR1,PR2,PR3,ICURY,BI(K)                            CF9 1060
   34 FORMAT(1H1,     1X,3A6, 9H  DEP VAR ,I2,2H: ,A6,16X,              CF9 1070
     136HCUMULATIVE DISTRIBUTION OF RESIDUALS)                          CF9 1080
      WRITE(KTOU,36)                                                    CF9 1090
   36 FORMAT(1H ,17X,101H.0002  .001  .005  .01 .02   .05  .1    .2   .3CF9 1100
     1  .4  .5  .6  .7   .8    .9   .95  .98 .99 .995   .999)           CF9 1110
      WRITE(KTOU,38) ((GRIDB(IA,JZ),JZ=1,26),IA=1,3)                    CF9 1120
   38 FORMAT(1H ,19X,25A4,A2)                                           CF9 1130
      WRITE(KTOU,40) (POS(IA-3),(GRIDB(IA,JZ),JZ=1,26),IA=4,11)         CF9 1140
   40 FORMAT(1H ,17X,A1,1X,25A4,A2)                                     CF9 1150
      DO 46 IA=12,22                                                    CF9 1160
      IF(IA.EQ.L1) GO TO 42                                             CF9 1170
      WRITE(KTOU,38) (GRIDB(IA,JZ),JZ=1,26)                             CF9 1180
      GO TO 46                                                          CF9 1190
   42 WRITE(KTOU,44) (GRIDB(IA,JZ),JZ=1,26)                             CF9 1200
   44 FORMAT(1H ,17X,1H0,1X,25A4,A2)                                    CF9 1210
   46 CONTINUE                                                          CF9 1220
      DO 54 IA=23,31                                                    CF9 1230
      IF(IA.EQ.L1) GO TO 50                                             CF9 1240
      WRITE(KTOU,48) RESID(IA-22),(GRIDB(IA,JZ),JZ=1,26)                CF9 1250
   48 FORMAT(1H ,5X,A1,13X,25A4,A2)                                     CF9 1260
      GO TO 54                                                          CF9 1270
   50 WRITE(KTOU,52) RESID(IA-22),(GRIDB(IA,JZ),JZ=1,26)                CF9 1280
   52 FORMAT(1H ,5X,A1,11X,1H0,1X,25A4,A2)                              CF9 1290
   54 CONTINUE                                                          CF9 1300
      DO 58 IA=32,42                                                    CF9 1310
      IF(IA.EQ.L1) GO TO 56                                             CF9 1320
      WRITE(KTOU,38) (GRIDB(IA,JZ),JZ=1,26)                             CF9 1330
      GO TO 58                                                          CF9 1340
   56 WRITE(KTOU,44) (GRIDB(IA,JZ),JZ=1,26)                             CF9 1350
   58 CONTINUE                                                          CF9 1360
      WRITE(KTOU,40) (NEG(IA-42),(GRIDB(IA,JZ),JZ=1,26),IA=43,50)       CF9 1370
      WRITE(KTOU,38) ((GRIDB(IA,JZ),JZ=1,26),IA=51,53)                  CF9 1380
      WRITE(KTOU,36)                                                    CF9 1390
      WRITE(KTOU,60)                                                    CF9 1400
   60 FORMAT(1H ,54X,33HCUMULATIVE FREQUENCY, NORMAL GRID)              CF9 1410
      IF(YCMAX.EQ.YCMIN) GO TO 300                                      CF9 1411
      WRITE(KTOU,62) PR1,PR2,PR3,ICURY,BI(K)                            CF9 1420
   62 FORMAT(1H1,     1X,3A6, 9H  DEP VAR ,I2,2H: ,A6,22X,21HRESIDUAL VSCF9 1430
     1. FITTED Y )                                                      CF9 1440
      YCAVG = (YCMAX + YCMIN) / 2.                                      CF9 1450
      WRITE(KTOU,64) YCMIN, YCAVG, YCMAX                                CF9 1460
   64 FORMAT(1H ,13X, F10.3, 40X, F10.3, 40X, F10.3)                    CF9 1470
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=1,3)                    CF9 1480
      WRITE(KTOU,40) (POS(IA-3),(GRIDA(IA,JZ),JZ=1,26),IA=4,11)         CF9 1490
      DO 68 IA=12,22                                                    CF9 1500
      IF(IA.EQ.L1) GO TO 66                                             CF9 1510
      WRITE(KTOU,38) (GRIDA(IA,JZ),JZ=1,26)                             CF9 1520
      GO TO 68                                                          CF9 1530
   66 WRITE(KTOU,44) (GRIDA(IA,JZ),JZ=1,26)                             CF9 1540
   68 CONTINUE                                                          CF9 1550
      DO 72 IA=23,31                                                    CF9 1560
      IF(IA.EQ.L1) GO TO 70                                             CF9 1570
      WRITE(KTOU,48) RESID(IA-22),(GRIDA(IA,JZ),JZ=1,26)                CF9 1580
      GO TO 72                                                          CF9 1590
   70 WRITE(KTOU,52) RESID(IA-22),(GRIDA(IA,JZ),JZ=1,26)                CF9 1600
   72 CONTINUE                                                          CF9 1610
      DO 76 IA=32,42                                                    CF9 1620
      IF(IA.EQ.L1) GO TO 74                                             CF9 1630
      WRITE(KTOU,38) (GRIDA(IA,JZ),JZ=1,26)                             CF9 1640
      GO TO 76                                                          CF9 1650
   74 WRITE(KTOU,44) (GRIDA(IA,JZ),JZ=1,26)                             CF9 1660
   76 CONTINUE                                                          CF9 1670
      WRITE(KTOU,40) (NEG(IA-42),(GRIDA(IA,JZ),JZ=1,26),IA=43,50)       CF9 1680
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=51,53)                  CF9 1690
      WRITE(KTOU,64) YCMIN, YCAVG, YCMAX                                CF9 1700
      WRITE(KTOU,78)                                                    CF9 1710
   78 FORMAT(1H ,66X,8HFITTED Y)                                        CF9 1720
      IF(IQ(18).EQ.0) GO TO 300                                         CF9 1730
C --- PLOT RESIDUALS AND COMPONENT-PLUS-RESIDUALS VS IND. VARIABLES.    CF9 1740
   80 REWIND KTBIN1                                                     CF9 1750
      ITYPE = 3                                                         CF9 1760
      IF(IQ(24).EQ.0) GO TO 81                                          CF9 1770
      READ(KTBIN1) ( DUM, I=1, NOVAR)                                   CF9 1780
   81 IA = NOIND + NOVAR                                                CF9 1790
      DO 82 J=1,IA                                                      CF9 1800
   82 READ(KTBIN1)                                                      CF9 1810
      READ(KTBIN1) (AMAX(I),I=1,NOVAR)                                  CF9 1820
      READ(KTBIN1) (AMIN(I),I=1,NOVAR)                                  CF9 1830
      NTIME = 2                                                         CF9 1840
      IF(IQ(18).EQ.3.OR.IQ(18).EQ.5) GO TO 83                           CF9 1850
      IF(MAXINF.EQ.1) NTIME=1                                           CF9 1860
      IF(NTIME.EQ.1) GO TO 83                                           CF9 1870
      REWIND KTBIN3                                                     CF9 1880
      IF(MAXINF.EQ.NOIND) GO TO 146                                     CF9 1890
      IDONE1 = MAXINF - 1                                               CF9 1900
      IREAD = MAXINF + 1                                                CF9 1910
      DO 143 J = 1, NOOBSV                                              CF9 1920
  143 READ(KTBIN3) DUM,IDUM,(DUM,I=1,IDONE1), X(J,1),                   CF9 1930
     1             (DUM,I=IREAD,NOIND)                                  CF9 1940
      GO TO 150                                                         CF9 1950
  146 IDONE1 = MAXINF - 1                                               CF9 1960
      DO 147 J = 1, NOOBSV                                              CF9 1970
  147 READ(KTBIN3) DUM,IDUM,(DUM,I=1,IDONE1), X(J,1)                    CF9 1980
  150 YCMIN = 1.0E+32                                                   CF9 1990
      YCMAX = - YCMIN                                                   CF9 2000
      AMID = ( AMAX(MAXINF) + AMIN(MAXINF) )/ 2.0                       CF9 2010
      DO 251 J = 1, NOOBSV                                              CF9 2020
      YC = B(MAXINF)*(X(J,1) - AMID )                                   CF9 2030
      RC = YC + DELTA(J)                                                CF9 2040
      IF(YC.LT.YCMIN) YCMIN=YC                                          CF9 2050
      IF(RC.LT.YCMIN) YCMIN=RC                                          CF9 2060
      IF(YC.GT.YCMAX) YCMAX=YC                                          CF9 2070
  251 IF(RC.GT.YCMAX) YCMAX=RC                                          CF9 2080
      YIY = (1.0005D0*(YCMAX - YCMIN))/51.                              CF9 2090
      YYMAX = YCMAX                                                     CF9 2100
   83 REWIND KTBIN3                                                     CF9 2110
C --- READ INDEPENDENT VARIABLES FROM KTBIN3 IN GROUPS OF ISIZE.        CF9 2120
      IDONE  =  1                                                       CF9 2130
      IOVER  =  NOIND - ISIZE                                           CF9 2140
      IF(IOVER.GT.0) GO TO 85                                           CF9 2150
      IPLOT  =  NOIND                                                   CF9 2160
      DO 84 J = 1, NOOBSV                                               CF9 2170
   84 READ(KTBIN3) DUM,IDUM,(X(J,I),I=1,NOIND)                          CF9 2180
      GO TO 95                                                          CF9 2190
   85 IREAD  =  ISIZE + 1                                               CF9 2200
      IPLOT  =  ISIZE                                                   CF9 2210
      DO 86 J = 1, NOOBSV                                               CF9 2220
   86 READ(KTBIN3) DUM,IDUM,(X(J,I),I=1,ISIZE),(DUM,I=IREAD,NOIND)      CF9 2230
      GO TO 95                                                          CF9 2240
   87 IDONE  = IDONE + ISIZE                                            CF9 2250
      IDONE1 = IDONE - 1                                                CF9 2260
      IOVER  = IOVER - ISIZE                                            CF9 2270
      IF(IOVER.GT.0) GO TO 89                                           CF9 2280
      IPLOT  =  NOIND                                                   CF9 2290
      DO 88 J = 1, NOOBSV                                               CF9 2300
      IREAD = NOIND - IDONE1                                            CF9 2310
   88 READ(KTBIN3) DUM,IDUM,(DUM,I=1,IDONE1),(X(J,I),I=1,IREAD)         CF9 2320
      GO TO 95                                                          CF9 2330
   89 IPLOT  = IDONE1+ ISIZE                                            CF9 2340
      IREAD  = IPLOT + 1                                                CF9 2350
      DO 90 J = 1, NOOBSV                                               CF9 2360
   90 READ(KTBIN3) DUM,IDUM,(DUM,I=1,IDONE1),(X(J,I),I=1,ISIZE),        CF9 2370
     1             (DUM,I=IREAD,NOIND)                                  CF9 2380
   95 M = 0                                                             CF9 2390
      DO 290 I = IDONE, IPLOT                                           CF9 2400
      M = M + 1                                                         CF9 2410
      IF(AMAX(I).EQ.AMIN(I) ) GO TO 290                                 CF9 2411
      IF(IQ(18).GT.3) GO TO 201                                         CF9 2420
C --- PLOT RESIDUALS VS. EACH INDEPENDENT VARIABLE.                     CF9 2430
      YIW=(1.0005D0*(DELP-DELTA(IIC)))/51.                              CF9 2440
      XMAX = AMAX(I)                                                    CF9 2450
      XMIN = AMIN(I)                                                    CF9 2460
      IF(XMAX.GT.0.0) GO TO 96                                          CF9 2470
      XIW=(1.0005D0*(XMAX-XMIN))/101.                                   CF9 2480
      GO TO 97                                                          CF9 2490
   96 XIW=(1.0005*XMAX-XMIN) / 101.                                     CF9 2500
   97 CALL GRID(GRIDA,GRIDB,L1,ITYPE)                                   CF9 2510
      DO 130 IA=1,NOOBSV                                                CF9 2520
      JAC=LSORT(IA)                                                     CF9 2530
      LINE = IDINT((DELP-DELTA(JAC))/YIW)+2                             CF9 2540
      IF(LINE.LT.2.OR.LINE.GT.52) GO TO 130                             CF9 2550
      LOCX1=IDINT((X(JAC,M)-XMIN)/XIW)+1                                CF9 2560
      IF(LOCX1.LT.1.OR.LOCX1.GT.101) GO TO 130                          CF9 2570
      IF(LOCX1.EQ.1) LOCX1=2                                            CF9 2580
      LOCX2=LOCX1+4                                                     CF9 2590
      LCHAR=MOD(LOCX2,4)                                                CF9 2600
      LWORD=LOCX2/4                                                     CF9 2610
      IF(LCHAR) 108,106,108                                             CF9 2620
  106 LCHAR=4                                                           CF9 2630
      LWORD=LWORD-1                                                     CF9 2640
  108 CALL PACK(GRIDA(LINE,LWORD),LCHAR,IPLUS)                          CF9 2650
  130 CONTINUE                                                          CF9 2660
      WRITE(KTOU,162) PR1,PR2,PR3,ICURY,BI(K),I,BI(I)                   CF9 2670
  162 FORMAT(1H1,     1X,3A6, 9H  DEP VAR ,I2,2H: ,A6, 9X,34HRESIDUALS VCF9 2680
     1S. INDEPENDENT VARIABLE, I2, 2H: , A6 )                           CF9 2690
      XAVG = (XMAX + XMIN)/ 2.                                          CF9 2700
      XUQ  = (XMAX + XAVG)/ 2.                                          CF9 2710
      XLQ  = (XMIN + XAVG)/ 2.                                          CF9 2720
      WRITE(KTOU,164) XMIN,XLQ,XAVG,XUQ,XMAX                            CF9 2730
  164 FORMAT(1H ,13X,F10.3,14X,F10.3,16X,F10.3,14X,F10.3,16X,F10.3)     CF9 2740
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=1,3)                    CF9 2750
      WRITE(KTOU,40) (POS(IA-3),(GRIDA(IA,JZ),JZ=1,26),IA=4,11)         CF9 2760
      DO 168 IA=12,22                                                   CF9 2770
      IF(IA.EQ.L1) GO TO 166                                            CF9 2780
      WRITE(KTOU,38) (GRIDA(IA,JZ),JZ=1,26)                             CF9 2790
      GO TO 168                                                         CF9 2800
  166 WRITE(KTOU,44) (GRIDA(IA,JZ),JZ=1,26)                             CF9 2810
  168 CONTINUE                                                          CF9 2820
      DO 172 IA=23,31                                                   CF9 2830
      IF(IA.EQ.L1) GO TO 170                                            CF9 2840
      WRITE(KTOU,48) RESID(IA-22),(GRIDA(IA,JZ),JZ=1,26)                CF9 2850
      GO TO 172                                                         CF9 2860
  170 WRITE(KTOU,52) RESID(IA-22),(GRIDA(IA,JZ),JZ=1,26)                CF9 2870
  172 CONTINUE                                                          CF9 2880
      DO 176 IA=32,42                                                   CF9 2890
      IF(IA.EQ.L1) GO TO 174                                            CF9 2900
      WRITE(KTOU,38) (GRIDA(IA,JZ),JZ=1,26)                             CF9 2910
      GO TO 176                                                         CF9 2920
  174 WRITE(KTOU,44) (GRIDA(IA,JZ),JZ=1,26)                             CF9 2930
  176 CONTINUE                                                          CF9 2940
      WRITE(KTOU,40) (NEG(IA-42),(GRIDA(IA,JZ),JZ=1,26),IA=43,50)       CF9 2950
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=51,53)                  CF9 2960
      WRITE(KTOU,164) XMIN,XLQ,XAVG,XUQ,XMAX                            CF9 2970
      WRITE(KTOU,178) I, BI(I)                                          CF9 2980
  178 FORMAT(1H0,55X,20HINDEPENDENT VARIABLE, I2, 2H: , A6 )            CF9 2990
      IF(IQ(18).EQ.3) GO TO 290                                         CF9 3000
C --- CALCULATE COMPONENT AND COMPONENT PLUS RESIDUAL FOR EACH OBSV.    CF9 3010
  201 L2 = 99                                                           CF9 3020
      AMID = ( AMAX(I) + AMIN(I) )/ 2.0                                 CF9 3030
      YCMIN = 1.0E+32                                                   CF9 3040
      YCMAX = - YCMIN                                                   CF9 3050
      DO 202 J = 1, NOOBSV                                              CF9 3060
      YC = B(I)*(X(J,M) - AMID )                                        CF9 3070
      RC = YC + DELTA(J)                                                CF9 3080
      YYCC(J)  = YC                                                     CF9 3090
      COMPR(J) = RC                                                     CF9 3100
      IF(YC.LT.YCMIN) YCMIN=YC                                          CF9 3110
      IF(RC.LT.YCMIN) YCMIN=RC                                          CF9 3120
      IF(YC.GT.YCMAX) YCMAX=YC                                          CF9 3130
  202 IF(RC.GT.YCMAX) YCMAX=RC                                          CF9 3140
      XMAX=AMAX(I)                                                      CF9 3150
      XMIN=AMIN(I)                                                      CF9 3160
      IF(XMAX.GT.0.0) GO TO 204                                         CF9 3170
      XIW=(1.0005D0*(XMAX-XMIN))/101.                                   CF9 3180
      GO TO 206                                                         CF9 3190
  204 XIW=(1.0005D0*(XMAX-XMIN))/101.                                   CF9 3200
  206 IF(IQ(18).EQ.5) GO TO 208                                         CF9 3210
      IF(NTIME.EQ.2) GO TO 210                                          CF9 3220
  208 YIY = (1.0005D0*(YCMAX - YCMIN))/51.                              CF9 3230
      YYMAX = YCMAX                                                     CF9 3240
      NTIME = 2                                                         CF9 3250
  210 CALL GRID(GRIDA,GRIDB,L2,ITYPE)                                   CF9 3260
C --- FIND THE CHARACTER NUMBER (ABSCISSA) (1 TO 101)                   CF9 3270
      NOP = 0                                                           CF9 3280
      DO 220 J=1, NOOBSV                                                CF9 3290
      LOCX1=IDINT((X(J,M)-XMIN)/XIW)+1                                  CF9 3300
      IF(LOCX1.LT.1.OR.LOCX1.GT.101) GO TO 220                          CF9 3310
  212 IF(LOCX1.EQ.1) LOCX1=2                                            CF9 3320
      LOCX2 = LOCX1 + 4                                                 CF9 3330
      LCHAR = MOD(LOCX2,4)                                              CF9 3340
C --- FIND WORD NUMBER (1 TO 26 AT 6 CHARACTERS PER WORD)               CF9 3350
      LWORD = LOCX2/4                                                   CF9 3360
      IF(LCHAR) 216, 214, 216                                           CF9 3370
  214 LCHAR = 4                                                         CF9 3380
      LWORD = LWORD - 1                                                 CF9 3390
  216 LINE = IDINT((YYMAX-YYCC(J))/YIY)+2                               CF9 3400
C --- DONT PRINT IF LINE IS TOO LARGE.                                  CF9 3410
      IF(LINE.LT.2.OR.LINE.GT.52) GO TO 220                             CF9 3420
C --- PLACE PLOTTING CHARACTER IN POSITION LCHAR OF GRIDA(LINE,WORD)    CF9 3430
      CALL PACK(GRIDA(LINE,LWORD),LCHAR,ICOMPT)                         CF9 3440
      LINE2 = IDINT((YYMAX-COMPR(J))/YIY)+2                             CF9 3450
      IF(LINE2.LT.2.OR.LINE2.GT.52) GO TO 119                           CF9 3460
      ISYM = IPLUS                                                      CF9 3470
      IF(LINE2.EQ.LINE) ISYM=ISAME                                      CF9 3480
      CALL PACK(GRIDA(LINE2,LWORD),LCHAR,ISYM)                          CF9 3490
      GO TO 220                                                         CF9 3500
  119 NOP = NOP + 1                                                     CF9 3510
  220 CONTINUE                                                          CF9 3520
      WRITE(KTOU,230) PR1,PR2,PR3,ICURY,BI(K),I,BI(I)                   CF9 3530
  230 FORMAT(1H1,     1X,3A6, 9H  DEP VAR ,I2,2H: ,A6, 9X, 49HCOMPONENT CF9 3540
     1WITH RESIDUALS VS. INDEPENDENT VARIABLE , I2, 2H: , A6/           CF9 3550
     2 49X, 42HC = COMPONENT, + = WITH RESIDUAL, * = BOTH )             CF9 3560
      XAVG = (XMAX + XMIN)/ 2.                                          CF9 3570
      XUQ  = (XMAX + XAVG)/ 2.                                          CF9 3580
      XLQ  = (XMIN + XAVG)/ 2.                                          CF9 3590
      WRITE(KTOU,164) XMIN,XLQ,XAVG,XUQ,XMAX                            CF9 3600
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=1,15)                   CF9 3610
      WRITE(KTOU,231) (ICPR(IA-15),(GRIDA(IA,JZ),JZ=1,26),IA=16,22)     CF9 3620
  231 FORMAT(1H ,13X,           A1,5X,25A4,A2)                          CF9 3630
      WRITE(KTOU,232) (ICOMP(IA-22),ICPR(IA-15),                        CF9 3640
     1                (GRIDA(IA,JZ),JZ=1,26),IA=23,25)                  CF9 3650
  232 FORMAT(1H ,5X,A1,7X,      A1,5X,25A4,A2)                          CF9 3660
      WRITE(KTOU,233) (ICOMP(IA-22),IAND(IA-25), ICPR(IA-15),           CF9 3670
     1                (GRIDA(IA,JZ),JZ=1,26),IA=26,28)                  CF9 3680
  233 FORMAT(1H ,5X,A1,3X,A1,3X,A1,5X,25A4,A2)                          CF9 3690
      WRITE(KTOU,232) (ICOMP(IA-22),ICPR(IA-15),                        CF9 3700
     1                (GRIDA(IA,JZ),JZ=1,26),IA=29,31)                  CF9 3710
      WRITE(KTOU,231) (ICPR(IA-15),(GRIDA(IA,JZ),JZ=1,26),IA=32,39)     CF9 3720
      WRITE(KTOU,38) ((GRIDA(IA,JZ),JZ=1,26),IA=40,53)                  CF9 3730
      WRITE(KTOU,164) XMIN,XLQ,XAVG,XUQ,XMAX                            CF9 3740
      WRITE(KTOU,178) I, BI(I)                                          CF9 3750
      WRITE(KTOU,234) NOP                                               CF9 3760
  234 FORMAT(1H , I3, 26H RESIDUALS OUTSIDE OF PLOT )                   CF9 3770
  290 CONTINUE                                                          CF9 3780
      IF(IOVER.LE.0) GO TO 291                                          CF9 3790
      REWIND KTBIN3                                                     CF9 3800
      GO TO 87                                                          CF9 3810
C --- REPLACE Z AND C MATRIX IF CP SEARCH IS DESIRED.                   CF9 3820
  291 IF(IQ(25).EQ.0.AND.IQ(26).EQ.0) GO TO 300                         CF9 3830
      REWIND KTBIN1                                                     CF9 3840
      IF(IQ(24).EQ.0) GO TO 292                                         CF9 3850
      READ(KTBIN1) ( DUM, I=1, NOVAR)                                   CF9 3860
  292 DO 293  I = 1, NOIND                                              CF9 3870
  293 READ(KTBIN1) (C(I,J), J = I,NOIND)                                CF9 3880
      DO 294 I = 1, NOVAR                                               CF9 3890
  294 READ(KTBIN1)    (Z(I,J), J = I,NOVAR )                            CF9 3900
C ---      SQUARE Z MATRIX.                                             CF9 3910
      NOVM1 = NOVAR - 1                                                 CF9 3920
      DO 296  I = 1, NOVM1                                              CF9 3930
      IPL1 = I + 1                                                      CF9 3940
      DO 296 J = IPL1, NOVAR                                            CF9 3950
  296 Z(J,I)= Z(I,J)                                                    CF9 3960
  300 RETURN                                                            CF9 3970
      END                                                               CF9 3980
      SUBROUTINE GRID(GRIDA,GRIDB,L1,ITYPE)                             CF100010
C                                                                       CF100020
C     SUBROUTINE MAKES GRIDA FOR RESIDUALS VS. FITTED Y.                CF100030
C     SUBROUTINE MAKES GRIDB FOR CUMULATIVE DISTRIBUTION OF RESIDUALS.  CF100040
C --- GRIDA IS ALSO USED TO PLOT COMPONENT-PLUS RESIDUALS VS EACH       CF100050
C ---    INDEPENDENT VARIABLE AND IS USED TO MAKE THE CP VS P PLOTS.    CF100060
C ---    WHEN ITYPE = 1, BOTH GRIDA AND GRIDB PLOTS ARE MADE.           CF100070
C ---    WHEN ITYPE = 2, GRIDA ALONE IS MADE.                           CF100080
C ---    WHEN ITYPE = 3, THE PLOT AREA IS BLANKED OUT, REUSING THE      CF100090
C ---      OUTLINE FROM A PREVIOUS PLOT.                                CF100100
C ---    L1 IS THE LINE AT WHICH THE RESIDUALS CROSS 0.  WHEN L1=99,    CF100110
C ---      THE ZERO LINE IS NOT PLOTTED.                                CF100120
C                                                                       CF100130
C                                                                       CF100140
      DIMENSION GRIDA(53,26),GRIDB(53,26),GRDA(7),GRDB(4)               CF100150
      DATA GRDA/4H*---,4H-*--,4H--*-,4H---*,4H----,2H*-,2H--/           CF100160
      DATA GRDB/4HI   ,2H I,4HI---,2H-I/                                CF100170
      DATA BLANK/4H    /,BLINK/4H   '/                                  CF100180
      GO TO (1,21,23), ITYPE                                            CF100190
    1 DO 2 IA=1,5                                                       CF100200
      DO 2 IB=1,5                                                       CF100210
      IC=(IA-1)*5+IB                                                    CF100220
      GRIDA(1,IC)=GRDA(IB)                                              CF100230
    2 GRIDA(53,IC)=GRDA(IB)                                             CF100240
      GRIDA(1,26)=GRDA(6)                                               CF100250
      GRIDA(53,26)=GRDA(6)                                              CF100260
      GRIDB(1, 1)=GRDA(1)                                               CF100270
      GRIDB(1, 2)=GRDA(3)                                               CF100280
      GRIDB(1, 3)=GRDA(5)                                               CF100290
      GRIDB(1, 4)=GRDA(3)                                               CF100300
      GRIDB(1, 5)=GRDA(2)                                               CF100310
      GRIDB(1, 6)=GRDA(2)                                               CF100320
      GRIDB(1, 7)=GRDA(4)                                               CF100330
      GRIDB(1, 8)=GRDA(5)                                               CF100340
      GRIDB(1, 9)=GRDA(1)                                               CF100350
      GRIDB(1,10)=GRDA(3)                                               CF100360
      GRIDB(1,11)=GRDA(4)                                               CF100370
      GRIDB(1,12)=GRDA(4)                                               CF100380
      GRIDB(1,13)=GRDA(4)                                               CF100390
      GRIDB(1,14)=GRDA(4)                                               CF100400
      GRIDB(1,15)=GRDA(4)                                               CF100410
      GRIDB(1,16)=GRDA(5)                                               CF100420
      GRIDB(1,17)=GRDA(1)                                               CF100430
      GRIDB(1,18)=GRDA(3)                                               CF100440
      GRIDB(1,19)=GRDA(4)                                               CF100450
      GRIDB(1,20)=GRDA(5)                                               CF100460
      GRIDB(1,21)=GRDA(2)                                               CF100470
      GRIDB(1,22)=GRDA(2)                                               CF100480
      GRIDB(1,23)=GRDA(1)                                               CF100490
      GRIDB(1,24)=GRDA(5)                                               CF100500
      GRIDB(1,25)=GRDA(1)                                               CF100510
      GRIDB(1,26)=GRDA(7)                                               CF100520
      DO 4 IA=1,26                                                      CF100530
    4 GRIDB(53,IA)=GRIDB(1,IA)                                          CF100540
      DO 8 IA=2,52                                                      CF100550
      DO 6 IB=2,25                                                      CF100560
      GRIDA(IA,IB)=BLANK                                                CF100570
      GRIDB(IA,IB)=BLANK                                                CF100580
    6 CONTINUE                                                          CF100590
      GRIDB(IA,13)=BLINK                                                CF100600
    8 CONTINUE                                                          CF100610
      DO 10 IA=2,52                                                     CF100620
      GRIDA(IA,1)=GRDB(1)                                               CF100630
      GRIDA(IA,26)=GRDB(2)                                              CF100640
      GRIDB(IA,1)=GRDB(1)                                               CF100650
   10 GRIDB(IA,26)=GRDB(2)                                              CF100660
      DO 12 IA=2,25                                                     CF100670
      GRIDA(L1,IA)=GRDA(5)                                              CF100680
   12 GRIDB(L1,IA)=GRDA(5)                                              CF100690
      GRIDA(L1,1)=GRDB(3)                                               CF100700
      GRIDA(L1,26)=GRDB(4)                                              CF100710
      GRIDB(L1,1)= GRDB(3)                                              CF100720
      GRIDB(L1,26)=GRDB(4)                                              CF100730
      RETURN                                                            CF100740
   21 DO 22 IA=1,5                                                      CF100750
      DO 22 IB=1,5                                                      CF100760
      IC=(IA-1)*5+IB                                                    CF100770
      GRIDA(1,IC)=GRDA(IB)                                              CF100780
   22 GRIDA(53,IC)=GRDA(IB)                                             CF100790
      GRIDA(1,26)=GRDA(6)                                               CF100800
      GRIDA(53,26)=GRDA(6)                                              CF100810
   23 DO 24 IA=2,52                                                     CF100820
      DO 24 IB=2,25                                                     CF100830
   24 GRIDA(IA,IB)=BLANK                                                CF100840
      IF(L1.NE.99) GO TO 28                                             CF100850
      DO 26 IA=2,52                                                     CF100860
      GRIDA(IA,1)=GRDB(1)                                               CF100870
   26 GRIDA(IA,26)=GRDB(2)                                              CF100880
      RETURN                                                            CF100890
   28 DO 29 IA=2,52                                                     CF100900
      GRIDA(IA,1)=GRDB(1)                                               CF100910
   29 GRIDA(IA,26)=GRDB(2)                                              CF100920
      DO 30 IA=2,25                                                     CF100930
   30 GRIDA(L1,IA)=GRDA(5)                                              CF100940
      GRIDA(L1,1)=GRDB(3)                                               CF100950
      GRIDA(L1,26)=GRDB(4)                                              CF100960
      RETURN                                                            CF100970
      END                                                               CF100980
      SUBROUTINE PACK(X,N,C)                                            CF110010
C                                                                       CF110020
C          SUBROUTINE PLACES THE APPROPRIATE SYMBOLS ON THE PLOTS       CF110030
C     CHARACTER C IS PLACED IN BYTE N OF WORD X, WHERE WORD X IS        CF110031
C     A SIMULATE BYTE IBM 360 WORD, WITH BYTES NUMBERED FROM THE LEFT.  CF110032
C     N TAKES VALUES OF 1, 2, 3 OR 4.  PACK IS CALLED FROM PITCHA       CF110033
C     AND CPMAIN.                                                       CF110034
C                                                                       CF110040
      Y=X                                                               CF110080
      CALL DEPSIT(C,N,Y)                                                CF110090
      X=Y                                                               CF110110
      RETURN                                                            CF110120
      END                                                               CF110130
      SUBROUTINE CPMAIN(ZMS)                                            CF120010
C ---    SUBROUTINE SETS UP AND CONTROLS CP CALCULATIONS, PRINTOUTS,    CF120020
C     AND PLOTS.  CP MAIN AND ASSOC. SUBROUTINES WRITTEN BY F.S.WOOD.   CF120030
C                                                                       CF120040
C ---          GLOSSARY OF CP PROGRAM TERMS                             CF120050
C --- AVAR() NAME OF VARIABLE IN ENGLISH.                               CF120060
C --- BI  () ARRAY OF ENGLISH NAMES OF VARIABLES IN FULL EQUATION.      CF120070
C --- C   () C ARRAY OF SIMPLE CORRELATION COEFFICIENTS OF BASIC        CF120080
C ---         EQUATION.                                                 CF120090
C --- CP  () ARRAY OF CP VALUES INDEXED BY L,  CP(L) = (ZSSL/ZMS) - NP. CF120100
C --- CPHI   FIRST SETTING OF CPHIGH.                                   CF120110
C --- CPHIGH MAXIMUM CP VALUE OF EQUATION PRINTED IN CP SEARCH.  THE    CF120120
C ---         LEVEL IS RESET AFTER LCP CANDIDATES HAVE BEEN FOUND TO    CF120130
C ---         THE CP VALUE OF THE LOWEST JCP  EQUATION.                 CF120140
C --- CPTOP  LARGEST CP VALUE USED IN THE CP VS. P PLOT.                CF120150
C --- HAPPY  ELEMENT C(JOY,JOY), USED TO SWEEP MATRIX.                  CF120160
C --- IBACK  IN T DIRECTED SEARCH, NUMBER OF VARIABLES BACK FROM MIN    CF120161
C ---         CP.  USED TO SET BASIC SET OF VARIABLES.                  CF120162
C --- IC     COUNTER.                                                   CF120170
C --- ICP () INDEX OF VARIABLES READ FROM INPUT CARD TO BE SEARCHED.    CF120180
C ---         OTHER VARIABLES IN FULL EQUATION ARE PLACED IN BASIC      CF120190
C ---         EQUATION.                                                 CF120200
C --- ICURY  THE NUMBER OF THE DEPENDENT VARIABLE.                      CF120210
C --- IN     NUMBER OF VARIABLES IN EACH EQUATION.                      CF120220
C --- INOUT()INDEX OF VARIABLE POSITIONS USED TO DETERMINE WHICH        CF120230
C ---         VARIABLE IS IN EACH EQUATION.                             CF120240
C --- IP  () INDEX OF P VARIABLES IN EQUATION L.                        CF120250
C --- IS  () ARRAY USED TO GENERATE THE GARSIDE SEQUENCE FOR ADDING     CF120260
C ---         AND DELEATING VARIABLES.                                  CF120270
C --- ISRCH  INDICATION THAT CP SEARCH HAS BEEN REQUESTED IF=1, IQ(25). CF120280
C --- IVGT() INDEX OF VARIABLES IN BASIC EQUATION.                      CF120290
C --- IVLT() INDEX OF VARIABLES TO BE SEARCHED.                         CF120300
C --- JCP    NUMBER OF LOWEST CP EQUATIONS IN FIRST LCP EQUATIONS.      CF120310
C --- JMAX   MAXIMUM NUMBER OF SWEEPS.                                  CF120320
C --- JOY    NAME OF VARIABLE USED TO SWEEP Z ARRAY, SOMETIMES FSW.     CF120330
C --- JRETRN COUNT OF SWEEPS BEFORE RETURNING TO BASIC SCC MATRIX C.    CF120340
C --- JSWEEP COUNT OF SWEEPS BEFORE CHANGING SIZE OF SWEEP.             CF120350
C --- K      THE POSITION OF THE DEPENDENT VARIABLE IN THE Z ARRAY.     CF120360
C --- KRET   NUMBER OF VARIABLES PRESENT BEFORE RETURNING TO BASIC SCC  CF120370
C ---         MATRIX C.                                                 CF120380
C --- KSEQ   COUNT OF K VARIABLES IN CURRENT SWEEP.                     CF120390
C --- KSEQP1 SIZE OF SWEEP (K VARIABLES IN CURRENT SEQUENCE PLUS 1).    CF120400
C --- L      INDEX OF EQUATIONS USED IN CP CALCULATIONS.                CF120410
C --- LCP    NUMBER OF EQUATIONS FOUND BEFORE RESETTING CPHIGH.         CF120420
C --- LE     NUMBER OF SUBSET EQUATION WITH RMS LESS THAN FULL          CF120430
C ---         EQUATION.                                                 CF120440
C --- LMORE  MAXCIP - LCP                                               CF120450
C --- MAXCIP TRAP FOR MAXIMUM DIMENSIONS OF CP AND IP.                  CF120460
C --- MAXNPR MAXIMUM NUMBER OF SORTED CP VALUES PRINTED.                CF120470
C --- MAXSRH TRAP FOR MAXIMUM NUMBER OF VARIABLES TO BE SEARCHED.       CF120480
C --- MP     VALUE  OF P DEPENDING IF NGT IS ZERO OR NOT.               CF120490
C --- NCP    NUMBER OF CP AND FACTORIAL SEARCHES.                       CF120500
C --- NFCARD NUMBER OF FACTORIAL SEARCH CARDS, IQ(26),COL52.            CF120510
C --- NGT    NUMBER OF VARIABLES IN BASIC EQUATION, NO. OF VARIABLES    CF120520
C ---         WITH THE GREATER T-VALUES.                                CF120530
C --- NLT    NUMBER OF VARIABLES TO BE SEARCHED,  NO. OF VARIABLES      CF120540
C ---         WITH THE LOWER T-VALUES.                                  CF120550
C --- NODEP  NUMBER OF DEPENDENT VARIABLES.                             CF120560
C --- NOIND  NUMBER OF INDEPENDENT VARIABLES.                           CF120570
C --- NOVAR  NUMBER OF VARIABLES, DEPENDENT AND INDEPENDENT.            CF120580
C --- NP     = N - 2P, UPDATED AND USED IN EACH CP CALCULATION.         CF120590
C --- NSRCH  NUMBER OF THAT PARTICULAR SEARCH.                          CF120600
C --- P      NUMBER OF VARIABLES IN EQUATION COUNTING BZERO.            CF120610
C --- RMS    RESIDUAL MEAN SQUARE OF FULL EQUATION, TAKEN AS THE        CF120620
C ---         ESTIMATED VARIANCE OF Y FOR THE CP CALCULATION.           CF120630
C --- RMSE   ESTIMATE OF RMS EITHER READ FROM CARD OR VALUE FOUND IN    CF120640
C ---         SUBSET EQUATION THAT IS SMALLER THAN RMS.                 CF120650
C --- RMSR   RATIO OF RMS/RMSE.                                         CF120660
C --- SIGN   POSITIVE SIGN INDICATES VARIABLE ADDED, NEGATIVE SIGN      CF120670
C ---         INDICATES VARIABLE REMOVED.                               CF120680
C --- TVALUE ARRAY CONTAINING THE T-VALUES OF THE INDEPENDENT           CF120690
C ---         VARIABLES IN THE FULL EQUATION.                           CF120700
C --- U   () ARRAY USED TO MODIFY Z ARRAY FOR VARIABLES ADDED AND       CF120710
C ---         DELETED.                                                  CF120720
C --- Z   () Z ARRAY OF SIMPLE CORRELATION COEFFICIENTS, AT START       CF120730
C ---          FROM FULL EQUATION, THEN MODIFIED AS VARIABLES ARE       CF120740
C ---          ADDED, SEE BROWNLEE SECTION 17.10, EQUATION 10.5.        CF120750
C --- ZMS    RMS CONVERTED TO UNITS OF SIMPLE CORRELATION COEFFICIENT,  CF120760
C ---            ZMS = RMS / (STDDEV(K)*STDDEV(K)*(NOOBSV-1)).          CF120770
C                                                                       CF120780
      IMPLICIT REAL*8(A-H,O-Z)                                          CF120790
      REAL*4 GRIDA(53,26), GRIDB(53,26)                                 CF120800
      INTEGER NVALP(21)                                                 CF121070
      DIMENSION NCP1(53)                                                CF120801
      DIMENSION AVAR(40), CP(1000), INOUT(40), IP(1000), IS(40),        CF120810
     1          IVAR(40), IVGT(40), IVLT(40), TVALUE(40)                CF120820
C *** TO MAKE A 50 VARIABLE, 2000 OBSERVATION PROGRAM, CHANGE THE       CF120830
C *** DIMENSIONS OF AVAR, INOUT, IVAR, IVGT, IVLT AND TVALUE TO 50.     CF120840
      COMMON /AAAAAA/ COM1(1000)                                        CF120850
      COMMON /BBBBBB/ COM2(186)                                         CF120860
      COMMON /CCCCCC/ COM3(240)                                         CF120870
      COMMON /DDDDDD/ COM4(3500)                                        CF120880
      COMMON /EEEEEE/ LSORT(1000)                                       CF120890
      COMMON /FORFIT/ RMS, YCMAX, YCMIN, INTDUM, K411, NCP              CF120900
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF120910
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF120920
      COMMON /JJJJJJ/ IDZB(1000)                                        CF120930
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF120940
     1                NOOBSV, ICURY                                     CF120950
      COMMON /NNNNNN/ DEFR, XNOIND, NONONO, MXVRBT, MXVPBT, MXVRAT,     CF120960
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF120970
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF120980
      COMMON /RRRRRR/ KTBIN1, KTBIN2, KTBIN3, KTBIN4, KTBIN5            CF120990
      COMMON /SSSSSS/ ICP(20)                                           CF121000
C ---          EQUIVALENCE STATEMENTS IN CF 12 ALONE                    CF121010
      EQUIVALENCE (COM1(1),CP(1)), (COM2(1),INOUT(1)), (COM4(1),IS(1)), CF121020
     1 (COM3(1),AVAR(1)), (COM3(81),IVLT(1)), (COM3(161),IVGT(1)),      CF121030
     2 (COM3(161),IVAR(1)), (BETA(1),TVALUE(1)),  (IDZB(1),IP(1))       CF121040
      EQUIVALENCE (COM4(1001),GRIDA(1)),(COM4(1691),GRIDB(1))           CF121050
      DATA NCP1/26*4H    ,4HCP  ,26*4H    /                             CF121060
      DATA IPLUS/4H++++/                                                CF121080
C --                                                                    CF121090
C ---*******************************************************************CF121100
C --                                                                    CF121110
C ---      LIMITS THAT CAN BE SET BY THE INSTALLATION STATISTICIAN.     CF121120
C ---       FOR DEFINITIONS SEE THE GLOSSARY ABOVE.                     CF121130
C ---                                                                   CF121140
C --- MAX LEVEL OF CP TO SAVE NAMES OF VARIABLES. CAN BE CHANGED        CF121150
C ---  AT STATEMENT 300,  E.G. CPHI = CPMAX + 2.0       OR              CF121160
C ---  CPHI = (CPMAX + DFLOAT(MP) ) / 2.                                CF121170
C --- CPHI IS SET EQUAL TO CPHIGH AT START OF INTERNAL DO LOOP 5000.    CF121180
C --- CPHIGH IS RESET AT STATEMENT 92 TO CP VALUE OF LOWEST JCP         CF121190
C ---  EQUATIONS OUT OF LCP CANDIDATE EQUATIONS FOUND AT FIRST CPHI     CF121200
C ---  SETTING.                                                         CF121210
    1 JCP    =  20                                                      CF121220
      LCP    = 200                                                      CF121230
      MAXNPR = 100                                                      CF121240
C --- MAXSRH IS THE TOTAL NUMBER OF VARIABLES THAT CAN BE SEARCHED.     CF121250
C ---  EACH COMPUTER CENTER MAY WISH TO HAVE MORE THAN ONE PROGRAM      CF121260
C ---  COMPILED WITH DIFFERENT LEVELS OF MAXSRH LIMITS.                 CF121270
      MAXSRH =  12                                                      CF121280
      IF(IQ(21).GT.12.AND.IQ(21).LT.19) MAXSRH = IQ(21)                 CF121290
C --- THE TOTAL NUMBER OF SEARCHES = 2**MAXSRH.                         CF121300
C ---    WHEN MAXSRH = 12, TOTAL =   4,096 SEARCHES,                    CF121310
C ---    WHEN MAXSRH = 14, TOTAL =  16,384 SEARCHES,                    CF121320
C ---    WHEN MAXSRH = 18, TOTAL = 256,144 SEARCHES.                    CF121330
C --- MAXSRH MUST NOT BE  LARGER THAN THE DIMENSIONS OF ICP IN BASPGM   CF121340
C ---  AND CPMAIN SUBROUTINES.  IS(40) IS DIMENSIONED TO HOLD MAXSRH=20 CF121350
      IBACK = 2                                                         CF121351
C --                                                                    CF121360
C ---*******************************************************************CF121370
C --                                                                    CF121380
      L   = 0                                                           CF121390
      LE  = 0                                                           CF121400
      MP  = 0                                                           CF121410
      NGT = 0                                                           CF121420
      NLT = 0                                                           CF121430
      MAXCIP = MXOBSV                                                   CF121440
      LMORE = MAXCIP - LCP                                              CF121450
      NSRCH  = 1                                                        CF121460
      ISRCH  = IQ(25)                                                   CF121470
      NFCARD = IQ(26)                                                   CF121480
      NCP    = 1                                                        CF121490
      IF(NFCARD.GT.0) NCP = NFCARD                                      CF121500
      NF   = NOOBSV                                                     CF121510
      RMSE = RMS                                                        CF121520
      WRITE(KTOU,1000) PR1, PR2, PR3, ICURY, BI(K), NSRCH               CF121530
 1000 FORMAT(1H1,40X,40HCP VALUES FOR THE SELECTION OF VARIABLES//      CF121540
     1   1X, 3A6, 10H   DEP VAR, I2, 2H: , A6,4X,13HSEARCH NUMBER,I2/)  CF121550
C --- RMS CONVERTED TO UNITS OF SIMPLE CORRELATION COEFF. MATRIX BY     CF121560
C --  ZMS = RMS / (STDDEV(K)*STDDEV(K)*(NOOBSV-1))  IN MAIN.            CF121570
C --- CALCULATE  P FOR BASIC EQUATION, WITH OR WITHOUT BZERO.           CF121580
      IF(IQ(5).EQ.1) GO TO 3                                            CF121590
    2 MP = 1                                                            CF121600
    3 NP = NOOBSV - 2*MP                                                CF121610
      IPMAX = MP + NOIND                                                CF121620
      CPMAX = DFLOAT(IPMAX) + .005                                      CF121630
  300 CPHI = CPMAX                                                      CF121640
      IF(NFCARD.GT.0) GO TO 101                                         CF121650
C --- DEVELOP BASIC EQUATION FOR DIRECT SEARCH OF REMAINING VARIABLES.  CF121660
C --- PUT VARIABLES IN BASIC EQUATION WITH LARGEST T-VALUES FIRST,      CF121670
C --- THEN NEXT LARGEST T-VALUES UNTIL CP VALUE GOES THROUGH A MINIMUM. CF121680
      CALL SORT (NOIND, TVALUE, LSORT)                                  CF121690
      IC = NOIND                                                        CF121700
      JOY = LSORT(IC)                                                   CF121710
      SIGN = 1.                                                         CF121720
      CALL SWEEP (JOY, SIGN, NOIND, K)                                  CF121730
      NPS = NP - 2                                                      CF121740
      CP(  1) = (Z(K,K) / ZMS) - NPS                                    CF121750
      MGT = 1                                                           CF121760
      WRITE(KTOU,1001)                                                  CF121770
 1001 FORMAT(1H , 42HSELECTION OF VARIABLES FOR BASIC EQUATION   )      CF121780
      WRITE(KTOU,1002) CP(1), JOY, BI(JOY)                              CF121790
 1002 FORMAT(1H0, 4HCP =, F5.1, 18H,  VARIABLE ADDED ,I2, 2X, A6 )      CF121800
      DO 4 JAS = 2, NOIND                                               CF121810
      IC = IC -1                                                        CF121820
      JOY = LSORT(IC)                                                   CF121830
      CALL SWEEP (JOY, SIGN, NOIND, K)                                  CF121840
      NPS = NP - 2*JAS                                                  CF121850
      CP(JAS) = (Z(K,K) / ZMS) - NPS                                    CF121860
      WRITE(KTOU,1002) CP(JAS), JOY, BI(JOY)                            CF121870
C --- GET OUT OF DO LOOP WHEN NEXT CP VALUE IS LARGER                   CF121880
      IF(CP(JAS-1).LT.CP(JAS) ) GO TO 5                                 CF121890
      MGT = MGT + 1                                                     CF121900
    4 CONTINUE                                                          CF121910
C --- BACK UP IBACK VARIABLES FROM MINIMUM CP VALUE.                    CF121920
    5 MGT = MGT - IBACK                                                 CF121930
      IA = IC + IBACK                                                   CF121940
      IF(IA.GT.NOIND) IA = NOIND                                        CF121941
      IF(MGT.GT.0) GO TO 7                                              CF121950
      DO 6 I = 1, NOIND                                                 CF121960
      NLT = NLT + 1                                                     CF121970
    6 IVLT(NLT) = I                                                     CF121980
      GO TO 12                                                          CF121990
    7 DO 11 I = 1, NOIND                                                CF122000
      DO 9 J = 1, IA                                                    CF122010
      IF(I.NE.LSORT(J)) GO TO 9                                         CF122020
   10 NLT = NLT + 1                                                     CF122030
      IVLT(NLT) = I                                                     CF122040
    9 CONTINUE                                                          CF122050
   11 CONTINUE                                                          CF122060
C --- SAVE CP AND IP OF BASIC EQUATION FOR LATER PRINTOUT.              CF122070
      CP(1) = CP(MGT)                                                   CF122080
      IP(1) = MP + MGT                                                  CF122090
C --- REMOVE EFFECT OF LAST VARIABLE THAT ENTERED Z MATRIX              CF122100
   12 SIGN = -1.                                                        CF122110
      CALL SWEEP (JOY, SIGN, NOIND, K)                                  CF122120
      DO 8 J = 1, IBACK                                                 CF122121
      IC = IC + 1                                                       CF122122
      IF(IC.GT.NOIND) GO TO 13                                          CF122123
      JOY = LSORT(IC)                                                   CF122130
    8 CALL SWEEP (JOY, SIGN, NOIND, K)                                  CF122140
      GO TO 13                                                          CF122150
  101 IF(ICURY.LT.2) GO TO 102                                          CF122160
      READ(KTIN,9988) (ICP(I), I=1,MAXSRH )                             CF122170
      GO TO 102                                                         CF122180
C ---      START SUBSEQUENT FACTORIAL SEARCHES HERE.                    CF122190
 9994 WRITE(KTOU,1000) PR1, PR2, PR3, ICURY, BI(K), NSRCH               CF122200
C --- THE NUMBER OF EACH VARIABLE TO BE INCLUDED IN EACH FACTORIAL      CF122210
C ---  SEARCH IS READ FIRST IN MAIN PROGRAM AND THEN AT END OF THIS     CF122220
C ---  SUBROUTINE IN ICP BY FORMAT 18(2X,I2).                           CF122230
  102 IC = MAXSRH                                                       CF122240
      IF(NOIND.LT.IC) IC = NOIND                                        CF122250
      DO 103 J = 1, IC                                                  CF122260
      IF(ICP(J).EQ.0) GO TO 104                                         CF122270
      IVLT(J) = ICP(J)                                                  CF122280
  103 NLT = NLT + 1                                                     CF122290
  104 WRITE(KTOU,1004)                                                  CF122300
 1004 FORMAT(1H , 29HVARIABLES IN FACTORIAL SEARCH )                    CF122310
      DO 106 J = 1, NLT                                                 CF122320
      I = ICP(J)                                                        CF122330
  106 AVAR(J) = BI(I)                                                   CF122340
      KKK = 0                                                           CF122350
  128 IF(NLT - KKK) 13, 13, 130                                         CF122360
  130 KONE = KKK + 1                                                    CF122370
      IF(NLT - (KKK+12)) 134, 134, 132                                  CF122380
  132 KTWO = KKK + 12                                                   CF122390
      GO TO 136                                                         CF122400
  134 KTWO = NLT                                                        CF122410
  136 WRITE(KTOU,1016) ( ICP(J),J=KONE,KTWO)                            CF122420
      WRITE(KTOU,1018) (AVAR(J),J=KONE,KTWO)                            CF122430
      KKK = KKK + 12                                                    CF122440
      GO TO 128                                                         CF122450
   13 IC = 1                                                            CF122460
      JC = 1                                                            CF122470
      DO 15 J = 1, NLT                                                  CF122480
      DO 14 I = JC, NOIND                                               CF122490
      IC = IC + 1                                                       CF122500
      IF(I.EQ.IVLT(J)) GO TO 145                                        CF122510
      NGT = NGT + 1                                                     CF122520
      IVGT(NGT) = I                                                     CF122530
      AVAR(NGT) = BI(I)                                                 CF122540
   14 CONTINUE                                                          CF122550
  145 JC = IC                                                           CF122560
   15 CONTINUE                                                          CF122570
      IF(IC.GT.NOIND) GO TO 17                                          CF122580
      DO 16 I = IC, NOIND                                               CF122590
      NGT = NGT + 1                                                     CF122600
      IVGT(NGT) = I                                                     CF122610
   16 AVAR(NGT) = BI(I)                                                 CF122620
   17 CONTINUE                                                          CF122630
      NP = NP - 2*NGT                                                   CF122640
      MP = MP + NGT                                                     CF122650
      IP(1) = MP                                                        CF122660
      WRITE(KTOU,1006) NOOBSV, NOIND, NGT, NLT                          CF122670
 1006 FORMAT(1H0//1X,22HNUMBER OF OBSERVATIONS,    18X, I4/             CF122680
     137H NUMBER OF VARIABLES IN FULL EQUATION,    5X, I3/              CF122690
     238H NUMBER OF VARIABLES IN BASIC EQUATION,   4X, I3/              CF122700
     338H REMAINDER OF VARIABLES TO BE SEARCHED,   4X, I3// )           CF122710
      IF(NLT.LT.1) GO TO 9999                                           CF122711
C --- PROBLEM HALTED IF NLT IS GREATER THAN MAXSRH                      CF122720
      IF(NLT.GT.MAXSRH) GO TO 9997                                      CF122730
      WRITE(KTOU,1008)                                                  CF122740
 1008 FORMAT(1H0, 42HEQUATION  P   CP    VARIABLES IN EQUATION )        CF122750
      WRITE(KTOU,1009) IPMAX, CPMAX                                     CF122760
 1009 FORMAT(1H0,8X,I3,1X,F5.1,2X,13HFULL EQUATION )                    CF122770
C --- SKIP BASIC EQUATION IF NGT IS ZERO.                               CF122780
      IF(NGT.GT.0) GO TO 18                                             CF122790
      WRITE(KTOU,1110)                                                  CF122800
 1110 FORMAT(1H0, 19X, 25HNO BASIC SET OF VARIABLES )                   CF122810
      GO TO 40                                                          CF122820
C                                                                       CF122830
C ---      CALCULATE CP VALUE FOR FACTORIAL NGT VARIABLES               CF122840
C                                                                       CF122850
   18 IF(NFCARD.EQ.0) GO TO 21                                          CF122860
C ---    SETUP Z SIMPLE CORRELATION COEFFICIENTS TO CONTAIN             CF122870
C --- NGT FACTORIAL VARIABLES                                           CF122880
      SIGN =  1.                                                        CF122890
      DO 20 JAZ=1, NGT                                                  CF122900
      JOY = IVGT(JAZ)                                                   CF122910
      CALL SWEEP(JOY,SIGN,NOIND,K)                                      CF122920
   20 CONTINUE                                                          CF122930
      CP(1) = (Z(K,K) / ZMS) - NP                                       CF122940
   21 L = 1                                                             CF122950
      IF(NGT - 10) 22, 22, 24                                           CF122960
   22 MNO = NGT                                                         CF122970
      GO TO 25                                                          CF122980
   24 MNO = 10                                                          CF122990
   25 IF(CP(1).GT.CPMAX) GO TO 26                                       CF123000
      WRITE(KTOU,1010) L, IP(L), CP(L), (IVGT(I),I=1,MNO)               CF123010
 1010 FORMAT(1H0,4X,I3,1X,I3,1X,F5.1,2X,22HBASIC SET OF VARIABLES,      CF123020
     1  10(2X,I6)   )                                                   CF123030
      GO TO 27                                                          CF123040
   26 WRITE(KTOU,1012) IP(L), CP(L), (IVGT(I),I=1,MNO)                  CF123050
 1012 FORMAT(1H0,8X,I3,1X,F5.1,2X,22HBASIC SET OF VARIABLES,10(2X,I6))  CF123060
      L = 0                                                             CF123070
   27 WRITE(KTOU,1014)(AVAR(I),I=1, MNO)                                CF123080
 1014 FORMAT(1H ,41X, 12(2X,A6) )                                       CF123090
      KKK = 10                                                          CF123100
   28 IF(NGT - KKK) 38, 38, 30                                          CF123110
   30 KONE = KKK + 1                                                    CF123120
      IF(NGT - (KKK+12)) 34, 34, 32                                     CF123130
   32 KTWO = KKK + 12                                                   CF123140
      GO TO 36                                                          CF123150
   34 KTWO = NGT                                                        CF123160
   36 WRITE(KTOU,1016) (IVGT(I), I=KONE,KTWO)                           CF123170
 1016 FORMAT(1H0,17X, 13(2X,I6) )                                       CF123180
      WRITE(KTOU,1018) (AVAR(I), I=KONE,KTWO)                           CF123190
 1018 FORMAT(1H ,17X, 13(2X,A6) )                                       CF123200
      KKK = KKK + 12                                                    CF123210
      GO TO 28                                                          CF123220
   38 DF   = NF - IP(1)                                                 CF123230
      RMSL = (CP(1) + DF - IP(1) )*RMS/DF                               CF123240
      WRITE(KTOU,1011) RMSL                                             CF123250
 1011 FORMAT(20X, 5HRMS =, F11.5)                                       CF123260
      IF(RMSL.GE.RMSE) GO TO 40                                         CF123270
      LE   = L                                                          CF123280
      RMSE = RMSL                                                       CF123290
   40 NLTP1 = NLT + 1                                                   CF123300
      IVLT(NLTP1) = K                                                   CF123310
C --- CONSTRUCT SMALLER MATRIX TO CONTAIN ONLY NLTP1 VARIABLES IN C().  CF123320
      DO 42 I = 1, NLTP1                                                CF123330
      IC = IVLT(I)                                                      CF123340
      DO 42 J = I, NLTP1                                                CF123350
      JC = IVLT(J)                                                      CF123360
   42 C(I,J) = Z(IC,JC)                                                 CF123370
C --- REPLACE Z MATRIX WITH NEW SMALLER BASIC MATRIX AND SAVE C TO      CF123380
C --- RESTORE THE Z MATRIX AFTER JRETRN SWEEPS.                         CF123390
      DO 44 I=1, NLTP1                                                  CF123400
      DO 44 J=I, NLTP1                                                  CF123410
   44 Z(I,J) = C(I,J)                                                   CF123420
C --- ZERO INOUT INDEX USED TO DETERMINE IF VARIABLE IS PRESENT IN      CF123430
C --- GARSIDE SEQUENCE.                                                 CF123440
      DO 46 I = 1, NLT                                                  CF123450
   46 INOUT(I) = 0                                                      CF123460
C --- DETERMINE SEQUENCE OF SWEEPS.                                     CF123470
      DO 4000 I = 1, NLT                                                CF123480
      IS(I)     = 2**(I-1)                                              CF123490
 4000 IS(I+20) = 2**I                                                   CF123500
C --- MAX NUMBER OF SWEEPS.                                             CF123510
      JMAX = 2**NLT - 1                                                 CF123520
C --- SETTING OF SIZE OF FIRST SWEEP.                                   CF123530
      KSEQ  = 2                                                         CF123540
      KSEQP1= 3                                                         CF123550
      IF(KSEQP1.GT.NLT) KSEQP1 = NLT                                    CF123560
      JSWEEP = 4                                                        CF123570
C --- SETTING FOR FIRST RETURN TO BASIC MATRIX.                         CF123580
      KRET   = 5                                                        CF123590
      JRETRN = 32                                                       CF123600
C                                                                       CF123610
C ---      CALCULATE CP VALUES OF REMAINING VARIABLE COMBINATIONS       CF123620
C                                                                       CF123630
C --- CPHIGH IS RESET AT STATEMENT 92 AT CP VALUE OF LOWEST JCP         CF123640
C ---  EQUATIONS OUT OF LCP CANDIDATE EQUATIONS FOUND AT FIRST CPHIGH   CF123650
C ---  SETTING.                                                         CF123660
      CPHIGH = CPHI                                                     CF123670
      JAZ = 0                                                           CF123680
 5000 JAZ = JAZ + 1                                                     CF123690
C --- SETTING OF SIZE OF EACH NEW GROUPS OF SWEEPS.                     CF123700
      IF(JAZ.LT.JSWEEP) GO TO 60                                        CF123710
      IF(JAZ.EQ.JRETRN) GO TO 52                                        CF123720
      JOY = KSEQ                                                        CF123730
      KSEQ  = KSEQ + 1                                                  CF123740
      KSEQP1= KSEQ + 1                                                  CF123750
      IF(KSEQP1.LE.NLT) GO TO 47                                        CF123760
      KSEQP1 = NLT                                                      CF123770
      GO TO 51                                                          CF123780
C ---      ADJUST THE NEW COLUMN VECTOR TO BE SWEPT (KSEQP1) BY THE     CF123790
C --- VARIABLE (JOY) WHOSE INFLUENCE REMAINS IN THE ALREADY SWEPT       CF123800
C --- MATRIX.  ALSO ADJUST THE ELEMENT OF THE COLUMN VECTOR OF THE      CF123810
C --- DEPENDENT VARIABLE ( Z(KSEQP1,NLTP1) ) FOR THE INFLUENCE OF       CF123820
C --- VARIABLE JOY.  (NLTP1 IS THE LOCATION OF THE DEPENDENT VARIABLE.) CF123830
C --- THIS IS ONLY DONE UNTIL JRETRN SWEEPS (MATRIX IS THEN REPLACED    CF123840
C --- BY THE BASIC MATRIX).                                             CF123850
   47 JOY1 = JOY - 1                                                    CF123860
      JOY2 = JOY + 1                                                    CF123870
      HAPPY = C(JOY,JOY)                                                CF123880
      USP1 = C(JOY,KSEQP1)                                              CF123890
      DO 48 I = 1, JOY1                                                 CF123900
   48 Z(I,KSEQP1) = C(I,KSEQP1) - (C(I,JOY)*USP1) / HAPPY               CF123910
      Z(JOY,KSEQP1) = USP1 / HAPPY                                      CF123920
      DO 50 I = JOY2, KSEQP1                                            CF123930
   50 Z(I,KSEQP1) = C(I,KSEQP1) - (C(JOY,I)*USP1) / HAPPY               CF123940
      Z(KSEQP1,NLTP1) = C(KSEQP1,NLTP1) - (USP1*C(JOY,NLTP1)) / HAPPY   CF123950
   51 JSWEEP = 2**KSEQ                                                  CF123960
      FSW = HAPPY                                                       CF123970
      GO TO 60                                                          CF123980
C --- RETURN TO BASIC MATRIX.                                           CF123990
   52 DO 54 I = 1, NLTP1                                                CF124000
      DO 54 IJ= I, NLTP1                                                CF124010
   54 Z(I,IJ) = C(I,IJ)                                                 CF124020
C --- REINSTATE KRET VARIABLE IN SCC MATRIX.                            CF124030
      JOY = KRET                                                        CF124040
      SIGN = 1.                                                         CF124050
      KSEQP1 = KRET + 2                                                 CF124060
      IF(KSEQP1.GT.NLT) KSEQP1 = NLT                                    CF124070
      CALL SWEEP(JOY,SIGN,KSEQP1,NLTP1)                                 CF124080
C --- SET CONTROLS FOR NEXT RETURN TO BASIC MATRIX.                     CF124090
      KRET   = KRET + 1                                                 CF124100
      JRETRN = 2**KRET                                                  CF124110
      JSWEEP = JRETRN                                                   CF124120
C --- MODIFY SCC MATRIX IN GARSIDE ORDER.                               CF124130
   60 DO 4002 I = 1, NLT                                                CF124140
 4001 IF(MOD(JAZ-IS(I),IS(I+20)).EQ.0) GO TO 4003                       CF124150
 4002 CONTINUE                                                          CF124160
 4003 JOY = I                                                           CF124170
      IF(INOUT(JOY).EQ.0) GO TO 62                                      CF124180
      MP = MP - 1                                                       CF124190
      NP = NP + 2                                                       CF124200
      INOUT(JOY) = 0                                                    CF124210
      SIGN = -1.                                                        CF124220
      GO TO 64                                                          CF124230
   62 MP = MP + 1                                                       CF124240
      NP = NP - 2                                                       CF124250
      INOUT(JOY) = 1                                                    CF124260
      SIGN =  1.                                                        CF124270
   64 CALL SWEEP(JOY,SIGN,KSEQP1,NLTP1)                                 CF124280
      CCP   = (Z(NLTP1,NLTP1) / ZMS) - NP                               CF124290
      IF(CCP.GT.CPHIGH) GO TO 100                                       CF124300
   66 L = L + 1                                                         CF124310
C --- STOP WRITING EQUATIONS IF L BECOMES LARGER THAN DIMENSIONS OF CP  CF124320
  152 IF(L.GT.MAXCIP) GO TO 156                                         CF124330
      CP(L) = CCP                                                       CF124340
C --- DETERMINE WHICH VARIABLES ARE IN EQUATION L.                      CF124350
      IN = 0                                                            CF124360
      DO 70 I = 1, NLT                                                  CF124370
      IF(INOUT(I).EQ.0) GO TO 70                                        CF124380
      IN = IN + 1                                                       CF124390
      JC = IVLT(I)                                                      CF124400
      IVAR(IN) = JC                                                     CF124410
      AVAR(IN) = BI(JC)                                                 CF124420
   70 CONTINUE                                                          CF124430
      IP(L) = MP                                                        CF124440
      IF (IN - 12) 72, 72, 74                                           CF124450
   72 MNO = IN                                                          CF124460
      GO TO 76                                                          CF124470
   74 MNO = 12                                                          CF124480
   76 WRITE(KTOU,1020) L, IP(L), CP(L), (IVAR(I),I=1,MNO)               CF124490
 1020 FORMAT(1H0,3X,2I4,1X,F5.1,2X,14HBASIC SET PLUS,12(2X,I6))         CF124500
      WRITE(KTOU, 1022) (AVAR(I),I=1,MNO)                               CF124510
 1022 FORMAT(1H ,33X, 12(2X,A6) )                                       CF124520
      KKK = 12                                                          CF124530
   78 IF(IN - KKK)  90,  90, 80                                         CF124540
   80 KONE = KKK + 1                                                    CF124550
      IF( IN - (KKK+12)) 84, 84, 82                                     CF124560
   82 KTWO = KKK + 12                                                   CF124570
      GO TO 86                                                          CF124580
   84 KTWO = IN                                                         CF124590
   86 WRITE(KTOU,1016) (IVAR(I), I=KONE,KTWO)                           CF124600
      WRITE(KTOU,1018) (AVAR(I), I=KONE,KTWO)                           CF124610
   90 DF   = NF - IP(L)                                                 CF124620
      RMSL = (CP(L) + NP)*RMS/DF                                        CF124630
      WRITE(KTOU,1011) RMSL                                             CF124640
      IF(RMSL.GE.RMSE) GO TO 92                                         CF124650
      LE   = L                                                          CF124660
      RMSE = RMSL                                                       CF124670
C --- JCP, LCP AND LMORE ARE SET BEFORE DO LOOP 100.                    CF124680
   92 IF(L.NE.LCP) GO TO 100                                            CF124690
      IF((JMAX - L).LT.LMORE) GO TO 100                                 CF124700
      CALL SORT(L,CP,LSORT)                                             CF124710
      JC     = LSORT(JCP)                                               CF124720
      CPHIGH = CP(JC)                                                   CF124730
      WRITE(KTOU,1023) CPHIGH, JCP                                      CF124740
 1023 FORMAT(//1X,49HREMAINING CANDIDATE EQUATIONS PRINTED ONLY IF CP , CF124750
     1 18HVALUE IS LESS THAN , F5.1 / 1X, I4,                           CF124760
     2 41H EQUATIONS ALREADY HAVE SMALLER CP VALUES  // )               CF124770
  100 IF(JAZ.LT.JMAX) GO TO 5000                                        CF124780
 5001 CONTINUE                                                          CF124790
C                                                                       CF124800
C --- CHECK EFFECT OF SWEEPS ON ROUNDOFF ERROR.                         CF124810
      VK = Z(NLTP1,NLTP1)                                               CF124820
      DO 154 I = 1, NLTP1                                               CF124830
      DO 154 IJ= I, NLTP1                                               CF124840
  154 Z(I,IJ) = C(I,IJ)                                                 CF124850
C --- REINSTATE KRET VARIABLE IN SCC MATRIX.                            CF124860
      JOY = NLT                                                         CF124870
      SIGN = 1.                                                         CF124880
      CALL SWEEP(JOY,SIGN,KSEQP1,NLTP1)                                 CF124890
      DVK  = Z(NLTP1,NLTP1) - VK                                        CF124900
      WRITE(KTOU,3338) JAZ, DVK                                         CF124910
 3338 FORMAT(1H0,12HSWEEP NUMBER , I10, 18H,  DELTA Z(K,K) = ,1P1E7.0)  CF124920
      GO TO 158                                                         CF124930
  156 WRITE(KTOU,157) MAXCIP                                            CF124940
  157 FORMAT(1H0//// 53H SEARCH TERMINATED.  NUMBER OF EQUATIONS GREATERCF124950
     1 THAN , I5, 26H(DIMENSIONS OF CP AND IP).  )                      CF124960
      L = L - 1                                                         CF124970
      GO TO 5001                                                        CF124980
C ---                                                                   CF124990
  158 WRITE(KTOU,200)                                                   CF125000
  200 FORMAT(1H1, 20HESTIMATE OF VARIANCE )                             CF125010
      FSW = (RMSE - RMS) / RMS                                          CF125020
      IF(DABS(FSW).LE.1.D-8) GO TO 204                                  CF125030
      FSW = 1.0                                                         CF125040
      WRITE(KTOU,202) RMS, LE, RMSE                                     CF125050
  202 FORMAT(1H0, 20HRMS OF FULL EQUATION, 6X, F16.8 /                  CF125060
     1        1X, 22HRMS OF SUBSET EQUATION, I4, F16.8 )                CF125070
      GO TO 207                                                         CF125080
  204 FSW = 0.0                                                         CF125090
      WRITE(KTOU,206)                                                   CF125100
  206 FORMAT(1H0,46HNO SMALLER RMS VALUE FOUND IN SUBSET EQUATIONS)     CF125110
  207 IF(IQ(25) - 2) 208, 212, 216                                      CF125120
  208 WRITE(KTOU,210)                                                   CF125130
  210 FORMAT(1H0,50HRMS OF FULL EQUATION SELECTED BY USER TO CALCULATE, CF125140
     110H CP VALUES )                                                   CF125150
      GO TO 236                                                         CF125160
  212 IF(FSW.EQ.0.) GO TO 232                                           CF125170
      WRITE(KTOU,214)                                                   CF125180
  214 FORMAT(1H0,62HRMS OF SUBSET EQUATION USED TO RECALCULATE AND PLOT CF125190
     1CP VALUES. )                                                      CF125200
      GO TO 222                                                         CF125210
  216 READ(KTIN,218) RMSE                                               CF125220
  218 FORMAT(F16.8)                                                     CF125230
      WRITE(KTOU,220) RMSE                                              CF125240
  220 FORMAT(1H ,20HRMS PROVIDED BY USER, 6X, F16.8 // 1X,              CF125250
     1 58HESTIMATED VARIANCE USED TO RECALCULATE AND PLOT CP VALUES. )  CF125260
  222 RMSR = RMS/RMSE                                                   CF125270
      DP    = NF - 2*IPMAX                                              CF125280
      CPFULL = (CPMAX - .005 + DP)*RMSR - DP                            CF125290
      WRITE(KTOU,224) IPMAX, CPFULL                                     CF125300
  224 FORMAT(1H0,22X,6HP   CP/1X,13HFULL EQUATION,6X,I4,1X,F5.1)        CF125310
      IF(FSW.EQ.0.) GO TO 228                                           CF125320
      DP    = NF - 2*IP(LE)                                             CF125330
      CPFULL = (CP(LE) + DP)*RMSR - DP                                  CF125340
      WRITE(KTOU,226) LE, IP(LE), CPFULL                                CF125350
  226 FORMAT(1H , 15HSUBSET EQUATION, 2I4, 1X, F5.1)                    CF125360
  228 DO 230 J = 1, L                                                   CF125370
      DP    = NF - 2*IP(J)                                              CF125380
  230 CP(J) = (CP(J) + DP)*RMSR - DP                                    CF125390
      GO TO 236                                                         CF125400
  232 WRITE (KTOU,234)                                                  CF125410
  234 FORMAT(1H0,49HRMS OF FULL EQUATION USED TO CALCULATE CP VALUES.)  CF125420
  236 IF(L.EQ.1) GO TO 1034                                             CF125430
C --- ORDER EQUATIONS BY THEIR CP VALUES.                               CF125440
      CALL SORT (L, CP, LSORT)                                          CF125450
      WRITE(KTOU,238)                                                   CF125460
  238 FORMAT(1H0// 30H  SEQ  EQUATION  P  ORDERED CP  )                 CF125470
      IA = MAXNPR                                                       CF125480
      IF(L.LT.IA) IA = L                                                CF125490
      DO 240 IC = 1, IA                                                 CF125500
      JC = LSORT(IC)                                                    CF125510
  240 WRITE(KTOU,242) IC, JC, IP(JC), CP(JC)                            CF125520
  242 FORMAT(1H , I4, 4X, I4, 1X, I4, F9.1 )                            CF125530
      ILESS = 0                                                         CF125540
      IF(IPMAX.GT.17.AND.IPMAX.LT.28) ILESS = 10                        CF125550
      IF(IPMAX.GT.27.AND.IPMAX.LT.38) ILESS = 20                        CF125560
      IF(IPMAX.GT.37.AND.IPMAX.LT.48) ILESS = 30                        CF125570
      IF(IPMAX.GT.47.AND.IPMAX.LT.58) ILESS = 40                        CF125580
      IF(IPMAX.GT.57.AND.IPMAX.LT.68) ILESS = 50                        CF125590
      IF(IPMAX.GT.67)           ILESS = 60                              CF125600
      CLESS  = DFLOAT(ILESS)                                            CF125610
      L1 = 99                                                           CF125620
      ILEVEL = ILESS - 1                                                CF125630
      DO 1040 JZ=1,21                                                   CF125640
 1040 NVALP(JZ) = ILEVEL + JZ                                           CF125650
      ITYPE = 2                                                         CF125660
      CALL GRID(GRIDA,GRIDB,L1,ITYPE)                                   CF125670
      YTOP = 5.2D01/3.D0                                                CF125680
      YIW  = 1.D0/3.D0                                                  CF125690
      DO 118 IC = 1, L                                                  CF125700
      JC = LSORT(IC)                                                    CF125710
      IP(JC) = IP(JC) - ILESS                                           CF125720
      IF(IP(JC).LT.1) GO TO 118                                         CF125730
      CP(JC) = CP(JC) - CLESS                                           CF125740
      CPTOP  = YTOP - CP(JC)                                            CF125750
C --- TRAP TO KEEP PLOT FROM GOING OUTSIDE OF PLOT DIMENSIONS.          CF125760
      IF(CPTOP.LT.0.) GO TO 118                                         CF125770
      LINE = IDINT((( CPTOP       ) / YIW) + 5.D-01) + 1                CF125780
      LOCX2 = 5*IP(JC) + 5                                              CF125790
      LCHAR = MOD(LOCX2,4)                                              CF125800
      LWORD = LOCX2/4                                                   CF125810
      IF(LCHAR.NE.0) GO TO 117                                          CF125820
      LCHAR = 4                                                         CF125830
      LWORD = LWORD - 1                                                 CF125840
  117 CALL PACK(GRIDA(LINE,LWORD),LCHAR,IPLUS)                          CF125850
  118 CONTINUE                                                          CF125860
      WRITE(KTOU,1028) PR1, PR2, PR3, ICURY, BI(K), NSRCH, NVALP        CF125870
 1028 FORMAT(1H1,      1X, 3A6,  9H  DEP VAR , I2, 2H: , A6, 29X,       CF125880
     1  7HCP PLOT, 33X, 13HSEARCH NUMBER, I2 / 20X, 21(I2,3X) )         CF125890
      WRITE(KTOU,1029) NCP1( 1),    (GRIDA( 1,JZ),JZ=1,26)              CF125900
 1029 FORMAT(10X, A4, 7X,         25A4, A2)                             CF125910
      NI     = 0                                                        CF125920
      INDIA  = 2                                                        CF125930
      ILEVEL = 18 + ILESS                                               CF125940
      DO 1032 IA = 2,53                                                 CF125950
      IF(IA.EQ.INDIA) GO TO 1030                                        CF125960
      WRITE(KTOU,1029) NCP1(IA),    (GRIDA(IA,JZ),JZ=1,26)              CF125970
      GO TO 1032                                                        CF125980
 1030 NI = NI + 1                                                       CF125990
      NJ = ILEVEL - NI                                                  CF126000
      WRITE(KTOU,1031) NCP1(IA), NJ,(GRIDA(IA,JZ),JZ=1,26)              CF126010
 1031 FORMAT(10X, A4, 2X, I4, 1X, 25A4, A2)                             CF126020
      INDIA = INDIA + 3                                                 CF126030
 1032 CONTINUE                                                          CF126040
      WRITE(KTOU,1033) NVALP                                            CF126050
 1033 FORMAT(20X, 21(I2,3X) / 71X, 1HP)                                 CF126060
C --- DETERMINE IF ADDITIONAL FACTORIAL SEARCHES HAVE BEEN REQUESTED.   CF126070
 1034 IF(NSRCH.EQ.NCP) GO TO 9999                                       CF126080
      NSRCH = NSRCH + 1                                                 CF126090
      NOVAR = NOIND + NODEP                                             CF126100
      REWIND KTBIN1                                                     CF126110
      IF(IQ(24).EQ.0.OR.IQ(20).EQ.0) GO TO 9980                         CF126120
      READ(KTBIN1) ( DUM, I=1, NOVAR)                                   CF126130
 9980 DO 9982  I = 1, NOIND                                             CF126140
 9982 READ(KTBIN1) (C(I,J), J = I,NOIND)                                CF126150
      DO 9984 I = 1, NOVAR                                              CF126160
 9984 READ(KTBIN1)    (Z(I,J), J = I,NOVAR )                            CF126170
C ---      SQUARE Z MATRIX.                                             CF126180
      NOVM1 = NOVAR - 1                                                 CF126190
      DO 9986  I = 1, NOVM1                                             CF126200
      IPL1 = I + 1                                                      CF126210
      DO 9986 J = IPL1, NOVAR                                           CF126220
 9986 Z(J,I)= Z(I,J)                                                    CF126230
 9987 READ(KTIN,9988) (ICP(I), I=1, MAXSRH)                             CF126240
 9988 FORMAT( 18(2X,I2) )                                               CF126250
 9990 L   = 0                                                           CF126260
      LE  = 0                                                           CF126270
      MP  = 0                                                           CF126280
      NGT = 0                                                           CF126290
      NLT = 0                                                           CF126300
      NF   = NOOBSV                                                     CF126310
      RMSE = RMS                                                        CF126320
      IF(IQ(5).EQ.1) GO TO 9903                                         CF126330
 9902 MP = 1                                                            CF126340
 9903 NP = NOOBSV - 2*MP                                                CF126350
      IPMAX = MP + NOIND                                                CF126360
      CPMAX = DFLOAT(IPMAX) + .005                                      CF126370
      GO TO 9994                                                        CF126380
 9997 WRITE(KTOU,9998) MAXSRH                                           CF126390
 9998 FORMAT(1H0, 48HNUMBER OF VARIABLES REMAINING TO BE SEARCHED IS ,  CF126400
     1 13HGREATER THAN ,I2/ 36H USE FRACTIONAL FACTORIAL OPTION TO ,    CF126410
     2 14HSOLVE PROBLEM. )                                              CF126420
 9999 RETURN                                                            CF126430
      END                                                               CF126440
      SUBROUTINE SWEEP(JOY,SIGN,KSEQP1,NVLTP1)                          CF130010
C ---    SUBROUTINE MODIFIES MATRIX WHEN VARIABLE JOY IS ADDED OR       CF130020
C --- DELETED.  SEE BROWNLEE SECTION 17.10, EQUATION 10.5.              CF130030
C --- SIGN   POSITIVE SIGN INDICATES VARIABLE ADDED, NEGATIVE SIGN      CF130040
C ---        INDICATES VARIABLE REMOVED.                                CF130050
C --- KSEQP1 SIZE OF SWEEP (K VARIABLES IN CURRENT SEQUENCE PLUS 1).    CF130060
C --- NVLTP1 NUMBER OF VARIABLES EVENTUALLY TO BE SWEPT WITH JOY        CF130070
C ---        PLUS 1 (VARIABLES REMAINING AFTER BASIC SET HAS BEEN       CF130080
C ---        CHOSEN).                                                   CF130090
      IMPLICIT REAL*8(A-H,O-Z)                                          CF130100
      DIMENSION U(41)                                                   CF130110
      COMMON /HHHHHH/ BETA(41), C(40,40), Z(41,41), NNNN, MXSIZE        CF130120
      EQUIVALENCE (BETA(1),U(1))                                        CF130130
    1 JOY1=JOY-1                                                        CF130140
      JOY2=JOY+1                                                        CF130150
      HAPPY=Z(JOY,JOY)                                                  CF130160
      IF(JOY1)3,3,2                                                     CF130170
    2 DO 1000 I=1,JOY1                                                  CF130180
      U(I)=Z(I,JOY)                                                     CF130190
      Z(I,JOY)=0.0                                                      CF130200
 1000 CONTINUE                                                          CF130210
    3 U(JOY)=-SIGN                                                      CF130220
      Z(JOY,JOY)=0.0                                                    CF130230
      IF(JOY2-KSEQP1)4,4,5                                              CF130240
    4 DO 2000 I=JOY2,KSEQP1                                             CF130250
      U(I)=Z(JOY,I)                                                     CF130260
      Z(JOY,I)=0.0                                                      CF130270
 2000 CONTINUE                                                          CF130280
    5 DO 3000 I=1,KSEQP1                                                CF130290
      DO 3000 J=I,KSEQP1                                                CF130300
      Z(I,J)=Z(I,J)-(U(I)*U(J))/HAPPY                                   CF130310
 3000 CONTINUE                                                          CF130320
      U(NVLTP1) = Z(JOY,NVLTP1)                                         CF130330
      Z(JOY,NVLTP1) = 0.0                                               CF130340
      J = NVLTP1                                                        CF130350
    6 DO 4000 I = 1,KSEQP1                                              CF130360
      Z(I,J)=Z(I,J)-(U(I)*U(J))/HAPPY                                   CF130370
 4000 CONTINUE                                                          CF130380
    7 I = NVLTP1                                                        CF130390
      Z(I,J)=Z(I,J)-(U(I)*U(J))/HAPPY                                   CF130400
      RETURN                                                            CF130410
      END                                                               CF130420
      SUBROUTINE SORT(NOB, R, LSORT)                                    CF140010
C --- SUBROUTINE SORTS NOB OBSERVATIONS IN VECTOR R IN ASCENDING        CF140020
C --- ORDER AND PLACES THAT ORDER IN LSORT.                             CF140030
      IMPLICIT REAL*8(A-H,O-Z)                                          CF140040
      DIMENSION R(1),LSORT(1)                                           CF140050
      LSORT(1)  = 1                                                     CF140060
      DO 16 ISA = 2, NOB                                                CF140070
      TEMP = R(ISA)                                                     CF140080
      ISAX = ISA - 1                                                    CF140090
      DO 11 ISB = 1, ISAX                                               CF140100
      IBB  = LSORT(ISB)                                                 CF140110
      IF(TEMP - R(IBB) ) 12,12,11                                       CF140120
   11 CONTINUE                                                          CF140130
      LSORT(ISA) = ISA                                                  CF140140
      GO TO 16                                                          CF140150
   12 KSA  = ISA                                                        CF140160
   13 KSA  = KSA - 1                                                    CF140170
      LSORT(KSA + 1) = LSORT(KSA)                                       CF140180
      IF(KSA - ISB) 15,15,13                                            CF140190
   15 LSORT(ISB) = ISA                                                  CF140200
   16 CONTINUE                                                          CF140210
      RETURN                                                            CF140220
      END                                                               CF140230
      SUBROUTINE CCARD(MXFMTC, MXINFC, MNOMTC, MNIVOC, MAXSRH)          CF150010
C                                                                       CF150020
C --- THIS SUBROUTINE LISTS THE CONTROL CARD SELECTION, THE DIMENSION   CF150030
C ---   LIMITS AND THE ORDER OF CARDS FOR THIS VERSION OF LINWOOD.      CF150040
C                                                                       CF150050
      IMPLICIT REAL*8(A-H,O-Z)                                          CF150060
      COMMON /KKKKKK/ IQ(40), PR1, PR2, PR3, K, KFM, NODEP, NOIND,      CF150070
     1                NOOBSV, ICURY                                     CF150080
      COMMON /LLLLLL/ XEFMT, JOMIT(35), JIVOS(35), JIV(35), NOMIT,      CF150090
     1                NIVOS, NFOUND, JFOUND                             CF150100
      COMMON /NNNNNN/ DEFR, XNOIND, NOVM1, MXVRBT, MXVPBT, MXVRAT,      CF150110
     1                MXVPAT, MXOBSV, MAXIND, MAXOBS                    CF150120
      COMMON /OOOOOO/ KNODEP, KNOIND, KNOVAR, KNVP1, L, NOVAR           CF150130
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF150140
C                                                                       CF150150
C ---        THE ORDER OF THE CARDS FOR THE LINWOOD PROGRAM.            CF150160
C --- NOTE***THE SECOND CARD WITH THE SAME CONTINUATION NUMBER GIVES    CF150170
C                                                                       CF150180
      WRITE(KTOU,10)                                                    CF150190
   10 FORMAT(1H0,25X, 24HCONTROL CARD INFORMATION,                      CF150200
     1 47X,14HORDER OF CARDS,                                           CF150210
     1//1X, 49HCOL.  INPUT MAX. ITEM   (NOTE: BLANK ON CARD = 0)     ,  CF150220
     2 29X,13HFIRST PROBLEM                                          )  CF150230
      WRITE(KTOU,12)                                                    CF150240
   12 FORMAT(1H ,5H 1-18,     12X,23HPROBLEM IDENTIFICATION.         ,  CF150250
     1 38X,17H 1  CONTROL CARD.                                      )  CF150260
      WRITE(KTOU,14) IQ(1)                                              CF150270
   14 FORMAT(1H ,5H19-20,I4,   8X,                                      CF150280
     1 39HNUMBER OF INDEPENDENT VARIABLES READ IN,                      CF150290
     1 22X,27H 2  FORMAT CARD(S), IF ANY.,                              CF150300
     2 /18X,36H  (ALLOW SPACE FOR TRANSFORMATIONS).                  ,  CF150310
     2 25X,40H 3  DELETE OBSERVATIONS CARD(S), IF ANY.               )  CF150320
      WRITE(KTOU,16) IQ(2)                                              CF150330
   16 FORMAT(1H ,5H21-22,I4,   8X,                                      CF150340
     1 40HNUMBER OF   DEPENDENT VARIABLES READ IN.                   ,  CF150350
     1 21X,52H 4  INDICATOR-VARIABLE-OBSERVATIONS CARD(S), IF ANY.   )  CF150360
      WRITE(KTOU,18) NOVAR, MXVRBT                                      CF150370
   18 FORMAT(1H ,5X,     I4,I6,2X,                                      CF150380
     1 59HTOTAL NUMBER OF VARIABLES (BEFORE TRANSFORMATIONS, IF ANY).,  CF150390
     1  2X,35H 5  TRANSFORMATION CARD(S), IF ANY.                    )  CF150400
      WRITE(KTOU,20) XEFMT                                              CF150410
   20 FORMAT(1H ,3X,2H24,3X,A1,8X,                                      CF150420
     1 40HE CAUSES Y, FITTED Y AND RESIDUALS TO BE,                     CF150430
     1 21X,45H 6  INFORMATION CARD(S) FOR PRINTOUT, IF ANY.,            CF150440
     2 / 22X,   41HLISTED WITH AN E RATHER THAN AN F FORMAT.         ,  CF150450
     2 16X,52H 7  NAMES OF VARIABLES CARD(S) FOR PRINTOUT, IF ANY.   )  CF150460
      WRITE(KTOU,22) IQ(3)                                              CF150470
   22 FORMAT(1H ,3X,2H25,I4,   8X,                                      CF150480
     1 21H1 DO TRANSFORMATIONS.                                      ,  CF150490
     1 40X,37H 8  CP FACTORIAL SEARCH CARD, IF ANY.                  )  CF150500
      WRITE(KTOU,24) IQ(4)                                              CF150510
   24 FORMAT(1H ,3X,2H26,I4,   8X,                                      CF150520
     1 55H1 WEIGHT OBSERVATIONS. WEIGHT ENTERED IN LAST POSITION.,      CF150530
     1  6X,41H 9  DATA CARDS (IF NOT READ FROM A FILE).,                CF150540
     2 /18X,53H2 WEIGHT BY 1/VAR. OF OBSERVATION.  VARIANCE ENTERED. ,  CF150550
     2  8X,52H10  END CARD (END IN COLUMNS 1 - 3 OF IDENTIFICATION   )  CF150560
      WRITE(KTOU,26) IQ(5)                                              CF150570
   26 FORMAT(1H ,3X,2H27,I4,   8X,                                      CF150580
     1 54H1 LET B(0) = ZERO, OTHERWISE B(0) IS CALCULATED VALUE.     ,  CF150590
     1 12X,47HFIELD).  THE NUMBER OF END CARDS MUST EQUAL THE        )  CF150600
      WRITE(KTOU,28) IQ(6)                                              CF150610
   28 FORMAT(1H ,3X,2H28,I4,   8X,                                      CF150620
     1 36H1 CHECK OBSERVATION NUMBER SEQUENCE.                       ,  CF150630
     1 30X,43HNUMBER OF CARDS PER OBSERVATION. (END CARDS            )  CF150640
      WRITE(KTOU,30) IQ(7)                                              CF150650
   30 FORMAT(1H ,3X,2H29,I4,   8X,                                      CF150660
     1 43H1 CHECK SEQUENCE WITHIN OBSERVATION NUMBER.                ,  CF150670
     1 23X,45HARE NOT NEEDED IF DATA ARE READ FROM A FILE).          )  CF150680
      WRITE(KTOU,32) IQ(8)                                              CF150690
   32 FORMAT(1H ,3X,2H30,I4,   8X,                                      CF150700
     1 47H1 DO BACK TRANSFORMATION OF DEPENDENT VARIABLE.            ,  CF150710
     1 14X,38H11  ESTIMATE OF VARIANCE CARD, IF ANY.                 )  CF150720
      WRITE(KTOU,34) IQ(9)                                              CF150730
   34 FORMAT(1H ,3X,2H31,I4,   8X,                                      CF150740
     1 45H1 PUNCH DATA FOR CONFIDENCE INTERVAL PROGRAM.              ,  CF150750
     1 16X,50H12  ADDITIONAL CP FACTORIAL SEARCH AND ESTIMATE OF     )  CF150760
      WRITE(KTOU,36) IQ(10)                                             CF150770
   36 FORMAT(1H ,3X,2H32,I4,   8X,                                      CF150780
     1 22H0 LIST ALL INPUT DATA. ,                                      CF150790
     1 44X,23HVARIANCE CARDS, IF ANY.,                                  CF150800
     2 /18X, 28H1 LIST ONLY 1ST OBSERVATION. ,                          CF150810
     3 /18X, 29H2 DO NOT LIST ANY INPUT DATA.                        ,  CF150820
     3 32X,14HSECOND PROBLEM                                         )  CF150830
      WRITE(KTOU,38) IQ(11)                                             CF150840
   38 FORMAT(1H ,3X,2H33,I4,   8X,                                      CF150850
     1 48H0 LIST TRANSFORMATIONS AND ALL TRANSFORMED DATA. ,            CF150860
     1 15X,38HIF DATA ARE REUSED FROM FIRST PROBLEM,  ,                 CF150870
     2 /18X,55H1 LIST TRANSFORMATIONS AND 1ST TRANSFORMED OBSERVATION., CF150880
     2 12X,38HDELETE THE FORMAT, DATA AND END CARDS.,                   CF150890
     3 /18X,50H2 DO NOT LIST TRANSFORMATIONS OR TRANSFORMED DATA.    ,  CF150900
     3 13X,20HIF NAMES ARE REUSED,                                   )  CF150910
      WRITE(KTOU,40) IQ(12)                                             CF150920
   40 FORMAT(1H ,3X,2H34,I4,   8X,                                      CF150930
     1 32H1 DO NOT LIST SUMS OF VARIABLES.                           ,  CF150940
     1 35X,22HDELETE THE NAME CARDS.                                 )  CF150950
      WRITE(KTOU,42) IQ(13)                                             CF150960
   42 FORMAT(1H ,3X,2H35,I4,   8X,                                      CF150970
     1 54H1 DO NOT LIST RAW SUMS AND CROSS PRODUCTS WHEN B(O)=O.     ,  CF150980
     1  9X,34HIF DIFFERENT INPUT DATA AND NAMES,                     )  CF150990
      WRITE(KTOU,44) IQ(14)                                             CF151000
   44 FORMAT(1H ,3X,2H36,I4,   8X,                                      CF151010
     1 47H1 DO NOT LIST RESIDUAL SUMS AND CROSS PRODUCTS.            ,  CF151020
     1 20X,20HREPEAT 1 - 12 ABOVE.                                   )  CF151030
      WRITE(KTOU,46) IQ(15)                                             CF151040
   46 FORMAT(1H ,3X,2H37,I4,   8X,                                      CF151050
     1 55H1 DO NOT LIST MEANS AND ROOT MEAN SQUARES OF VARIABLES.    )  CF151060
      WRITE(KTOU,48) IQ(16)                                             CF151070
   48 FORMAT(1H ,3X,2H38,I4,   8X,                                      CF151080
     1 55H1 DO NOT LIST SIMPLE CORRELATION COEFFICIENTS.             )  CF151090
      WRITE(KTOU,50) IQ(17)                                             CF151100
   50 FORMAT(1H ,3X,2H39,I4,   8X,                                      CF151110
     1 29H1 DO NOT LIST INVERSE MATRIX.                              )  CF151120
      WRITE(KTOU,52) IQ(18)                                             CF151130
   52 FORMAT(1H ,3X,2H40,I4,   8X,                                      CF151140
     1 47H1 DO NOT PRINT PLOTS OF RESIDUALS VS. FITTED Y. / 18X,        CF151150
     2 53H2 PLOT (A) RESIDUALS AND (B) COMPONENT AND COMPONENT- / 18X,  CF151160
     3 48H   PLUS-RESIDUALS VS. EACH INDEPENDENT VARIABLE. / 18X,       CF151170
     4 26H3 PLOT (A) RESIDUALS ONLY. / 18X,                             CF151180
     5 55H4 PLOT (B) COMPONENT AND COMPONENT-PLUS-RESIDUALS ONLY./18X,  CF151190
     6 46H5 PLOT (B) BUT EXPAND SCALE TO FILL EACH PLOT.             )  CF151200
      WRITE(KTOU,54) IQ(19)                                             CF151210
   54 FORMAT(1H ,3X,2H41,I4,   8X,                                      CF151220
     1 54H0 READ DATA WITH STANDARD FORMAT (A6, I4, I2, 10F6.3). /18X,  CF151230
     2 59H1 READ DATA WITH FORMAT TO BE READ, 1 CARD (72COL) ASSUMED./  CF151240
     3 18X, 47H2 READ DATA WITH READ DATA (REDATA) SUBROUTINE.       )  CF151250
      WRITE(KTOU,56) IQ(20)                                             CF151260
   56 FORMAT(1H ,3X,2H42,I4,   8X,                                      CF151270
     1 36H0 DO NOT SAVE DATA FOR NEXT PROBLEM. / 18X,                   CF151280
     2 29H1 SAVE DATA FOR NEXT PROBLEM./ 18X,                           CF151290
     3 35H2 REUSE DATA FROM PREVIOUS PROBLEM.                        )  CF151300
      WRITE(KTOU,58) IQ(21), MAXSRH                                     CF151310
   58 FORMAT(1H ,5H43-44,I4,I6,2X,                                      CF151320
     1 52HNUMBER OF VARIABLES IN CP SEARCH IF GREATER THAN 12.       )  CF151330
      WRITE(KTOU,60) IQ(22), MXFMTC                                     CF151340
   60 FORMAT(1H ,3X,2H45,I4,I6,2X,                                      CF151350
     1 41HNUMBER OF FORMAT CARDS IF GREATER THAN 1.                  )  CF151360
      WRITE(KTOU,62) IQ(23), MXINFC                                     CF151370
   62 FORMAT(1H ,5H46-47,I4,I6,2X,                                      CF151380
     1 53HNUMBER OF INFORMATION CARDS TO BE READ FOR DISPLAY ON / 18X,  CF151390
     2 35H PRINTOUT IF DESIRED, 72 COL. EACH.                        )  CF151400
      WRITE(KTOU,64) IQ(24)                                             CF151410
   64 FORMAT(1H ,3X,2H48,I4,   8X,                                      CF151420
     1 50H1 READ NAMES OF VARIABLES FOR DISPLAY ON PRINTOUT. / 18X,     CF151430
     2 57H   NAMES IN SAME POSITIONS AS VARIABLES ON TRANSFORMATION/18X,CF151440
     3 43H   CARDS - COLS. 1-6, 11-16, - - - , 61-66.  / 18X,           CF151450
     4 47H   NAMES ARE NOT MOVED, ONLY LISTED OR DELETED.  / 18X,       CF151460
     5 49H2 REUSE NAMES OF VARIABLES FROM PREVIOUS PROBLEM.          )  CF151470
      WRITE(KTOU,66) IQ(25)                                             CF151480
   66 FORMAT(1H ,3X,2H49,I4,   8X,                                      CF151490
     1 52HSEARCH FOR CANDIDATE EQUATIONS VIA CP.  USE ESTIMATE / 18X,   CF151500
     2 25H  OF VARIANCE (RMS) FROM:  / 18X,                             CF151510
     3 16H1 FULL EQUATION,   / 18X,                                     CF151520
     4 44H2 SUBSET EQUATION WITH MINIMUM RMS VALUE, OR / 18X,           CF151530
     5 42H3 ESTIMATE OF VARIANCE CARD, F16.8 FORMAT.                 )  CF151540
      WRITE(KTOU,68) IQ(26)                                             CF151550
   68 FORMAT(1H ,3X,2H50,I4,   8X,                                      CF151560
     1 50HNUMBER OF CP FACTORIAL SEARCH CARDS TO BE READ PER / 18X,     CF151570
     2 53H DEPENDENT VARIABLE.  KEYPUNCH IN ASCENDING ORDER THE  / 18X, CF151580
     3 52H IDENTIFING NUMBER OF THE VARIABLES (AFTER TRANSFOR- / 18X,   CF151590
     4 54H MATIONS) TO BE USED IN THAT SEARCH, 18(2X,I2) FORMAT. / 18X, CF151600
     5 54H ALL OTHER VARIABLES WILL BE PLACED IN BASIC EQUATION.     )  CF151610
      WRITE(KTOU,70) IQ(27)                                             CF151620
   70 FORMAT(1H ,3X,2H51,I4,   8X,                                      CF151630
     1 55H1 LIST COMPONENT-EFFECT TABLE, REQUIRED X(I) PRECISION,/ 18X, CF151640
     2 54H   ESTIMATE OF STANDARD DEVIATION FROM NEAR NEIGHBORS, / 18X, CF151650
     3 29H   AND FUNCTIONS OF FITTED Y.  / 18X,                         CF151660
     4 53H2 LIST ONLY ESTIMATE OF STD. DEVIATION AND FUNCTIONS.  / 18X, CF151670
     5 34H3 LIST ONLY FUNCTIONS OF FITTED Y.                         )  CF151680
      WRITE(KTOU,72) IQ(28)                                             CF151690
   72 FORMAT(1H ,5H52-53,I4,   8X,                                      CF151700
     1 51HNUMBER OF FILE IF DATA ARE READ FROM SEPARATE FILE,    / 18X, CF151710
     2 53H NO END CARD IF ONLY ONE SET OF DATA IS ON EACH FILE.      )  CF151720
      WRITE(KTOU,74) IQ(29)                                             CF151730
   74 FORMAT(1H ,5H54-55,I4,   8X,                                      CF151740
     1 51HNUMBER OF INDEPENDENT VARIABLES GREATER THAN THE 99    / 18X, CF151750
     2 23H ALLOWED IN COLS 19-20.                                    )  CF151760
      WRITE(KTOU,76) IQ(30)                                             CF151770
   76 FORMAT(1H ,5H56-58,I4,   8X,                                      CF151780
     1 42HTO REDUCE PRINTOUT WITH MANY OBSERVATIONS, / 18X,             CF151790
     2 49H NUMBER OF CENTRAL OBSERVATIONS AND RESIDUALS NOT      / 18X, CF151800
     3 46H TO BE PRINTED.  THIS REQUIRES AN E IN COL 24.             )  CF151810
      WRITE(KTOU,78) IQ(31)                                             CF151820
   78 FORMAT(1H ,3X,2H59,I4,   8X,                                      CF151830
     1 51HCROSS VERIFICATION OF MODEL AND COEFFICIENTS WITH A    / 18X, CF151840
     2 24H  SECOND SAMPLE OF DATA:                         / 18X,       CF151850
     3 45H1 WRITE B(0) AND B(I)S ON FILE IN ONE PROBLEM          / 18X, CF151860
     4 35H   (TRANSFORMATIONS ARE NOT SAVED).                    / 18X, CF151870
     5 48H2 READ  B(0) AND B(I)S FROM FILE IN NEXT PROBLEM / 18X,       CF151880
     6 34H  WITH SECOND SET OF OBSERVATIONS.                   )        CF151890
      WRITE(KTOU,80) IQ(32), MNOMTC                                     CF151900
   80 FORMAT(1H ,3X,2H60,I4,I6,2X,                                      CF151910
     1 46HNUMBER OF DELETE-OBSERVATIONS CARDS.  KEYPUNCH         / 18X, CF151920
     2 55H OBSERVATION NUMBER OF DATA TO BE DELETED IN ORDER READ/ 18X, CF151930
     3 35H BY COMPUTER USING 7(I4,6X) FORMAT.                        )  CF151940
      WRITE(KTOU,82) IQ(33), MNIVOC                                     CF151950
   82 FORMAT(1H ,3X,2H61,I4,I6,2X,                                      CF151960
     1 48HNUMBER OF INDICATOR-VARIABLE-OBSERVATIONS CARDS.       / 18X, CF151970
     2 52H USING A 7(I4,2X,I3,1X) FORMAT, KEYPUNCH OBSERVATION   / 18X, CF151980
     3 51H NUMBER (IN ORDER READ) AND VARIABLE NUMBER (BEFORE    / 18X, CF151990
     4 51H TRANSFORMATIONS) INTO WHICH A 1 IS TO BE INSERTED.        )  CF152000
C                                                                       CF152010
      RETURN                                                            CF152020
      END                                                               CF152030
      SUBROUTINE TRANPT                                                 CF160010
C                                                                       CF160020
C --- THIS SUBROUTINE PRINTS THE REQUESTED TRANSFORMATIONS PRIOR TO     CF160030
C --- PERFORMING THEM IN SUBROUTINE TRANSF.                             CF160040
C                                                                       CF160050
      IMPLICIT REAL*8(A-H,O-Z)                                          CF160060
      REAL*4 ARRAY, DRRAY, ERRAY, FRRAY, GRRAY, HRRAY                   CF160061
      DIMENSION AVATR(65), IOMIT(65), ITLOC(65)                         CF160070
      DIMENSION ARRAY(21,6), DRRAY(4), ERRAY(70)                        CF160080
      COMMON /AAAAAA/ COM1(1000)                                        CF160090
      COMMON /FFFFFF/ VARTR(65), ITRFM(65)                              CF160100
      COMMON /GGGGGG/ BI(65), EQU(144)                                  CF160110
      COMMON /PPPPPP/ JNOVAR, KCP, NRDLMT                               CF160120
      COMMON /QQQQQQ/ KTIN, KTOU, KTPCH, KKK, KONE, KTWO, MNO, NFILE    CF160130
C ---          EQUIVALENCE STATEMENTS IN CF 1, 2 AND 5                  CF160140
      EQUIVALENCE (COM1(1),AVATR(1)), (COM1(106),ITLOC(1)),             CF160150
     1            (COM1(321),IOMIT(1))                                  CF160160
C                                                                       CF160170
C        ARRAY PRINTS OUT THE FOLLOWING TRANSFORMATIONS                 CF160180
C        0         NONE                                                 CF160190
C        1         NATURAL LOG                                          CF160200
C        2         COMMON LOG                                           CF160210
C        3         ANTI-NATURAL LOG                                     CF160220
C        4         ANTI-COMMON LOG                                      CF160230
C        5         EXPONENTIATION BY CONST.                             CF160240
C        6         MULTIPLY BY CONSTANT                                 CF160250
C        7         DIVIDE BY CONSTANT                                   CF160260
C        8         ADD BY CONSTANT                                      CF160270
C        9         MULTIPLY POSITIONS,--X--                             CF160280
C       10         DIVIDE POSITIONS,  --/--                             CF160290
C       11         ADD POSITIONS,     --+--                             CF160300
C       12         SUBTRACT POSITIONS,-----                             CF160310
C       13         SINE, RADIANS                                        CF160320
C       14         COSINE, RADIANS                                      CF160330
C       15         C DIVIDED BY VARIABLE                                CF160340
C       16         LN(LN VARIABLE)                                      CF160350
C       17         LOG(LOG VARIABLE)                                    CF160360
C       18         LOG(VARIABLE PLUS C)                                 CF160370
C       19         ANTI(LN(LN VARIABLE))                                CF160380
C       20         ANTI(LOG(LOG VARIABLE))                              CF160390
C                                                                       CF160400
      DATA ARRAY/4HNONE,4HNATU,4HCOMM,4HANTI,4HANTI,4HEXPO,4HMULT,      CF160410
     A           4HDIVI,4HADD ,4H    ,4H    ,4H    ,4H    ,4HS1NE,      CF160420
     B           4HCOSI,4HC DI,4HLN(L,4HLOG(,4HLOG(,4HANTI,4HANTI,      CF160430
     C           4H    ,4HRAL ,4HON  ,4H-NAT,4H-COM,4HNENT,4HIPLY,      CF160440
     D           4HDE B,4HCONS,4HMULT,4HDIVI,4HADD ,4HSUBT,4H, RA,      CF160450
     E           4HNE, ,4HVIDE,4HN VA,4HLOG ,4HVARI,4H(LN(,4H(LOG,      CF160460
     F           4H    ,4HLOG ,4HLOG ,4HURAL,4HMON ,4HIATI,4H BY ,      CF160470
     G           4HY CO,4HTANT,4HIPLY,4HDE P,4HPOSI,4HRACT,4HDIAN,      CF160480
     H           4HRADI,4HD BY,4HRIAB,4HVARI,4HABLE,4HLN V,4H(LOG,      CF160490
     I           4H    ,4H    ,4H    ,4H LOG,4HLOG ,4HON B,4HCONS,      CF160500
     J           4HNSTA,4H    ,4H POS,4HOSIT,4HTION,4H POS,4HS   ,      CF160510
     K           4HANS ,4H VAR,4HLE) ,4HABLE,4H PLU,4HARIA,4H VAR,      CF160520
     L           4H    ,4H    ,4H    ,4H    ,4H    ,4HY CO,4HTANT,      CF160530
     M           4HNT  ,4H    ,4HITIO,4HIONS,4HS,  ,4HITIO,4H    ,      CF160540
     N           4H    ,4HIABL,4H    ,4H)   ,4HS C),4HBLE),4HIABL,      CF160550
     O           4H    ,4H    ,4H    ,4H    ,4H    ,4HNST.,4H    ,      CF160560
     P           4H    ,4H    ,4HNS, ,4H,   ,4H    ,4HNS, ,4H    ,      CF160570
     Q           4H    ,4HE   ,4H    ,4H    ,4H    ,4H)   ,4HE)) /      CF160580
C                                                                       CF160590
      DATA DRRAY/1HX,1H/,1H+,1H-/                                       CF160600
C                                                                       CF160610
C --- ARRAY OF NUMBERS FROM 1 TO 70                                     CF160620
C                                                                       CF160630
      DATA ERRAY/2H 1,2H 2,2H 3,2H 4,2H 5,2H 6,2H 7,2H 8,2H 9,2H10,     CF160640
     1           2H11,2H12,2H13,2H14,2H15,2H16,2H17,2H18,2H19,2H20,     CF160650
     2           2H21,2H22,2H23,2H24,2H25,2H26,2H27,2H28,2H29,2H30,     CF160660
     3           2H31,2H32,2H33,2H34,2H35,2H36,2H37,2H38,2H39,2H40,     CF160670
     4           2H41,2H42,2H43,2H44,2H45,2H46,2H47,2H48,2H49,2H50,     CF160680
     5           2H51,2H52,2H53,2H54,2H55,2H56,2H57,2H58,2H59,2H60,     CF160690
     6           2H61,2H62,2H63,2H64,2H65,2H66,2H67,2H68,2H69,2H70/     CF160700
C    7           2H71,2H72,2H73,2H74,2H75,2H76,2H77,2H78,2H79,2H80,     CF160710
C    8           2H81,2H82,2H83,2H84,2H85,2H86,2H87,2H88,2H89,2H90,     CF160720
C    9           2H91,2H92,2H93,2H94,2H95,2H96,2H97,2H98,2H99,3H100,    CF160730
C    1           3H101,3H102,3H103,3H104,3H105/                         CF160740
C                                                                       CF160750
C                                                                       CF160760
C          TRANSFORMED DATA LISTING                                     CF160770
      IDECM=MOD(IDEC,2)                                                 CF160771
  270 WRITE(KTOU,863)                                                   CF160780
      IF(IDECM.EQ.0) TYPE 863                                           CF160781
  863 FORMAT(21H0DATA TRANSFORMATIONS)                                  CF160790
C          LIST TRANSFORMATION CARDS                                    CF160800
      WRITE(KTOU,995)                                                   CF160810
      IF(IDECM.EQ.0) TYPE 995                                           CF160811
C          TITLE LINE FOR TRANSFORMATION CARD LISTING                   CF160820
  995 FORMAT(1H ,7X,8HPOSITION,3X,4HCODE,3X,9HOPERATION,17X,            CF160830
     1     8HCONSTANT,2X,8HLOCATION,2X,4HOMIT,2X,8HVARIABLE,2X,4HNAME)  CF160840
      MCOUNT = 0                                                        CF160850
      DO 1010 I=1, JNOVAR                                               CF160860
C                                                                       CF160870
C --- SIMPLIFY TRANSFORMATION SYMBOLS FOR PRINTOUT                      CF160880
C                                                                       CF160890
  272 IOPCDE=ITRFM(I)+1                                                 CF160900
C                                                                       CF160910
C --- PUT CODE SYMBOL IN F ARRAY VIA E ARRAY                            CF160920
C                                                                       CF160930
      NAAA = ITRFM(I)                                                   CF160940
      IF(ITRFM(I).EQ.0) GO TO 1001                                      CF160950
      FRRAY= ERRAY(NAAA)                                                CF160960
      GO TO 1002                                                        CF160970
 1001 FRRAY= ARRAY(10,1)                                                CF160980
 1002 NAAB = ITLOC(I)                                                   CF160990
C                                                                       CF161000
C --- PUT LOCATION SYMBOL IN G ARRAY VIA E ARRAY                        CF161010
C                                                                       CF161020
      IF(ITLOC(I).EQ.0) GO TO 1003                                      CF161030
      GRRAY=ERRAY(NAAB)                                                 CF161040
      GO TO 1004                                                        CF161050
 1003 GRRAY= ERRAY(I)                                                   CF161060
C                                                                       CF161070
C --- PUT VARIABLE IN H ARRAY VIA E ARRAY                               CF161080
C                                                                       CF161090
 1004 IF(IOMIT(I).EQ.1) GO TO 1005                                      CF161100
      MCOUNT = MCOUNT + 1                                               CF161110
      HRRAY  = ERRAY(MCOUNT)                                            CF161120
      GO TO 1006                                                        CF161130
 1005 HRRAY  = ARRAY(10,1)                                              CF161140
 1006 IF(ITRFM(I).GE.9.AND.ITRFM(I).LE.12) GO TO 1008                   CF161150
C                                                                       CF161160
C --- PRINTOUT OPERATIONS THAT USE CONSTANTS                            CF161170
C                                                                       CF161180
      WRITE(KTOU,1007)I,FRRAY,(ARRAY(IOPCDE,JZ),JZ=1,6),AVATR(I),       CF161190
     1     GRRAY, IOMIT(I), HRRAY, BI(I)                                CF161200
      IF(IDECM.EQ.0) TYPE 1007,I,FRRAY,(ARRAY(IOPCDE,JZ),JZ=1,6),       CF161201
     1                         AVATR(I),GRRAY,IOMIT(I),HRRAY,BI(I)      CF161202
C          OUTPUT FORMAT OF TRANSFORMATION CARD                         CF161210
 1007 FORMAT(1H , 9X,I3,7X,A2,4X,6A4,3X,A5,7X,A2,6X,I1,7X,A2,5X,A6)     CF161220
      GO TO 1010                                                        CF161230
C                                                                       CF161240
C --- PRINTOUT OPERATIONS THAT UTILIZE POSITIONS                        CF161250
C                                                                       CF161260
C                                                                       CF161270
C --- PUT POSITION CHANGES IN D ARRAY                                   CF161280
C                                                                       CF161290
 1008 JAA  = ITRFM(I) - 8                                               CF161300
      MA = IDINT(0.01*VARTR(I))                                         CF161310
      NA = IDINT(DMOD(VARTR(I),1.0D2))                                  CF161320
      WRITE(KTOU,1009) I,FRRAY,(ARRAY(IOPCDE,JZ),JZ=1,6), MA,DRRAY(JAA),CF161330
     1      NA, GRRAY, IOMIT(I), HRRAY, BI(I)                           CF161340
      IF(IDECM.EQ.0) TYPE 1009,I,FRRAY,(ARRAY(IOPCDE,JZ),JZ=1,6),MA,    CF161341
     1                         DRRAY(JAA),NA,GRRAY,IOMIT(I),HRRAY,BI(I) CF161342
C          OUTPUT FORMAT OF TRANSFORMATION CARD                         CF161350
 1009 FORMAT(1H , 9X,I3,7X,A2,6A4,I2,A1,I2,14X,A2,6X,I1,7X,A2,5X,A6)    CF161360
 1010 CONTINUE                                                          CF161370
      IDEC=IDEC+1                                                       CF161371
      RETURN                                                            CF161380
      END                                                               CF161390
      SUBROUTINE FALPHA(PAR,DEFR,FVALUE,PERCNT)                         CF170010
C                                                                       CF170020
C ---      SUBROUTINE CALCULATES THE ALPHA LEVEL OF THE F DISTRIBUTION  CF170030
C --- FOR GIVEN F VALUES.  SEE HANDBOOK OF MATHEMATICAL FUNCTIONS BY    CF170040
C --- M. ABRAMOWITZ AND I. A. STEGUN, NATIONAL BUREAU OF STANDARDS,     CF170050
C --- APPLIED MATH SERIES 55, 1964, X = PAGE 947 FORMULA 26.6.15,       CF170060
C --- ALPHA = PAGE 932 FORMULA 26.2.18.  WHEN FVALUE IS LESS THAN 1,    CF170070
C ---  USE PAGE 947 FORMULA 26.6.9.                                     CF170080
C                                                                       CF170090
      IMPLICIT REAL*8(A-H,O-Z)                                          CF170100
      DATA D1/196854.D-6/,D2/115194.D-6/,D3/344.D-6/,D4/19527.D-6/      CF170110
      FVAL = FVALUE                                                     CF170120
      V1 = PAR                                                          CF170130
      V2 = DEFR                                                         CF170140
      IF(FVALUE.GT.1.) GO TO 10                                         CF170150
      FVAL = 1./FVALUE                                                  CF170160
      V1 = DEFR                                                         CF170170
      V2 = PAR                                                          CF170180
   10 A = 2./(9.*V1)                                                    CF170190
      B = 2./(9.*V2)                                                    CF170200
      C1 = FVAL**(1./3.)                                                CF170210
      C2 = C1*C1                                                        CF170220
      X = (C1*(1.-A) - (1.-B))/DSQRT(B+C2*A)                            CF170230
      ALPHA = .5/(1.+X*(D1+X*(D2+X*(D3+D4*X))))**4                      CF170240
      IF(FVALUE.GT.1.) GO TO 20                                         CF170250
      PERCNT = ALPHA*100.                                               CF170260
      GO TO 30                                                          CF170270
   20 PERCNT = (1. - ALPHA)*100.                                        CF170280
   30 RETURN                                                            CF170290
      END                                                               CF170300
      SUBROUTINE OPNFLS                                                 CF180010
      DOUBLE PRECISION FILIN,FILOU                                      CF180020
      OPEN(UNIT=1,DEVICE='DSK',ACCESS='SEQINOUT',                       CF180030
     *  FILE='FT01.DAT',MODE='BINARY')                                  CF180040
      OPEN(UNIT=2,DEVICE='DSK',ACCESS='SEQINOUT',                       CF180050
     *FILE='FT02.DAT',MODE='BINARY')                                    CF180060
      OPEN(UNIT=3,DEVICE='DSK',ACCESS='SEQINOUT',                       CF180070
     *FILE='FT03.DAT',MODE='BINARY')                                    CF180080
      OPEN(UNIT=4,DEVICE='DSK',ACCESS='SEQINOUT',                       CF180090
     *FILE='FT04.DAT',MODE='BINARY')                                    CF180100
100   FORMAT(A10)                                                       CF180110
101   FORMAT(' INPUT THE NAME OF THE OUTPUT FILE')                      CF180120
102   FORMAT(' INPUT THE NAME OF THE INPUT FILE')                       CF180130
      TYPE 102                                                          CF180140
      ACCEPT100,FILIN                                                   CF180150
      TYPE 101                                                          CF180160
      ACCEPT 100,FILOU                                                  CF180170
      OPEN(UNIT=5,DEVICE='DSK:',ACCESS='SEQIN',FILE=FILIN)              CF180180
      OPEN(UNIT=6,ACCESS='SEQINOU',FILE=FILOU)                          CF180190
      RETURN                                                            CF180200
      END                                                               CF180210