1 2 SUBROUTINE XYDIST(INDX) 3 !*********************************************************************** 4 ! XYDIST Module of the AMS/EPA Regulatory Model - AERMOD 5 ! 6 ! PURPOSE: Sets Receptor Variables and Calculates Downwind (X) 7 ! and Crosswind (Y) Distances, 8 ! and Radial Distance from Source to Receptor (DISTR) 9 ! 10 ! PROGRAMMER: Roger Brode, Jeff Wang 11 ! 12 ! DATE: March 2, 1992 13 ! 14 ! MODIFIED BY R.W. Brode, PES, Inc. to use calling argument to 15 ! specify array index, so that routine can be used by 16 ! both the regular ISCST3 routines and the routines of 17 ! the EVENT processor (ISCEV3). - 12/29/97 18 ! 19 ! INPUTS: Source Location 20 ! Arrays of Receptor Locations 21 ! SIN and COS of Wind Direction FROM Which Wind 22 ! is Blowing, WDSIN and WDCOS 23 ! 24 ! OUTPUTS: Values of X, Y, and DISTR (m) 25 ! 26 ! CALLED FROM: PCALC 27 ! VCALC 28 !*********************************************************************** 29 30 ! Variable Declarations 31 USE MAIN1 32 IMPLICIT NONE 33 CHARACTER MODNAM*12 34 35 SAVE 36 INTEGER :: INDX 37 38 ! Variable Initializations 39 MODNAM = 'XYDIST' !2630016 40 41 ! Set Receptor Coordinates, Terrain Elevation and Flagpole Heights 42 XR = AXR(INDX) 43 YR = AYR(INDX) 44 ZELEV = AZELEV(INDX) 45 ZHILL = AZHILL(INDX) 46 ZFLAG = AZFLAG(INDX) 47 48 ! Calculate Downwind (X) and Crosswind (Y) Distances 49 X = -((XR-XS)*WDSIN+(YR-YS)*WDCOS) 50 Y = (XR-XS)*WDCOS - (YR-YS)*WDSIN 51 52 ! Calculate Source-Receptor (Radial) Distance, DISTR 53 DISTR = SQRT(X*X+Y*Y) 54 55 ! Calculate height of receptor above stack base, ZRT 56 ZRT = ZELEV - ZS + ZFLAG 57 58 ! Check for SCREENing Mode and Set X,Y to Force Centerline Calc. 59 IF ( SCREEN ) THEN 60 X = DISTR ! 0 61 Y = 0.0 62 ENDIF 63 64 CONTINUE !2630016 65 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