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