Building Profile Input Programme
Building Profile Input Programme
USER'S GUIDE
TO THE
BUILDING PROFILE INPUT PROGRAM
October 1993
ACKNOWLEDGEMENTS
DISCLAIMER
ii
PREFACE
iii
CONTENTS
ACKNOWLEDGEMENTS . . . . . . . . . . . . . . . . . . . . . . ii
DISCLAIMER . . . . . . . . . . . . . . . . . . . . . . . . . ii
PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
iv
FIGURES
Figure
v
TABLES
Table
vi
1.0 INTRODUCTION
1-1
2.0 BPIP PROGRAM TECHNICAL DESCRIPTION
2-1
feature. The four structure types are:
Procedures for determining GEP stack height are given for each
type. BPIP follows these procedures by treating simple and
multi-tiered structures first and then processing applicable
structures into groups.
Wakes from two structures, that are closer than the greater
of either structure's L, are considered to be 'sufficiently
close' to one another that their wakes act as one wake.
Therefore, when the projected widths of the structures do not
completely overlay each other, the structures are combined and
the gap between the two structures is treated as if the gap had
been filled with a structure equal in height to the lower
structure. Otherwise, the two structures are processed
separately.
2-2
Figure 2-1. Low Simple Structure and GEP Areas of Influence
GEP 5L
The outermost Limit
curved lines Line
0 Deg.
represent
GEP
the GEP 5L Area
Limit Line
encircling the
5L
total GEP Area GEP 5L
of Influence. 5L Limit
Line
Each directional
area of influence
5L
extends up to
the structure.
12m 5L
GEP 5L
Limit
Line
2-3
BPIP combines buildings using the 'a' lines and only those 'b' lines that are
less than L. All 'a' lines are assumed to be less than L. The outside portion
of the lines used form the perimeter of the Gap-Filling Structure (GFS).
E
A B C
b
b
a a a a a
b
b
b
a
b b
b
F
a
2-4
processes the structure and tier data to calculate GEP stack
heights, and BH and PBW values based on Reference 1. Flags are
also set to identify which stacks are being influenced by which
structures.
2-6
angular distance as rotating the axes clockwise to the wind flow
direction. Arrowed arcs on the axes, building, stack and air
flow show the relative rotated directions.
2-8
Maximum GEP Projected Width is 17.95 meters
5L 10m
W1 = 17.95m
Stack
*
HWE = Hb + 1.5L
GEP 5L Limit
HWE = 40 + 1.5 * 39.7
Line and
HWE = 99.5m
SIZ Boundary
Structure
Influence Wmax = 41.2m Stack
Zone (SIZ)
Ht. = 40m o
A stack with a
2-9
one tier and the sides of the other tier. The minimum distance
for each tier pair is stored in the array DISTMN.
Next, the projected widths for each tier are calculated for
the wind direction of concern. The width values are stored in
the array W by building-tier number. Ls are calculated for each
tier. If the L of either tier is greater than the respective
DISTMN value, the tiers are considered sufficiently close for
combining. This is performed in the DO 110 loop.
Two structures 'overlay' each other when the most east and
the most west corners of two structures are exactly upwind and
downwind of each other, respectively. Combining of two
structures that overlay each other produces the same areas of
influence as if the structures had not been combined. To
simplify BPIP, overlaying structures are combined in the program.
Also, when the projected widths of the sufficiently close
structures (tiers) do not completely overlay each other, the
structures are combined and the gap between the two structures is
treated as if the gap had been filled with a structure equal in
height to the lower structure. Otherwise, the two structures are
processed separately. Only those tiers that are sufficiently
close initially are combined. Already-combined-tiers that become
sufficiently close to other structures are not further combined.
In BPIP, each group of structures is formed around a single
tier called a 'focal' tier. The process begins by the selection
of one tier as the focal tier. All the other tiers are tested on
a one on one basis with the focal tier to determine if they can
be combined with the focal tier. For each pair of focal and non-
focal tiers, each respective tier height and projected width is
used to calculate an L. If the greater of each pair of Ls is
greater than the minimum distance between the two tiers, then the
two tiers are considered to be combinable. The building-tier
numbers of the focal and combinable non-focal tiers are saved in
an array, TLIST. The array variable, TNUM, is used to store the
total number of combinable tiers in TLIST by focal tier number.
All the tiers that are entered into BPIP are selected, in
succession, to be a focal tier.
2-10
group are selected, in succession, to be used as the common
height.
2-11
W ind Flow Direction = 20 Deg.
Lines
101
102
103
Ht.= 20m
SIZ
Line Plant
+
Origin
100
SIZ
Line
GEP 5L
Limit Line
KEY:
2-12
become a segment of the GEP 5L limit line, bordered on each end
by the sides of the SIZ.
2-13
2.2.2 Group of Structure Calculations
2-14
Figure 2-7. SIZ Coverage of 22.5 Degree Wide GEP Area of
Influence
2-15
3.0 USER'S INSTRUCTIONS
If UTM coordinates are used, BPIP will move the UTM origin
to the first tier coordinates entered. The new origin will
become 0,0 and BPIP will adjust all the rest of the UTM
coordinates to the new origin values accordingly.
Not all plant plots are oriented to True North. The user
needs to determine the direction of 'plant north' with respect to
True North. If plant north is pointed towards the northwest,
then the user enters 315.0 for plant north. Otherwise, if plant
north and true north are the same, the user enters either 360.0
or 0.0 for the direction. BPIP will adjust the plant coordinates
to True North coordinates after any UTM adjustments are made but
before any GEP processing begins. Plant north is entered on the
same line as UTMN or UTMY.
3-2
3.2 INITIAL PROGRAM SETTINGS
BPIP has been programmed with parameters that the user can
set to accommodate increases in the number of structures, tiers
per structure, or stacks that need to be processed without
changing the dimensions of over two dozen arrays. The parameter
values are arguments in PARAMETER statements that are located
shortly after the definitions in the main program and at the
beginning of each subroutine. Initially, BPIP is set up to
process a maximum of 8 buildings with a maximum of 4 tiers per
building and 14 stack locations. In order to change the
dimensions of these variables, the following parameters need to
be changed:
Initial
Parameter Definition Setting
MB Maximum Number of Buildings 8
MT Maximum Number of Tiers/Building 4
MBT Maximum Building-Tier Number (MB*MT) 32
MTS Maximum Number of Sides/Tier 8
MSK Maximum Number of Stacks 14
MD Number of Sectors - ISCST2 36
ML Number of Sectors - ISCLT2 16
Once the input file has been prepared and saved to disk,
BPIP is ready to be executed. The execution line is as follows:
Several input data checks are made that will give a warning
message and halt the program. Otherwise, the program should run
to termination. On an 486/mhz IBM clone, test case 1 runs in
about 3 seconds while test case 2 runs in about 13 minutes. Test
case 1 consists of 1 building with 1 tier and 4 stacks while test
case 2 consists of 3 combinable buildings with 3 tiers each and
Table 3-1
Record
Type Description
3-4
Table 3-1 Cont'd
Record
Type Description
Record
Type Placement
Input Example
Record
Type Example input
The output from the Primary Output File (see Table 3-4) is
headed by the date and time of execution, title, and BPIP
Processing Information. This is followed by a table listing each
stack, its stack height, GEP equation 1 stack height value and
preliminary GEP stack height values. The list is part of the
Preliminary GEP Stack Height Results Table. In the results
table, the GEP stack height values are called preliminary due to
other conditions and situations addressed in the GEP technical
support document.
3-8
Table 3-4
DATE : 11/13/93
TIME : 16:27:23
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The ST flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE
(Units: METERS)
Preliminary*
Stack Stack GEP** GEP Stack
Name Height EQN1 Height Value
3-9
Table 3-4 Cont'd
DATE : 11/13/93
TIME : 16:27:23
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
BPIP output in METERS
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDHGT Stk100 20.00 20.00 20.00 20.00 20.00 20.00
SO BUILDWID Stk100 111.07 107.16 100.00 115.85 128.17 136.60
SO BUILDWID Stk100 140.88 140.88 136.60 128.17 115.85 100.00
SO BUILDWID Stk100 107.16 111.07 111.60 108.74 108.74 111.60
SO BUILDWID Stk100 111.07 107.16 100.00 115.85 128.17 136.60
SO BUILDWID Stk100 140.88 140.88 136.60 128.17 115.85 100.00
SO BUILDWID Stk100 107.16 111.07 111.60 108.74 108.74 111.60
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk101 .00 .00 .00 .00 .00 .00
3-10
3.5.2 Summary File
Under the Overall GEP Summary Table section that follows the
section above (see Table 3-6, Part 1), note that the difference
between the stack and building base elevations has been
subtracted from the GEP Eqn1 values. In this example, the
maximum GEP Eqn1 value occurs under all wind flow directions, but
360. degrees is printed. In other cases, where there is a
definitive direction in which a maximum occurs, the correct
direction is given. Note that 'no tiers' are affecting stack 101
(see Figure 2-6 for stack location).
In the second part of the summary file (see Table 3-6, Part
2), the number of tier(s) and the tier number(s) forming the
dominate group of combined tiers are listed, even if the 'group'
consists of only 1 tier such as shown for Stk100. The common
height is the first value listed after the 'MAX: BH:'
identifier. In this case, it is 20.0 meters. MAX refers to the
sector values producing the maximum wake effect height with the
minimum amount of width for the stack in question. Since the
wake effect height is 50.0 meters and 1 meter greater than the
GEP Equation 1 Height, the height has been reduced to the GEP
value. The GEP value was also 50 meters before the terrain
difference of 1 meter was subtracted from it. The number of
tiers affecting Stk100 is 1. The first tier number listed is
always the building-tier number of the focal tier. In this case
it is building-tier number 1. The building-tier numbers can be
found in the Input Summary above.
3-11
Table 3-5
DATE : 11/16/93
TIME : 22:18:18
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The ST flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
==============
INPUT SUMMARY:
==============
L-Shape 1 1 20.00 6
-10.00 -20.00
-10.00 -20.00
( .00 .00)
[ .00 .00]
-10.00 80.00
-10.00 80.00
( .00 100.00)
[ -50.00 -86.60]
.
.
.
3-12
Table 3-5 Cont'd
3-13
Table 3-6
StkNo: 1Stk Name:Stk100 Stk Ht: 75.00 Prelim. GEP Stk.Ht: 49.00
GEP: BH: 20.00 PBW: 111.60 *Eqn1 Ht: 49.00
*with a Stack-Building elevation difference applied = 1.00
No. of Tiers affecting Stk: 1 Direction occurred: 360.00
Bldg-Tier nos. contributing to GEP: 1
StkNo: 2Stk Name:Stk101 Stk Ht: 66.00 Prelim. GEP Stk.Ht: 65.00
GEP: BH: .00 PBW: .00 *Eqn1 Ht: .00
No tiers affect this stack.
Part 2:
Summary By Direction Table
(Units: METERS)
Drtcn: 10.00
StkNo: 1Stk Name:Stk100 Stack Ht: 75.00
MAX: BH: 20.00 PBW: 111.07 *Wake Effect Ht: 49.00
GEP: BH: 20.00 PBW: 111.60 *Equation 1 Ht: 49.00
*with a Stack-Building elevation difference applied = 1.00
BldNo: 1 Bld Name:L-Shape TierNo: 1
StkNo: 2 Stk Name:Stk101 Stack Ht: 66.00
MAX: BH: .00 PBW: .00 *Wake Effect Ht: .00
GEP: BH: .00 PBW: .00 *Equation 1 Ht: .00
No tier affects this stack.
.
.
.
3-14
4.0 REFERENCES
GEP Guidance:
4-1
APPENDIX A
A-1
C Tier t Corner c X -, and Y - Coordinates
C Number of Stacks
C Stack 1 name, Base Elevation, Height, Stack 1 X -, and Y - Coordinates
C .
C .
C .
C Stack s name, Base Elevation, Height, Stack s X -, and Y - Coordinates
C Number of Stacks whose roof location > 5L from a roof edge
C Stack number, Building number, Tier Number
C .
C .
C .
C Stack number, Building number, Tier Number
C
C **************************************************************************
C
C EXECUTION STATEMENT
C
C DOS Prompt> BPIP Input_filename Output_filename Summary_filename
C
C **************************************************************************
C
C UNIT USAGE
C
C UNIT PURPOSE
C
C * - READ FROM THE KEYBOARD
C * - WRITE TO THE SCREEN
C 10 - READ INPUT FROM FILE
C 12 - WRITE OUTPUT TO FILE
C 14 - WRITE SUMMARY FILE
C
C **************************************************************************
C
C DEFINITIONS
C
C A1 - AREA OF A SQUARE SQUARED. USED TO DETERMINE IF AN INTERCEPT IS
C BETWEEN TWO TIER CORNERS. A1 IS BASED ON THE CORNER COORDINATES
C AND THE INTERCEPT COORDINATES.
C A2 - AREA OF A SQUARE SQUARED. USED TO DETERMINE IF AN INTERCEPT IS
C BETWEEN TWO TIER CORNERS. A2 IS BASED ON THE CORNER COORDINATES
C ONLY.
C A - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES
C ADJ - ADJUST PLANT NORTH COORDINATES TO TRUE NORTH COORDINATES
C ANG - ANGLE THROUGH WHICH STACK AND TIERS ARE ROTATED SO THE WIND
C DIRECTION IS POINTED "TRUE NORTH"
C AU - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES
C B - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES
C BELEV - BASE ELEVATION OF A BUILDING
C BET - VALUE IN CNRLIN THAT WHEN A PERPENDICULAR LINE DRAWN FROM A TIER
C CORNER TO ANOTHER TIER SIDE INTERCEPTS THE SIDE BETWEEN THE TWO
C CORNERS, BET IS POSITIVE.
C BTN - NAME OF STRUCTURE
C BU - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES
C C - NUMBER USED TO INDEX A BUILDING TIER (BLDG# - 1) * MXTRS + TIER#
C WHERE 4 REPRESENTS THE MAX NUMBER OF TIERS PRE BUILDING
C C1 - BUILDING TIER NUMBER COMBINABLE WITH BUILDING TIER NUMBER C2
C C2 - BUILDING TIER NUMBER COMBINABLE WITH BUILDING TIER NUMBER C1
C CH - BUILDING-TIER NUMBER OF THE TIER HEIGHT USED AS A COMMON HEIGHT
C CNRLIN - SUBROUTINE TO CALCULATE THE DISTANCE BETWEEN A TIER CORNER AND
C THE SIDE OF ANOTHER TIER. SUBROUTINE ALSO CALCULATES WHETHER
C OR NOT A PERPENDICULAR LINE DRAWN FROM THE CORNER TO THE SIDE
C INTERCEPTS THE SIDE BETWEEN THE TWO CORNERS OF THE TIER.
C CONV - FACTOR TO CONVERT USER'S UNITS TO METERS
A-2
C CSA - COSINE OF ANG
C CXMN - X COORDINATE OF FURTHEST WEST POINT OF DISTURBED AIR ZONE
C CXMX - X COORDINATE OF FURTHEST EAST POINT OF DISTURBED AIR ZONE
C CYMN - Y COORDINATE OF FURTHEST SOUTH POINT OF DISTURBED AIR ZONE
C CYMX - Y COORDINATE OF FURTHEST NORTH POINT OF DISTURBED AIR ZONE
C D - WIND DIRECTION SUBSCRIPT OR INDEX
C DDEG - INC'ENTAL WIND DIRECTION AND INITIAL WIND DIRECTION
C DIF - DIFFERENCE IN HEIGHT BETWEEN A STACK AND BUILDING BASE ELEVATION
C DISLIN - SUBROUTINE THAT CALCULATES DISTANCE BETWEEN A SIDE AND STACK
C AND CHECKS IT AGAINST 5L
C DIST - DISTANCE BETWEEN TWO TIER CORNERS OR THE PERPENDICULAR DISTANCE
C BETWEEN A TIER CORNER AND A TIER SIDE OF TWO DIFFERENT TIERS
C DISTMN - MINIMUM DISTANCE BETWEEN BUILDING TIER PAIRS
C DMDxx - NUMBER OF OUTPUT VALUES PER LINE
C DR - WIND DIRECTION FROM A CORNER TO A STACK
C DTR - DEGREES TO RADIANS CONVERSION FACTOR
C FLG1 - FLAG FOR STACK INDICATING STACK'S X COORDINATE MAYBE WITHIN SIZ
C FLG2 - FLAG FOR STACK INDICATING STACK'S Y COORDINATE MAYBE WITHIN SIZ
C G65 - GEP 65 METER DECISION POINT CONVERTED TO USER'S INPUT UNITS
C GDIRS - WIND FLOW DIRECTION MAXIMUM GEP STACK HEIGHT OCCURS
C GEP - GEP STACK HEIGHT FOR SOURCE s.
C GEPBH - GEP STRUCTURE HEIGHT AFFECTING SOURCE
C GEPBW - GEP PROJECTED STRUCTURE WIDTH AFFECTING SOURCE
C GEPIN - FLAG INDICATING SOURCE IS IN GEP INFLUENCE OF STRUCTURE C
C GFS - GAP-FILLING STRUCTURE. USED TO JOIN TWO SUFFICIENTLY TIERS INTO
C ONE COMBINED STRUCTURE
C GPC - SUBROUTINE THAT SET GEPIN TO 1 AND DETERMINES MAX GEP STACK
C HEIGHT
C GTLIST - ARRAY OF TIER NUMBERS USED TO CALCULATE A GEP STACK HEIGHT VALUE
C GTNUM - COUNTER WITH NUMBER OF TIERS USED TO CALCULATE A GEP STACK HEIGHT
C HWE - HEIGHT OF WAKE EFFECT PRODUCED BY A TIER ON A STACK
C HT - BUILDING HEIGHT - DIMENSIONED BY BUILDING-TIER NUMBER
C HTA - BUILDING TIER HEIGHT OR COMMON TIER HEIGHT
C HTC - FOCAL TIER HEIGHT
C I - BUILDING SUBSCRIPT OR INDEX
C Ix - COUNTER IN A DO LOOP
C IBET - FLAG IN DISLIN THAT WHEN SET INDICATES THAT A STACK IS UP TO
C 5L DIRECTLY DOWNWIND OF A SIDE OF A TIER OR GFS
C ICF - FLAG TO INDICATE FIRST CHARACTER FOUND IN STKN VARIABLE NAME
C IDAY - DAY
C IHR - HOUR
C IMIN - MINUTER
C IMON - MONTH
C ISEC - SECOND
C ISF - FLAG TO INDICATE FIRST SPACE FOUND AFTER A CHARACTER IN STKN
C IX - TIME RELATED DUMMY VARIABLE
C IYR - YEAR
C IZ - FOR ISCLT2 ONLY, IF A STACK IS NOT UNDER A WAKE EFFECT COVERED
C BY THE CENTRAL SIZ THEN CHECK THE OTHER TWO SIZS COVERING THE
C SECTOR AND USE THE ONE WITH THE HIGHEST WAKE EFFECT HEIGHT.
C J - TIER SUBSCRIPT OR INDEX
C JJ - TIER SUBSCRIPT FOR A SECOND TIER
C JXMAX - TIER CORNER NUMBER WHICH IS FURTHEST EAST
C JXMIN - TIER CORNER NUMBER WHICH IS FURTHEST WEST
C JYMAX - TIER CORNER NUMBER WHICH IS FURTHEST NORTH
C JYMIN - TIER CORNER NUMBER WHICH IS FURTHEST SOUTH
C K - TIER CORNER SUBSCRIPT
C - FIRST TIER CORNER SUBSCRIPT OF A FIRST BUILDING
C K1 - SECOND TIER CORNER SUBSCRIPT OF A FIRST BUILDING
C K2 - SECOND TIER CORNER SUBSCRIPT OF A SECOND BUILDING
C KK - FIRST TIER CORNER SUBSCRIPT OF A SECOND BUILDING
C L2 - TWICE MAXIMUM BUILDING WIDTH OR HEIGHT WHICHEVER IS LESS
C L5 - FIVE TIMES MAXIMUM BUILDING WIDTH OR HEIGHT WHICHEVER IS <
C L5SQAT - NUMBER OF ROOF STACKS THAT ARE SUSPECTED OF BEING MORE
A-3
C THAN 5L IN FROM AT LEAST ONE RESPECTIVE ROOF EDGE
C LFLAT - FLAG THAT INDICATES WHICH STACK & BUILDING-TIER COMBINATIONS
C FALL UNDER THE L5SQAT DEFINITION
C LTN1 - L OF FIRST COMBINABLE TIER
C LTN2 - L OF SECOND COMBINABLE TIER OF TWO TIERS
C LTN - GREATER OF LTN1 OR LTN2
C M - SLOPE OF A TIER SIDE
C MB - MAXIMUM NUMBER OF BUILDINGS ALLOWED - PARAMETER
C MBT - MAXIMUM BUILDING TIER NUMBER (MB*MT) - PARAMETER
C MD - MAXIMUM NUMBER OF ISCST2 SECTORS - PARAMETER
C MDIRS - WIND FLOW DIRECTION MAXIMUM WAKE EFFECT HEIGHT OCCURS IN
C MH - ARRAY HOLDING MAXIMUM HEIGHTS BY STACK AND SECTOR
C MHWE - MAXIMUM HEIGHT OF WAKE EFFECT BY SOURCE AND WIND DIRECTION
C MI - AN ARRAY OF BUILDING NUMBERS
C MJ - AN ARRAY OF TIER NUMBERS
C ML - MAXIMUM NUMBER OF ISCLT2 SECTORS - PARAMETER
C MSK - MAXIMUM NUMBER OF STACK SOURCES - PARAMETER
C MT - MAXIMUM NUMBER OF TIERS/BUILDING - PARAMETER
C MTLIST - ARRAY WITH A LIST OF COMBINED TIERS USED TO CALCULATE A MAXIMUM
C PROJECTED WIDTH
C MTNUM - COUNTER HOLDING THE NUMBER OF COMBINED TIERS FOR A MAXIMUM
C PROJECTED BUILDING WIDTH
C MTS - MAXIMUM NUMBER OF SIDES/TIER - PARAMETER
C MW - ARRAY HOLDING MAXIMUM WIDTHS BY STACK AND SECTOR
C MXBHW - SUBROUTINE THAT CALCULATES BUILDING WAKE EFFECT HEIGHT
C MXPBH - MAXIMUM PROJECTED BUILDING HEIGHT BY SOURCE AND WIND DRCTN
C MXPBW - MAXIMUM PROJECTED BUILDING WIDTH BY SOURCE AND WIND DRCTN
C MXTRS - MAXIMUM NUMBER OF TIERS PER BUILDING
C NB - NUMBER OF BUILDINGS ENTERED
C ND - NUMBER OF SIDES TO A TIER ENTERED
C ND16 - NUMBER OF ISCLT2 SECTORS
C NDIR - NUMBER OF WIND DIRECTIONS TO BE PROCESSED
C NS - NUMBER OF STACKS ENTERED
C NTRS - NUMBER OF TIERS (MAXIMUM OF 4) / BUILDING
C PBH - BUILDING HEIGHT BY BUILDING TIER NUMBER
C PBW - PROJECTED BUILDING WIDTH BY BUILDING TIER NUMBER
C PN - FLAG INDICATING PLANT NORTH IS OTHER THAN TRUE NORTH
C PNORTH - PLANT NORTH AS OPPOSED TO TRUE NORTH
C PV - PRELIMINARY GEP STACK HEIGHT VALUE
C R - MINIMUM VALUE OF BUILDING HEIGHT AND PROJECTED BUILDING WIDTH
C USED IN DETERMINING THE COMBINABILITY OF TWO TIERS
C S - STACK SOURCE SUBSCRIPT OR INDEX
C SB - STACK BASE ELEVATION
C SH - STACK HEIGHT
C SM - SLOPE OF A LINE
C SNA - SINE OF ANG
C SNM - TEMPORARY STACK NAME USED TO CHECK FOR BLANK SPACES IN NAME -
C STKN
C STKN - STACK NAME
C SWT - FLAG INDICATING WHETHER TO CALCULATE VALUES FOR ISCST OR ISCLT
C TH - HEIGHT OF A TIER - DIMENSIONED BY BUILDING NUMBER AND TIER NO.
C TITLE - DATA TITLE OR IDENTIFICATION STATEMENT (UP TO 78 CHARACTERS)
C TLIST - IDENTIFIES WHICH BUILDING TIER NUMBER TO USE IN COMBINING
C TLIST2 - SUBGROUP OF TLIST - BASED ON A TIER HEIGHT OF A TIER IN TLIST
C TIER HEIGHT IS USED AS BASIS FOR COMBINING
C TN1 - SEE TNUM
C TNUM - COUNTER FOR NUMBER OF BUILDING TIERS TO EXAMINE FOR COMBINING.
C TNUM2 - COUNTER FOR TLIST2
C TW - PROJECTED WIDTH OF A TIER OR A GROUP OF COMBINED TIERS
C UEAST - LOCAL Y - COORDINATE OF ORIGIN IN UTM COORDINATE VALUE
C UNORTH - LOCAL X - COORDINATE OF ORIGIN IN UTM COORDINATE VALUE
C UTM - FLAG TO INDICATE THE INPUT DATA ARE IN UTM COORDINATES
C W - TIER WIDTH FOR A WIND DIRECTION
C WIDTH - SUBROUTINE THAT CALCULATES PROJECTED WIDTHS AND COORDINATES OF
A-4
C THE MOST SOUTH, EAST, WEST, AND NORTH CORNERS
C WS - LESSER OF BUILDING HEIGHT OR PROJECTED BUILDING WIDTH (L)
C X11 - X COORDINATE OF FIRST TIER CORNER OF FIRST BUILDING
C X12 - X COORDINATE OF SECOND TIER CORNER OF FIRST BUILDING
C X21 - X COORDINATE OF FIRST TIER CORNER OF SECOND BUILDING
C X22 - X COORDINATE OF SECOND TIER CORNER OF SECOND BUILDING
C X - X COORDINATE OF AN UNTRANSLATED TIER CORNER
C XC - X COORDINATE OF A CORNER BY NUMBER
C XI - X INTERCEPT COORDINATE BETWEEN A CORNER AND A SIDE
C XKP - X COORDINATE OF A TIER CORNER
C XMAX - X COORDINATE OF FURTHEST EAST OF A TRANSLATED TIER CORNER
C XMIN - X COORDINATE OF FURTHEST WEST OF A TRANSLATED TIER CORNER
C XMN - TEMPORARY STORAGE OF FURTHEST WEST X COORDINATE VALUE
C XMX - TEMPORARY STORAGE OF FURTHEST EAST X COORDINATE VALUE
C XP - X COORDINATE OF A TRANSLATED TIER CORNER
C XPSTK - X COORDINATE OF A TRANSLATED STACK
C XS - X COORDINATE OF AN UNTRANSLATED STACK
C Y11 - Y COORDINATE OF FIRST TIER CORNER OF FIRST BUILDING
C Y12 - Y COORDINATE OF SECOND TIER CORNER OF FIRST BUILDING
C Y21 - Y COORDINATE OF FIRST TIER CORNER OF SECOND BUILDING
C Y22 - Y COORDINATE OF SECOND TIER CORNER OF SECOND BUILDING
C Y - Y COORDINATE OF AN UNTRANSLATED TIER CORNER
C YC - Y COORDINATE OF A CORNER BY NUMBER
C YI - Y INTERCEPT COORDINATE BETWEEN A CORNER AND A SIDE.
C YKP - Y COORDINATE OF A TIER CORNER
C YMAX - Y COORDINATE OF FURTHEST NORTH OF A TRANSLATED TIER CORNER
C YMIN - Y COORDINATE OF FURTHEST SOUTH OF A TRANSLATED TIER CORNER
C YMN - TEMPORARY STORAGE OF FURTHEST WEST Y COORDINATE VALUE
C YMX - TEMPORARY STORAGE OF FURTHEST EAST Y COORDINATE VALUE
C YP - Y COORDINATE OF A TRANSLATED TIER CORNER
C YPSTK - Y COORDINATE OF A TRANSLATED STACK
C YS - Y COORDINATE OF AN UNTRANSLATED STACK
C
C **************************************************************************
C
LOGICAL FLG1, FLG2
REAL L2, L5, MHWE, MXPBH, MXPBW, MH, MW, LTN1, LTN2, LTN
INTEGER IHR, IMIN, ISEC, IX, IYR, IMON, IDAY, C, C1, C2, CH,
* D, GEPIN, GTLIST, GTNUM, MTNUM, MTLIST, S, T1, T2,
* TL1, TL2, TLIST, TLIST2, TN1, TNUM, TNUM2, UTM
CHARACTER*2 SWTN
CHARACTER*4 UTMP
CHARACTER*8 BTN, STKN, SNM
CHARACTER*10 UNTS
CHARACTER*78 TITLE
C
C INITIAL PARAMETER SETTINGS
C
C MAX NUMBER OF BUILDINGS MB = 8
C MAX NUMBER OF TIERS/BUILDING MT = 4
C MAX NUMBER OF SIDES/TIER MTS = 8
C MAX NUMBER OF STACK SOURCES MSK = 14
C MAX BUILDING TIER NUMBER MBT = 32 (MB * MT)
C MAX NUMBER OF SECTORS - ST MD = 36
C MAX NUMBER OF SECTORS - LT ML = 16
C
C ********************************************************************
PARAMETER (MB = 8, MT = 4, MTS = 8, MBT = MB*MT , MSK = 14, *
* MD = 36, ML = 16) *
C * *
C * Remember to also change the parameter settings in the *
A-5
C * subroutines ! *
C ********************************************************************
C
C DIMENSION SUBSCRIPT FORMAT: (BUILDING OR STACK #, WD OR TIER #, SIDE #)
C
COMMON /BLDGIN/ X(MB, MT, MTS), Y(MB, MT, MTS), ND(MB, MT)
COMMON /BLDOUT/ XC(MBT,MTS), YC(MBT,MTS)
COMMON /ELEV/ BELEV(MB), SB(MSK)
COMMON /GP/ GEP(MSK), GEPBH(MSK), GEPBW(MSK), GEPIN(MSK,MBT,MBT)
COMMON /HT/ TH(MB, MT), SH(MSK)
COMMON /INTRCP/ XI,YI
COMMON /MXB/ MHWE(MSK, MD), MXPBH(MSK, MD), MXPBW(MSK, MD)
COMMON /MXN/ XMAX(MBT), XMIN(MBT), YMAX(MBT), YMIN(MBT)
COMMON /PWH/ PBH(MBT), PBW(MBT), HWE(MBT)
COMMON /MIJ/ MI(MSK), MJ(MSK)
COMMON /STK/ XS(MSK), YS(MSK)
COMMON /TNM/ TNUM2(MBT), TLIST2(MBT,MBT)
COMMON /GTNM/ GTNUM(MSK), GTLIST(MSK,MBT), GDIRS(MSK)
COMMON /MTNM/ MTNUM(MSK), MTLIST(MSK,MBT), MDIRS(MSK)
DIMENSION BTN(MB), NTRS(MB), W(MBT), HT(MBT)
DIMENSION STKN(MSK)
DIMENSION DISTMN(MBT, MBT), LFLAT(MSK, MBT)
DIMENSION TNUM(MBT), TLIST(MBT,MBT)
DIMENSION MH(MSK, ML), MW(MSK, ML)
DIMENSION XP(MSK), YP(MSK)
DTR = 3.141593 / 180
MXTRS = MT
C
C READ INPUT DATA CONTAINING BUILDING AND STACK DATA
C
WRITE(12,297)
WRITE(12,*) '============================'
WRITE(12,*) 'BPIP PROCESSING INFORMATION:'
WRITE(12,*) '============================'
WRITE(12,297)
WRITE(14,297)
WRITE(14,*) '============================'
WRITE(14,*) 'BPIP PROCESSING INFORMATION:'
WRITE(14,*) '============================'
WRITE(14,297)
READ(10,*) SWTN
SWT = 2
IF(SWTN .EQ. 'st') SWT = 0
IF(SWTN .EQ. 'ST') SWT = 0
IF(SWTN .EQ. 'lt') SWT = 1
A-6
IF(SWTN .EQ. 'LT') SWT = 1
WRITE(12,2) SWTN
WRITE(14,2) SWTN
IF(SWT .EQ. 2) THEN
WRITE(*,*) 'The SWTN variable, ',SWTN,' is incorrectly enter
*ed.'
STOP
END IF
READ(10,*) UNTS, CONV
WRITE(12,3) UNTS, UNTS, CONV
WRITE(14,3) UNTS, UNTS, CONV
READ(10,*) UTMP, PNORTH
UTM = 2
IF(UTMP .EQ. 'utmn') UTM = 0
IF(UTMP .EQ. 'UTMN') UTM = 0
IF(UTMP .EQ. 'utmy') UTM = 1
IF(UTMP .EQ. 'UTMY') UTM = 1
IF(UTM .EQ. 1) THEN
WRITE(12,4) UTMP
WRITE(14,4) UTMP
ELSE
WRITE(12,5) UTMP
WRITE(14,5) UTMP
END IF
IF(UTM .EQ. 2) THEN
WRITE(*,*) 'The UTMP variable, ',UTMP,' is incorrectly enter
*ed.'
STOP
END IF
A-7
END IF
WRITE(14,6) NB
DO 10 I = 1, NB
READ(10,*) BTN(I), NTRS(I), BELEV(I)
IF (NTRS(I) .GT. MT) THEN
WRITE(*,*) 'WARNING :'
WRITE(*, *) 'THE NUMBER OF TIERS/BUILDING EXCEEDS THE PARA
*METER, MT'
STOP
END IF
PRINT *
A-8
READ(10,*) NS
IF (NS .GT. MSK) THEN
WRITE(*,*) 'WARNING :'
WRITE(*, *) 'THE NUMBER OF STACKS ENTERED EXCEEDS THE PARAMET
*ER, MKS'
STOP
END IF
WRITE (14,11) NS
WRITE (14,21)
DO 40 S = 1, NS
READ (10,*) STKN(S), SB(S), SH(S), XS(S), YS(S)
AU = XS(S) - UEAST
BU = YS(S) - UNORTH
IF (UTM .EQ. 0) THEN
WRITE (14, 22) STKN (S), SB(S), SH(S), XS(S), YS(S)
ELSE
WRITE (14, 22) STKN(S), SB(S), SH(S), XS(S), YS(S)
WRITE (14, 23) AU, BU
END IF
XS(S) = AU
YS(S) = BU
IF (PN .EQ. 1) THEN
A = XS(S) * CSA + YS(S) * SNA
B = YS(S) * CSA - XS(S) * SNA
XS(S) = A
YS(S) = B
WRITE (14,42) XS(S), YS(S)
END IF
C CHECK FOR BLANK SPACES IN STACK NAMES
SNM = STKN(S)
ICF = 0
ISF = 0
DO 48 I = 1, 8
IF (ICF .EQ. 0) THEN
IF (SNM(I:I) .NE. ' ') THEN
ICF = 1
GO TO 48
END IF
ELSE
IF (ISF .EQ. 0) THEN
IF (SNM(I:I) .EQ. ' ') THEN
ISF = 1
GO TO 48
END IF
ELSE
IF (SNM(I:I) .NE. ' ') THEN
WRITE (14,47)
GO TO 40
END IF
END IF
END IF
48 CONTINUE
40 CONTINUE
READ (10,*) L5SQAT
WRITE (14,71) L5SQAT
IF(L5SQAT .GT. 0) THEN
A-9
WRITE(14,73)
END IF
DO 70 L = 1, L5SQAT
READ(10, *) S, I, J
C = (I-1) * MXTRS + J
GEPIN(S, C, C) = 1
LFLAT(S, C) = 1
WRITE(14,72) STKN(S), S, BTN(I), I, J
70 CONTINUE
WRITE(*,*) ' '
WRITE(*,*) 'END OF READING INPUT DATA FROM FILE.'
WRITE(*,*) ' '
C
C END OF INPUT SECTION
C
WRITE(*,*) ' '
WRITE(*,*) 'CALCULATING GEP VALUES.'
WRITE(*,*) ' '
A-10
IF (DIST .LT. DISTMN(C1, C2)) DISTMN(C1, C2) = DIST
C Calculate distance between a corner of one structure
C and the side of another structure
CALL CNRLIN(X21, Y21, X22, Y22, BET, DIST, X11, Y11)
C If the intercept is between the two corners of the
C other structure, test to see if it is the
C shortest distance.
IF (BET .GT. -.001) THEN
IF (DIST .LT. DISTMN(C1, C2)) DISTMN(C1, C2) = DIST
END IF
CALL CNRLIN(X11, Y11, X12, Y12, BET, DIST, X21, Y21)
C If the intercept is between the two corners of the
C other structure, test to see if it is the
C shortest distance.
IF (BET .GT. -.001) THEN
IF (DIST .LT. DISTMN(C1, C2)) DISTMN(C1, C2) = DIST
END IF
85 CONTINUE
84 CONTINUE
DISTMN(C2, C1) = DISTMN(C1, C2)
83 CONTINUE
82 CONTINUE
81 CONTINUE
80 CONTINUE
C
C
C GEP STACK HEIGHT CALCULATIONS
C
C DETERMINE IF A STACK IS WITHIN A GEP 5L AREA OF INFLUENCE
C
C AS STAND ALONE STRUCTURES AND TIERS
C
C FOR EVERY QUARTER OF A DEGREE
C
DO 100 D = 1, 1440
ANG = D * DTR/4
CSA = COS(ANG)
SNA = -SIN(ANG)
DO 101 I = 1, NB
DO 102 J = 1, NTRS(I)
C = (I-1) * MXTRS + J
CH = C
TNUM2(C) = 0
C CALCULATE PROJECTED TIER WIDTH, TW
CALL WIDTH(ANG, I, J, C, TW)
W(C) = TW
WS = TW
HTA = TH(I,J)
IF (HTA .LT. TW) WS = HTA
L5 = WS * 5
C X AND Y COORDINATES DEFINING AN INITIAL AREA around GEP 5L segment
CXMN = XMIN(C)
CXMX = XMAX(C)
CYMX = YMAX(C) + L5
CYMN = YMIN(C)
C
C CHECK FOR STACK S LOCATION IN GEP 5L AREA.
C
DO 103 S = 1, NS
XPSTK = XS(S) * CSA + YS(S) * SNA
YPSTK = YS(S) * CSA - XS(S) * SNA
FLG1 = ((XPSTK .GE. CXMN) .AND. (XPSTK .LE. CXMX))
FLG2 = ((YPSTK .GE. CYMN))
IF (FLG1 .AND. FLG2) THEN
A-11
C
C Calculate distance between a stack and a side or corner
C of a tier. If less than 5L, set flag and calculate
C GEP stack height.
C
DO 106 K = 1, ND(I, J)
X1 = XC(C, K)
Y1 = YC(C, K)
L = K + 1
IF (L .GT. ND(I, J)) L = 1
X2 = XC(C, L)
Y2 = YC(C, L)
CALL DISLIN(X1, Y1, X2, Y2, L5, IBET, XPSTK, YPSTK)
IF (LFLAT (S,C) .EQ. 1) IBET = 1
IF (IBET .EQ. 1) THEN
TNUM2(C) = 1
TLIST2(C,1) = C
C Call subroutine to calculate a GEP stk ht. and others
CALL GPC (D, I, C, S, TW, WS, HTA, C)
END IF
106 CONTINUE
END IF
103 CONTINUE
102 CONTINUE
101 CONTINUE
100 CONTINUE
C
C GEP STACK HEIGHT CALCULATIONS
C
C DETERMINE IF A STACK IS WITHIN A GEP 5L AREA OF INFLUENCE
C
C AS COMBINED STRUCTURES AND TIERS
C
C FOR EVERY QUARTER OF A DEGREE
C
C IDENTIFY TIER GROUPS EXAMINE FOR COMBINING
C
C USE ACTUAL HEIGHTS - EACH GROUP FORMED AROUND FIRST TIER
C
C EVERY TIER IS USED AS FIRST OR 'FOCAL' TIER IN
SUCCESSION
C
DO 110 D = 1, 1440
ANG = D * DTR/4
CSA = COS(ANG)
SNA = -SIN(ANG)
C First or 'Focal' Tier
DO 111 I = 1, NB
DO 112 J = 1, NTRS(I)
C1 = (I - 1) * MXTRS + J
CALL WIDTH(ANG, I, J, C1, TW)
W(C1) = TW
HT(C1) = TH(I,J)
TNUM(C1) = 1
TLIST(C1, 1) = C1
C Can the focal tier be combined with the other tiers ?
DO 113 II = 1, NB
IF (I .NE. II) THEN
DO 114 JJ = 1, NTRS(II)
C2 = (II - 1) * MXTRS + JJ
CALL WIDTH(ANG, II, JJ, C2, TW)
W(C2) = TW
HT(C2) = TH(II,JJ)
C R is 'L'; combinable if distance between tiers is < L
A-12
C If yes, add tier number to TLIST and increment counter TNUM
R = MIN(W(C1), HT(C1))
IF (DISTMN(C1, C2) .LT. R) THEN
TNUM(C1) = TNUM(C1) + 1
TN1 = TNUM(C1)
TLIST(C1,TN1) = C2
ELSE
R = MIN(W(C2), HT(C2))
IF (DISTMN(C1, C2) .LT. R) THEN
TNUM(C1) = TNUM(C1) + 1
TN1 = TNUM(C1)
TLIST(C1,TN1) = C2
END IF
END IF
114 CONTINUE
END IF
113 CONTINUE
112 CONTINUE
111 CONTINUE
C
C FOR SUFFICIENTLY CLOSE STRUCTURES
C
C
C COMBINE IDENTIFIED STRUCTURES BY GROUPS
DO 120 I = 1, NB
DO 121 J = 1, NTRS(I)
C1 = (I-1) * MXTRS + J
C Combine tiers to each focal tier.
C Proceed, if more than 1 tier can be combined
IF (TNUM(C1) .GT. 1) THEN
TN1 = TNUM(C1)
HTC = HT(TLIST(C1,1))
C Use every height in the TLIST set as the common height for combining
C Create focal subgroups based on common height; store numbers in TLIST2
DO 122 T1 = 1, TN1
TL1 = TLIST(C1,T1)
HTA = HT(TLIST(C1,T1))
CH = TL1
C use only those heights that are less than or equal to the focal tier height.
IF (( HTA .LT. HTC) .OR. (C1 .EQ. TL1)) THEN
TL2 = TLIST(C1,T2)
C2 = TL2
IF (C1 .NE. TL2) THEN
C Use only those heights that are greater than the common height.
IF (HT(TL2) .GE. HTA) THEN
C Is the candidate structure within LTN1 or LTN2 of the focal structure, C1 ?
A-13
LTN1 = MIN(HTA, W(C1))
LTN2 = MIN(HTA, W(TL2))
LTN = MAX(LTN1, LTN2)
IF (DISTMN(C1, TL2) .LT. LTN) THEN
TNUM2(C1) = TNUM2(C1) + 1
TLIST2(C1,TNUM2(C1)) = TL2
A-14
IF (IBET .EQ. 1) THEN
CALL GPC (D, I, C1, S, TW, WS, HTA, TL1)
C GO TO 136
END IF
131 CONTINUE
C
C If source is within rectangle, check direct downwind
C distance from side of second tier to stack. IBET = 1 if
C at or within 5L
C
DO 135 M = 2, TNUM2(C1)
C2 = TLIST2(C1,M)
II = INT((C2-1)/MXTRS) + 1
JJ = C2 - (II-1) * MXTRS
DO 132 K = 1, ND(II, JJ)
X1 = XC(C2, K)
Y1 = YC(C2, K)
L = K + 1
IF (L .GT. ND(II, JJ)) L = 1
X2 = XC(C2, L)
Y2 = YC(C2, L)
CALL DISLIN(X1, Y1, X2, Y2, L5, IBET, XPSTK, YPSTK)
IF (IBET .EQ. 1) THEN
CALL GPC (D, I, C2, S, TW, WS, HTA, TL1)
C GO TO 136
END IF
132 CONTINUE
C If source is within rectangle, check direct downwind
C distance from side of gap filling structure (GFS) to stack.
C IBET = 1, if at or within 5L
DO 133 K = 1, ND(I, J)
X11 = XC(C1, K)
Y11 = YC(C1, K)
K1 = K + 1
IF(K1 .GT. ND(I,J)) K1 = 1
X12 = XC(C1, K1)
Y12 = XC(C1, K1)
DO 133 L = 1, ND(II,JJ)
X21 = XC(C2, L)
Y21 = YC(C2, L)
K2 = L + 1
IF (K2 .GT. ND(II,JJ)) K2 = 1
X22 = XC(C2,K2)
Y22 = YC(C2,K2)
DIST = SQRT ((X11-X21)**2 + (Y11-Y21)**2)
IF (DIST .LE. WS) THEN
CALL DISLIN(X11, Y11, X21, Y21, L5, IBET,
* XPSTK, YPSTK)
IF (DIST .LE. L5) THEN
IF (IBET .EQ. 1) THEN
CALL GPC (D, I, C1, S, TW, WS, HTA, TL1)
C GO TO 136
END IF
END IF
END IF
C calculate corner of one tier perpendicular to side
C of the other tier. If shorter than L use as
C perimeter of the GFS
CALL CNRLIN(X11, Y11, X12, Y12, BET, DIST, X21, Y21)
IF (DIST .LE. WS .AND. BET .GT. -.001) THEN
CALL DISLIN(X21, Y21, XI, YI, L5, IBET, XPSTK, YPSTK)
IF (DIST .LE. L5) THEN
IF (IBET .EQ. 1) THEN
CALL GPC (D,I,C1,S,TW,WS, HTA, TL1)
A-15
C GO TO 136
END IF
END IF
END IF
CALL CNRLIN(X21, Y21, X22, Y22, BET, DIST, X11, Y11)
IF (DIST .LE. WS .AND. BET .GT. -.001) THEN
CALL DISLIN(X11, Y11, XI, YI, L5, IBET, XPSTK, YPSTK)
IF (DIST .LE. L5) THEN
IF (IBET .EQ. 1) THEN
CALL GPC (D, I, C2, S, TW, WS, HTA, TL1)
C GO TO 136
END IF
END IF
END IF
133 CONTINUE
135 CONTINUE
136 CONTINUE
END IF
130 CONTINUE
END IF
END IF
122 CONTINUE
END IF
121 CONTINUE
120 CONTINUE
C
110 CONTINUE
C
C GEP stack height value result(s)
C
G65 = 65. / CONV
WRITE(12,1) TITLE
WRITE(12, 297)
WRITE(12,1005) UNTS
C
C CALCULATE MAXIMUM PROJECTED BUILDING WIDTH BY WIND VECTOR
C FOR SINGLE AND MULTIPLE NEARBY STRUCTURES
C USING STRUCTURE INFLUENCE ZONES (SIZes)
C
A-16
C
C Single structure and tier loop
C
C
WRITE(*,*) ' '
WRITE(*,*) 'CALCULATING BUILDING DOWNWASH INPUT VALUES.'
WRITE(*,*) ' '
C Essentially a repeat of most of the code in the previous GEP half.
WRITE(14, 2020) UNTS
DO 300 D = 1, NDIR
ANG = D * DDEG
WRITE(14,604) ANG
ANG = ANG * DTR
CSA = COS(ANG)
SNA = -SIN(ANG)
DO 310 S = 1, NS
XPSTK = XS(S) * CSA + YS(S) * SNA
YPSTK = YS(S) * CSA - XS(S) * SNA
XP(S) = XPSTK
YP(S) = YPSTK
DO 320 I = 1, NB
DO 330 J = 1, NTRS(I)
C = (I - 1) * MXTRS + J
CH = C
HTA = TH(I,J)
CALL WIDTH (ANG, I, J, C, TW)
WS = TW
IF (TH(I, J) .LT. TW) WS = TH(I, J)
L2 = WS * 2
L5 = WS * 5
C X AND Y COORDINATES DEFINING SIZ CORNERS
CXMN = XMIN(C) - WS / 2
CXMX = XMAX(C) + WS / 2
CYMX = YMAX(C) + L5
CYMN = YMIN(C) - L2
C ARE STACK COORDINATES WITHIN SIZ ?
FLG1 = ((XPSTK .GE. CXMN) .AND. (XPSTK .LE. CXMX))
FLG2 = ((YPSTK .GE. CYMN))
IF (FLG1 .AND. FLG2) THEN
C If so, calculate the PBW & PBH, save max values
CALL MXBWH(D, I, S, C, TW, HTA, WS, CH)
END IF
330 CONTINUE
320 CONTINUE
310 CONTINUE
DO 2011 S = 1, NS
WRITE(14,2022) S, STKN(S), SH(S)
WRITE(14,2026) MXPBH(S,D), MXPBW(S,D), MHWE(S,D)
WRITE(14,2027) GEPBH(S), GEPBW(S), GEP(S)
IF (MI(S) .EQ. 0) THEN
WRITE(14,*) ' No tier affects this stack.'
ELSE
DIF = SB(S) - BELEV(MI(S))
WRITE(14,1025) DIF
WRITE(14,2028) MI(S), BTN(MI(S)), MJ(S)
END IF
2011 CONTINUE
300 CONTINUE
C
C
A-17
C FOR SUFFICIENTLY CLOSE STRUCTURES
C
C
C IDENTIFY STRUCTURE GROUPS TO COMBINE
WRITE(14,297)
WRITE(14,*) 'Dominate combined buildings:'
DO 350 D = 1, NDIR
ANG = D * DDEG
WRITE(14,604) ANG
ANG = ANG * DTR
CSA = COS(ANG)
SNA = -SIN(ANG)
DO 360 I = 1, NB
DO 370 J = 1, NTRS(I)
C1 = (I - 1) * MXTRS + J
CALL WIDTH(ANG, I, J, C1, TW)
W(C1) = TW
TNUM(C1) = 1
TLIST(C1, 1) = C1
DO 380 II = 1, NB
IF (I .NE. II) THEN
DO 390 JJ = 1, NTRS(II)
C2 = (II - 1) * MXTRS + JJ
CALL WIDTH(ANG, II, JJ, C2, TW)
W(C2) = TW
R = MIN(W(C1), HT(C1))
IF (DISTMN(C1, C2) .LT. R) THEN
TNUM(C1) = TNUM(C1) + 1
TN1 = TNUM(C1)
TLIST(C1,TN1) = C2
ELSE
R = MIN(W(C2), HT(C2))
IF (DISTMN(C1, C2) .LT. R) THEN
TNUM(C1) = TNUM(C1) + 1
TN1 = TNUM(C1)
TLIST(C1,TN1) = C2
END IF
END IF
390 CONTINUE
END IF
380 CONTINUE
370 CONTINUE
360 CONTINUE
C
C
C COMBINE IDENTIFIED STRUCTURES BY GROUPS
C Combine sufficiently close structures and tiers
C for centerline directions
DO 430 I = 1, NB
DO 440 J = 1, NTRS(I)
C = (I-1) * MXTRS + J
C Proceed, if more than 1 tier can be combined
IF (TNUM(C) .GT. 1) THEN
TN1 = TNUM(C)
HTC = HT(TLIST(C,1))
C Use every height in the TLIST set as a criterion for combining
DO 450 T1 = 1, TN1
TL1 = TLIST(C,T1)
HTA = HT(TLIST(C,T1))
CH = TL1
IF (( HTA .LE. HTC) .OR. (C .EQ. TL1)) THEN
C Save focal tier height as first structure in the TLIST2 array.
TNUM2(C) = 1
A-18
TLIST2(C,1) = C
C Initialize max & min X & Y coordinates based on first structure
C in TLIST array
XMN = XMIN(C)
YMN = YMIN(C)
XMX = XMAX(C)
YMX = YMAX(C)
C Check every candiate to see if it meets the combining criteria of L > DISTMN
DO 460 T2 = 1, TN1
TL2 = TLIST(C,T2)
IF (C .NE. TL2) THEN
C Is a candidate structure high enough above the reference tier height ?
IF (HT(TL2) .GE. HTA) THEN
A-19
FLG1 = ((XPSTK .GE. CXMN) .AND. (XPSTK .LE. CXMX))
FLG2 = ((YPSTK .GE. CYMN))
IF (FLG1 .AND. FLG2) THEN
C If so, calculate the PBW & PBH, save max values
CALL MXBWH(D, I, S, C, TW, HTA, WS, CH)
END IF
400 CONTINUE
END IF
END IF
450 CONTINUE
END IF
440 CONTINUE
430 CONTINUE
DO 2012 S = 1, NS
WRITE(14,2022) S, STKN(S), SH(S)
WRITE(14,2026) MXPBH(S,D), MXPBW(S,D), MHWE(S,D)
WRITE(14,2027) GEPBH(S), GEPBW(S), GEP(S)
IF (MTNUM(S) .EQ. 0) THEN
WRITE(14,*) ' No tiers affect this stack.'
ELSE
DIF = SB(S) - BELEV(MI(S))
WRITE(14,1025) DIF
WRITE(14,2023) MTNUM(S)
WRITE(14,2024) (MTLIST(S,M), M = 1, MTNUM(S))
END IF
2012 CONTINUE
350 CONTINUE
C
C
C OF ALL TIERS, PRINT/SAVE WHICH HAS MOST EFFECT BY STACK AND WD
IF (SWT .EQ. 0) THEN
WRITE (12, 461) IMON, IDAY, IYR
WRITE (12, 462) IHR, IMIN, ISEC
WRITE (12, 297)
WRITE (12, 1) TITLE
WRITE (12, *) ' BPIP output in ', UNTS
DO 510 S = 1, NS
L = NDIR / 6
WRITE(12,297)
DO 512 I = 1, 6
J = (I-1) * 6 + 1
K = I * 6
WRITE (12,293) STKN(S), (MXPBH(S,D) , D = J,K)
512 CONTINUE
C WRITE (12,297)
DO 514 I = 1, 6
J = (I-1) * 6 + 1
K = I * 6
WRITE (12,296) STKN(S), (MXPBW(S,D) , D = J,K)
514 CONTINUE
510 CONTINUE
END IF
C
C ISCLT2 output. Use centerline values if greater than 0.00
C Use values of other 2 of the 3 SIZs per sector, if
C centerline value 0.00 and others not.
C
IF (SWT .EQ. 1) THEN
DO 560 S = 1, NS
L = 1
A-20
DO 570 D = 2, NDIR, 2
L = L + 1
I = D - 1
J = D + 1
IF (L .GT. ML) L = L - ML
IF (J .GT. MBT) J = J - MBT
IF (MHWE(S, D) .GT. 0.0) THEN
IZ = D
ELSE
IF (MHWE(S, I) .GT. MHWE (S, J)) THEN
C IZ = D
IZ = I
ELSE
C IZ = D
IZ = J
END IF
END IF
MH(S,L) = MXPBH(S,IZ)
MW(S,L) = MXPBW(S,IZ)
570 CONTINUE
560 CONTINUE
WRITE (12, 461) IMON, IDAY, IYR
WRITE (12, 462) IHR, IMIN, ISEC
WRITE (12, 297)
DO 580 S = 1, NS
WRITE (12,297)
C WRITE (12,411) STKN (S)
L = ND16 / 8
DO 582 I = 1, 2
J = (I-1) * 6 + 1
K = I * 6
WRITE (12,293) STKN(S), (MH(S,D) , D = J,K)
582 CONTINUE
WRITE (12,293) STKN(S), (MH(S,D) , D = (K+1), ML)
C WRITE (12,297)
DO 584 I = 1, 2
J = (I-1) * 6 + 1
K = I * 6
WRITE (12,296) STKN(S), (MW(S,D) , D = J,K)
584 CONTINUE
WRITE (12,296) STKN(S), (MW(S,D) , D = (K+1), ML)
C WRITE (12,292) (MH(S,L) , L = 1, ND16)
C WRITE (12,292) (MW(S,L) , L = 1, ND16)
580 CONTINUE
END IF
WRITE(*,*) ' '
WRITE(*,*) 'END OF BPIP RUN.'
WRITE(*,*) ' '
C
C FORMAT STATEMENTS
C
1 FORMAT(1X,A78,/)
2 FORMAT(/3X,'The ',A2,' flag has been set for processing for an ISC
*ST2 run.'/)
3 FORMAT(3X,'The inputs units are in: ', A10,' Multiplying ',A10,' b
*y a conversion '/3X,' factor of',F10.4, ' will produce internal BP
*IP results in meters.'/)
4 FORMAT(3X,'The UTMP variable is set to ',A4,'. The input is assum
*ed to be in'/4X,' UTM coordinates. BPIP will move the UTM origin
*to the first pair of'/4X,' UTM coordinates read. The UTM coordina
A-21
*tes of the new origin will '/4X,' be subtracted from all the other
* UTM coordinates entered to form '/4X,' this new local coordinate
*system.'//3X,'The new local coordinates will be displayed in paren
*theses just below'/4X,' the UTM coordinates they represent.',///)
5 FORMAT(3X,'UTMP is set to ',A4,'. The input is assumed to be in a
* local'/3x,' X-Y coordinate system as opposed to a UTM coordinate
*system.'/3x,' True North is in the positive Y direction.'///)
6 FORMAT(1X,'Number of buildings to be processed :',I4/)
7 FORMAT(37X,'(',2F12.2,')')
8 FORMAT(' Factor to convert from input units to meters is:',F10.4)
11 FORMAT(/1X,'Number of stacks to be processed :',I4/)
12 FORMAT(1X,A8,' has',I2,' tier(s) with a base elevation of', F8.2,
*' ',A10, //
* ' BUILDING TIER BLDG-TIER TIER NO. OF CORNER COORDINA
*TES',
*/' NAME NUMBER NUMBER HEIGHT CORNERS X Y'
*/)
13 FORMAT(1X,A8,I5,5X,I4,4X,F6.2,I6)
14 FORMAT(42X,2F12.2)
16 FORMAT(41X,'(',2F12.2,')')
17 FORMAT(3X,'Plant north is',F7.2,' degrees with respect to True Nor
*th. ')
18 FORMAT(4X,'The plant coordinates will appear as entered in the Sum
*mary output'/4x,'file and they will be adjusted to True North prio
*r to processing.'/4x,'The True North oriented coordinates appear b
*elow between'/4X,'the square brackets.')
19 FORMAT(41X,'[',2F12.2,']')
21 FORMAT(' STACK STACK COORDINATES'/
* ' STACK NAME BASE HEIGHT X Y'/)
22 FORMAT (2X, A8,3X, 2F8.2, 2X, 2F12.2)
23 FORMAT (30X,'(',2F12.2,')')
42 FORMAT(30X,'[',2F12.2,']')
47 FORMAT(' Caution: Blank spaces are not allowed in Stack names by
*ISC2 models.')
71 FORMAT (//' The number of stack-tier combinations entered, where e
*ach stack is at least 5L'/' in from at least one of the edges of t
*heir respective tier roofs, is:',I4,/)
73 FORMAT(8x,' These stack/building-tiers are:'//
* ' STACK BUILDING - TIER'/
* ' NAME NUMBER NAME NO. NO.')
72 FORMAT( 1X, A8,2X, I4, 3x,A8,2X, 2I4)
292 FORMAT(3(/1X, 8F6.2))
293 FORMAT(5X,'SO BUILDHGT ', A8, 6F8.2)
296 FORMAT(5X,'SO BUILDWID ', A8, 6F8.2)
297 FORMAT(/)
411 FORMAT(/1X, A8)
461 FORMAT(1X,'DATE : ',I2,'/',I2,'/',I2)
462 FORMAT(1X,'TIME : ',I2,':',I2,':',I2)
604 FORMAT(/1X,'Drtcn: ', F6.2/)
1000 FORMAT(15X, A8,2X, 3(F8.2,2X))
1005 FORMAT(15X,'PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE'/
* 12X,' (Input Units: ',A10,')'//
*15X,' Preliminary*'/
*15X,' Stack Stack GEP** GEP Stack'/
*15X,' Name Height EQN1 Height Value'//)
1007 FORMAT(/' * Results based on Table 3.1 of the GEP Technical Supp
*ort Document.'/
*' Consult Table 3.1 for any additional steps that may be requi
*red.'/
*' ** Results using Equation 1, page 6 of GEP Technical Support Do
*cument.')
1020 FORMAT(//' Overall GEP Summary Table'/
* ' (Units: ', A8,')'//)
1021 FORMAT(10X,'NOTE: The projected width values below are not always'
A-22
* ,/10X,' the maximum width. They are the minimum value,'
* ,/10X,' valid for the stack in question, to derive the'
* ,/10X,' maximum GEP stack height.'/)
1022 FORMAT(' StkNo:', I3,' Stk Name:', A8,' Stk Ht:',F7.2,
*' Prelim. GEP Stk.Ht:',F8.2,
*/11x,' GEP: BH:',F7.2,' PBW:',F8.2, 11X, ' *Eqn1 Ht:',F8.2)
1023 FORMAT(' No. of Tiers affecting Stk:', I3,' Direction occurred:'
*, F8.2)
1024 FORMAT(' Bldg-Tier nos. contributing to GEP:', 10I4)
1025 FORMAT(11X,'*with a Stack-Building elevation difference applied ='
*,F8.2)
2020 FORMAT(//' Summary By Direction Table'/
* ' (Units: ', A8,')',
*// ' Dominate stand alone tiers:'/)
2022 FORMAT(' StkNo:', I3,' Stk Name:', A8, 23X,' Stack Ht:', F8.2)
2026 FORMAT(11X,' MAX: BH:',F7.2,' PBW:',F7.2,
* ' *Wake Effect Ht:', F8.2)
2027 FORMAT(11X,' GEP: BH:',F7.2,' PBW:',F7.2,
* ' *Equation 1 Ht:', F8.2)
2028 FORMAT(15X,' BldNo:', I3,' Bld Name:', A8, ' TierNo:', I3)
2023 FORMAT(' No. of Tiers affecting Stk:', I3)
2024 FORMAT(' Bldg-Tier nos. contributing to MAX:', 10I4)
999 END
SUBROUTINE CNRLIN (X1, Y1, X2, Y2, BET, DIST, XKP, YKP)
C calculate corner perpendicular to side distance,
C intercept point, and determine if intercept on or between
C corners.
COMMON /INTRCP/ XI, YI
IF ((X1 .NE. X2) .AND. (Y1 .NE. Y2)) THEN
SM = (Y2 - Y1) / (X2 - X1)
XI = (YKP + XKP / SM - Y1 + X1 * SM) / (SM + 1.0 / SM)
YI = Y1 + (XI - X1) * SM
ELSE
IF ((Y2 .EQ. Y1)) THEN
XI = XKP
YI = Y1
ELSE
XI = X1
YI = YKP
END IF
END IF
C
DIST = SQRT((YI - YKP) ** 2 + (XI - XKP) ** 2)
C
C Is the intercept point between the two corners of the
C other structure ?
A1 = (X1 - XI) ** 2 + (Y1 - YI) ** 2 +
* (X2 - XI) ** 2 + (Y2 - YI) ** 2
A2 = (X1 - X2) ** 2 + (Y1 - Y2) ** 2
BET = (A2 - A1)
RETURN
END
C
SUBROUTINE DISLIN (X1, Y1, X2, Y2, L5, IBET, XSP, YSP)
C calculate if stack directly downwind of a side and on or
C within 5L of side.
REAL L5
IBET = 0
DX1 = MIN (X1, X2)
DX2 = MAX (X1, X2)
IF ((XSP .LT. DX1) .OR. (XSP .GT. DX2)) RETURN
IF (Y1 .EQ. Y2) THEN
A-23
DIST = YSP - Y1
IF ((DIST .GE. 0.0) .AND. (DIST .LE. L5)) THEN
IBET = 1
END IF
END IF
C
IF (X1 .EQ. X2) THEN
IF (XSP .EQ. X1) THEN
D1 = YSP - Y1
IF ((D1 .LE. L5) .AND. (D1 .GE. 0.0)) THEN
IBET = 1
END IF
D2 = YSP - Y2
IF ((D2 .LE. L5) .AND. (D2 .GE. 0.0)) THEN
IBET = 1
END IF
END IF
ELSE
YI = Y2 + (XSP - X2) * (Y1 - Y2) / (X1 - X2)
DIST = YSP - YI
IF ((DIST .GE. 0.0) .AND. (DIST .LE. L5)) THEN
IBET = 1
END IF
END IF
RETURN
END
SUBROUTINE GPC (D, I, C, S, TW, WS, HTA, CH)
C calculate GEP values
INTEGER C, CH, D, S, GEPIN, TNUM2, TLIST2, GTNUM, GTLIST
A-24
DO 578 M = 1, GTNUM(S)
GTLIST(S,M) = TLIST2(C,M)
578 CONTINUE
END IF
END IF
RETURN
END
C
SUBROUTINE MXBWH(D, I, S, C, TW, HTA, WS, TL1)
C ********************************************************************
PARAMETER (MB = 8, MT = 4, MTS = 8, MBT = MB*MT , MSK = 14, *
* MD = 36, ML = 16) *
C ********************************************************************
C
C DIMENSION SUBSCRIPT FORMAT: (BUILDING OR STACK #, WD OR TIER #, SIDE #)
C
A-25
MXPBW(S,D) = GEPBW(S)
MXPBH(S,D) = GEPBH(S)
MTNUM(S) = TNUM2(C)
MI(S) = I
MJ(S) = C - (I-1)*MT
MDIRS(S) = FLOAT(D)
DO 580 M = 1, MTNUM(S)
MTLIST(S,M) = TLIST2(C,M)
580 CONTINUE
END IF
END IF
C
C INITIALIZE VALUES FOR NEXT LOOP
C
HWE(C) = 0.0
PBH(C) = 0.0
PBW(C) = 0.0
RETURN
END
C
SUBROUTINE WIDTH (ANG, I, J, C, TW)
C Calculate projected building width, TW
INTEGER C
PARAMETER (MB = 8, MT = 4, MTS = 8, MBT = MB*MT, MSK = 14,
* MD = 36, ML = 16)
COMMON /BLDGIN/ X(MB, MT, MTS), Y(MB, MT, MTS), ND(MB, MT)
COMMON /BLDOUT/ XC(MBT, MTS), YC(MBT, MTS)
COMMON /MXN/ XMAX(MBT), XMIN(MBT), YMAX(MBT), YMIN(MBT)
CSA = COS(ANG)
SNA = -SIN(ANG)
DO 700 K = 1, ND(I,J)
XC(C, K) = X(I, J, K) * CSA + Y(I, J, K) * SNA
YC(C, K) = Y(I, J, K) * CSA - X(I, J, K) * SNA
IF (K .EQ. 1) THEN
YMIN(C) = YC(C, 1)
YMAX(C) = YC(C, 1)
XMIN(C) = XC(C, 1)
XMAX(C) = XC(C, 1)
END IF
C WHICH TIER CORNER IS FURTHEST NORTH, SOUTH, EAST AND WEST
IF (YC(C, K) .LE. YMIN(C)) YMIN(C) = YC(C, K)
IF (YC(C, K) .GE. YMAX(C)) YMAX(C) = YC(C, K)
IF (XC(C, K) .LE. XMIN(C)) XMIN(C) = XC(C, K)
IF (XC(C, K) .GE. XMAX(C)) XMAX(C) = XC(C, K)
700 CONTINUE
TW = XMAX(C) - XMIN(C)
RETURN
END
A-26
APPENDIX B
TEST CASES
Structure and stack input data for this test case can be
found in Table B-1. See Figure 2-6 for a plot of Table B-1 data.
Particular emphasis was placed on locating stacks where 1) the
output could be searched for programming problems where positive
and negative numbers, trigonometric equations and other
formulation may not have been properly used or written, and 2)
misinterpretation of the guidance would be apparent such as
placing stacks in the areas outside the GEP 5L limit line where
they should be excluded but might be erroneously included in the
processing. Stacks were also placed as controls where there is
no doubt about whether they should be excluded or included for
processing.
In table B-2, note that the GEP Eqn1 result for Stk100 is 1
meter lower than expected. This is because the stack-building
difference is 1 meter and the 1 meter was subtracted from the
result to produce a value of 49 instead of 50 meters. A similar
situation applies to Stack 103.
B-1
Table B-1
Test Case 1
Input Data
'BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.'
'ST'
'METERS' 1.00
'UTMN' 210.00
1
'L-Shape' 1 10.00
6 20
-10 -20
-10 80
40 80
40 30
90 30
90 -20
4
'Stk100' 11.00 25.00 -10.00 -20.00
'Stk101' 12.00 25.00 164.00 159.00
'Stk102' 13.00 25.00 136.00 121.00
'Stk103' 14.00 25.00 118.00 103.00
0
B-2
Table B-2
ISCST2 Format
DATE : 11/16/93
TIME : 22:19:41
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The ST flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
Preliminary*
Stack Stack GEP** GEP Stack
Name Height EQN1 Height Value
B-3
Table B-2 Cont'd
ISCLT2 Format
DATE : 11/17/93
TIME : 19:40:29
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The LT flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
Preliminary*
Stack Stack GEP** GEP Stack
Name Height EQN1 Height Value
B-4
Table B-3
Test Case 1
DATE : 11/16/93
TIME : 22:18:18
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
B-5
SO BUILDHGT Stk103 .00 .00 .00 20.00 .00 .00
SO BUILDHGT Stk103 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk103 .00 .00 .00 .00 .00 .00
SO BUILDHGT Stk103 .00 .00 .00 20.00 20.00 20.00
SO BUILDHGT Stk103 20.00 20.00 20.00 20.00 20.00 .00
SO BUILDHGT Stk103 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk103 .00 .00 .00 115.85 .00 .00
SO BUILDWID Stk103 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk103 .00 .00 .00 .00 .00 .00
SO BUILDWID Stk103 .00 .00 .00 115.85 128.17 136.60
SO BUILDWID Stk103 140.88 140.88 136.60 128.17 115.85 .00
SO BUILDWID Stk103 .00 .00 .00 .00 .00 .00
B-6
Table B-4
Test Case 1
DATE : 11/17/93
TIME : 19:40:29
BPIP users guide test case #1 - input file with 1 bldg and 4 stacks.
B-7
B.2 TEST CASE 2
The second test was designed to test BPIP using three multi-
tiered buildings that are fairly close together (See Figure B-1).
As presented here, this test case serves as an example of a
complex BPIP run. Structure and stack input data for this test
case can be found in Table B-5. See Figure B-1 for a plot of
Table B-5 data. Particular emphasis was placed on locating
stacks where they would be influenced primarily by only one of
the three tier levels for wind flow directions of 40 and 45
degrees or their reciprocal. The lowest level of each building
ranged in height from 6.1 to 6.3 meters while the top levels
ranged from 7.5 to 7.7 meters. Each of the tier levels can be
viewed in Figure B-1. Three sets of stacks were placed to the
left and to the right of the 40 degree wind flow direction.
Values for Stacks 8 and 9 were calculated for the 90, 180,
270, and 360 wind flow directions. This indicates that the GFS
algorithm was used. The BH and PBW values indicate that the
values were correctly calculated.
Similar results are shown in Table B-7 from the ISCLT2 run.
The second entry over from the left on the first line and the
second entry over from the left on the second row of each BH and
PBW set of values for each stack represents the output for winds
blowing in the 45 and 225 degree directions. The BH values
listed in Table B-7 are the tier heights which are the lowest
tier height of the combined tiers.
B-8
Wind Flow Direction = 40 Deg.
Structure Influence
Zone (SIZ) Segments
Stack 10
Y-Axis 0,0
Stack 7
Key:
- SIZ line segment
(3, 7, 11) - Dominate combined
Building-Tier numbers used to
draw the associated SIZ segment.
X-Axis
Stack 1
Stack 2
Stack 3
Building 2 Building 1
5 6 7:BTier# BTier#:3 21
4 Meters
Stack 8 Building 3
BTier#:11 10 9
Stack 6
Stack 5
Stack 4
Stack 9
B-9
The ISCST2 and ISCLT2 values were properly sorted and the
heights of the single or combined tiers and their projected
widths which produced the highest wake effect heights were stored
in their proper sector locations in the associated ISCST2 and
ISCLT2 file. The GEP stack height values, and the ISCST2 and
ISCLT2 results in Tables B-2, B-6, and B-7 were compared to hand
calculated values and the results are correct.
B-10
Table B-5
Test Case 2
Input Data
'BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.'
'ST'
'METERS' 1.0
'UTMN' 360.00
3
'Bldg 1' 3 0.00
4 6.3
-30 -30
-30 -34
-34 -34
-34 -30
4 7.3
-31 -31
-34 -31
-34 -34
-31 -34
4 7.7
-31.4 -31.4
-34 -31.4
-34 -34
-31.4 -34
'Bldg2' 3 0.00
4 6.2
-36 -30
-36 -34
-40 -34
-40 -30
4 7.2
-36 -31
-36 -34
-39 -34
-39 -31
4 7.6
-36 -31.5
-36 -34
-38.5 -34
-38.5 -31.5
'Bldg 3' 3 0.00
4 6.1
-30 -36
-34 -36
-34 -40
-30 -40
4 7.1
-31 -36
-34 -36
-34 -39
B-11
-31 -39
4 7.5
-31.5 -36
-34 -36
-34 -38.5
-31.5 -38.5
10
's1H6.08' 0.00 15.2 -42 -28.35
's2H7.08' 0.00 17.7 -41.6 -28.87
's3H7.32' 0.00 18.3 -40.7 -29.50
's4H6.08' 0.00 15.2 -27.9 -41.85
's5H7.08' 0.00 17.7 -28.35 -41.33
's6H7.32' 0.00 18.3 -29.20 -40.5
's7H6.08' 0.00 15.2 -7.6 -3.1
's8H6.08' 0.00 15.2 -50.0 -35.0
's9H6.08' 0.00 15.2 -35.0 -50.0
's10H6.08' 0.00 15.2 0.0 0.0
0
B-12
Table B-6
Test Case 2
DATE : 11/19/93
TIME : 7:12:25
BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The ST flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
B-13
BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.
Preliminary*
Stack Stack GEP** GEP Stack
Name Height EQN1 Height Value
DATE : 11/19/93
TIME : 7:12:25
BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.
B-14
SO BUILDHGT s3H7.32 7.30 7.60 7.60 7.60 7.60 7.30
SO BUILDHGT s3H7.32 7.50 7.60 7.50 7.50 7.50 7.50
SO BUILDHGT s3H7.32 7.50 7.50 7.30 7.50 7.50 7.50
SO BUILDHGT s3H7.32 7.30 7.60 7.60 7.60 7.60 7.60
SO BUILDWID s3H7.32 8.11 7.52 9.56 9.86 9.86 9.56
SO BUILDWID s3H7.32 8.97 8.11 7.50 7.44 7.56 7.45
SO BUILDWID s3H7.32 7.67 7.11 7.45 7.52 7.44 7.50
SO BUILDWID s3H7.32 8.11 7.52 9.56 9.86 9.86 9.56
SO BUILDWID s3H7.32 8.97 8.11 7.50 7.44 7.56 7.45
SO BUILDWID s3H7.32 7.67 7.11 7.45 7.52 7.44 7.10
B-15
SO BUILDHGT s5H7.08 7.50 7.10 7.10 7.10 7.10 7.10
SO BUILDHGT s5H7.08 7.50 7.50 7.30 7.50 7.50 7.50
SO BUILDHGT s5H7.08 7.30 7.60 7.60 7.60 7.60 7.30
SO BUILDHGT s5H7.08 7.50 7.10 7.10 7.10 7.10 7.10
SO BUILDHGT s5H7.08 7.50 7.50 7.30 7.50 7.50 7.50
SO BUILDHGT s5H7.08 7.30 7.60 7.60 7.60 7.60 7.60
SO BUILDWID s5H7.08 8.11 9.61 10.25 10.57 10.57 10.25
SO BUILDWID s5H7.08 8.97 8.11 7.50 7.44 7.56 7.45
SO BUILDWID s5H7.08 7.67 7.11 7.45 7.56 7.44 7.50
SO BUILDWID s5H7.08 8.11 9.61 10.25 10.57 10.57 10.25
SO BUILDWID s5H7.08 8.97 8.11 7.50 7.44 7.56 7.45
SO BUILDWID s5H7.08 7.67 7.11 7.45 7.56 7.44 7.10
B-16
SO BUILDHGT s9H6.08 7.50 7.60 7.50 6.10 .00 .00
SO BUILDHGT s9H6.08 .00 .00 .00 .00 .00 .00
SO BUILDHGT s9H6.08 .00 .00 .00 7.60 7.60 7.30
SO BUILDHGT s9H6.08 7.50 7.60 7.50 6.10 .00 .00
SO BUILDHGT s9H6.08 .00 .00 .00 .00 .00 .00
SO BUILDHGT s9H6.08 .00 .00 .00 7.60 7.50 7.30
SO BUILDWID s9H6.08 8.11 7.49 9.56 11.98 .00 .00
SO BUILDWID s9H6.08 .00 .00 .00 .00 .00 .00
SO BUILDWID s9H6.08 .00 .00 .00 7.49 7.44 7.50
SO BUILDWID s9H6.08 8.11 7.49 9.56 11.98 .00 .00
SO BUILDWID s9H6.08 .00 .00 .00 .00 .00 .00
SO BUILDWID s9H6.08 .00 .00 .00 7.49 7.44 7.50
B-17
Table B-7
Test Case 2
DATE : 11/19/93
TIME : 7:24:46
BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.
============================
BPIP PROCESSING INFORMATION:
============================
The LT flag has been set for processing for an ISCST2 run.
The inputs units are in: METERS Multiplying METERS by a conversion
factor of 1.0000 will produce BPIP results in meters.
BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks.
DATE : 11/19/93
B-18
TIME : 7:24:46
B-19
SO BUILDHGT s8H6.08 .00 .00 7.50 7.50 7.30 7.50
SO BUILDHGT s8H6.08 .00 .00 .00 .00 7.50 7.50
SO BUILDHGT s8H6.08 7.30 7.50 .00 .00
SO BUILDWID s8H6.08 .00 .00 9.71 9.15 7.50 7.55
SO BUILDWID s8H6.08 .00 .00 .00 .00 9.71 9.15
SO BUILDWID s8H6.08 7.50 7.55 .00 .00
B-20
APPENDIX C
Message Cause
C-1
In addition to these messages, other messages may be given
especially if the user's computer system requires file OPEN
statements. OPEN statements are not used in BPIP.
Under normal operation, BPIP will check the input data for
obvious errors. For instance, if the number of buildings, tiers
per building, or stacks entered exceeds the associated parameter
setting, BPIP will give a warning and a brief statement of the
cause of the warning and then terminate the run. The same will
happen for the spelling of the flags such as 'ST', 'LT', 'UTMN'
and 'UTMY'. It is up to the user to quality control the input
units name, conversion factor, building, tier, and stack data.
C.3 TROUBLESHOOTING
C-2