1      SUBROUTINE PERAVE
2!***********************************************************************
3!                 PERAVE Module of the AMS/EPA Regulatory Model - AERMOD
4!
5!        PURPOSE: Calculates PERIOD Averages
6!
7!        PROGRAMMER: Roger Brode, Jeff Wang
8!
9!        DATE:    March 2, 1992
10!
11!        MODIFIED:   Removed 75 percent limit on calculation of the
12!                    denominator, SNUM - 4/19/93
13!
14!        INPUTS:  Array of Period Sums and Counters
15!
16!        OUTPUTS: Array of Period Averages
17!
18!        CALLED FROM:   MAIN
19!***********************************************************************
20
21!     Variable Declarations
22      USE MAIN1
23      IMPLICIT NONE
24      CHARACTER MODNAM*12
25
26      SAVE
27      REAL :: SNUM , SNUMSCM , SNUMWET , STOTDRY , STOTWET , STOTHRS
28
29!     Variable Initializations
30      MODNAM = 'PERAVE'                                                 !      2
31
32!     Calculate Denominator Considering Calms and Missing
33      SNUM = IANHRS - IANCLM - IANMSG
34      IF ( .NOT.SCIM ) THEN
35         STOTHRS = IANHRS                                               !      2
36      ELSEIF ( SCIM ) THEN
37         STOTHRS = NSKIPTOT                             ! Total no. of hours
38         SNUMSCM = IANHRS - IANCLM - IANMSG             ! Sampled SCIM'd hours
39         SNUMWET = IANWET - IWETCLM - IWETMSG           ! Sampled wet hours
40         STOTDRY = NSKIPDRY - NSDRYCLM - NSDRYMSG       ! Total dry hours
41         STOTWET = NSKIPWET - NSWETCLM - NSWETMSG       ! Total wet hours
42      ENDIF
43
44!     Calculate Period Average Concentrations for Each Source Group and Receptor
45
46!     Begin LOOP Over Output Types
47      DO ITYP = 1 , NUMTYP                                              !      2
48!        Begin Source Group LOOP
49         DO IGRP = 1 , NUMGRP                                           !      2
50!           Begin Receptor LOOP
51            DO IREC = 1 , NUMREC                                        !      2
52
53               IF ( OUTTYP(ITYP).EQ.'CONC' ) THEN                       !    288
54
55                  IF ( .NOT.SCIM .OR. (SCIM .AND. .NOT.WETSCIM) ) THEN  !    288
56                     ANNVAL(IREC,IGRP,1) = ANNVAL(IREC,IGRP,1)/SNUM     !    288
57                  ELSEIF ( SCIM .AND. WETSCIM ) THEN
58                     ANNVALD(IREC,IGRP,1) = ANNVALD(IREC,IGRP,1)/SNUMSCM!      0
59                     ANNVALW(IREC,IGRP,1) = ANNVALW(IREC,IGRP,1)/SNUMWET
60
61                     ANNVAL(IREC,IGRP,1)                                &
62     &                  = (ANNVALD(IREC,IGRP,1)*STOTDRY+                &
63     &                  ANNVALW(IREC,IGRP,1)*STOTWET)/(STOTDRY+STOTWET)
64
65                  ENDIF
66
67               ELSE
68
69                  IF ( SCIM .AND. .NOT.WETSCIM ) THEN                   !      0
70                     ANNVAL(IREC,IGRP,ITYP) = ANNVAL(IREC,IGRP,ITYP)    &
71     &                  *(STOTHRS/SNUMSCM)
72                  ELSEIF ( SCIM .AND. OUTTYP(ITYP).EQ.'WDEP' ) THEN
73                     ANNVAL(IREC,IGRP,ITYP) = ANNVALW(IREC,IGRP,ITYP)   &
74     &                  *(STOTWET/SNUMWET)
75                  ELSEIF ( SCIM .AND. WETSCIM ) THEN
76                     ANNVALD(IREC,IGRP,ITYP) = ANNVALD(IREC,IGRP,ITYP)  &
77     &                  /SNUMSCM
78                     ANNVALW(IREC,IGRP,ITYP) = ANNVALW(IREC,IGRP,ITYP)  &
79     &                  /SNUMWET
80
81                     ANNVAL(IREC,IGRP,ITYP)                             &
82     &                  = (ANNVALD(IREC,IGRP,ITYP)*STOTDRY+             &
83     &                  ANNVALW(IREC,IGRP,ITYP)*STOTWET)
84
85                  ENDIF
86
87               ENDIF
88
89            ENDDO
90!           End Receptor LOOP
91         ENDDO
92!        End Source Group LOOP
93      ENDDO
94!     End LOOP Over Output Types
95
96      CONTINUE                                                          !      2
97      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