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