1 2 SUBROUTINE EVALCK 3 !*********************************************************************** 4 ! EVALCK Module of AERMOD 5 ! 6 ! PURPOSE: Check ARC Values for EVALFILE Option 7 ! 8 ! PROGRAMMER: Roger Brode 9 ! 10 ! DATE: November 29, 1993 11 ! 12 ! REVISIONS: Added true centerline calculations. 13 ! Changed 7/25/94, R.F. Lee. 14 ! 15 ! INPUTS: 16 ! 17 ! OUTPUTS: 18 ! 19 ! CALLED FROM: PCALC 20 !*********************************************************************** 21 22 ! Variable Declarations 23 USE MAIN1 24 IMPLICIT NONE 25 CHARACTER MODNAM*12 26 27 SAVE 28 INTEGER :: I , INDEX 29 REAL :: CHIOQ 30 31 ! Variable Initializations 32 MODNAM = 'EVALCK' ! 0 33 34 ! Set ARC Index 35 INDEX = NDXARC(IREC) 36 37 ! Check for INDEX = 0, i.e., this receptor is not an EVALCART receptor. 38 ! Skip to RETURN for INDEX = 0 39 IF ( INDEX.EQ.0 ) GOTO 99 40 41 !CRFL 42 !CRFL Add true centerline calculations: add CHIOQC 43 !CRFL Change made 7/25/94, R.F. Lee. 44 !CRFL 45 ! Calculate Normalized Concentration, CHI/Q 46 CHIOQ = HRVAL(1)/(QTK*EMIFAC(1)) ! 0 47 ! Check ARCMAX Array 48 IF ( CHIOQ.GT.ARCMAX(INDEX) ) THEN 49 ARCMAX(INDEX) = CHIOQ ! 0 50 !CRFL 51 !CRFL Add true centerline calculations: add arc centerline 52 !CRFL calculation ARCCL(INDEX). Note that, although ARCCL is 53 !CRFL is calculated redundantly for all receptors in the arc, 54 !CRFL the value calculated at the receptor showing the max is 55 !CRFL used. This assures that the most reasonable downwind 56 !CRFL distance will be used in the calculation. 57 !CRFL Changed 7/25/94, R.F. Lee. 58 !CRFL 59 ARCCL(INDEX) = CHIOQ 60 QMAX(INDEX) = QTK*EMIFAC(1) 61 DXMAX(INDEX) = DISTR 62 !RJP 63 !RJP Use appropriate effective parameters 64 !RJP 65 IF ( STABLE .OR. (UNSTAB .AND. (HS.GE.ZI)) ) THEN 66 UMAX(INDEX) = UEFF ! 0 67 SVMAX(INDEX) = SVEFF 68 SWMAX(INDEX) = SWEFF 69 SYMAX(INDEX) = SY 70 HEMAX(INDEX) = HE 71 !crfl 5/19/95 Grab SZ at maximum receptor in arc 72 SZMAX(INDEX) = SZ 73 CHIDMW(INDEX) = 0.0 74 CHINMW(INDEX) = 0.0 75 CHI3MW(INDEX) = 0.0 76 CHIDML(INDEX) = 0.0 77 CHINML(INDEX) = 0.0 78 CHI3ML(INDEX) = 0.0 79 HSBLMX(INDEX) = HSBL 80 ELSEIF ( PPF.GT.0.999 ) THEN 81 UMAX(INDEX) = UEFFD ! 0 82 U3MAX(INDEX) = UEFF3 83 SVMAX(INDEX) = SVEFF3 84 SWMAX(INDEX) = SWEFF3 85 SYMAX(INDEX) = SY 86 SY3MX(INDEX) = SY3 87 HEMAX(INDEX) = HSP + DHP3 88 CHIDMW(INDEX) = CHIDW/QMAX(INDEX) 89 CHINMW(INDEX) = CHINW/QMAX(INDEX) 90 CHI3MW(INDEX) = CHI3W/QMAX(INDEX) 91 CHIDML(INDEX) = CHIDL/QMAX(INDEX) 92 CHINML(INDEX) = CHINL/QMAX(INDEX) 93 CHI3ML(INDEX) = CHI3L/QMAX(INDEX) 94 HSBLMX(INDEX) = HPEN 95 ELSE 96 UMAX(INDEX) = UEFFD ! 0 97 U3MAX(INDEX) = UEFF3 98 SVMAX(INDEX) = SVEFFD 99 SWMAX(INDEX) = SWEFFD 100 SYMAX(INDEX) = SY 101 SY3MX(INDEX) = SY3 102 HEMAX(INDEX) = HSP + DHP1 103 CHIDMW(INDEX) = CHIDW/QMAX(INDEX) 104 CHINMW(INDEX) = CHINW/QMAX(INDEX) 105 CHI3MW(INDEX) = CHI3W/QMAX(INDEX) 106 CHIDML(INDEX) = CHIDL/QMAX(INDEX) 107 CHINML(INDEX) = CHINL/QMAX(INDEX) 108 CHI3ML(INDEX) = CHI3L/QMAX(INDEX) 109 HSBLMX(INDEX) = HPEN 110 ENDIF 111 ENDIF 112 113 99 CONTINUE ! 0 114 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