1      SUBROUTINE DUMPRT
2C
3C***  THIS SUBROUTINE HANDLES THE DUMP LOGIC
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/ OPTN(4)
31      COMMON /SYNTSS/ SYNA(19)
32      COMMON /BODYI/  BODYIN(129)
33      COMMON /WINGI/  WINGIN(101)
34      COMMON /VTI/    VTIN(154), TVTIN(8), VFIN(154)
35      COMMON /HTI/    HTIN(154)
36      COMMON /POWER/  PWIN(29), LBIN(21)
37      COMMON /FLAPIN/ F(138)
38C
39C***  COMPUTATIONAL BLOCKS
40C
41      COMMON /WINGD/  A(195), B(49)
42      COMMON /SBETA/  STB(135), TRA(108), TRAH(108), STBH(135)
43      COMMON /BDATA/  BD(762)
44      COMMON /WHWB/   FACT(182), WB(39), HB(39)
45      COMMON /WBHCAL/ WBT(156)
46      COMMON /HTDATA/ AHT(195), BHT(49)
47      COMMON /VTDATA/ AVT(195), AVF(195)
48      COMMON /WHAERO/ C(51), D(55), CHT(51), DHT(55), DVT(55), DVF(55)
49      COMMON /POWR/   PW(315)
50      COMMON /SUPWBB/  SWB(61), SHB(61)
51      COMMON /SUPDW/  DWA(237)
52      COMMON /SUPWH/  SLG(141), STG(141)
53      COMMON /SUPBOD/ SBD(229)
54      COMMON /LEVEL2/ SECOND(23)
55C
56      DIMENSION LB(200), STP(156), SLA(31), SLAH(31)
57      DIMENSION XTYPE(4)
58      EQUIVALENCE (DWA(1), LB(1)), (WBT(1), STP(1))
59      EQUIVALENCE (STB(1), SLA(1)), (STB(32), SLAH(1))
60C
61C***   CONTROL DATA BLOCKS
62C
63      COMMON /FLOLOG/ FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
64     1                HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
65     2                TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
66     3                HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
67     4                VFPL,VFSC,CTAB
68      COMMON /ERROR/  IERR,GONOGO,IEND,DMPALL,DPB,DPA,DPBD,DPAVF,
69     1                DPFACT,DPWBT,DPBHT,DPAVT,DPAHT,DPC,DPD,DPWB,
70     2                DPCHT,DPDHT,DPDYNH,SAVE,DMPCSE,DPDVT,DPGR,DPLB,
71     3                DPPW,DPSTB,DPSBD,DPSLG,DPSWB,DPSTP,DPDWA,DPSTG,
72     4                DPSLA,DPTRA,DPEXPD,DPDVF,DPFLP,DPFHG,DPFCM,DPTCD,
73     5                DPFLA,DPTRM,DPSPR,DPTRN,DPTRM2,DPHYP,DPDYN,DPJET,
74     6                DPHB,DPSHB,DPTRAH,DPSTBH,DPSEC,DPSLAH,DPINPT,
75     7                DPFLC,DPOPTN,DPSYN,DPBDIN,DPWGIN,DPVTIN,DPTVT,
76     8                DPVFIN,DPHTIN,DPPWIN,DPLBIN,DPF,DPIOM,
77     9                DPIBDY,DPIWG,DPIHT,DPIVT,DPIVF,DPIBW,DPIBH,DPIBV,
78     A                DPIBWH,DPIBWV,DPITOT,DPIPWR,DPIDWH
79C
80      LOGICAL  FLTC,OPTI,BO,WGPL,WGSC,SYNT,HTPL,HTSC,VTPL,VTSC,
81     1         HEAD,PRPOWR,JETPOW,LOASRT,TVTPAN,SUPERS,SUBSON,
82     2         TRANSN,HYPERS,SYMFP,ASYFP,TRIMC,TRIM,DAMP,
83     3         HYPEF,TRAJET,BUILD,FIRST,DRCONV,PART,
84     4         VFPL,VFSC,CTAB
85      LOGICAL  IERR,GONOGO,IEND,DMPALL,DPB,DPA,DPBD,DPAVF,
86     1         DPFACT,DPWBT,DPBHT,DPAVT,DPAHT,DPC,DPD,DPWB,
87     2         DPCHT,DPDHT,DPDYNH,SAVE,DMPCSE,DPDVT,DPGR,DPLB,
88     3         DPPW,DPSTB,DPSBD,DPSLG,DPSWB,DPSTP,DPDWA,DPSTG,
89     4         DPSLA,DPTRA,DPEXPD,DPDVF,DPFLP,DPFHG,DPFCM,DPTCD,
90     5         DPFLA,DPTRM,DPSPR,DPTRN,DPTRM2,DPHYP,DPDYN,DPJET,
91     6         DPHB,DPSHB,DPTRAH,DPSTBH,DPSEC,DPSLAH,DPINPT,
92     7         DPFLC,DPOPTN,DPSYN,DPBDIN,DPWGIN,DPVTIN,DPTVT,
93     8         DPVFIN,DPHTIN,DPPWIN,DPLBIN,DPF,DPIOM,
94     9         DPIBDY,DPIWG,DPIHT,DPIVT,DPIVF,DPIBW,DPIBH,DPIBV,
95     A         DPIBWH,DPIBWV,DPITOT,DPIPWR,DPIDWH
96      LOGICAL  LEQV(81)
97C
98      EQUIVALENCE (LEQV(1),IERR)
99      DATA XTYPE / 4HSTRA, 4HDOUB, 4HCRAN, 4HCURV /
100C
101      DO 1000 I=1,4
102      IF(WINGIN(15).EQ.XTYPE(I))WINGIN(15)=FLOAT(I)
103      IF(  HTIN(15).EQ.XTYPE(I))  HTIN(15)=FLOAT(I)
104      IF(  VTIN(15).EQ.XTYPE(I))  VTIN(15)=FLOAT(I)
105      IF(  VFIN(15).EQ.XTYPE(I))  VFIN(15)=FLOAT(I)
106 1000 CONTINUE
107C
108C
109C***  DUMP LOGIC
110C
111      IF(.NOT. DMPALL) GO TO 1020
112        DO 1010 I=5,81
113          IF((I .EQ. 20) .OR. (I .EQ. 21)) GO TO 1020
114          LEQV(I) = .TRUE.
115 1010   CONTINUE
116 1020 CONTINUE
117C
118C***  DUMP CASE LOGIC
119C
120      IF(.NOT. DMPCSE .OR. DMPALL) GO TO 1030
121        DPA    = DPA    .OR. WGPL
122        DPB    = DPB    .OR. (WGPL .AND. SUBSON)
123        DPSTB  = DPSTB  .OR. ((BO .OR. WGPL .OR. VTPL .OR. TVTPAN)
124     1                  .AND. (SUBSON .OR. TRANSN))
125        DPTRA  = DPTRA  .OR. (WGPL .AND. TRANSN)
126        DPTRAH = DPTRAH .OR. (HTPL .AND. TRANSN)
127        DPSTBH = DPSTBH .OR. ((HTPL .OR. VTPL) .AND. (SUBSON .OR.
128     1           TRANSN))
129        DPBD   = DPBD   .OR. BO
130        DPFACT = DPFACT .OR. ((WGPL .OR. HTPL) .AND. (SUBSON .OR.
131     1                       (WINGIN(101) .GT. 2.5 .AND. .NOT. TRANSN)))
132        DPWB   = DPWB   .OR. ((BO .AND. WGPL) .AND. (SUBSON .OR.
133     1           TRANSN))
134        DPHB   = DPHB   .OR. ((BO .AND. HTPL) .AND. (SUBSON .OR.
135     1           TRANSN))
136        DPWBT  = DPWBT  .OR. (WGPL .AND. HTPL .AND. SUBSON)
137        DPAHT  = DPAHT  .OR. HTPL
138        DPBHT  = DPBHT  .OR. (HTPL .AND. SUBSON)
139        DPAVT  = DPAVT  .OR. VTPL
140        DPAVF  = DPAVF  .OR. VFPL
141        DPC    = DPC    .OR. (WGPL .AND. SUBSON)
142        DPD    = DPD    .OR. (WGPL .AND. SUBSON)
143        DPCHT  = DPCHT  .OR. (HTPL .AND. SUBSON)
144        DPDHT  = DPDHT  .OR. (HTPL .AND. SUBSON)
145        DPDVT  = DPDVT  .OR. (VTPL .AND. SUBSON)
146        DPDVF  = DPDVF  .OR. (VFPL .AND. SUBSON)
147        DPPW   = DPPW   .OR. ((PRPOWR .OR. JETPOW) .AND. SUBSON)
148        DPSWB  = DPSWB  .OR. (BO .AND. WGPL .AND. .NOT. SUBSON)
149        DPSHB  = DPSHB  .OR. (BO .AND. HTPL .AND. .NOT. SUBSON)
150        DPDWA  = DPDWA  .OR. ((WGPL .AND. HTPL) .AND. (SUPERS .OR.
151     1            HYPERS))
152        DPSBD  = DPSWB  .OR. (BO .AND. (SUPERS .OR. HYPERS))
153        DPSEC  = DPSEC  .OR. TRANSN
154        DPSLG  = DPSLG  .OR. (WGPL .AND. .NOT. SUBSON)
155        DPSTG  = DPSTG  .OR. (HTPL .AND. (SUPERS .OR. HYPERS))
156        DPLB   = DPLB   .OR. LOASRT
157        DPSTP  = DPSTP  .OR.  (((WGPL .AND. HTPL) .OR. VTPL .OR. VFPL)
158     1            .AND. .NOT. SUBSON)
159        DPSLA  = DPSLA  .OR. ((WGPL .OR. VTPL) .AND. (SUPERS .OR.
160     1            HYPERS))
161        DPSLAH = DPSLAH .OR. ((HTPL .OR. VFPL) .AND. (SUPERS .OR.
162     1            HYPERS))
163        DPINPT = .TRUE.
164        DPIOM  = .TRUE.
165 1030 CONTINUE
166C
167      IF(.NOT. DPINPT) GO TO 1040
168        DPFLC  = .TRUE.
169        DPOPTN = .TRUE.
170        DPSYN  = .TRUE.
171        DPBDIN = DPBDIN .OR. BO
172        DPWGIN = DPWGIN .OR. (WGPL .OR. WGSC)
173        DPVTIN = DPVTIN .OR. (VTPL .OR. VTSC)
174        DPVFIN = DPVFIN .OR. (VFPL .OR. VFSC)
175        DPTVT  = DPTVT  .OR. TVTPAN
176        DPHTIN = DPHTIN .OR. (HTPL .OR. HTSC)
177        DPPWIN = DPPWIN .OR. (PRPOWR .OR. JETPOW)
178        DPLBIN = DPLBIN .OR. LOASRT
179 1040 CONTINUE
180C
181      IF(.NOT. DPIOM) GO TO 1050
182        DPIBDY = DPIBDY .OR. BO
183        DPIWG  = DPIWG  .OR. WGPL
184        DPIHT  = DPIHT  .OR. HTPL
185        DPIVT  = DPIVT  .OR. VTPL .OR. TVTPAN
186        DPIVF  = DPIVF  .OR. VFPL
187        DPIBW  = DPIBW  .OR. (BO .AND. WGPL)
188        DPIBH  = DPIBH  .OR. (BO .AND. HTPL)
189        DPIBV  = DPIBV  .OR. (BO .AND. (VTPL .OR. VFPL .OR. TVTPAN))
190        DPIBWH = DPIBWH .OR. (BO .AND. WGPL .AND. HTPL)
191        DPIBWV = DPIBWV .OR. (BO .AND. WGPL .AND.
192     1                        (VTPL .OR. VFPL .OR. TVTPAN))
193        DPITOT = DPITOT .OR. (BO .AND. WGPL .AND. HTPL .AND.
194     1                        (VTPL .OR. VFPL .OR. TVTPAN))
195        DPIPWR = DPIPWR .OR. (PRPOWR .OR. JETPOW)
196        DPIDWH = DPIDWH .OR. (WGPL .AND. HTPL)
197 1050 CONTINUE
198C
199C***  DUMP COMPUTATIONAL ARRAYS
200C
201      IF(DPA)    CALL DMPARY(A,195,1HA,1)
202      IF(DPAHT)  CALL DMPARY(AHT,195,3HAHT,3)
203      IF(DPAVF)  CALL DMPARY(AVF,195,3HAVF,3)
204      IF(DPAVT)  CALL DMPARY(AVT,195,3HAVT,3)
205      IF(DPB)    CALL DMPARY(B,49,1HB,1)
206      IF(DPBD)   CALL DMPARY(BD,762,2HBD,2)
207      IF(DPBHT)  CALL DMPARY(BHT,49,3HBHT,3)
208      IF(DPC)    CALL DMPARY(C,51,1HC,1)
209      IF(DPCHT)  CALL DMPARY(CHT,51,3HCHT,3)
210      IF(DPD)    CALL DMPARY(D,55,1HD,1)
211      IF(DPDHT)  CALL DMPARY(DHT,55,3HDHT,3)
212      IF(DPDVF)  CALL DMPARY(DVF,55,3HDVF,3)
213      IF(DPDVT)  CALL DMPARY(DVT,55,3HDVT,3)
214      IF(DPDWA)  CALL DMPARY(DWA,237,3HDWA,3)
215      IF(DPFACT) CALL DMPARY(FACT,182,4HFACT,4)
216      IF(DPHB)   CALL DMPARY(HB,39,2HHB,2)
217      IF(DPLB)   CALL DMPARY(LB,200,2HLB,2)
218      IF(DPPW)   CALL DMPARY(PW,315,2HPW,2)
219      IF(DPSBD)  CALL DMPARY(SBD,229,3HSBD,3)
220      IF(DPSEC)  CALL DMPARY(SECOND,23,4HSECD,4)
221      IF(DPSHB)  CALL DMPARY(SHB,61,3HSHB,3)
222      IF(DPSLA)  CALL DMPARY(SLA,31,3HSLA,3)
223      IF(DPSLAH) CALL DMPARY(SLAH,31,4HSLAH,4)
224      IF(DPSLG)  CALL DMPARY(SLG,141,3HSLG,3)
225      IF(DPSTB)  CALL DMPARY(STB,135,3HSTB,3)
226      IF(DPSTBH) CALL DMPARY(STBH,135,4HSTBH,4)
227      IF(DPSTG)  CALL DMPARY(STG,141,3HSTG,3)
228      IF(DPSTP)  CALL DMPARY(STP,156,3HSTP,3)
229      IF(DPSWB)  CALL DMPARY(SWB,61,3HSWB,3)
230      IF(DPTRA)  CALL DMPARY(TRA,108,3HTRA,3)
231      IF(DPTRAH) CALL DMPARY(TRAH,108,4HTRAH,4)
232      IF(DPWB)   CALL DMPARY(WB,39,2HWB,2)
233      IF(DPWBT)  CALL DMPARY(WBT,156,3HWBT,3)
234C
235C***  DUMP INPUT ARRAYS
236C
237      IF(DPFLC .OR. DPOPTN .OR. DPSYN .OR. DPBDIN .OR. DPWGIN .OR.
238     1   DPHTIN .OR. DPVTIN .OR. DPVFIN .OR. DPTVT .OR. DPPWIN .OR.
239     2   DPLBIN) WRITE(6,1060)
240 1060 FORMAT(52H0**** FOLLOWING ARE THE BASIC INPUT DATA BLOCKS ****)
241      IF(DPFLC)  CALL DMPARY(FLC,160,3HFLC,3)
242      IF(DPOPTN) CALL DMPARY(OPTN,4,4HOPTI,4)
243      IF(DPSYN)  CALL DMPARY(SYNA,19,4HSYNA,4)
244      IF(DPBDIN) CALL DMPARY(BODYIN,129,4HBDIN,4)
245      IF(DPWGIN) CALL DMPARY(WINGIN,101,4HWGIN,4)
246      IF(DPHTIN) CALL DMPARY(HTIN,154,4HHTIN,4)
247      IF(DPVTIN) CALL DMPARY(VTIN,154,4HVTIN,4)
248      IF(DPVFIN) CALL DMPARY(VFIN,154,4HVFIN,4)
249      IF(DPTVT)  CALL DMPARY(TVTIN,8,3HTVT,3)
250      IF(DPPWIN) CALL DMPARY(PWIN,29,4HPWIN,4)
251      IF(DPLBIN) CALL DMPARY(LBIN,21,4HLBIN,4)
252C
253C***  DUMP IOM ARRAYS
254C
255      IF(DAMP) GO TO 1080
256        IF(DPIBDY .OR. DPIWG .OR. DPIHT .OR. DPIVT .OR. DPIVF .OR.
257     1     DPIBW .OR. DPIBH .OR. DPIBV .OR. DPIBWH .OR. DPIBWV .OR.
258     2     DPITOT .OR. DPIPWR .OR. DPIDWH) WRITE(6,1070)
259 1070   FORMAT(44H0**** FOLLOWING ARE THE IOM DATA BLOCKS ****)
260        IF(DPIBDY) CALL DMPARY(BODY,400,4HBODY,4)
261        IF(DPIWG)  CALL DMPARY(WING,400,4HWING,4)
262        IF(DPIHT)  CALL DMPARY(HT,380,2HHT,2)
263        IF(DPIVT)  CALL DMPARY(VT,380,2HVT,2)
264        IF(DPIVF)  CALL DMPARY(VF,380,2HVF,2)
265        IF(DPIBW)  CALL DMPARY(BW,380,2HBW,2)
266        IF(DPIBH)  CALL DMPARY(BH,380,2HBH,2)
267        IF(DPIBV)  CALL DMPARY(BV,380,2HBV,2)
268        IF(DPIBWH) CALL DMPARY(BWH,380,3HBWH,3)
269        IF(DPIBWV) CALL DMPARY(BWV,380,3HBWV,3)
270        IF(DPITOT) CALL DMPARY(BWHV,380,4HBWHV,4)
271        IF(DPIPWR) CALL DMPARY(POWER,200,4HPOWR,4)
272        IF(DPIDWH) CALL DMPARY(DWASH,60,4HDWSH,4)
273 1080 CONTINUE
274C
275      DO 1090 I=1,4
276      IF(WINGIN(15).EQ.FLOAT(I))WINGIN(15)=XTYPE(I)
277      IF(  HTIN(15).EQ.FLOAT(I))  HTIN(15)=XTYPE(I)
278      IF(  VTIN(15).EQ.FLOAT(I))  VTIN(15)=XTYPE(I)
279      IF(  VFIN(15).EQ.FLOAT(I))  VFIN(15)=XTYPE(I)
280 1090 CONTINUE
281      RETURN
282      END
283