1
2      SUBROUTINE CHK_ENDYR
3!***********************************************************************
4!                 CHK_ENDYR Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: Checks date for "end-of-year" for use in ANNUAL
7!                 averages and post-1997 PM10 processing.
8!
9!        PROGRAMMER: Roger Brode
10!
11!        DATE:
12!
13!        INPUTS:  Input Runstream Image Parameters
14!
15!        OUTPUTS: Plant Boundary Receptor Location Inputs
16!
17!        CALLED FROM:   HRLOOP
18!***********************************************************************
19
20!     Variable Declarations
21      USE MAIN1
22      IMPLICIT NONE
23      CHARACTER MODNAM*12
24
25      SAVE
26      INTEGER :: IEND_DAY , I , J , K , L , M
27      CHARACTER SOID*8
28
29!     Variable Initializations
30      MODNAM = 'CHK_ENDYR'                                              !      0
31
32      IF ( (IENDMN.EQ.2 .AND. IENDDY.EQ.29 .AND. IMONTH.EQ.2) .AND.     &
33     &     (MOD(IYR,4).NE.0) .OR.                                       &
34     &     (MOD(IYR,100).EQ.0 .AND. MOD(IYR,400).NE.0) ) THEN
35!        Set End Day to 28 for non-leap year February
36         IEND_DAY = 28                                                  !      0
37      ELSE
38         IEND_DAY = IENDDY                                              !      0
39      ENDIF
40
41      IF ( IMONTH.EQ.IENDMN .AND. IDAY.EQ.IEND_DAY .AND.                &
42     &     IHOUR.EQ.IENDHOUR ) THEN
43!        End of year reached, increment counter and store H4H values
44         NUMYRS = NUMYRS + 1                                            !      0
45         IF ( ANNUAL ) CALL PERAVE
46         DO IGRP = 1 , NUMGRP
47            DO IREC = 1 , NUMREC                                        !      0
48               IF ( PM10AVE .AND. NUMAVE.EQ.1 ) SUMH4H(IREC,IGRP)       &
49     &              = SUMH4H(IREC,IGRP) + HIVALU(IREC,4,IGRP,1,1)
50               IF ( ANNUAL ) THEN
51                  DO ITYP = 1 , NUMTYP                                  !      0
52                     SUMANN(IREC,IGRP,ITYP) = SUMANN(IREC,IGRP,ITYP)    &
53     &                  + ANNVAL(IREC,IGRP,ITYP)
54                  ENDDO
55               ENDIF
56            ENDDO
57         ENDDO
58         NREMAIN = 0                                                    !      0
59         IF ( ANNUAL ) THEN
60!           Re-initialize the annual counters and array
61            IANHRS = 0                                                  !      0
62            IANCLM = 0
63            IANMSG = 0
64            IANWET = 0
65            IWETCLM = 0
66            IWETMSG = 0
67            NSKIPTOT = 0
68            NSKIPDRY = 0
69            NSDRYCLM = 0
70            NSDRYMSG = 0
71            NSKIPWET = 0
72            NSWETCLM = 0
73            NSWETMSG = 0
74            DO L = 1 , NUMTYP
75               DO K = 1 , NUMGRP                                        !      0
76                  DO J = 1 , NUMREC                                     !      0
77                     ANNVAL(J,K,L) = 0.0                                !      0
78                     ANNVALD(J,K,L) = 0.0
79                     ANNVALW(J,K,L) = 0.0
80                  ENDDO
81               ENDDO
82            ENDDO
83         ENDIF
84         IF ( PM10AVE .AND. NUMAVE.EQ.1 ) THEN                          !      0
85!           Re-initialize the High Value Arrays for post-1997 PM10
86            DO M = 1 , NUMTYP                                           !      0
87               DO L = 1 , NUMAVE                                        !      0
88                  DO K = 1 , NUMGRP                                     !      0
89                     DO J = 1 , NUMREC                                  !      0
90                        DO I = 1 , NHIVAL                               !      0
91                           HIVALU(J,I,K,L,M) = 0.0                      !      0
92                           NHIDAT(J,I,K,L,M) = 0
93                           HCLMSG(J,I,K,L,M) = ' '
94                        ENDDO
95                     ENDDO
96                  ENDDO
97               ENDDO
98            ENDDO
99         ENDIF
100      ELSE
101!        Increment counter for number of hours remaining after
102!        the end of the last year
103         NREMAIN = NREMAIN + 1                                          !      0
104      ENDIF
105
106      CONTINUE                                                          !      0
107      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