1 | |
2 | SUBROUTINE ALLSETUP |
3 | !*********************************************************************** |
4 | ! ALLSETUP Module |
5 | ! |
6 | ! PURPOSE: Allocate Array Storage for SETUP |
7 | ! |
8 | ! PROGRAMMER: Roger Brode, PES, Inc. |
9 | ! |
10 | ! DATE: September 21, 1996 |
11 | ! |
12 | ! INPUTS: |
13 | ! |
14 | ! |
15 | ! OUTPUTS: |
16 | ! |
17 | ! CALLED FROM: MAIN |
18 | ! |
19 | ! ERROR HANDLING: Checks for error allocating arrays |
20 | !*********************************************************************** |
21 | ! |
22 | ! Variable Declarations |
23 | USE MAIN1 |
24 | IMPLICIT NONE |
25 | CHARACTER MODNAM*12 |
26 | |
27 | INTEGER :: IASTAT |
28 | SAVE |
29 | |
30 | ! Variable Initializations |
31 | MODNAM = 'ALLSET' ! 3 |
32 | |
33 | !DEP & V(NTYP), VDRY(NTYP), |
34 | ALLOCATE (KAVE(NAVE),CHRAVE(NAVE),CHIDEP(6,NTYP),OUTTYP(NTYP), & |
35 | & STAT=IASTAT) |
36 | IF ( IASTAT.NE.0 ) THEN |
37 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
38 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
39 | ENDIF |
40 | |
41 | ! --- PRIME Modification ------------------------------------------- |
42 | ! ------------------------------------------------------------------ |
43 | ALLOCATE (AXS(NSRC),AYS(NSRC),AZS(NSRC),AQS(NSRC),AHS(NSRC), & |
44 | & ATS(NSRC),AVS(NSRC),ADS(NSRC),ASYINI(NSRC),ASZINI(NSRC),& |
45 | & NDXSTK(NSRC),ADSBH(NSEC,NSRC),ADSBW(NSEC,NSRC), & |
46 | & ADSBL(NSEC,NSRC),ADSXADJ(NSEC,NSRC),ADSYADJ(NSEC,NSRC), & |
47 | & INPD(NSRC),EVAL(NSRC),QFACT(NQF,NSRC),EMIFAC(NTYP), & |
48 | & STAT=IASTAT) |
49 | IF ( IASTAT.NE.0 ) THEN |
50 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
51 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
52 | ENDIF |
53 | |
54 | ALLOCATE (APDIAM(NPDMAX,NSRC),APHI(NPDMAX,NSRC), & |
55 | & APDENS(NPDMAX,NSRC),AVGRAV(NPDMAX,NSRC), & |
56 | & ATSTOP(NPDMAX,NSRC),EFRAC(NPDMAX),QPART(NPDMAX), & |
57 | & STAT=IASTAT) |
58 | IF ( IASTAT.NE.0 ) THEN |
59 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
60 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
61 | ENDIF |
62 | |
63 | ALLOCATE (PDIAM(NPDMAX),PHI(NPDMAX),PDENS(NPDMAX),VGRAV(NPDMAX), & |
64 | & TSTOP(NPDMAX),SCHMIDT(NPDMAX),VDEP(NPDMAX),SCF(NPDMAX), & |
65 | & WQCOR(NPDMAX),DQCOR(NPDMAX),PSCVRT(NPDMAX), & |
66 | & WASHOUT(NPDMAX),STAT=IASTAT) |
67 | IF ( IASTAT.NE.0 ) THEN |
68 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
69 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
70 | ENDIF |
71 | |
72 | ALLOCATE (IGROUP(NSRC,NGRP),SRCID(NSRC),SRCTYP(NSRC),SOPCRD(NSRC),& |
73 | & SOGAS(NSRC),GRPID(NGRP),QFLAG(NSRC),EMILBL(NTYP), & |
74 | & OUTLBL(NTYP),PERLBL(NTYP),AXINIT(NSRC),AYINIT(NSRC), & |
75 | & AANGLE(NSRC),AXVERT(NVMAX,NSRC),AYVERT(NVMAX,NSRC), & |
76 | & AALPHA(NSRC),APDEFF(NSRC),AVOLUM(NSRC),RADIUS(NSRC), & |
77 | & NVERTS(NSRC),AXCNTR(NSRC),AYCNTR(NSRC),URBSRC(NSRC), & |
78 | & PDIFF(NSRC),PDIFFW(NSRC),RMOLWT(NSRC),ALPHAS(NSRC), & |
79 | & REACT(NSRC),HENRY(NSRC),RCLI(NSRC),FINEMASS(NSRC), & |
80 | & L_METHOD2(NSRC),STAT=IASTAT) |
81 | IF ( IASTAT.NE.0 ) THEN |
82 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
83 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
84 | ENDIF |
85 | |
86 | IF ( EVONLY ) THEN ! 3 |
87 | ALLOCATE (EV_HRQS(NSRC,NHR),EV_HRTS(NSRC,NHR),EV_HRVS(NSRC,NHR)& |
88 | & ,STAT=IASTAT) |
89 | IF ( IASTAT.NE.0 ) THEN |
90 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
91 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
92 | ENDIF |
93 | ENDIF |
94 | |
95 | IF ( .NOT.EVONLY ) THEN ! 3 |
96 | ALLOCATE (AXR(NREC),AYR(NREC),AZELEV(NREC),AZFLAG(NREC), & |
97 | & AZHILL(NREC),IREF(NREC),NETID(NREC),RECTYP(NREC), & |
98 | & NDXARC(NREC),ARCID(NARC),NTID(NNET),NTTYP(NNET), & |
99 | & XCOORD(IXM,NNET),YCOORD(IYM,NNET),XORIG(NNET), & |
100 | & YORIG(NNET),NETSTA(NNET),NETEND(NNET),NUMXPT(NNET), & |
101 | & NUMYPT(NNET),STAT=IASTAT) |
102 | IF ( IASTAT.NE.0 ) THEN |
103 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
104 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
105 | ENDIF |
106 | ENDIF |
107 | |
108 | IF ( EVONLY ) THEN ! 3 |
109 | ALLOCATE (EVAPER(NEVE),EVDATE(NEVE),EVJDAY(NEVE),IDXEV(NEVE), & |
110 | & AXR(NEVE),AYR(NEVE),AZELEV(NEVE),AZFLAG(NEVE), & |
111 | & AZHILL(NEVE),EVNAME(NEVE),EVGRP(NEVE),STAT=IASTAT) |
112 | IF ( IASTAT.NE.0 ) THEN |
113 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
114 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
115 | ENDIF |
116 | ENDIF |
117 | |
118 | ALLOCATE (NHIAVE(NVAL,NAVE),MAXAVE(NAVE),IMXVAL(NAVE),IDYTAB(NAVE)& |
119 | & ,MAXFLE(NGRP,NAVE),IPSTFL(NGRP,NAVE), & |
120 | & IPLTFL(NVAL,NGRP,NAVE),IANPST(NGRP),IANPLT(NGRP), & |
121 | & INHI(NAVE),ITOXFL(NAVE),IRNKFL(NAVE),IRKVAL(NAVE), & |
122 | & THRESH(NGRP,NAVE),TOXTHR(NAVE),IMXUNT(NGRP,NAVE), & |
123 | & IPSUNT(NGRP,NAVE),IPSFRM(NGRP,NAVE), & |
124 | & IPLUNT(NVAL,NGRP,NAVE),IAPUNT(NGRP),IANFRM(NGRP), & |
125 | & IPPUNT(NGRP),ITXUNT(NAVE),IRKUNT(NAVE),IELUNT(NSRC), & |
126 | & THRFIL(NGRP,NAVE),PSTFIL(NGRP,NAVE), & |
127 | & PLTFIL(NVAL,NGRP,NAVE),ANNPST(NGRP),ANNPLT(NGRP), & |
128 | & TOXFIL(NAVE),RNKFIL(NAVE),EVLFIL(NSRC),ISEAHR(NGRP), & |
129 | & SEAHRS(NGRP),ISHUNT(NGRP),STAT=IASTAT) |
130 | IF ( IASTAT.NE.0 ) THEN |
131 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
132 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
133 | ENDIF |
134 | |
135 | ALLOCATE (IDCONC(NAVE,NPAIR),TXCONC(NAVE,NPAIR),STAT=IASTAT) ! 3 |
136 | IF ( IASTAT.NE.0 ) THEN |
137 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
138 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
139 | ENDIF |
140 | |
141 | ALLOCATE (WORKID(NSRC),IWRK2(NSRC,13),STAT=IASTAT) ! 3 |
142 | IF ( IASTAT.NE.0 ) THEN |
143 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
144 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
145 | ENDIF |
146 | |
147 | IF ( .NOT.EVONLY ) THEN ! 3 |
148 | ALLOCATE (ZETMP1(NREC),ZETMP2(NREC),ZHTMP1(NREC),ZHTMP2(NREC), & |
149 | & ZFTMP1(NREC),ZFTMP2(NREC),STAT=IASTAT) |
150 | IF ( IASTAT.NE.0 ) THEN |
151 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
152 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
153 | ENDIF |
154 | ENDIF |
155 | |
156 | IF ( PVMRM .OR. OLM ) THEN ! 3 |
157 | ALLOCATE (ANO2_RATIO(NSRC),CHI(NREC,NSRC,NTYP),STAT=IASTAT) ! 0 |
158 | IF ( IASTAT.NE.0 ) THEN |
159 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
160 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
161 | ENDIF |
162 | IF ( PVMRM ) THEN ! 0 |
163 | ALLOCATE (HECNTR(NREC,NSRC),HECNTR3(NREC,NSRC), & |
164 | & UEFFS(NREC,NSRC),UEFF3S(NREC,NSRC), & |
165 | & FOPTS(NREC,NSRC),PPFACT(NSRC),STAT=IASTAT) |
166 | IF ( IASTAT.NE.0 ) THEN |
167 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
168 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
169 | ENDIF |
170 | ENDIF |
171 | IF ( OLM ) THEN ! 0 |
172 | ALLOCATE (OLMID(NOLM),L_OLMGRP(NSRC),IGRP_OLM(NSRC,NOLM), & |
173 | & STAT=IASTAT) |
174 | IF ( IASTAT.NE.0 ) THEN |
175 | WRITE (DUMMY,'(I8)') IASTAT ! 0 |
176 | CALL ERRHDL(PATH,MODNAM,'E','298',DUMMY) |
177 | ENDIF |
178 | ENDIF |
179 | ENDIF |
180 | |
181 | CONTINUE ! 3 |
182 | END |
HyperKWIC - Version 1.00DD executed at 20:00 on 1 Mar 2018 | Personal or Academic or Evaluation User | Free for Non-Commercial, Non-Government Use