1 2 !----------------------------------------------------------------------- 3 SUBROUTINE WAKE_XA(KSTINP,LRURL,L,RINP,XAZ,XAY) 4 !----------------------------------------------------------------------- 5 ! 6 ! --- PRIME Version: 1.0 Level: 980310 WAKE_XA 7 ! D. Strimaitis, EARTH TECH 8 ! Prepared for EPRI under contract WO3527-01 9 ! 10 ! --- PURPOSE: Calculates the distance from the upwind face of the 11 ! building to the point at which the turbulence intensity 12 ! in the wake approaches that in the ambient flow. 13 ! 14 ! Final distances are limited to "xbyrmax" scale-lengths 15 ! (R) set in prime1, measured from downwind bldg face 16 ! 17 ! --- MODIFIED: For use with the AERMOD model. Added MAIN1 module to 18 ! access global AERMOD data. Modified ambiy and ambiz to 19 ! use AERMOD turbulence intensities. 20 ! R.W. Brode, PES, Inc. - 07/05/01 21 ! 22 ! --- INPUTS: 23 ! kst - integer - PG stability class (1-6) 24 ! lrurl - logical - Rural flag (T=Rural, F=Urban) 25 ! L - real - dist (m) of downwind bldg wall from 26 ! upwind bldg wall 27 ! R - real - wake scaling length (m) 28 ! 29 ! Common block /DFSN/ variables: 30 ! afac,xbyrmax,wiz0,wiy0,wfz,wfy, 31 ! dua_ua,xdecay,xdecayi, 32 ! rurliz,rurliy,urbniz,urbniy 33 ! 34 ! --- OUTPUT: 35 ! 36 ! xaz - real - distance (m) from upwind bldg wall 37 ! at which wake turbulence Iz = ambient 38 ! xay - real - distance (m) from upwind bldg wall 39 ! at which wake turbulence Iy = ambient 40 ! 41 ! --- WAKE_XA called by: WAKE_DFSN 42 ! --- WAKE_XA calls : none 43 !---------------------------------------------------------------------- 44 ! 45 46 USE MAIN1 47 48 INCLUDE 'dfsn.pri' 49 REAL L , SWFACT 50 LOGICAL LRURL 51 52 ! --- Misc. constants 53 DATA ONE/1.0/ 54 55 ! --- Specify ambient turbulence intensities from AERMOD effective parameters 56 AMBIZ = SWEFF/UEFF ! 10932 57 AMBIY = SVEFF/UEFF 58 59 ! --- Compute asymptotic turbulence intensity in far wake 60 FARIZ = AMIN1(WIZ0,AMBIZ) 61 FARIY = AMIN1(WIY0,AMBIY) 62 63 ! --- Define the turbulence intensity at the transition point 64 FARIZT = AMAX1(AMBIZ,AFAC*FARIZ) 65 FARIYT = AMAX1(AMBIY,AFAC*FARIY) 66 67 ! --- Compute leading term 68 X0BYR = L/RINP - ONE 69 70 ! --- Compute scaled distance at which Iz equals transition Iz 71 XAZ = X0BYR + (DUA_UA+(WFZ*WIZ0-FARIZ*(ONE-DUA_UA))/(FARIZT-FARIZ)& 72 & )**XDECAYI 73 74 ! --- Compute distance at which Iy equals transition Iy 75 XAY = X0BYR + (DUA_UA+(WFY*WIY0-FARIY*(ONE-DUA_UA))/(FARIYT-FARIY)& 76 & )**XDECAYI 77 78 ! --- Cap distances 79 XBYR = L/RINP + XBYRMAX 80 XAZ = RINP*AMIN1(XBYR,XAZ) 81 XAY = RINP*AMIN1(XBYR,XAY) 82 83 IF ( DEBUG ) THEN 84 WRITE (IOUNIT,*) 'WAKE_XA Calculations:' ! 0 85 WRITE (IOUNIT,*) 'ambiz, ambiy = ' , AMBIZ , AMBIY 86 WRITE (IOUNIT,*) 'farizt, fariyt = ' , FARIZT , FARIYT 87 WRITE (IOUNIT,*) 'xaz, xay = ' , XAZ , XAY 88 ENDIF 89 90 CONTINUE ! 10932 91 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