1
2      SUBROUTINE PREGENCAR
3!***********************************************************************
4!                 PREGENCAR Module of the AMS/EPA Regulatory Model - AERMOD
5!
6!        PURPOSE: Generates Cartesian Grid 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: Cartesian Grid Receptor Network With Uniform
16!                 Spacing
17!
18!        CALLED FROM:   PRECART
19!***********************************************************************
20
21!     Variable Declarations
22      USE MAIN1
23      IMPLICIT NONE
24      CHARACTER MODNAM*12
25
26      SAVE
27      INTEGER :: I , K
28      REAL :: TEMPP(6) , XDELTA , YDELTA
29      LOGICAL ERROR
30
31!     Variable Initializations
32      MODNAM = 'PREGENCAR'                                              !      0
33      ERROR = .FALSE.
34
35!     Check for Location of Secondary Keyword, XYINC
36      DO I = 1 , IFC
37         IF ( FIELD(I).EQ.'XYINC' ) ISC = I + 1                         !      0
38      ENDDO
39
40!     Determine Whether There Are Enough Parameter Fields
41      IF ( IFC.EQ.ISC-1 ) THEN                                          !      0
42!        Missing Parameter
43         RECERR = .TRUE.                                                !      0
44         GOTO 999
45      ELSEIF ( IFC.GT.ISC+5 ) THEN
46!        Too Many Parameters
47         RECERR = .TRUE.                                                !      0
48         GOTO 999
49      ELSEIF ( IFC.LT.ISC+5 ) THEN
50!        Too Few Parameters
51         RECERR = .TRUE.                                                !      0
52         GOTO 999
53      ENDIF
54
55!     Input The Numerical Values
56      DO K = 1 , 6                                                      !      0
57         CALL STONUM(FIELD(ISC+K-1),ILEN_FLD,TEMPP(K),IMIT)             !      0
58!        Check The Numerical Field
59         IF ( IMIT.EQ.-1 ) THEN
60            ERROR = .TRUE.                                              !      0
61            RECERR = .TRUE.
62         ENDIF
63      ENDDO
64
65      IF ( ERROR ) THEN                                                 !      0
66         ERROR = .FALSE.                                                !      0
67         GOTO 999
68      ENDIF
69
70!     Assign Values to Appropriate Variables for Generated Network
71      XINT = TEMPP(1)                                                   !      0
72      ICOUNT = NINT(TEMPP(2))
73      XDELTA = TEMPP(3)
74      YINT = TEMPP(4)
75      JCOUNT = NINT(TEMPP(5))
76      YDELTA = TEMPP(6)
77
78!     Assign Them to the Coordinate Arrays
79      IF ( ICOUNT.GT.IXM ) IXM = ICOUNT
80      IF ( JCOUNT.GT.IYM ) IYM = JCOUNT
81
82 999  CONTINUE                                                          !      0
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