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