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