1
2      SUBROUTINE OUDALY
3!***********************************************************************
4!                 OUDALY Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: To Process Daily Concurrent Value Table
7!                 Output Selections
8!
9!        PROGRAMMER: Roger Brode
10!
11!        DATE:    March 2, 1992
12!
13!        INPUTS:  Input Runstream Parameters
14!
15!        OUTPUTS: Output Option Switches
16!
17!        CALLED FROM:   OUCARD
18!***********************************************************************
19
20!     Variable Declarations
21      USE MAIN1
22      IMPLICIT NONE
23      CHARACTER MODNAM*12
24
25      SAVE
26      INTEGER :: I , J , IPRDT
27      LOGICAL FOUND
28
29!     Variable Initializations
30      MODNAM = 'OUDALY'                                                 !      0
31
32!     Check for Appropriate Number of Fields
33      IF ( IFC.EQ.2 ) THEN
34!        Error Message: No AvePer And High Value
35         CALL ERRHDL(PATH,MODNAM,'E','200',KEYWRD)                      !      0
36         GOTO 999
37      ELSEIF ( IFC.GT.NUMAVE+2 ) THEN
38!        Error Message: Too Many Fields
39         CALL ERRHDL(PATH,MODNAM,'E','202',KEYWRD)                      !      0
40         GOTO 999
41      ENDIF
42
43!     Retrieve Averaging Period(s)
44      IF ( FIELD(3).EQ.'ALLAVE' ) THEN                                  !      0
45!        Go For All Averaging Periods
46         DO I = 1 , NUMAVE                                              !      0
47            IDYTAB(I) = 1                                               !      0
48         ENDDO
49!        Set Logical Switch Indicating That Daily Value Tables Are Generated
50         DAYTAB = .TRUE.                                                !      0
51      ELSE
52         DO I = 3 , IFC                                                 !      0
53            IF ( FIELD(I).EQ.'MONTH' .AND. MONTH ) THEN                 !      0
54!              Set Value of IPRDT = 720 for MONTHly Averages
55               IPRDT = 720                                              !      0
56            ELSE
57               FOUND = .FALSE.                                          !      0
58               CALL STONUM(FIELD(I),ILEN_FLD,FNUM,IMIT)
59               IF ( IMIT.NE.1 ) THEN
60!                 Write Error Message:Invalid Numerical Field
61                  CALL ERRHDL(PATH,MODNAM,'E','208',KEYWRD)             !      0
62                  GOTO 999
63               ENDIF
64               IPRDT = NINT(FNUM)                                       !      0
65            ENDIF
66!           Check Averaging Period Against KAVE Array
67            J = 1                                                       !      0
68            DO WHILE ( .NOT.FOUND .AND. J.LE.NUMAVE )
69               IF ( IPRDT.EQ.KAVE(J) ) THEN                             !      0
70                  FOUND = .TRUE.                                        !      0
71                  IDYTAB(J) = 1
72               ENDIF
73               J = J + 1                                                !      0
74            ENDDO
75            IF ( .NOT.FOUND ) THEN                                      !      0
76!              Error Message:E203 KAVE Not Match With Pre-Defined One
77               CALL ERRHDL(PATH,MODNAM,'E','203','AVEPER')              !      0
78               GOTO 999
79            ENDIF
80         ENDDO
81!        Set Logical Switch Indicating That Daily Value Tables Are Generated
82         DAYTAB = .TRUE.                                                !      0
83      ENDIF
84
85 999  CONTINUE                                                          !      0
86      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