1      SUBROUTINE MAIN00
2C
3C***  TOP LEVEL EXECUTIVE
4C
5C             IDEAL OUTPUT MATRIX
6C
7C             BLOCK    PRINT     IOM
8C             NAME     FLAG     ARRAY
9C
10      COMMON /IBODY/   PBODY,  BODY(400)
11      COMMON /IWING/   PWING,  WING(400)
12      COMMON /IHT/     PHT,    HT(380)
13      COMMON /IVT/     PVT,    VT(380)
14      COMMON /IVF/     PVF,    VF(380)
15      COMMON /IBW/     PBW,    BW(380)
16      COMMON /IBH/     PBH,    BH(380)
17      COMMON /IBV/     PBV,    BV(380)
18      COMMON /IBWH/    PBWH,   BWH(380)
19      COMMON /IBWV/    PBWV,   BWV(380)
20      COMMON /IBWHV/   PBWHV,  BWHV(380)
21      COMMON /IPOWER/  PPOWER, POWER(200)
22      COMMON /IDWASH/  PDWASH, DWASH(60)
23C
24      LOGICAL PBODY, PWING, PHT, PVT, PVF, PBW, PBH, PBV, PBWH, PBWV,
25     1        PBWHV, PPOWER, PDWASH
26C
27C***  INPUT DATA BLOCKS
28C
29      COMMON /FLGTCD/ FLC(160)
30      COMMON /OPTION/ SREF, CBARR, ROUGFC, BLREF
31      COMMON /SYNTSS/ XCG, XW, ZW, ALIW, ZCG, XH, ZH, ALIH, XV,
32     1                VERTUP, HINAX, XVF, SCALE, ZV, ZVF, YV, YF,
33     2                PHIV, PHIF
34      COMMON /BODYI/  BODYIN(128)
35      COMMON /WINGI/  WINGIN(101)
36      COMMON /VTI/    VTIN(154), TVTIN(8), VFIN(154)
37      COMMON /HTI/    HTIN(154)
38      COMMON /POWER/  PWIN(29), LBIN(21)
39      COMMON /FLAPIN/ F(138)
40C
41      DIMENSION ZL(20)
42      EQUIVALENCE (ZL(1),BODYIN(102))
43      EQUIVALENCE (STMACH,FLC(94)), (TSMACH,FLC(95))
44      LOGICAL VERTUP
45C
46C***  COMPUTATIONAL BLOCKS
47C
48      COMMON /WINGD/  A(195), B(49)
49      COMMON /SBETA/  STB(135), TRA(108), TRAH(108), STBH(135)
50      COMMON /BDATA/  BD(762)
51      COMMON /WHWB/   FACT(182), WB(39), HB(39)
52      COMMON /WBHCAL/ WBT(156)
53      COMMON /HTDATA/ AHT(195), BHT(49)
54      COMMON /VTDATA/ AVT(195), AVF(195)
55      COMMON /WHAERO/ C(51), D(55), CHT(51), DHT(55), DVT(55), DVF(55)
56      COMMON /POWR/   PW(315)
57      COMMON /SUPWBB/  SWB(61), SHB(61)
58      COMMON /SUPDW/  DWA(237)
59      COMMON /SUPWH/  GR(303)
60      COMMON /SUPBOD/ SBD(229)
61      COMMON /LEVEL2/ SECOND(23)
62C
63      DIMENSION SLG(141), STG(141), FCM(287), LB(200), DYN(213)
64      DIMENSION SPR(59),FLA(45), FLP(189), STP(156), JET(26), SLA(31)
65      DIMENSION FHG(35), TCD(58), TRM(22), TRM2(22), TRN(7), DYNH(213)
66      DIMENSION SLAH(31)
67C
68      EQUIVALENCE (GR(1), FCM(1), SLG(1)), (GR(142), STG(1))
69      EQUIVALENCE (DWA(1), LB(1), JET(1), FHG(1)), (WBT(1), STP(1))
70      EQUIVALENCE (PW(1), DYN(1), SPR(1)), (PW(60), FLA(1))
71      EQUIVALENCE (PW(105), FLP(1)), (PW(294), TRM(1), TRM2(1), TRN(1))
72      EQUIVALENCE (STB(1), SLA(1)), (DWA(36), TCD(1)), (DYNH(1),BD(301))
73      EQUIVALENCE (STB(32), SLAH(1))
74C
75C***   CONTROL DATA BLOCKS
76C
77      COMMON /CONSNT/ PI,DEG,UNUSED,RAD,KAND
78      COMMON /OVERLY/ NLOG,NMACH,I,NALPHA,IG,NF,LF,K
79      COMMON /CASEID/ IDCASE(74),KOUNT,NAMSV(100),IDIM
80      COMMON /EXPER/  KLIST, NLIST(100), NNAMES, IMACH, MDATA,
81     1                KBODY, KWING, KHT, KVT, KWB, KDWASH(3),
82     2                ALPOW, ALPLW, ALPOH, ALPLH
83      COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
84     1                HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
85     2                TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
86     3                HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
87     4                VFPL,VFSC,CTAB
88      COMMON /ERROR/  IERR,GONOGO,IEND,DMPALL,DPB,DPA,DPBD,DPAVF,
89     1                DPFACT,DPWBT,DPBHT,DPAVT,DPAHT,DPC,DPD,DPWB,
90     2                DPCHT,DPDHT,DPDYNH,SAVE,DMPCSE,DPDVT,DPGR,DPLB,
91     3                DPPW,DPSTB,DPSBD,DPSLG,DPSWB,DPSTP,DPDWA,DPSTG,
92     4                DPSLA,DPTRA,DPEXPD,DPDVF,DPFLP,DPFHG,DPFCM,DPTCD,
93     5                DPFLA,DPTRM,DPSPR,DPTRN,DPTRM2,DPHYP,DPDYN,DPJET,
94     6                DPHB,DPSHB,DPTRAH,DPSTBH,DPSEC,DPSLAH,DPINPT,
95     7                DPFLC,DPOPTN,DPSYN,DPBDIN,DPWGIN,DPVTIN,DPTVT,
96     8                DPVFIN,DPHTIN,DPPWIN,DPLBIN,DPF,DPIOM,
97     9                DPIBDY,DPIWG,DPIHT,DPIVT,DPIVF,DPIBW,DPIBH,DPIBV,
98     A                DPIBWH,DPIBWV,DPITOT,DPIPWR,DPIDWH
99C
100      LOGICAL  FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
101     1         HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
102     2         TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
103     3         HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
104     4         VFPL,VFSC,CTAB
105      LOGICAL  IERR,GONOGO,IEND,DMPALL,DPB,DPA,DPBD,DPAVF,
106     1         DPFACT,DPWBT,DPBHT,DPAVT,DPAHT,DPC,DPD,DPWB,
107     2         DPCHT,DPDHT,DPDYNH,SAVE,DMPCSE,DPDVT,DPGR,DPLB,
108     3         DPPW,DPSTB,DPSBD,DPSLG,DPSWB,DPSTP,DPDWA,DPSTG,
109     4         DPSLA,DPTRA,DPEXPD,DPDVF,DPFLP,DPFHG,DPFCM,DPTCD,
110     5         DPFLA,DPTRM,DPSPR,DPTRN,DPTRM2,DPHYP,DPDYN,DPJET,
111     6         DPHB,DPSHB,DPTRAH,DPSTBH,DPSEC,DPSLAH,DPINPT,
112     7         DPFLC,DPOPTN,DPSYN,DPBDIN,DPWGIN,DPVTIN,DPTVT,
113     8         DPVFIN,DPHTIN,DPPWIN,DPLBIN,DPF,DPIOM,
114     9         DPIBDY,DPIWG,DPIHT,DPIVT,DPIVF,DPIBW,DPIBH,DPIBV,
115     A         DPIBWH,DPIBWV,DPITOT,DPIPWR,DPIDWH
116C
117      LOGICAL FLAG
118C
119C***  HYPERSONIC CONTROLS
120C
121      FLAG = HYPEF .AND. HYPERS .AND. (FLC(I+2) .GE. 5.0)
122      IF(.NOT. (FLAG .OR. TRAJET)) GO TO 1010
123C
124C***  INITALIZE IOM AND COMPUTATIONAL ARRAYS
125C
126        IG = 1
127        IF(I .NE. 1) CALL M51O63
128        IF(FLAG)   CALL M42O52
129        IF(TRAJET) CALL M47O57
130        GO TO 1050
131 1010 CONTINUE
132C
133C***  SET MACH DATA AND FLAGS, SET EXPERIMENTAL DATA NAMELISTS
134C
135      SUBSON = .FALSE.
136      TRANSN = .FALSE.
137      SUPERS = .FALSE.
138      TRIM   = .FALSE.
139      IF(FLC(I+2) .GE. TSMACH) SUPERS = .TRUE.
140      IF(FLC(I+2) .LE. STMACH) SUBSON = .TRUE.
141      FLAG = SUPERS .OR. SUBSON
142      IF(.NOT. FLAG)           TRANSN = .TRUE.
143      B(1) = FLC(I+2)
144      B(2) = SQRT(ABS(1.-FLC(I+2)**2))
145      BHT(1) = B(1)
146      BHT(2) = B(2)
147      A(129)   = FLC(I+42)
148      AHT(129) = FLC(I+42)
149      AVT(129) = FLC(I+42)
150      AVF(129) = FLC(I+42)
151      NF = 1
152      IG = 1
153      IF(KLIST .GT. 0) CALL M51O63
154      IF(KLIST .GT. 0) CALL M48O60
155C
156C***  CALCULATE SUBSONIC DATA
157C
158      IF(.NOT. SUBSON) GO TO 1030
159        IF(.NOT. LOASRT) GO TO 1020
160          CALL M14O16
161          CALL M49O61
162          CALL M12O14
163 1020   CONTINUE
164        IF(LOASRT) GO TO 1030
165          CALL MAIN01
166 1030 CONTINUE
167C
168C***  CALCULATE TRANSONIC AND SUPERSONIC DATA
169C
170      IF(LOASRT) GO TO 1040
171      IF(TRANSN) CALL MAIN03
172      IF(SUPERS) CALL MAIN04
173C
174C***  HIGH LIFT AND CONTROL DATA
175C
176      TRIM = TRIMC
177      FLAG = SYMFP .OR. ASYFP .OR. (TRIM .AND. HTPL .AND. SUBSON)
178      IF(.NOT. FLAG) GO TO 1040
179        IG = 2
180        CALL M51O63
181        IF(SUBSON) CALL MAIN05
182        IF(TRANSN) CALL MAIN06
183        IF(SUPERS) CALL MAIN07
184        CALL M39O47
185 1040 CONTINUE
186C
187C***  GROUND EFFECTS DATA
188C
189      FLAG= SUBSON .AND. (FLC(63) .NE. UNUSED) .AND. (.NOT. LOASRT)
190      IF(FLAG) CALL MAIN02
191 1050 CONTINUE
192      RETURN
193      END
194