1
2      SUBROUTINE PREGENPOL
3!***********************************************************************
4!                 PREGENPOL Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: Generates Polar Receptor Network With
7!                 Uniform Spacing
8!
9!        PROGRAMMER: Roger Brode
10!
11!        DATE:    September 24, 1996
12!
13!        INPUTS:  Input Runstream Image Parameters
14!
15!        OUTPUTS: Polar Receptor Network With Uniform Direction Spacing
16!
17!        CALLED FROM:   PREPOLR
18!***********************************************************************
19
20!     Variable Declarations
21      USE MAIN1
22      IMPLICIT NONE
23      CHARACTER MODNAM*12
24
25      SAVE
26      INTEGER :: I , K
27      REAL :: TEMPP(3) , DIRINI , DIRINC
28      LOGICAL ERROR
29
30!     Variable Initializations
31      MODNAM = 'PREGENPOL'                                              !      3
32      ERROR = .FALSE.
33
34!     Check for the Location of the Secondary Keyword, GDIR
35      DO I = 1 , IFC
36         IF ( FIELD(I).EQ.'GDIR' ) ISC = I + 1                          !     18
37      ENDDO
38
39!     Determine Whether There Are Enough Parameter Fields
40      IF ( IFC.EQ.ISC-1 ) THEN                                          !      3
41!        Missing Parameter
42         RECERR = .TRUE.                                                !      0
43         GOTO 999
44      ELSEIF ( IFC.LT.ISC+2 ) THEN
45!        Not Enough Parameters
46         RECERR = .TRUE.                                                !      0
47         GOTO 999
48      ELSEIF ( IFC.GT.ISC+2 ) THEN
49!        Too Many Parameters
50         RECERR = .TRUE.                                                !      0
51         GOTO 999
52      ENDIF
53
54!     Input Numerical Values
55      DO K = 1 , 3                                                      !      3
56         CALL STONUM(FIELD(ISC+K-1),ILEN_FLD,TEMPP(K),IMIT)             !      9
57!        Check The Numerical Field
58         IF ( IMIT.EQ.-1 ) THEN
59            RECERR = .TRUE.                                             !      0
60            ERROR = .TRUE.
61         ENDIF
62      ENDDO
63
64      IF ( ERROR ) THEN                                                 !      3
65         ERROR = .FALSE.                                                !      0
66         GOTO 999
67      ENDIF
68
69      JCOUNT = NINT(TEMPP(1))                                           !      3
70      DIRINI = TEMPP(2)
71      DIRINC = TEMPP(3)
72
73!     Assign Them to the Coordinate Arrays
74      IF ( JCOUNT.GT.IYM ) IYM = JCOUNT
75
76 999  CONTINUE                                                          !      3
77      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