1
2
3      SUBROUTINE EVCALC
4!***********************************************************************
5!                 EVCALC Module of ISC2 Short Term EVENT Model - ISCEV2
6!
7!        PURPOSE: Controls Flow and Processing of CALCulation Modules
8!
9!        PROGRAMMER: Roger Brode, Jeff Wang
10!
11!        DATE:    March 2, 1992
12!
13!        MODIFIED:   To set NUMREC = 1 and use PCALC, VCALC, ACALC, and
14!                    OCALC subroutines.  R.W. Brode, PES, Inc. - 12/2/98
15!
16!        INPUTS:  Arrays of Source Parameters
17!                 Arrays of Receptor Locations
18!                 Meteorological Variables for One Hour
19!
20!        OUTPUTS: Array of 1-hr CONC or DEPOS Values for Each Source/Receptor
21!
22!        CALLED FROM:   EVLOOP
23!***********************************************************************
24
25!     Variable Declarations
26      USE MAIN1
27      IMPLICIT NONE
28      CHARACTER MODNAM*12
29
30      SAVE
31
32!     Variable Initializations
33      MODNAM = 'EVCALC'                                                 !      0
34      PATH = 'CN'
35
36!     Set NUMREC = 1 to allow use of PCALC, VCALC, ACALC, and OCALC subroutines
37      NUMREC = 1
38
39!     Begin Source LOOP
40      SOURCE_LOOP:DO ISRC = 1 , NUMSRC
41         IF ( IGROUP(ISRC,IDXEV(IEVENT)).EQ.1 ) THEN                    !      0
42            IF ( SRCTYP(ISRC).EQ.'POINT' ) THEN                         !      0
43!              Calculate Point Source Values                ---   CALL PCALC
44               CALL PCALC                                               !      0
45            ELSEIF ( SRCTYP(ISRC).EQ.'VOLUME' ) THEN
46!              Calculate Volume Source Values               ---   CALL VCALC
47               CALL VCALC                                               !      0
48            ELSEIF ( SRCTYP(ISRC).EQ.'AREA' ) THEN
49!              Calculate Area Source Values for Rectangles  ---   CALL ACALC
50               CALL ACALC                                               !      0
51            ELSEIF ( SRCTYP(ISRC).EQ.'AREAPOLY' ) THEN
52!              Calculate Area Source Values for Polygons    ---   CALL ACALC
53               CALL ACALC                                               !      0
54            ELSEIF ( SRCTYP(ISRC).EQ.'AREACIRC' ) THEN
55!              Calculate Area Source Values for Circles     ---   CALL ACALC
56               CALL ACALC                                               !      0
57            ELSEIF ( SRCTYP(ISRC).EQ.'OPENPIT' ) THEN
58!              Calculate OpenPit Source Values              ---   CALL OCALC
59               CALL OCALC                                               !      0
60            ENDIF
61         ENDIF
62      ENDDO SOURCE_LOOP
63!     End Source LOOP
64
65      CONTINUE                                                          !      0
66      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