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