1 2 SUBROUTINE PPARM(ISDX,TEMP) 3 !*********************************************************************** 4 ! PPARM Module of the AMS/EPA Regulatory Model - AERMOD 5 ! 6 ! PURPOSE: Processes Source Parameters for POINT Sources 7 ! 8 ! PROGRAMMER: Roger Brode, Jeff Wang 9 ! 10 ! DATE: March 2, 1992 11 ! 12 ! INPUTS: Input Runstream Image Parameters 13 ! 14 ! OUTPUTS: Source Parameter Card 15 ! 16 ! CALLED FROM: SOPARM 17 !*********************************************************************** 18 19 ! Variable Declarations 20 USE MAIN1 21 IMPLICIT NONE 22 CHARACTER MODNAM*12 23 24 SAVE 25 INTEGER :: ISDX 26 REAL TEMP(IFMAX) 27 28 ! Variable Initializations 29 MODNAM = 'PPARM' ! 9 30 31 AQS(ISDX) = TEMP(1) 32 AHS(ISDX) = TEMP(2) 33 ATS(ISDX) = TEMP(3) 34 AVS(ISDX) = TEMP(4) 35 ADS(ISDX) = TEMP(5) 36 37 ! Perform QA Error Checking on Source Parameters 38 39 ! WRITE Warning Message: Emission Rate Equals 0.0 40 IF ( AQS(ISDX).EQ.0.0 ) CALL ERRHDL(PATH,MODNAM,'W','320',' QS ') 41 42 IF ( AHS(ISDX).LT.0.0 ) THEN 43 ! WRITE Error Message: Negative Release Height 44 CALL ERRHDL(PATH,MODNAM,'E','209',' HS ') ! 0 45 ELSEIF ( AHS(ISDX).GT.600.0 ) THEN 46 ! WRITE Warning Message: Large Release Height (> 600M) 47 CALL ERRHDL(PATH,MODNAM,'W','320',' HS ') ! 0 48 ENDIF 49 50 IF ( ATS(ISDX).EQ.0.0 ) THEN ! 9 51 ! Set Temperature to Small Negative Value for Ambient Releases 52 ATS(ISDX) = -1.0E-5 ! 0 53 ELSEIF ( ATS(ISDX).GT.2000.0 ) THEN 54 ! WRITE Warning Message: Exit Temp. > 2000K 55 CALL ERRHDL(PATH,MODNAM,'W','320',' TS ') ! 0 56 ENDIF 57 58 IF ( AVS(ISDX).LT.0.0 ) THEN ! 9 59 ! WRITE Warning Message: Negative or Zero Exit Velocity 60 CALL ERRHDL(PATH,MODNAM,'W','325',' VS ') ! 0 61 ! Set to Small Value to Avoid Zero-divide and Underflow 62 AVS(ISDX) = 1.0E-5 63 ELSEIF ( AVS(ISDX).LT.1.0E-5 ) THEN 64 ! Set to Small Value to Avoid Zero-divide and Underflow 65 AVS(ISDX) = 1.0E-5 ! 0 66 ELSEIF ( AVS(ISDX).GT.50.0 ) THEN 67 ! WRITE Warning Message: Exit Velocity > 50.0 m/s 68 CALL ERRHDL(PATH,MODNAM,'W','320',' VS ') ! 0 69 ENDIF 70 71 IF ( ADS(ISDX).LT.0.0 ) THEN ! 9 72 ! WRITE Warning Message: Negative Stack Diameter 73 CALL ERRHDL(PATH,MODNAM,'E','209',' DS ') ! 0 74 ELSEIF ( ADS(ISDX).LT.1.0E-5 ) THEN 75 ! Set to Small Value to Avoid Zero-divide and Underflow 76 ADS(ISDX) = 1.0E-5 ! 0 77 ELSEIF ( ADS(ISDX).GT.20.0 ) THEN 78 ! WRITE Warning Message: Large Stack Diameter (> 20m) 79 CALL ERRHDL(PATH,MODNAM,'W','320',' DS ') ! 0 80 ENDIF 81 82 CONTINUE ! 9 83 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