EPA-454/R-93-038 (Revised Februrary 8, 1995) (Electronic copy only) USER'S GUIDE TO THE BUILDING PROFILE INPUT PROGRAM U.S. ENVIRONMENTAL PROTECTION AGENCY Office of Air Quality Planning and Standards Technical Support Division Research Triangle Park, North Carolina 27711 October 1993 ------- ACKNOWLEDGEMENTS This document and associated computer program were created by Peter A. Eckhoff of the Environmental Protection Agency. The author wishes to thank Mr. Russ Lee for his helpful discussions and insights. He is also grateful to those individuals who provided many good comments on a draft copy of BPIP that was made available through the SCRAM BBS of the OAQPS TTN. DISCLAIMER The information in this document has been reviewed by the Office of Air Quality Planning and Standards, EPA, and approved for publication. Mention of trade names or commercial products is not intended to constitute endorsement or recommendation for use. The following trademarks appear in this guide: IBM is a registered trademark of the International Business Machine Company. Microsoft is a registered trademark of Microsoft Corp. 11 ------- PREFACE This document, the User's Guide for the Building Profile Input Program (BPIP), provides the user with instructions for setting up and running BPIP. The document also provides an overview of the Good Engineering Practice (GEP) stack height and Building Downwash guidance and how the guidance was incorporated into program construction. BPIP outputs a separate file that is formatted for user transfer into the input file for an ISC2 model. Two BPIP test cases with results and a copy of the software are included. 111 ------- CONTENTS ACKNOWLEDGEMENTS ii DISCLAIMER ii PREFACE iii FIGURES v TABLES vi 1.0 INTRODUCTION 1-1 2.0 BPIP TECHNICAL BACKGROUND 2-1 2.1 BPIP IMPLEMENTATION OF GEP GUIDANCE AND PROCEDURES . 2-1 2.1.1 GEP Technical Background 2-1 2.1.2 Structure and Tier Identification 2-5 2.1.3 BPIP Coordinate System 2-5 2.1.4 Treatment of GEP Structure Types 2-7 2.2 BPIP IMPLEMENTATION OF BUILDING DOWNWASH PROCEDURES 2-11 2.2.1 Simple Structure Calculations 2-13 2.2.2 Group of Structure Calculations 2-14 3.0 USER'S INSTRUCTIONS 3-1 3.1 INPUT PREPARATION 3-1 3.2 INITIAL PROGRAM SETTINGS 3-3 3.3 INPUT FORMAT 3-3 3.4 EXECUTION OF BPIP 3-3 3 .5 OUTPUT FORMAT 3-8 3.5.1 Primary Output File 3-8 3.5.2 Summary File 3-11 4.0 REFERENCES 4-1 APPENDIX A. BPIP PROGRAM SOURCE CODE LISTING A-l APPENDIX B. TEST CASES B-l B.I TEST CASE 1 B-l B.2 TEST CASE 2 B-8 APPENDIX C. ERROR MESSAGES AND TROUBLESHOOTING C-l C.I ERROR MESSAGES C-l C.2 NORMAL ERROR CHECKING C-2 C.3 TROUBLESHOOTING C-2 IV ------- FIGURES Figure 2-1. Low Simple Structure and GEP Areas of Influence . 2-3 2-2. Tall Simple Structure and GEP Areas of Influence . 2-3 2-3. On "Combining" Sufficiently Close Buildings . . . 2-4 2-4. Rotation of BPIP Cartesian Coordinate System . . . 2-6 2-5. GEP vs. Building Downwash Procedures For a Tall Structure 2-9 2-6. GEP 5L and Structure Influence Zone (SIZ) Areas of Influence (Plot of Test Case 1 Input) 2-12 2-7. SIZ Coverage of 22.5 Degree Wide GEP Area of Influence 2-15 B-l. Plot of Test Case 2 Input B-9 v ------- TABLES Table 3-1. Data Input Types 3-4 3-2. Data Input Sequence 3-6 3-3. Input Example 3-7 3-4. Example of a Primary Output File 3-9 3-5. Portions of a Summary File 3-12 3-6. Additional Portions of a Summary File 3-14 B-l. Test Case 1 Input Data B-2 B-2. GEP Stack Height Data B-3 B-3. Test Case 1 ISCST2 Output Data B-5 B-4. Test Case 1 ISCLT2 Output Data B-7 B-5. Test Case 2 Input Data B-ll B-6. Test Case 2 ISCST2 Output Data B-13 B-7. Test Case 2 ISCLT2 Output Data B-18 VI ------- 1.0 INTRODUCTION Building downwash is a complex technical subject that has important ramifications in the field of air quality dispersion modeling. Building downwash algorithms have been developed for air quality dispersion models such as the Industrial Source Complex (ISC2) Models, ISCST2 and ISCLT2. These algorithms require additional input to be prepared and included in order to run the models. The degree of data input preparation depends on current guidance, the sophistication of the algorithm, and the complexity of the structure-stack arrangement. This user's guide provides an overview of GEP stack height and building downwash guidance and how the guidance was incorporated into BPIP. This is followed by instructions for running the BPIP program. Test cases and results are included in the appendices along with other pertinent information and a copy of the source code. 1-1 ------- 2.0 BPIP PROGRAM TECHNICAL DESCRIPTION The Building Profile Input Program (BPIP) was designed to incorporate the concepts and procedures expressed in the GEP technical support document (see Reference 1), the Building Downwash guidance (References 2 through 4), and other related documents referenced below into a program that correctly calculates building heights (BH's) and projected building widths (PBW's). A copy of the source code is attached in Appendix A. Other documents that relate directly to GEP and building downwash guidance can be found in Section 4. Among the documents are procedures and guidelines for: 1) when and how to use building downwash (See References 5, 6, and 7), 2) how to format the BH and PBW values for input to the ISC2 models (See Reference 6), and 3) questions and answers on implementing GEP stack height regulations (See Reference 8). BPIP is divided into two parts. The first part is based solely on the GEP technical support document and is designed to determine whether or not a stack is being subjected to wake effects from a structure or structures. Several values are determined such as the GEP stack height, GEP related BH's and PBW's. Flags are set to indicate which stacks are being affected by which structure wake effects. The second part calculates building downwash BH's and PBW's based on References 2 through 4 which can lead to different BH and PBW values than those calculated for GEP. This part performs the calculations only if a stack is being influenced by structure wake effects. Output is formatted for editing into either the ISCST2 or ISCLT2 model input runstream (See Reference 6). 2.1 BPIP IMPLEMENTATION OF GEP GUIDANCE AND PROCEDURES In order to implement the GEP guidance in BPIP, a framework was written which includes a Cartesian coordinate system, a building and tier identification system, and a method for calculating BH's and PBW's following procedures and processes discussed in the guidance. 2.1.1 GEP TECHNICAL BACKGROUND The GEP technical support document discusses four types of structures where a structure can be a building or a terrain 2-1 ------- feature. The four structure types are: - Low simple structures - Tall simple structures - Multi-tiered structures - Groups of structures 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. Each structure type produces an area of wake effect influence that extends out to a distance of five times L directly downwind from the trailing edge of the structure, where L is the lesser of the BH or PBW (See Figures 2-1 and 2-2). As the wind rotates full circle, each direction-specific area of influence changes and is integrated into one overall area of influence termed the GEP 5L area of influence. A line drawn around the limit of the overall GEP 5L area of influence is termed the GEP 5L limit line. Any stack that is on or within the limit line is affected by GEP wake effects for some wind direction or range of wind directions. 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. The GEP technical support document calls for the gap, between two structures being combined, to be treated as if filled by a structure equal in height to the lesser projected height. BPIP creates a Gap-Filling Structure (GFS) by connecting each pair of structures on a corner to corner basis and/or corner perpendicular to the other side basis (See Figure 2-3). In the figure, the lines labeled 'a' are connecting lines while the longer lines, labeled 'b', are used as connecting lines only if they are less than L in length. In some cases, the GFS can be just two dimensions, height and width (See examples C through F in Figure 2-3). The most outward parts of the lines form the perimeter of the GFS. The GFS perimeter is used together with the perimeters of the connected structures to determine the GEP 5L area of influence. In order to identify which stacks are in the GEP 5L area of influence, a system was devised that identifies each structure and its tiers, locates these in a coordinate system, and then 2-2 ------- 12m Figure 2-1. Low Simple Structure and GEP Areas of Influence The outermost curved lines represent the GEP 5L Limit Line encircling the total GEP Area of Influence. Each directional area of influence extends up to 5L downwind from the trailing edge of the structure. 5L 12m Figure 2-2. Tall Simple Structure and GEP Areas of Influence 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). B a \ \ \ a \ \ \ \ ^ \ "\ \ \ \ \ a i \ "\ "V \ a "\ \ \ \ \ \ \ \ \ \ I \ b\ \ \ \ D \ a \ \ \ b y ( ^. \ . Ja /\ ^ \ v y \X V N / r b \ \ F \ \ \ \ \ \ "a \ b \ \ \ \ i \ \ \ \ \ \ \ \ i i "u i i i i i a I \ \b I I \ \ \ I I I I I I I I I Figure 2-3. On 'Combining' Sufficiently Close Structures 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.1.2 STRUCTURE AND TIER IDENTIFICATION Each tier of a structure (building) is identified in two ways. First, as a tier of a structure (e.g. tier number 2 of structure number 4) and second, as a single structure - tier number. The second method is used to simplify some of the calculations. Conversion is accomplished by using the formula: (struct, no. - 1) * (max. # of tiers per structure) + (tier no.) For example, when using a maximum of 4 tiers per structure, tier 2 of structure 4 would have a structure - tier number of 14 ((4- 1) * 4 + 2). When structure - tier numbers are used, the program is coded so that tiers of the same structure are not combined with each other. 2.1.3 BPIP COORDINATE SYSTEM A Cartesian coordinate system was selected for BPIP where true north is always upward in the positive Y (or UTM Northing) direction. East is always to the right in the positive X (or UTM Easting) direction (See figure 2-4). The advantage of a Cartesian coordinate system is the ease in which a PBW can be calculated. When the wind is blowing true north or south, the projected width of a structure is the difference in the x-coordinates of the most east and the most west corner. However, the wind very rarely blows toward true north or south. BPIP is programmed to rotate the initial coordinate system so that the rotated positive Y direction is always in the direction of the wind flow. All the initial x- and y-coordinates have to be adjusted to the rotated axes. This is illustrated in Figure 2-4 and the equations used to transform the coordinates are shown below as Equations 1 and 2 . In Figure 2-4, the solid horizontal and vertical lines represent the initial, unrotated BPIP Cartesian coordinate system. The wind in this figure is blowing toward the northeast. A building and stack are also shown. The rotated x- and y-axis are shown as dashed lines that have been rotated clockwise so the positive Y direction parallels the northeast wind direction flow. Note that the building and stack are in the same relative position with respect to each other and the wind flow. The only thing that has changed are the coordinate values. The rotated coordinate values are now based upon the dashed line coordinate system. Note how this is equivalent to rotating the structure, stack, and wind flow in a counterclockwise direction the same 2-5 ------- The BPIP program rotates the cartesian Coordinate system so the new north direction Is In the direction of the wind flow. This Is the equivalent of moving the structures and source the same degree of rotation In the opposite direction. This simplifies many of the trigonometric equations used to solve for projected building widths and the equations used to calculate SIZ coordinates. N Structure Influence Zone (SIZ) Figure 2-4. Rotation of BPIP Cartesian Coordinate System 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. In other words, the program examines the effects of each wind direction from one direction to the next in a clockwise direction, the program effectively rotates the building and stack coordinates in a counterclockwise direction. To simulate the relative counterclockwise motion of the structure and stack, BPIP uses the negative of the sine function in the following two equations to simulate this counter rotational effect: x' = x cos 9 + y sin 9 (Equation 1) y' = y cos 9 - x sin 9 (Equation 2) where: x - initial x- coordinate y - initial y- coordinate x' - new rotated x - coordinate y1 - new rotated y - coordinate 9 - angular difference, measured in a clockwise direction, between the initial true north direction and the current wind flow direction. If the structure and stack coordinates are obtained from a polar coordinate plot, the coordinates will have to be manually translated to the BPIP Cartesian coordinate system. The program does not have any features to translate the coordinates from one system to another. However, BPIP can process UTM coordinate data directly. 2.1.4 TREATMENT OF GEP STRUCTURE TYPES Low simple, tall simple, and multi-tiered structures are initially processed as stand alone structures. Each structure and stack has its coordinates rotated from north to the current wind direction flow. The program sorts through the structure corner coordinates determining which corner is furthest north, south, east, and west. The most east and west x1 - coordinates are subtracted from each other to determine the projected width. L is set to the lesser of the BH or PBW. L is used in the subroutine DISLIN, to determine if a stack is at or within 5L directly downwind of one of the sides of each structure. If the stack is at or within 5L directly downwind of the structure, the flag IBET is set. IBET only indicates that a stack is within the prescribed downwind distance. Several additional conditions are tested in subroutine GPC. The BH and PBW values are used to calculate a GEP stack height based upon Equation I of the GEP technical support document. If the new GEP stack height value is higher than the previous value calculated for that stack, the new value 2-7 ------- replaces the previous value along with the respective BH and PBW values that were used to determine the new value. If the new value is equal to the previous value, the GEP stack height value produced with the narrower width is retained along with the BH and PBW values that were used to determine the new value. A flag, GEPIN, is also set which identifies which stack is within the GEP area of influence produced by a particular tier for a particular tier or common height. By retaining the GEP stack height with the narrower width, two purposes are served. One, the 'more conservative' Schulman- Scire downwash algorithm is more likely to be invoked in an ISC2 model run than the Huber-Snyder algorithm. Two, narrower widths generally mean higher buildings which enhance the sigma z's. This generally leads to higher concentrations, closer in toward the stack. For a tall structure, where the BH is greater than the PBW, L becomes a variable based on wind direction. The downwind distance of the direction-specific GEP areas of influence become variable (See Figure 2-5). In such cases, the maximum GEP stack height can occur when the wind is blowing perpendicular to the maximum projected width; provided the stack is located within that GEP 5L area of influence. However, if the stack is located off to the side of this direction-specific area of influence, the maximum GEP stack height occurs for one of the directions where the stack intercepts the edge of the direction-specific GEP area of influence. BPIP calculates BH and PBW values for every quarter of a degree for a full 360 degrees. This increment is fine enough to detect a stack within a GEP 5L area of influence and to determine a realistic maximum GEP stack height value. For every stack within a GEP 5L area of influence, a GEP stack height is calculated and the GEPIN flag is set. The maximum of all the GEP stack height values for a stack becomes the GEP stack height value. The BH and PBW values for that height are saved. For a multi-tiered structure, each tier is treated as a low or tall simple structure. A tier can be a low structure for one direction and tall in another direction. The BH and PBW of the tier producing the highest GEP stack height value over the stack are saved and the GEPIN flag is set. After each tier has been treated as a stand alone structure, every pair of tiers that do not belong to the same structure are examined to see if they are sufficiently close for combining. Sufficiently close structures are then combined into groups of structures. Each group is treated as a stand alone structure. The first step in combining tiers is to determine the minimum distance between all tier pair combinations where both tiers are not part of the same structure. The DO 80 loop of BPIP performs the calculations. The direct corner to corner distance between each tier is determined first. The subroutine, CNRLIN, is used to determine the closest distance between the corners of 2-8 ------- Maximum GEP Projected Width is 17.95 meters 5L 10m 40m 10m Wind Flow = 78.23 degrees GEP = Hb+ 1.5L GEP = 40+ 1.5*17.95 GEP = 66.92m * HWE = Hb+ 1.5L HWE = 40+ 1.5*39.7 HWE = 99.5m HWE » GEP * Wake Effect Height Structure Influence Zone (SIZ) Building Downwash Projected Width is 39.7 Meters For a Wind Flow of 30 Deg. GEP 5L Limit Line and SIZ Boundary A stack with a height greater than GEP but less than the Building Downwash wake effect height is caught between one procedure saying no to calculating a PBW and the other saying yes. Use the GEP projected width. Figure 2-5 GEP vs. Building Downwash Procedures For a Tall Structure 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. Each group of combinable tiers is further processed into subgroups. Processing parallels the process used above to form the combinable focal tier groups except in this case, the Ls are based on a single tier height. This single tier height is used as the common height of the subgroup. Again each non-focal tier is paired with the focal tier. For each pair of focal and non- focal tiers, the common tier height and the two projected widths of each pair are used to calculate an L for each tier. If the greater L of each pair of Ls is greater than the minimum distance between the two tiers, then the tiers are combined. The building-tier numbers of the focal and combined non-focal tiers are saved in an array, TLIST2. The array variable, TNUM2, is used to store the total number of tiers in TLIST2 for each subgroup formed around a focal tier and a particular common height. All the tier heights that are entered into each focal 2-10 ------- group are selected, in succession, to be used as the common height. For each focal tier subgroup with a particular common height, the overall PBW of the subgroup is determined. L becomes the lesser of the common height and the PBW of the group as a whole. The GFSs are formed between each tier and the focal tier. The subroutine, DISLIN, is used again to determine if a stack is up to 5L directly downwind of any of the sides of any of the tiers or the sides of the GFSs. If so, the common BH and PBW values are saved and used to calculate a GEP stack height value. The maximum GEP stack height and related BH and PBW values are saved. A flag, GEPIN, is set which identifies which stack is within the GEP 5L area of influence of which focal tier at a particular common height. In the DO 133 loop, the perimeter lines of the GFS are calculated in two ways. First, the corner to corner connecting lines and distances are determined within the loop. Second, the subroutine, CNRLIN, is used to calculate the X -, and Y - intercepts coordinates for the connecting lines and for the distances from the corners of one tier to the sides of the other tier. 2.2 BPIP IMPLEMENTATION OF BUILDING DOWNWASH PROCEDURES The building downwash guidance procedures are defined in three memoranda concerning stack-structure relationships (See References 2, 3, and 4). The purpose of the memoranda were to 1) incorporate the findings of a literature search on the question of how far laterally a stack will be affected by building wake effects, 2) define a simplified method for determining the area of building wake effects, 3) state that any stack beyond the GEP 5L limit line was beyond the area of wake effects for building downwash considerations, and 4) restrict the wake effect height to comply with the GEP stack height. This guidance is applied to each type of structure and is used after the GEP procedures have been performed. In the downwash guidance, several concepts are discussed but no terms have been used to define them. For instance, the simplified method for outlining the area of building wake effects from Reference 2 has been termed a Structure Influence Zone (SIZ) (See Figure 2-6). It defines a rectangular area constructed around a structure where the upwind side is 2L from the most upwind corner and the sides are parallel to the wind and 1/2 L outward from the most crosswind corners. The downwind side has 2-11 ------- Wind Flow Direction = 20 Deg. SIZand GEP 5L Limit Lines 101 GEP5L Limit Line KEY: O 101 - Indicates Stack Location and Number -GEP 5L Limit Line - Structure Influence Zone (SIZ) Boundary Line - GEP 5L Limit Line and SIZ Lines Coincide Figure 2-6. GEP 5L and Structure Influence Zone (SIZ) Areas of Influence 2-12 ------- become a segment of the GEP 5L limit line, bordered on each end by the sides of the SIZ. The SIZ was developed at a time when computer power and costs were at a premium and the SIZ concept was designed to reduce computational time. The SIZ 5L downwind boundary was there to represent the GEP 5L limit line. In previous guidance, stacks outside the GEP 5L limit line but inside the SIZ were considered to be outside the areas of wake effect influence. Since the centerline direction is suppose to represent a sector as a whole, those stacks that were beyond the SIZ 5L downwind boundary but inside the GEP 5L limit line should have been included in the sector. In BPIP, the downwind SIZ boundary is the GEP 5L limit line instead of a line 5L downwind from the most downwind corner drawn perpendicular to the wind flow. The calculations to determine the building height and projected width values for output to the ISC2 models parallels the GEP stack height determination section of BPIP. The main difference is that the BH and PBW calculation procedures produced one set of values for every sector instead of every degree or direction of interest and that the building wake effect area of influence is wider than the GEP area of influence for a given wind direction. 2.2.1 Simple Structure Calculations In the first half of BPIP, a determination is made as to whether a stack is under the influence of a structure or group of structures. If it is, the flag, GEPIN, is set for that structure(group)-stack combination at the height of the structure or common height of the group. A GEP stack height is also calculated and stored for that stack. In the second half of BPIP, the first half algorithms are essentially repeated with some variation and additions in order to calculate BH and PBW values for input to one of the ISC2 models. After the algorithms used to calculate the GEP stack height were copied to the second half of BPIP, additional algorithms and modifications were added so SIZ coordinates, BH, and PBW values could be calculated. The algorithms check for a stack inside the SIZ, and if so, the GEPIN flag is checked to see if the stack is also within the GEP 5L area of influence. If both conditions are satisfied and if the calculated wake effect height is greater than the maximum wake effect height calculated, the current BH and PBW values are saved. If the GEP stack height is less than the maximum wake effect height, the GEP BH and the GEP PBW values are used instead of the BH and PBW values producing the maximum wake effect height (See Figure 2.5). 2-13 ------- 2.2.2 Group of Structure Calculations The process for combining tiers of sufficiently close structures in this second half of the program, is not as complex as it was in the first half of the program. In this second half, the tiers of each structure are examined and combined using the same algorithms as the first half, but there is no need to determine if a stack is at or within 5L directly downwind of either the structures or the GFSs. This was done by setting the flag, GEPIN, to 1 which indicates that a stack is at or within the GEP 5L limit. In this half of BPIP, there is only a need to determine if stack is within the SIZ and if its GEPIN flag has been set to '1'. If both conditions exist, BH and PBW values are saved. When preparing to save BH and PBW values for input to ISCST2, each stack location is examined to determine if it falls within: 1) any of the SIZes of any of the individual tiers or any one of the tier combination subgroups, and 2) the GEP 5L area limits for that particular 10 degree increment of wind direction. If so, the BH and PBW are saved for input. If the wake effect height is greater than the GEP stack height, the GEP BH and PBW values are saved instead. Since a SIZ cannot cover a ISCLT2 sector, three SIZs are used to cover the sector (See Figure 2-7). The centerlines of the first and last SIZ are oriented to the direction of the Sector's left and right boundary directions. The middle SIZ is oriented to the sector's centerline direction. If a BH and PBW for a stack are calculated using the middle SIZ, then those two values are used regardless of any BH or PBW value calculated for the first or last SIZ in the sector. Otherwise, the other two BH and PBW pairs undergo the same process that an ISCST2 BH and PBW pair would undergo. If the building downwash wake effect height is greater than the GEP stack height, the GEP BH and PBW values, saved from the first part, are used instead of the building downwash related values. The BH and PBW values are saved to a file in a format compatible with the respective ISC2 model input file format. Two test cases were run and are discussed in Appendix B. One test case is very simple and the other is very complex and uses almost all the BPIP algorithms. Instructions for setting up and running BPIP follow. 2-14 ------- f Si Figure 2-7. SIZ Coverage of 22.5 Degree Wide GEP Area of Influence 2-15 ------- 3.0 USER'S INSTRUCTIONS The following subsections contain information on setting up and running BPIP. The BPIP program is straight forward in its operation. 3.1 INPUT PREPARATION Before preparing the input data to BPIP, the structure- source relationships should be assessed with respect to the GEP and building downwash guidance. Any relationships that do not appear to be covered by the guidance or in some way appear ambiguous should be discussed with the Regional Modeling Contact. For example, a multi-tiered building with two separate towers can be treated in two ways. The first way as strictly a multitiered building where each tier is treated as a stand-alone structure. The second way as a multitiered building with two towers that may be combined. If the second way is recommended, the base tier would have to be entered twice; once with the first tower and once with the second tower. Stacks can be on top of roofs and also be more than 5L downwind from an upwind roof edge. The main algorithms in BPIP were not designed to process these stacks if they are further than 5L downwind from a roof edge. This is contrary to guidance. An algorithm was written to automatically detect when a stack is on a roof. Data preparation for use by the Huber-Synder downwash algorithm should be prepared as if it were to be used by the Schulman-Scire downwash algorithm. Input data to BPIP should use normal building dimensions and orientation in all cases. BPIP will calculate 36 pairs of BH and PBW values for input to the ISCST2 model or 16 pairs of input for the ISCLT2 model for each stack. It is up to the user to determine the suitability of BPIP to meet the needs of the modeling situation. There are additional conditions and situations that are discussed in the GEP technical support document which are not fully programmed into BPIP. The conditions and situations concern the use of various formulae for determining GEP stack height based upon the date a stack came into existence. BPIP has not been programmed to use the 2.5H formula that is prescribed for stacks in existence prior to January 12, 1979 but after December 31, 1970. However, for low or squat buildings only, the 2.5H formula is equivalent to the H + 1.5L formula for calculating GEP stack height. The user needs to read and understand the guidance and this guide before running BPIP. If the structure and location values are not in meters, the conversion factor will be applied during the input process and 3-1 (Revised 2/8/95) ------- the data will be processed in meters. The UTM coordinates will not be converted to meters since they should already be in meters. All output will be expressed in meters. BPIP processes input data on a structure by structure basis. Each structure or building is identified by a name (maximum of 8 alphanumeric characters) and base elevation. The number of tiers and tier heights for each structure needs to be determined along with the number of corners for each tier. Each tier corner's location must be identified by a pair of X - and Y - Cartesian or respective UTM Easting and Northing coordinates (meters). This must be done for each structure to be processed through BPIP. If UTM coordinates are used, the UTM flag must also be changed from 'UTMN' to 'UTMY' in the input file. Each stack or source structure name used needs to be the same name as used for the source emissions data in the respective ISC2 input runstream. The ISC2 programs restrict the stack or source name to a maximum 8 characters and so does BPIP. A stack base elevation and stack height need to be determined for each stack along with its X - and Y - Cartesian or UTM Easting and Northing coordinates. The direction for UTM 'north' is assumed to be the same as True North, but there can be a slight difference that the user can adjust for by setting a value other than 360.0 for 'plant north'. 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. Once this data has been determined, an input file to BPIP can be written. The data needs to be written on a line by line basis as outlined in Tables 3-1 through 3-3. The data can be separated by commas or blank spaces. Data entry is in 'Free Format'. 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 MET 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 BPIP will need to be recompiled after changing any one of the above parameters. BPIP was written to Fortran 77 standards and compiled with Microsoft's Fortran 5.0 compiler. No OPEN statements were used in the source code. 3.3 INPUT FORMAT The input format consists of 12 different types of data input lines or records. Table 3-1 identifies each record type and its purpose. An example is given with each type of input. The types of record in Table 3-1 are required to be entered into an ASCII file in a certain sequence. In Table 3-2 is an outline of that sequence. After the eighth line, entry is dependent upon the number of buildings, tiers, tier corners, and stacks. An annotated example of the sequence, using actual data, is shown in Table 3-3. 3.4 EXECUTION OF BPIP Once the input file has been prepared and saved to disk, BPIP is ready to be executed. The execution line is as follows: BPIP input_filename output_filename summary_filename 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 3-3 (Revised 2/8/95) ------- 10 stacks. A one stack version of test case 2 takes about 1 and a half minutes to run. Table 3-1 Record TITLE PROCESS UNITS GRID B-NO BLDG, Data Input Types Description Contains a title or run description. A maximum of 78 characters is permitted on this line. The title must be enclosed by single quotes. Example line: 'Acme Power - S02 Emiss. Limits' A two character flag between single quotes controls whether BPIP will calculate output for input to either an ISCST2 or an ISCLT2 input file. The two flags are: 'ST' - Output will be for an ISCST2 input file. 'LT' - Output will be for an ISCLT2 input file. Example line: 'ST' Identifies the input units by name followed by a units to meters conversion factor. Up to 10 characters are allowed for the units name. All output will be in meters. Example line: 'Feet' 0.3048 Contains the UTM coordinate process flag and a plant north direction value. The flag can only be set to: 'UTMN' - for no UTM coordinate processing, or 'UTMY' - for UTM coordinate processing Plant north is the orientation of a plant plot with respect to true north. If a plant plot showed that plant north was toward the southeast, plant north would be 135 degrees. Example line: 'UTMY' 135.00 Contains the number of buildings to be processed. This input is a single integer number. Example line: 3 Contains the building name, number of tiers for the building, and the building's base elevation The building name can be up to up to 8 characters in length between single quotes. The number of tiers for this building is an integer and the elevation value is a real number. Example line: 'Bldg #7' 4 553.75 3-4 ------- Record TIER, CORNER, S-NO STACK= Table 3-1 Cont'd Description Contains the number of tier corner coordinates to follow in the following record lines and the tier height with respect to the building base elevation. The number of corners is an integer while the base elevation value is real. Example line: 6 20.5 Contains a pair of tier corner x-y coordinate values if the GRID line contains a 'UTMN' flag. If the GRID line contains a 'UTMY' flag, the coordinate pair are treated as UTM Easting and Northing coordinates, respectively. Example line: -23.5 46.75 Contains the integer value of the number of stacks to be processed. Example line: 9 Contains the stack data which consists of: Stack name - up to 8 characters allowed with no spaces allowed in the name. The name has to be between single quotes. Stack base elevation - real value Stack height - real value measured from the stack base. Stack coordinates - see CORNER for format Example line: 'Stk3' 123.1 10.5 -45.3 -34.1 3-5 (Revised 2/8/95; ------- Table 3-2 Data Input Sequence Record )e Placement TITLE First line of file PROCESS Second line of file UNITS Third line of file GRID Fourth line of file B-NO Five line of file BLDG 1 Sixth line of file TIER 1,1 Seventh line of file CORNER 1,1,1 Eight line of file CORNER 1,1,2 Etc. CORNER 1,1,m TIER 1,2 . CORNER 1,2,1 . CORNER 1,2,n TIER l,t CORNER 1,t,1 CORNER 1,t,r BLDG 2 (repeat of the TIER-CORNER pattern for BLDG 1. BLDG b (followed by a repeat of the BLDG 1 pattern.) S-NO STACK 1 STACK s 3-6 (Revised 2/8/95; ------- Table 3-3 Input Example Record TITLE PROCESS UNITS GRID B-NO BLDG 1 TIER 1,1 CORNER CORNER CORNER CORNER CORNER CORNER BLDG 2 TIER 2,1 CORNER CORNER CORNER CORNER S-NO STACK 1 STACK 2 STACK 3 STACK 4 1,1,1 1,1,2 1,1,3 1,1,4 1,1,5 1,1,6 2,1,1 2,1,2 2,1,3 2,1,4 Example input 'Simple building' 'LT' 'Feet' 0.3048 'UTMY' 270.0 'L - Big' 1 6 20.0 -10.3 -20 -10.3 80 40.3 80 40.3 30 90.4 30 90.4 -20 ' Proc . 1 ' 1 4 10.0 110.3 120 110.3 180 140.3 180 140.3 120 'StacklOO' 5 'StacklOl' 5 'Stackl02' 5 'Stackl03' 5 10.0 .5 .1 .1 .3 .3 .5 15.5 .5 .1 .1 .5 . 25.0 . 25.0 . 25.0 . 25.0 -10.0 -20.0 10.0 15.0 136.0 121.0 118.0 103.0 3-7 (Revised 2/8/95; ------- 3.5 BPIP OUTPUT FILES AND FORMATS BPIP generates two output files. One file contains the essential output data such as the Preliminary GEP stack height values and the BH and PBW input for an ISCST2 or ISCLT2 input runstream file. This file is considered to be the primary output file. The other file is a summary file and it contains detailed output such as which tier(s) are affecting which stack for a particular wind flow direction. Both files are generated toward either an ISCST2 or an ISCLT2 computer run. 3.5.1 Primary Output File 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. This GEP data is followed by the BH and PBW data. The BH and PBW output are also grouped on a stack by stack basis and have to be manually edited into the appropriate ISC2 input runstream file. The output begins in column 4. The ISCST2 numeric output begins with sector 1 which is centered on 10 degrees north. Each ISCST2 sector is 10 degrees wide. Sector numbering proceeds in a clockwise direction and ends with sector 36. BPIP places 6 output values on a line for 6 lines for both the BH and PBW value sets. The ISCLT2 numeric output begins with sector 1 which is centered on 360 degrees. Sector numbering also proceeds in a clockwise direction but in 22.5 degree increments and ends with sector 16. Again, BPIP places up to 6 output values on a line for 3 lines for both the BH and PBW sets. The BH values are listed first; followed by the PBW values. (Also, see Tables B-4, B-6 and B-7). 3-1 ------- Table 3-4 Example of a Primary Output File 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. The UTMP variable is set to UTMY. The input is assumed to be in UTM coordinates. BPIP will move the UTM origin to the first pair of UTM coordinates read. The UTM coordinates of the new origin will be subtracted from all the other UTM coordinates entered to form this new local coordinate system. The new local coordinates will be displayed in parentheses just below the UTM coordinates they represent. Plant north is 210.00 degrees with respect to True North. BPIP users guide test case #1 - input file with 1 bldg and 4 stacks. PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE (Units: METERS) Stack Name StklOO StklOl Stkl02 Stkl03 Stack Height 75. 66. 25. 47 . .00 .00 .00 .00 Preliminary* GEP** GEP Stack EQN1 Height Value 49.00 .00 .00 46.00 49. 65. 25. 46. .00 .00 .00 .00 * Results based on Table 3.1 of the GEP Technical Support Document. Consult Table 3.1 for any additional steps that may be required. ** Results using Equation 1, page 6 of GEP Technical Support Document. 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 so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 Stkl03 20. 20. 20. 20. 20. 20. 111. 140 . 107 . 111. 140 . 107 . 20. 140 . .00 .00 .00 .00 .00 .00 .07 .88 .16 .07 .88 .16 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .88 .00 20. 20. 20. 20. 20. 20. 107 . 140 . 111. 107 . 140 . 111. 20. 140 . .00 .00 .00 .00 .00 .00 .16 .88 .07 .16 .88 .07 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .88 .00 20. 20. 20. 20. 20. 20. 100. 136. 111. 100. 136. 111. 20. 136. .00 .00 .00 .00 .00 .00 .00 .60 .60 .00 .60 .60 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .60 .00 20. 20. 20. 20. 20. 20. 115. 128. 108. 115. 128. 108. 20. 20. 20. 115. 115. 128. .00 .00 .00 .00 .00 .00 .85 . 17 .74 .85 . 17 .74 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .85 .00 .00 .85 . 17 .00 20. 20. 20. 20. 20. 20. 128. 115. 108. 128. 115. 108. 20. 20. 128. 115. .00 .00 .00 .00 .00 .00 . 17 .85 .74 . 17 .85 .74 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 . 17 .85 .00 20. 20. 20. 20. 20. 20. 136. 100. 111. 136. 100. 111. 20. 136. .00 .00 .00 .00 .00 .00 .60 .00 .60 .60 .00 .60 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .60 .00 .00 3-10 ------- 3.5.2 Summary File The second output file is a summary file with detailed information such as a repeat of the input data with any adjustments, which tier wake effects are affecting which stacks, and associated GEP and SIZ values. In Tables 3-5 and 3-6, are portions of an example summary file. Normally summary files are much larger such as the test case summary files which range in size from around 90 Kbytes for test case 1 to over 267 Kbytes for test case 2. In the first part of the file, in the BPIP Processing Information section (see Table 3-5), the initial BPIP settings are written with a brief explanation to clarify what BPIP was requested to do with the input data. This is followed by an Input Summary that prints the original input data as read by BPIP and which is followed by a line with those values converted to meters. Two additional lines may follow each of the original two input data lines. One line may contain a possible conversion of the coordinates from UTM to a local X-Y coordinate system and the other line may contain rotated plant coordinates from a plant north direction to a True North direction. There are no parentheses or brackets around the original coordinate values as there are around the converted UTM and rotated from plant north values. The example shows all four types of coordinate lines. 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 Eqnl values. In this example, the maximum GEP Eqnl 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 StklOO. 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 StklOO 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 Portions of a Summary File 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. The UTMP variable is set to UTMY. The input is assumed to be in UTM coordinates. BPIP will move the UTM origin to the first pair of UTM coordinates read. The UTM coordinates of the new origin will be subtracted from all the other UTM coordinates entered to form this new local coordinate system. The new local coordinates will be displayed in parentheses just below the UTM coordinates they represent. Plant north is 210.00 degrees with respect to True North. The plant coordinates will appear as entered in the Summary output file and they will be adjusted to True North prior to processing. The True North oriented coordinates appear below between the square brackets. INPUT SUMMARY: Number of buildings to be processed : 1 L-Shape has 1 tier(s) with a base elevation of 10.00 METERS BUILDING TIER BLDG-TIER TIER NO. OF CORNER COORDINATES NAME NUMBER NUMBER HEIGHT CORNERS X Y 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 Number of stacks to be processed : 4 STACK STACK COORDINATES STACK NAME BASE HEIGHT X Y StklOO 11.00 75.00 -10.00 -20.00 -10.00 -20.00 ( .00 .00) [ .00 .00] StklOl 12.00 66.00 164.00 159.00 164.00 159.00 ( 174.00 179.00) [ -240.19 -68.02] The number of stack-tier combinations entered, where each stack is at least 5L in from at least one of the edges of their respective tier roofs, is: 0 3-13 ------- Part 1: StkNo: Table 3-6 Additional Portions of a Summary File Overall GEP Summary Table (Units: METERS) Stk Name:StklOO Stk Ht: 75.00 Prelim. GEP Stk.Ht: 49.00 GEP: BH: 20.00 PBW: 111.60 *Eqnl 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: 2 Stk Name:Stkl01 Stk Ht: GEP: BH: .00 PBW: No tiers affect this stack. 66.00 Prelim. GEP Stk.Ht: 65.00 .00 *Eqnl Ht: .00 Part 2: Summary By Direction Table (Units: METERS) Dominate stand alone tiers: Drtcn: StkNo: StkNo: 10.00 Stk Name:StklOO MAX: BH: GEP: BH: 20.00 20.00 No Stack Ht: 75.00 PBW: 111.07 *Wake Effect Ht: 49.00 PBW: 111.60 *Equation 1 Ht: 49.00 *with a Stack-Building elevation difference applied = 1.00 BldNo: 1 Bid Name:L-Shape TierNo: 1 2 Stk Name:Stkl01 Stack Ht: 66.00 MAX: BH: .00 PBW: .00 *Wake Effect Ht: .00 GEP: BH: .00 PBW: .00 *Equation 1 Ht: .00 tier affects this stack. Dominate combined buildings: Drtcn: 10.00 StkNo: 1 Stk Name:StklOO 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 No. of Tiers affecting Stk: 1 Bldg-Tier nos. contributing to MAX: 1 StkNo: 2 Stk Name:Stkl01 Stack Ht: 66.00 MAX: BH: .00 PBW: .00 *Wake Effect Ht: .00 GEP: BH: .00 PBW: .00 *Equation 1 Ht: .00 No tiers affect this stack. 3-14 ------- 4.0 REFERENCES GEP Guidance: 1. Environmental Protection Agency, 1985: Guideline for Determination of Good Engineering Practice Stack Height (Technical Support Document for the Stack Height Regulations) - Revised EPA-450/4-80-023R, U.S. Environmental Protection Agency, Research Triangle Park, North Carolina 27711. Building Downwash Guidance: 2. Tikvart, Joseph A., Stack-Structure Relationships, Memorandum to Richard L. Daye, May 11, 1988. 3. Tikvart, Joseph A., Clarification of Stack-Structure Relationships, Memorandum to Regional Modeling Contacts, Regions I-X, June 28, 1989. 4. Lee, Russell F., Stack-Structure Relationships--Further clarification of our memoranda dated May 11, 1988 and June 28, 1989, Memorandum to Richard L. Daye, July 1, 1993 Other related documents: 5. Environmental Protection Agency, 1992: Screening Procedures For Estimating The Air Quality Impact Of Stationary Sources (Revised). EPA-454/R-92-019, U.S. Environmental Protection Agency, Research Triangle Park, North Carolina 27711. 6. Memorandum (dated October 10, 1985), Questions and Answers on Implementing the Revised Stack Height Regulation, From G. T. Helms to Chief, Air Branch Regions I-X. 7. Environmental Protection Agency, 1992: User's Guide For the Industrial Source Complex (ISC2) Dispersion Models Volume I. EPA-450/4-92-008a, U.S. Environmental Protection Agency, Research Triangle Park, North Carolina 27711. 8. Environmental Protection Agency, 1986: Guideline on Air Quality Models (Revised). EPA-450/2-78-027R, U.S. Environmental Protection Agency, Research Triangle Park, North Carolina 27711. 9. Eckhoff, P.A., May 1993: Evaluation of Computer Programs For Calculating Projected Building Widths (Draft). U.S. Environmental Protection Agency, Research Triangle Park, North Carolina 27711. 4-1 ------- APPENDIX A BPIP PROGRAM SOURCE CODE LISTING ------- (2 ************************************************************************** c * * C * BUILDING PROFILE INPUT PROGRAM (DATED 93320) * C * * C * *** SEE BPIP MODEL CHANGE BULLETIN MCB#1 *** * C * * C * ON THE SUPPORT CENTER FOR REGULATORY AIR MODELS BULLETIN BOARD * C * * C * (919) 541-5742 (8-N-l) * C * * (2 ************************************************************************** C C Programmed by: Peter Eckhoff C EPA C MD-14 C Research Triangle Park, NC 27711 C (2 ************************************************************************** C C Written to: FORTRAN 77 Standards C (2 ************************************************************************** C C Modifications: November 16, 1993 - Original Code C (2 ************************************************************************** C C INPUT FORMAT C C Note: The tier coordinates need to be entered in a clockwise or C counter-clockwise direction. Input is free format. Single C quotes need to be around 'character input strings'. C C 'Run description' (up to 78 characters) C 'ST' or 'LT' processing C 'Input Units Name' Conversion to meters factor C 'UTMN' (for no UTM) or 'UTMY'(for UTM coordinates processing), Plant North C Number of Buildings C Building 1 Name, Number of Tiers for Building 1, Base Elevation C Number of Corners for Tier 1, Tier 1 Height C Tier 1 Corner 1 X -, and Y - Coordinates C Tier 1 Corner 2 X -, and Y - Coordinates C Tier 1 Corner c X -, and Y - Coordinates C C C C Number of Corners for Tier t, Tier t Height C Tier t Corner 1 X -, and Y - Coordinates C Tier t Corner 2 X -, and Y - Coordinates C Tier t Corner c X -, and Y - Coordinates C C C C Building x Name, Number of Tiers for Building x C Number of Corners for Tier 1, Tier 1 Height C Tier 1 Corner 1 X -, and Y - Coordinates C Tier 1 Corner 2 X -, and Y - Coordinates C Tier 1 Corner c X -, and Y - Coordinates C C C C Number of Corners for Tier t, Tier t Height C Tier t Corner 1 X -, and Y - Coordinates C Tier t Corner 2 X -, and Y - Coordinates A-l ------- c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c Tier t Corner c X -, and Y - Coordinates Number Stack Stack Number Stack Stack ******* of Stacks 1 name, Base Elevation, Height, Stack 1 X -, and Y - Coordinates s name, Base Elevation, Height, Stack s X -, and Y - Coordinates of Stacks whose roof location > 5L from a roof edge number, Building number, Tier Number number, Building number, Tier Number ******************************************************************* EXECUTION STATEMENT DOS Prompt> BPIP Input filename Output filename Summary filename ******* ******* Al A2 A ADJ ANG AU B BELEV BET BTN BU C Cl C2 CH CNRLIN CONV ******************************************************************* UNIT USAGE UNIT PURPOSE * - READ FROM THE KEYBOARD * - WRITE TO THE SCREEN 10 - READ INPUT FROM FILE 12 - WRITE OUTPUT TO FILE 14 - WRITE SUMMARY FILE ******************************************************************* DEFINITIONS - AREA OF A SQUARE SQUARED. USED TO DETERMINE IF AN INTERCEPT IS BETWEEN TWO TIER CORNERS. Al IS BASED ON THE CORNER COORDINATES AND THE INTERCEPT COORDINATES. - AREA OF A SQUARE SQUARED. USED TO DETERMINE IF AN INTERCEPT IS BETWEEN TWO TIER CORNERS. A2 IS BASED ON THE CORNER COORDINATES ONLY. - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES - ADJUST PLANT NORTH COORDINATES TO TRUE NORTH COORDINATES - ANGLE THROUGH WHICH STACK AND TIERS ARE ROTATED SO THE WIND DIRECTION IS POINTED "TRUE NORTH" - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES - BASE ELEVATION OF A BUILDING - VALUE IN CNRLIN THAT WHEN A PERPENDICULAR LINE DRAWN FROM A TIER CORNER TO ANOTHER TIER SIDE INTERCEPTS THE SIDE BETWEEN THE TWO CORNERS, BET IS POSITIVE. - NAME OF STRUCTURE - TEMPORARY STORAGE VARIABLE ASSOCIATED WITH UTM COORDINATES - NUMBER USED TO INDEX A BUILDING TIER (BLDG# - 1) * MXTRS + TIER# WHERE 4 REPRESENTS THE MAX NUMBER OF TIERS PRE BUILDING - BUILDING TIER NUMBER COMBINABLE WITH BUILDING TIER NUMBER C2 - BUILDING TIER NUMBER COMBINABLE WITH BUILDING TIER NUMBER Cl - BUILDING-TIER NUMBER OF THE TIER HEIGHT USED AS A COMMON HEIGHT - SUBROUTINE TO CALCULATE THE DISTANCE BETWEEN A TIER CORNER AND THE SIDE OF ANOTHER TIER. SUBROUTINE ALSO CALCULATES WHETHER OR NOT A PERPENDICULAR LINE DRAWN FROM THE CORNER TO THE SIDE INTERCEPTS THE SIDE BETWEEN THE TWO CORNERS OF THE TIER. - 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 CD - 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 Kl - 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 CM - SLOPE OF A TIER SIDE C MB - MAXIMUM NUMBER OF BUILDINGS ALLOWED - PARAMETER C MET - 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 TNI - 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 c c c c c c c c c c c c c THE MOST SOUTH, EAST, WEST, AND NORTH CORNERS - LESSER OF BUILDING HEIGHT OR PROJECTED BUILDING WIDTH (L) - X COORDINATE OF FIRST TIER CORNER OF FIRST BUILDING - X COORDINATE OF SECOND TIER CORNER OF FIRST BUILDING - X COORDINATE OF FIRST TIER CORNER OF SECOND BUILDING - X COORDINATE OF SECOND TIER CORNER OF SECOND BUILDING - X COORDINATE OF AN UNTRANSLATED TIER CORNER - X COORDINATE OF A CORNER BY NUMBER - X INTERCEPT COORDINATE BETWEEN A CORNER AND A SIDE - X COORDINATE OF A TIER CORNER - X COORDINATE OF FURTHEST EAST OF A TRANSLATED TIER CORNER - X COORDINATE OF FURTHEST WEST OF A TRANSLATED TIER CORNER - TEMPORARY STORAGE OF FURTHEST WEST X COORDINATE VALUE - TEMPORARY STORAGE OF FURTHEST EAST X COORDINATE VALUE - X COORDINATE OF A TRANSLATED TIER CORNER - X COORDINATE OF A TRANSLATED STACK - X COORDINATE OF AN UNTRANSLATED STACK - Y COORDINATE OF FIRST TIER CORNER OF FIRST BUILDING - Y COORDINATE OF SECOND TIER CORNER OF FIRST BUILDING - Y COORDINATE OF FIRST TIER CORNER OF SECOND BUILDING - Y COORDINATE OF SECOND TIER CORNER OF SECOND BUILDING - Y COORDINATE OF AN UNTRANSLATED TIER CORNER - Y COORDINATE OF A CORNER BY NUMBER - Y INTERCEPT COORDINATE BETWEEN A CORNER AND A SIDE. - Y COORDINATE OF A TIER CORNER - Y COORDINATE OF FURTHEST NORTH OF A TRANSLATED TIER CORNER - Y COORDINATE OF FURTHEST SOUTH OF A TRANSLATED TIER CORNER - TEMPORARY STORAGE OF FURTHEST WEST Y COORDINATE VALUE - TEMPORARY STORAGE OF FURTHEST EAST Y COORDINATE VALUE - Y COORDINATE OF A TRANSLATED TIER CORNER - Y COORDINATE OF A TRANSLATED STACK - Y COORDINATE OF AN UNTRANSLATED STACK ************************************************************************* LOGICAL FLG1, FLG2 REAL L2, L5, MHWE, MXPBH, MXPBW, MH, MW, LTN1, LTN2, LTN INTEGER IHR, IMIN, ISEC, IX, IYR, IMON, IDAY, C, Cl, C2, CH, " D, GEPIN, GTLIST, GTNUM, MTNUM, MTLIST, S, Tl, T2, " TL1, TL2, TLIST, TLIST2, TNI, TNUM, TNUM2, UTM CHARACTER*2 SWTN CHARACTER*4 UTMP CHARACTER*8 BTN, STKN, SNM CHARACTER*10 UNTS CHARACTER*78 TITLE INITIAL PARAMETER SETTINGS MAX NUMBER OF BUILDINGS MB = 8 MAX NUMBER OF TIERS/BUILDING MT = 4 MAX NUMBER OF SIDES/TIER MTS = 8 MAX NUMBER OF STACK SOURCES MSK = 14 MAX BUILDING TIER NUMBER MET = 32 MAX NUMBER OF SECTORS - ST MD =36 MAX NUMBER OF SECTORS - LT ML =16 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c ws Xll X12 X21 X22 X xc XI XKP XMAX XMIN XMN XMX XP XPSTK XS Yll Y12 Y21 Y22 Y YC YI YKP YMAX YMIN YMN YMX YP YPSTK YS ****** (MB * MT) ******************************************************************** PARAMETER (MB = 8, MT = 4, MTS = 8, MET = MB*MT , MSK =14, * * MD = 36, ML = 16) * Remember to also change the parameter settings in the A-5 ------- C * subroutines ! * (2 ******************************************************************** 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,MET,MET) 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(MET), XMIN(MET), YMAX(MET), YMIN(MET) COMMON /PWH/ PBH(MBT), PEW(MET), HWE(MET) COMMON /MIJ/ MI(MSK), MJ(MSK) COMMON /STK/ XS(MSK), YS(MSK) COMMON /TNM/ TNUM2(MET), TLIST2(MET,MET) COMMON /GTNM/ GTNUM(MSK), GTLIST(MSK,MET), GDIRS(MSK) COMMON /MTNM/ MTNUM(MSK), MTLIST(MSK,MET), MDIRS(MSK) DIMENSION BTN(MB), NTRS(MB), W(MET), HT(MET) DIMENSION STKN(MSK) DIMENSION DISTMN(MBT, MET), LFLAT(MSK, MET) DIMENSION TNUM(MBT), TLIST(MET,MET) DIMENSION MH(MSK, ML), MW(MSK, ML) DIMENSION XP(MSK), YP(MSK) DTR = 3.141593 / 180 MXTRS = MT C C C READ INPUT DATA CONTAINING BUILDING AND STACK DATA WRITE(*,*; WRITE(*,*; WRITE(*,*; 'READING INPUT DATA FROM FILE. READ(10,*) TITLE CALL GETTIM (IHR, IMIN, ISEC, IX) CALL GETDAT (IYR, IMON, IDAY) IYR = MOD(IYR,100) WRITE (12, 461) IMON, IDAY, IYR WRITE (12, 462) IHR, IMIN, ISEC WRITE (12,1) TITLE WRITE (14, 461) IMON, IDAY, IYR WRITE (14, 462) IHR, IMIN, ISEC WRITE (14,1) TITLE 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,*) SWT = 2 IF (SWTN IF (SWTN IF (SWTN SWTN .EQ. .EQ. .EQ. 'St' ) 'ST' ) 'It') SWT = SWT = SWT = 0 0 1 A-6 ------- "ed. IF(SWTN .EQ. TLTT) SWT = 1 WRITE(12,2) SWTN WRITE(14,2) SWTN IF(SWT .EQ. 2) THEN WRITE(*,*) 'The SWTN STOP END IF READ(10,*) UNTS, CONV WRITE(12,3) UNTS, UNTS, CONV WRITE(14,3) UNTS, UNTS, CONV variable, T,SWTN,T is incorrectly enter "ed. .EQ .EQ .EQ .EQ READ(10,*) UTM = 2 IF(UTMP IF(UTMP IF(UTMP IF(UTMP IF(UTM .EQ. WRITE(12, WRITE(14, ELSE WRITE(12, WRITE(14, END IF IF(UTM .EQ. WRITE(*,* STOP END IF UTMP, PNORTH 'utmn' 'UTMN' 'utmy' 'UTMY' 1) THEN 4) UTMP 4) UTMP UTM UTM UTM UTM = 0 = 0 = 1 = 1 5) 5) UTMP UTMP 2) THEN 'The UTMP variable, ',UTMP,' is incorrectly enter IF(PNORTH . PN = 0 WRITE(12, WRITE(14, ELSE PN = 1 WRITE(12, WRITE(12, WRITE(12, WRITE(14, WRITE(14, END IF EQ. 360.0 .OR. PNORTH .EQ. 0.0) THEN 17) 17) PNORTH PNORTH 17) PNORTH 297) 297) 17) PNORTH 18) ADJ =360. - PNORTH IF (PN .EQ. 1) THEN ADJ = ADJ * DTR CSA = COS(ADJ) SNA = -SIN(ADJ) END IF WRITE(14,297) WRITE(14,*) '============== WRITE(14,*) 'INPUT SUMMARY: WRITE(14,*) '============== WRITE(14,297) READ(10,*) IF (NB . WRITE WRITE *RAMETER, MB' STOP NB GT. MB) THEN *,*) 'WARNING :' *, *) 'THE NUMBER OF BUILDINGS ENTERED EXCEEDS THE PA 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 WRITE(14,12) BTN(I), NTRS(I), BELEV(I), UNTS DO 20 J = 1, NTRS(I) READ(10,*) ND(I, J), TH(I, J) IF (ND(I,J) .GT. MTS) THEN WRITE(*,*) 'WARNING :' WRITE(*, *) 'THE NUMBER OF TIERS/BUILDING EXCEEDS THE PARA *METER, MTS' STOP END IF C = (I - 1) * MXTRS + J WRITE(14,13) BTN(I), J, C, TH(I,J), ND(I,J) DO 30 K = 1, ND(I, J) READ(10,*) X(I, J, K), Y(I, J, K) IF (UTM .EQ. 1) THEN IF(I .EQ. 1 .AND. J .EQ. 1 .AND. K .EQ. 1) THEN UEAST = X(1,1,1) UNORTH = Y(1,1,1) A = UEAST B = UNORTH AU = 0.0 BU = 0.0 ELSE A = X(I, J, K) B = Y(I, J, K) AU = A - UEAST BU = B - UNORTH END IF WRITE (14,14) A, B WRITE (14,16) AU, BU X(I, J, K) = AU Y(I, J, K) = BU ELSE WRITE (14,14) X(I, J, K), Y(I, J, K) END IF IF (PN .EQ. 1) THEN A = X(I, J, K) * CSA + Y(I, J, K) * SNA B = Y(I, J, K) * CSA - X(I, J, K) * SNA X(I, J, K) = A Y(I, J, K) = B WRITE (14,19) X(I, J, K), Y(I, J, K) END IF 30 CONTINUE 20 CONTINUE 10 CONTINUE PRINT * A-8 ------- 48 40 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) AU = XS(S) - UEAST BU = YS(S) - UNORTH SH(S), XS(S), YS(S) 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 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 CONTINUE CONTINUE READ (10,*) L5SQAT WRITE (14,71) L5SQAT IF(L5SQAT .GT. 0) THEN A-9 ------- WRITE(14,73; END IF 70 C C C DO 70 L = 1, L5SQAT READ(10, *) S, I, J C = (1-1) * MXTRS + J GEPIN(S, C, C) = 1 LFLAT(S, C) = 1 WRITE(14,72) STKN(S), S, BTN(I), I, J CONTINUE WRITE(*,*; WRITE(*,*; WRITE(*,*; WRITE(*,*; WRITE(*,*; WRITE(*,*; 'END OF READING INPUT DATA FROM FILE. END OF INPUT SECTION 'CALCULATING GEP VALUES. C C C C IF (SWT .EQ. 0) THEN DDEG =10 NDIR = MD ELSE DDEG = 11.25 NDIR = ML * 2 END IF ND16 = ML DMD8 = 8 DMD12 = 12 Calculate the minimum distance between structures DO 80 I = 1, DO 81 II = (NB - 1) [I + 1), NB DO 82 J = 1, NTRS(I) DO 83 JJ = 1, NTRS(II) Cl = (I - C2 = (II DISTMN(C1, 1) * MXTRS + J - 1) * MXTRS + JJ C2) = 1000000 Cycle through corners and sides of first tier DO 84 K = 1, ND(I, J) Xll = X(I, J, K) Yll = Y(I, J, K) Kl = K + 1 IF (Kl .GT. ND(I, J) ND(I, Kl) Kl) Kl = 1 X12 = X(I, J, Y12 = Y(I, J, Cycle through corners and sides of other building's tier DO 85 KK = 1, ND(II, JJ) X21 = X(II, JJ, KK) Y21 = Y(II, JJ, KK) K2 = KK + 1 IF (K2 .GT. ND(II, JJ)) K2 = 1 X22 = X(II, JJ, K2) Y22 = Y(II, JJ, K2) Calculate corner to corner distance between two structures DIST = SQRT((X11 - X21) ** 2 + (Yll - Y21) ** 2) 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, Xll, Yll) 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, Yll, 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, Cl) = 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 = (1-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-ll ------- 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) XI = XC(C, K) Yl = 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, Yl, X2, Y2, L5, IBET, XPSTK, YPSTK) IF (LFLAT (S,C) .EQ. 1) IBET = 1 IF (IBET .EQ. 1) THEN TNUM2(C) = 1 TLIST2(C,l) = 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) Cl = (I - 1) * MXTRS + J CALL WIDTH(ANG, I, J, Cl, TW) W(C1) = TW HT(C1) = TH(I,J) TNUM(Cl) = 1 TLIST(C1, 1) = Cl 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 ------- 114 113 112 111 C C C C 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(Cl) = TNUM(Cl) + 1 TNI = TNUM(Cl) TLIST(Cl,TNI) = C2 ELSE R = MIN(W(C2), HT(C2)) IF (DISTMN(C1, C2) .LT. R) THEN TNUM(Cl) = TNUM(Cl) + 1 TNI = TNUM(Cl) TLIST(C1,TN1) = C2 END IF END IF CONTINUE END IF CONTINUE CONTINUE CONTINUE FOR SUFFICIENTLY CLOSE STRUCTURES COMBINE IDENTIFIED STRUCTURES BY GROUPS DO 120 I = 1, NB DO 121 J = 1, NTRS(I) Cl = (1-1) * MXTRS + J C Combine tiers to each focal tier. C Proceed, if more than 1 tier can be combined IF (TNUM(Cl) .GT. 1) THEN TNI = TNUM(Cl) 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 Tl = 1, TNI 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. (Cl .EQ. TL1)) THEN C Save the focal tier as first structure in the TLIST2 array. TNUM2(Cl) =1 TLIST2(Cl,l) = Cl C Initialize max & min X & Y coordinates for focal tier XMN = XMIN(Cl) YMN = YMIN(Cl) XMX = XMAX(Cl) YMX = YMAX(Cl) C Check every candidate to see if it meets the combining criteria of L > DISTMN DO 123 T2 = 1, TNI C Is a candidate structure above the common tier height, HTA ? TL2 = TLIST(C1,T2) C2 = TL2 IF (Cl .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, Cl ? A-13 ------- LTN1 = MIN(HTA, LTN2 = MIN(HTA, W(TL2)) LTN = MAX(LTN1, LTN2 ) IF (DISTMN(C1, TL2) . LT . LTN) TNUM2(C1) = TNUM2(C1) + 1 TLIST2 (C1,TNUM2 (Cl) ) = TL2 THEN C If so, combine by examining the candidate corner coordinates C with previous max & min values to derive overall combined width of C tiers in focal subgroup. IF (XMIN(TL2) IF (XMAX(TL2) (YMIN(TL2) (YMAX(TL2) IF LT. GT. LT. GT. XMN) XMX) YMN) YMX) XMN XMX YMN YMX = = = = XMIN XMAX YMIN YMAX (TL2) (TL2) (TL2) (TL2) 123 C C C IF IF END END IF END IF CONTINUE Projected width of all structures at or above the fixed height, HTA. TW = XMX - XMN WS = TW IF (HTA .LT. TW) WS = HTA L5 = WS * 5 C X AND Y COORDINATES DEFINING AREA CORNERS OF DISTURBED AIR FLOW CXMN = XMN CXMX = XMX CYMX = YMX + L5 CYMN = YMN C C C Examine width and height of focal tier subgroup with respect to stacks C C EVERY STACK COORDINATE IS ROTATED SO THAT THE FLOW VECTOR IS ALWAYS POINTING 'NORTH'. C C C C Perform only if more than one tier in focal tier subgroup IF (TNUM2(C1) .GT. DO 130 S = 1, NS XPSTK = XS(S) * YPSTK = YS(S) * 1) THEN CSA + YS(S) CSA - XS(S) SNA SNA C C C C C C ARE STACK COORDINATES WITHIN INITIAL AREA OF DISTURBED AIR FLOW FLG1 = ((XPSTK .GE. CXMN) .AND. (XPSTK .LE. CXMX)) FLG2 = ((YPSTK .GE. CYMN)) IF (FLG1 .AND. FLG2) THEN If source is within rectangle, check direct downwind distance from side of focal tier to stack. IBET = 1 if at or within 5L DO 131 K = 1, ND(I, J) XI = XC(C1, K) Yl = YC(C1, K) L = K + 1 IF (L .GT. ND(I, J)) L = 1 X2 = XC(C1, L) Y2 = YC(C1, L) C Set IBET to 1 if stack on or W/I 5L of tier side CALL DISLIN(X1, Yl, X2, Y2, L5, IBET, XPSTK, YPSTK) C If stack on top of roof, set IBET to 1 IF (LFLAT (S,C1) .EQ. 1) IBET = 1 A-14 ------- c 131 C C C C C JJ) L = 1 Y2, L5, IBET, XPSTK, YPSTK) Yl, X2, 1) THEN I, C2, S, TW, WS, HTA, TL1) C 132 C C C C C C IF (IBET .EQ. 1) THEN CALL GPC (D, I, Cl, S, TW, WS, HTA, TL1) GO TO 136 END IF CONTINUE If source is within rectangle, check direct downwind distance from side of second tier to stack. IBET = 1 if at or within 5L DO 135 M = 2, TNUM2(C1) C2 = TLIST2(C1,M) II = INT((C2-1)/MXTRS) + 1 JJ = C2 - (II-l) * MXTRS DO 132 K = 1, ND(II, JJ) XI = XC(C2, K) Yl = YC(C2, K) L = K + 1 IF (L .GT. ND(II, X2 = XC(C2, L) Y2 = YC(C2, L) CALL DISLIN(X1, IF (IBET .EQ. CALL GPC (D, GO TO 136 END IF CONTINUE If source is within rectangle, check direct downwind distance from side of gap filling structure (GFS) to stack. IBET = 1, if at or within 5L DO 133 K = 1, ND(I, J) Xll = XC(C1, K) Yll = YC(C1, K) Kl = K + 1 IF(K1 .GT. ND(I,J)) Kl = 1 X12 = XC(C1, Y12 = XC(C1, DO 133 L = X21 = XC(C2, Y21 = YC(C2, K2 = L + 1 IF (K2 .GT. ND(II,JJ)) K2 = 1 X22 = XC(C2,K2) Y22 = YC(C2,K2) DIST = SQRT ((X11-X21)**2 IF (DIST .LE. WS) THEN CALL DISLIN(X11, Yll, X21, Y21, L5, XPSTK, YPSTK) IF (DIST .LE. L5) THEN IF (IBET .EQ. 1) THEN CALL GPC (D, I, Cl, GO TO 136 END IF END IF END IF calculate corner of one tier perpendicular to side of the other tier. If shorter than L use as perimeter of the GFS CALL CNRLIN(X11, Yll, X12, Y12, BET, DIST, X21, Y21) IF (DIST .LE. WS .AND. BET .GT. -.001) THEN CALL DISLIN(X21, Y21, XI, Yl, L5, IBET, XPSTK, YPSTK) IF (DIST .LE. L5) THEN IF (IBET .EQ. 1) THEN CALL GPC (D,I,C1,S,TW,WS, HTA, TL1) . Kl) . Kl) 1, ND(II,JJ) . D . D (Y11-Y21)**2) IBET, S, TW, WS, HTA, TL1) A-15 ------- 133 135 136 130 122 121 120 C 110 C C C GO TO 136 END IF END IF END IF CALL CNRLIN(X21, Y21, X22, Y22, BET, DIST, Xll, Yll) IF (DIST .LE. WS .AND. BET .GT. -.001) THEN CALL DISLIN(X11, Yll, 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) GO TO 136 END IF END IF END IF CONTINUE CONTINUE CONTINUE END IF CONTINUE END IF END IF CONTINUE END IF CONTINUE CONTINUE CONTINUE GEP stack height value result(s) G65 = 65 WRITE(12 WRITE(12 . / CONV 1) TITLE 297) WRITE(12,1005) UNTS WRITE(14, DO 1010 S = IF ((SH(S) IF (SH(S) IF ((SH(S) IF ((SH(S) (GEP(S) .EQ. 0.00)) PV = G65 GEP(S))) PV = SH(S) GT. 0.00)) PV = GEP(S) GEPBH(S), GEPBW(S),GEP(S) 1010 1020) UNTS 1, NS .GT. GEP(S)) .AND. .LE. G65) PV = SH(S) .GT. G65) .AND. (SH(S) .LT. .GT. GEP(S)) .AND. (GEP(S) WRITE(14,1022) S, STKN(S), SH(S), PV, IF(GTNUM(S) .EQ. 0) THEN WRITE(14,*) ' No tiers affect this stack. ELSE DIF = SB(S) - BELEV(MI(S)) WRITE(14,1025) DIF WRITE(14,1023) GTNUM(S), GDIRS(S) WRITE(14,1024) (GTLIST(S,I), 1=1, GTNUM(S)) END IF WRITE(14,297) WRITE(12,1000) CONTINUE WRITE(12,1007) WRITE(12,297) WRITE(12,297) STKN(S), SH(S), GEP(S), PV C C C C C CALCULATE MAXIMUM PROJECTED BUILDING WIDTH BY WIND VECTOR FOR SINGLE AND MULTIPLE NEARBY STRUCTURES USING STRUCTURE INFLUENCE ZONES (SIZes) A-16 ------- c c c c WRITE(*,*; WRITE(*,*; WRITE(*,*; Single structure and tier loop 'CALCULATING BUILDING DOWNWASH INPUT VALUES. (ANG, I, J, C, TW) .LT. TW) WS = TH(I, J) 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 WS = TW IF (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) Cl = (I - 1) * MXTRS + J CALL WIDTH(ANG, I, J, Cl, TW) W(C1) = TW TNUM(Cl) = 1 TLIST(C1, 1) = Cl 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(Cl) = TNUM(Cl) + 1 TNI = TNUM(Cl) TLIST(C1,TN1) = C2 ELSE R = MIN(W(C2), HT(C2)) IF (DISTMN(C1, C2) .LT. R) THEN TNUM(Cl) = TNUM(Cl) + 1 TNI = TNUM(Cl) 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 = (1-1) * MXTRS + J C Proceed, if more than 1 tier can be combined IF (TNUM(C) .GT. 1) THEN TNI = TNUM(C) HTC = HT(TLIST(C,1)) C Use every height in the TLIST set as a criterion for combining DO 450 Tl = 1, TNI 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,l) = 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, TNI 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 C Is the candidate structure within L of the focal structure, C ? LTN1 = MIN(HTA, W(C)) LTN2 = MIN(HTA, W(TL2)) LTN = MAX(LTN1,LTN2) IF (DISTMN(C, TL2) .LT. LTN) THEN TNUM2 (C) = TNUM2 (C) + 1 TLIST2(C,TNUM2(C)) = TL2 C If so, combine by examining the corner coordinates with max & min values 460 C C C IF (XMIN(TL2) IF (XMAX(TL2) IF (YMIN(TL2) IF (YMAX(TL2) END IF END IF END IF CONTINUE .LT. .GT. .LT. .GT. XMN) XMX) YMN) YMX) XMN XMX YMN YMX = XMIN(TL2) = XMAX(TL2) = YMIN(TL2) = YMAX(TL2) Projected width of all structures at or above a fixed height. TW = XMX - XMN WS = TW IF (HTA .LT. TW) WS = HTA L5 = WS * 5 L2 = WS * 2 X AND Y COORDINATES DEFINING AREA CORNERS OF DISTURBED AIR FLOW CXMN CXMX CYMX CYMN XMN XMX YMX YMN WS / 2 WS / 2 L5 L2 C C C C C C C C C LOOP ON SOURCES FOR COMBINED BUILDINGS EVERY STACK COORDINATE IS ROTATED SO THAT THE WIND DIRECTION IS ALWAYS POINTING 'NORTH'. IF (TNUM2(C) .GT. 1) THEN DO 400 S = 1, NS XPSTK = XS(S) * CSA + YS(S) * SNA YPSTK = YS(S) * CSA - XS(S) * SNA ARE STACK COORDINATES WITHIN AREA OF DISTURBED AIR FLOW ? If source is within rectangle, check A-19 ------- 400 450 440 430 2012 350 C C C 512 C 514 510 C C C C C FLG1 = ((XPSTK .GE. CXMN) .AND. (XPSTK .LE. CXMX)) FLG2 = ((YPSTK .GE. CYMN)) IF (FLG1 .AND. FLG2) THEN If so, calculate the PBW & PBH, save max values CALL MXBWH(D, I, S, C, TW, HTA, WS, CH) END IF CONTINUE END IF END IF CONTINUE END IF CONTINUE 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 CONTINUE CONTINUE 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 = (1-1) * 6 + 1 K = I * 6 WRITE (12,293) STKN(S), (MXPBH(S,D) , D = J,K) CONTINUE WRITE (12,297) DO 514 I = 1, 6 J = (1-1) * 6 + 1 K = I * 6 WRITE (12,296) STKN(S), (MXPBW(S,D) , D = J,K) CONTINUE CONTINUE END IF ISCLT2 output. Use centerline values if greater than 0.00 Use values of other 2 of the 3 SIZs per sector, if centerline value 0.00 and others not. IF (SWT .EQ. 1) THEN DO 560 S = 1, NS L = 1 A-20 ------- c c 570 560 C 582 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. MET) J = J - MET IF (MHWE(S, D) .GT. 0.0) THEN IZ = D ELSE IF (MHWE(S, I) .GT. MHWE (S, J) ) THEN IZ = D IZ = I ELSE IZ = D IZ = J END IF END IF MH(S,L) = MXPBH(S,IZ) MW(S,L) = MXPBW(S,IZ) CONTINUE CONTINUE WRITE (12, 461) IMON, IDAY, IYR WRITE (12, 462) IHR, IMIN, ISEC WRITE (12, 297) DO 580 S = 1, NS WRITE (12,297) WRITE (12,411) STKN (S) L = ND16 / 8 DO 582 I = 1, 2 J = (1-1) * 6 + 1 K = I * 6 WRITE (12,293) STKN(S), (MH(S,D) , D = J,K) CONTINUE WRITE (12,293) STKN(S), (MH(S,D) , D = (K+l) ML) C WRITE (12,297) DO 584 I = 1, 2 J = (1-1) * 6 K = I * 6 WRITE (12,296) 584 CONTINUE WRITE (12,296) C WRITE (12,292) C WRITE (12,292) 580 CONTINUE END IF + 1 STKN(S) STKN(S) (MW(S,D) (MW(S,D) (MH(S,L) , L = 1, (MW(S,L) , L = 1, , D = J,K) , D = (K+l) ND16) ND16) ML) WRITE(*,*; WRITE(*,*; WRITE(*,*; 'END OF BPIP RUN. C C C FORMAT STATEMENTS 1 FORMAT(IX,A78,/) 2 FORMAT(/3X,'The ',A2, *ST2 run.'/) 3 FORMAT(3X,'The inputs *y a conversion '/3X,' *IP results in meters. flag has been set for processing for an ISC units are in: ', A10,' Multiplying ',A10,' b factor of',F10.4, ' will produce internal BP 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,T the UTM coordinates they represent .',///) 5 FORMAT ( 3X, ' UTMP is set to T,A4,T. The input is assumed to be in a * local T/3x,T X-Y coordinate system as opposed to a UTM coordinate *system. ' /3x, ' True North is in the positive Y direction.'///) 6 FORMAT (IX, 'Number of buildings to be processed :',I4/) 7 FORMAT ( 3 7X, ' ( ' , 2F12 .2, ' ) ' ) 8 FORMAT (' Factor to convert from input units to meters is:',F10.4) 11 FORMAT (/ IX, 'Number of stacks to be processed :',I4/) 12 FORMAT ( IX, A8, ' has ' , 12 , ' tier(s) with a base elevation of, F8.2, * ' BUILDING TIER BLDG-TIER TIER NO. OF CORNER COORDINA *TES ' , */' NAME NUMBER NUMBER HEIGHT CORNERS X Y' */) 13 FORMAT ( IX, A8, 15 , 5X, 14 , 4X, F6 . 2 , 16 ) 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 (4 IX, ' [ ' , 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 (3 OX, ' ( ' , 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( IX, A8,2X, 14, 3x,A8,2X, 214) 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 (/ IX, A8) 461 FORMAT (IX, 'DATE : ' , 12 , ' / ' , 12 , ' / ' , 12 ) 462 FORMAT (IX, 'TIME : ' , 12 , ' : ' , 12 , ' : ' , 12 ) 604 FORMAT (/ IX, '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 (1 OX, 'NOTE: The projected width values below are not always' A-22 ------- * ,/10X,' the maximum width. They are the minimum value,' * ,/10X,T valid for the stack in question, to derive the' * ,/10X,T maximum GEP stack height.'/) 1022 FORMAT(' StkNo: ' , 13,' Stk Name: ' , A8, ' Stk Ht: ' ,F7.2 , *' Prelim. GEP Stk.Ht: ',F8 . 2, */llx,' GEP: BH:',F7.2,' PBW:',F8.2, 11X, ' *Eqnl Ht:',F8.2) 1023 FORMAT(' No. of Tiers affecting Stk:', 13,' Direction occurred:' *, F8.2) 1024 FORMAT(' Bldg-Tier nos. contributing to GEP:', 1014) 1025 FORMAT(1IX,'*with a Stack-Building elevation difference applied =' *,F8.2) 2020 FORMAT(//' Summary By Direction Table'/ * ' (Units: ', A8,')', *// ' Dominate stand alone tiers:'/) 2022 FORMAT(' StkNo:', 13,' Stk Name:', A8, 23X,' Stack Ht:', F8.2) 2026 FORMAT(1IX,' MAX: BH:',F7.2,' PBW:',F7.2, * ' *Wake Effect Ht: ' , F8.2) 2027 FORMAT(1IX,' GEP: BH:',F7.2,' PBW:',F7.2, * ' *Equation 1 Ht:', F8.2) 2028 FORMAT(15X,' BldNo:', 13,' Bid Name:', A8, ' TierNo:', 13) 2023 FORMAT(' No. of Tiers affecting Stk:', 13) 2024 FORMAT(' Bldg-Tier nos. contributing to MAX:', 1014) 999 END SUBROUTINE CNRLIN (XI, Yl, 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 ((XI .NE. X2) .AND. (Yl .NE. Y2)) THEN SM = (Y2 - Yl) / (X2 - XI) XI = (YKP + XKP / SM - Yl + XI * SM) / (SM + 1.0 / SM) YI = Yl + (XI - XI) * SM ELSE IF ((Y2 .EQ. Yl)) THEN XI = XKP YI = Yl ELSE XI = XI 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 ? Al = (XI - XI) ** 2 + (Yl - YI) ** 2 + * (X2 - XI) ** 2 + (Y2 - YI) ** 2 A2 = (XI - X2) ** 2 + (Yl - Y2) ** 2 BET = (A2 - Al) RETURN END C SUBROUTINE DISLIN (XI, Yl, 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 (XI, X2) DX2 = MAX (XI, X2) IF ((XSP .LT. DX1) .OR. (XSP .GT. DX2)) RETURN IF (Yl .EQ. Y2) THEN A-23 ------- 576 DIST = YSP - Yl IF ((DIST .GE. 0.0) .AND. (DIST .LE. L5)) THEN IBET = 1 END IF END IF IF (XI .EQ. X2) THEN IF (XSP .EQ. XI) THEN Dl = YSP - Yl IF ((Dl .LE. L5) .AND. (Dl .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 Yl = Y2 + (XSP - X2) * (Yl - Y2) / (XI - X2) DIST = YSP - Yl 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) calculate GEP values INTEGER C, CH, D, S, GEPIN, TNUM2, TLIST2, GTNUM, GTLIST PARAMETER (MB = 8, MT = 4, MTS = 8, MET = MB*MT, MSK = 14, " MD = 36, ML = 16) COMMON /ELEV/ BELEV(MB), SB(MSK) COMMON /HT/ TH(MB, MT), SH(MSK) COMMON /GP/ GEP(MSK), GEPBH(MSK), GEPBW(MSK), GEPIN(MSK,MET,MET) COMMON /TNM/ TNUM2(MET), TLIST2(MET,MET) COMMON /GTNM/ GTNUM(MSK), GTLIST(MSK,MET), GDIRS(MSK) COMMON /MIJ/ MI(MSK), MJ(MSK) HWE = HTA + 1.5 * WS GEPIN(S, C, CH) = 1 IF (HWE .GT. GEP(S)) THEN GEP(S) = HWE + BELEV(I) GEPBH(S) = HTA GEPBW(S) = TW GTNUM(S) = TNUM2(C) MI(S) = I MJ(S) = C - GDIRS(S) = DO 576 M = GTLIST(S, CONTINUE END IF IF (HWE .EQ. GEP(S)) THEN IF (TW .LT. GEPBW(S)) THEN GEP(S) = HWE + BELEV(I) - SB(S) GEPBH(S) = HTA GEPBW(S) = TW GTNUM(S) = TNUM2(C) MI(S) = I MJ(S) = C - (1-1)*MT GDIRS(S) = FLOAT(D)/4 - SB(S) (1-1)*MT FLOAT(D)/4 1, GTNUM(S) ,M) = TLIST2(C,M) 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) (2 ******************************************************************** PARAMETER (MB = 8, MT = 4, MTS = 8, MET = MB*MT , MSK =14, * * MD = 36, ML = 16) * (2 ******************************************************************** C C DIMENSION SUBSCRIPT FORMAT: (BUILDING OR STACK #, WD OR TIER #, SIDE #) C REAL MHWE, MXPBH, MXPBW INTEGER C, D, GEPIN, S, TNUM2, TLIST2, TL1 COMMON /ELEV/ BELEV(MB), SB(MSK) COMMON /GP/ GEP(MSK), GEPBH(MSK), GEPBW(MSK), GEPIN(MSK,MET,MET) COMMON /HT/ TH(MB, MT), SH(MSK) COMMON /MXB/ MHWE(MSK, MD), MXPBH(MSK, MD), MXPBW(MSK, MD) COMMON /PWH/ PBH(MBT), PBW(MET), HWE(MET) COMMON /MIJ/ MI(MSK), MJ(MSK) COMMON /TNM/ TNUM2(MET), TLIST2(MET,MET) COMMON /MTNM/ MTNUM(MSK), MTLIST(MSK,MET), MDIRS(MSK) C C Stack is within GEP 5L ? IF (GEPIN(S,C,TL1) .EQ. 1) THEN PBH(C) = HTA PBW(C) = TW HWE(C) = HTA + 1.5 * WS IF (HWE(C) .GT. MHWE(S, D)) THEN MHWE(S, D) = HWE(C) + BELEV(I) - SB(S) MXPBH(S, D) = PBH(C) MXPBW(S, D) = PBW(C) MTNUM(S) = TNUM2(C) MI(S) = I MJ(S) = C - (1-1)*MT MDIRS(S) = FLOAT(D) DO 578 M = 1, MTNUM(S) MTLIST(S,M) = TLIST2(C,M) 578 CONTINUE END IF C When wake effects are equal, use those values with a lesser projected width. IF (HWE(C) .EQ. MHWE(S,D)) THEN IF (PBW(C) .LT. MXPBW(S,D)) THEN MHWE(S, D) = HWE(C) + BELEV(I) - SB(S) MXPBH(S, D) = PBH(C) MXPBW(S, D) = PBW(C) MTNUM(S) = TNUM2(C) MI(S) = I MJ(S) = C - (1-1)*MT MDIRS(S) = FLOAT(D) DO 579 M = 1, MTNUM(S) MTLIST(S,M) = TLIST2(C,M) 579 CONTINUE END IF END IF C When a wake effect height is greater than the GEP STK Ht, use the GEP values IF (GEP(S) .LT. MHWE(S,D)) THEN MHWE(S, D) = GEP(S) A-25 ------- 580 MXPBW(S,D) MXPBH(S,D) MTNUM(S) = MI(S) = I MJ(S) = C - MDIRS(S) = DO 580 M = MTLIST(S, CONTINUE END IF END IF = GEPBW(S) = GEPBH(S) TNUM2(C) (1-1)*MT FLOAT(D) 1, MTNUM(S) M) = TLIST2(C,M) C C C INITIALIZE VALUES FOR NEXT LOOP HWE(C) = 0.0 PBH(C) =0.0 PBW(C) = 0.0 RETURN END SUBROUTINE WIDTH (ANG, I, J, C, TW) Calculate projected building width, TW INTEGER C PARAMETER (MB = 8, MT = 4, MTS = 8, MET = 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(MET), XMIN(MET), YMAX(MET), YMIN(MET) CSA = COS(ANG) SNA = -SIN(ANG) DO 700 K = 1, ND(I,J) XC(C, K) = X(I, J, K) * CSA + Y(I, YC(C, K) = Y(I, J, K) * CSA - X(I, 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 IF (YC(C, K) .LE. YMIN(C)) YMIN(C) IF (YC(C, K) .GE. YMAX(C)) YMAX(C) IF (XC(C, K) .LE. XMIN(C)) XMIN(C) IF (XC(C, K) .GE. XMAX(C)) XMAX(C) 700 CONTINUE TW = XMAX(C) - XMIN(C) RETURN END J, J, K) K) SNA SNA SOUTH, = YC(C, = YC(C, = XC(C, = XC(C, EAST K) K) K) K) AND WEST A-26 ------- APPENDIX B TEST CASES Two test cases were constructed to test the major features of the program. The tests were for a low simple building and a multi-tiered 'city' block. BPIP output from the tests are presented below in formats for both the ISCST2 and ISCLT2 models. B.I TEST CASE 1 This first test case was originally used in an evaluation to test the ability of BPIP to properly calculate PBWs for a low simple structure. As presented here, the test case was simplified by removing several redundant stacks and it now serves as an example of a very basic BPIP run. Structure and stack input data for this test case can be found in Table B-l. See Figure 2-6 for a plot of Table B-l 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. Figure 2-6 illustrates this point. For a wind flow direction of 20 degrees, Stacks 101 is outside the GEP 5L limit line and the SIZ downwind boundary. Therefore, no PBW values should be calculated for Stack 101. Stack 103 is inside the GEP 5L limit line and the revised SIZ boundary line. PBW values were calculated for Stack 103. Stack 102 is outside the GEP 5L limit line and therefore not subject to wake effects from the building. However, Stack 102 would be inside a SIZ drawn with the old downwind side 5L from the most downwind corner. The guidance states that stacks outside the GEP 5L limit are outside the zone of wake effects. Therefore, no PBW's should be calculated for Stack 102. The GEP stack height values, and the ISCST2 and ISCLT2 results in Tables B-2, B-3, and B-4 were compared to hand calculated values and the results are correct. In table B-2, note that the GEP Eqnl result for StklOO 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-l ------- Table B-l 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 'StklOO' 11.00 25.00 -10.00 -20.00 'StklOl' 12.00 25.00 164.00 159.00 'Stkl02' 13.00 25.00 136.00 121.00 'Stkl03' 14.00 25.00 118.00 103.00 0 B-2 ------- Table B-2 GEP Stack Height Data 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. UTMP is set to UTMN. The input is assumed to be in a local X-Y coordinate system as opposed to a UTM coordinate system. True North is in the positive Y direction. Plant north is 210.00 degrees with respect to True North. BPIP users guide test case #1 - input file with 1 bldg and 4 stacks. PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE (Input Units: METERS) Stack Name StklOO StklOl Stkl02 StklOS Stack Height 25. 25. 25. 25. .00 .00 .00 .00 Preliminary* GEP** GEP Stack EQN1 Height Value 49.00 .00 .00 46.00 25. 25. 25. 25. .00 .00 .00 .00 * Results based on Table 3.1 of the GEP Technical Support Document. Consult Table 3.1 for any additional steps that may be required. ** Results using Equation 1, page 6 of GEP Technical Support Document. B-3 ------- Table B-2 Cont'd GEP Stack Height Data 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. UTMP is set to UTMN. The input is assumed to be in a local X-Y coordinate system as opposed to a UTM coordinate system. True North is in the positive Y direction. Plant north is 210.00 degrees with respect to True North. BPIP users guide test case #1 - input file with 1 bldg and 4 stacks. PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE (Input Units: METERS) Stack Name StklOO StklOl Stkl02 StklOS Stack Height 25. 25. 25. 25. .00 .00 .00 .00 Preliminary* GEP** GEP Stack EQN1 Height Value 49.00 .00 .00 46.00 25. 25. 25. 25. .00 .00 .00 .00 * Results based on Table 3.1 of the GEP Technical Support Document. Consult Table 3.1 for any additional steps that may be required. ** Results using Equation 1, page 6 of GEP Technical Support Document. B-4 ------- Table B-3 Test Case 1 ISCST2 Output Data Building Heights and Projected Building Widths Only DATE : 11/16/93 TIME : 22:18:18 BPIP users guide test case #1 - input file with 1 bldg and 4 stacks. BPIP output in METERS SO so so so so so so so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO StklOO 20. 20. 20. 20. 20. 20. 111. 140 . 107 . 111. 140 . 107 . .00 .00 .00 .00 .00 .00 .07 .88 .16 .07 .88 .16 20. 20. 20. 20. 20. 20. 107 . 140 . 111. 107 . 140 . 111. .00 .00 .00 .00 .00 .00 .16 .88 .07 .16 .88 .07 20. 20. 20. 20. 20. 20. 100. 136. 111. 100. 136. 111. .00 .00 .00 .00 .00 .00 .00 .60 .60 .00 .60 .60 20. 20. 20. 20. 20. 20. 115. 128. 108. 115. 128. 108. .00 .00 .00 .00 .00 .00 .85 . 17 .74 .85 . 17 .74 20. 20. 20. 20. 20. 20. 128. 115. 108. 128. 115. 108. .00 .00 .00 .00 .00 .00 . 17 .85 .74 . 17 .85 .74 20. 20. 20. 20. 20. 20. 136. 100. 111. 136. 100. 111. .00 .00 .00 .00 .00 .00 .60 .00 .60 .60 .00 .60 SO SO SO SO SO SO SO so so so so so so so so so so so so so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl StklOl Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 Stkl02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 B-5 ------- SO BUILDHGT StklOS .00 .00 .00 20.00 .00 .00 SO BUILDHGT StklOS .00 .00 .00 .00 .00 .00 SO BUILDHGT StklOS .00 .00 .00 .00 .00 .00 SO BUILDHGT StklOS .00 .00 .00 20.00 20.00 20.00 SO BUILDHGT StklOS 20.00 20.00 20.00 20.00 20.00 .00 SO BUILDHGT StklOS .00 .00 .00 .00 .00 .00 SO BUILDWID StklOS .00 .00 .00 115.85 .00 .00 SO BUILDWID StklOS .00 .00 .00 .00 .00 .00 SO BUILDWID StklOS .00 .00 .00 .00 .00 .00 SO BUILDWID StklOS .00 .00 .00 115.85 128.17 136.60 SO BUILDWID StklOS 140.88 140.88 136.60 128.17 115.85 .00 SO BUILDWID StklOS .00 .00 .00 .00 .00 .00 B-6 ------- Table B-4 Test Case 1 ISCLT2 Output Data Building Heights and Projected Building Widths Only DATE : 11/17/93 TIME : 19:40:29 BPIP users guide test case #1 - input file with 1 bldg and 4 stacks. SO BUILDHGT StklOO 20.00 20.00 20.00 20.00 20.00 20.00 SO BUILDHGT StklOO 20.00 20.00 20.00 20.00 20.00 20.00 SO BUILDHGT StklOO 20.00 20.00 20.00 20.00 SO BUILDWID StklOO 111.60 105.67 122.47 140.21 136.60 112.20 SO BUILDWID StklOO 109.53 109.77 111.60 105.67 122.47 140.21 SO BUILDWID StklOO 136.60 112.20 109.53 109.77 SO BUILDHGT StklOl .00 .00 .00 .00 .00 .00 SO BUILDHGT StklOl .00 .00 .00 .00 .00 .00 SO BUILDHGT StklOl .00 .00 .00 .00 SO BUILDWID StklOl .00 .00 .00 .00 .00 .00 SO BUILDWID StklOl .00 .00 .00 .00 .00 .00 SO BUILDWID StklOl .00 .00 .00 .00 SO BUILDHGT Stkl02 .00 .00 .00 .00 .00 .00 SO BUILDHGT Stkl02 .00 .00 .00 .00 .00 .00 SO BUILDHGT Stkl02 .00 .00 .00 .00 SO BUILDWID Stkl02 .00 .00 .00 .00 .00 .00 SO BUILDWID Stkl02 .00 .00 .00 .00 .00 .00 SO BUILDWID Stkl02 .00 .00 .00 .00 SO BUILDHGT Stkl03 .00 .00 .00 .00 .00 20.00 SO BUILDHGT Stkl03 .00 .00 .00 .00 20.00 20.00 SO BUILDHGT Stkl03 20.00 20.00 .00 .00 SO BUILDWID Stkl03 .00 .00 .00 .00 .00 112.20 SO BUILDWID Stkl03 .00 .00 .00 .00 122.47 140.21 SO BUILDWID Stkl03 136.60 112.20 .00 .00 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-l). 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-l 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-l. Three sets of stacks were placed to the left and to the right of the 40 degree wind flow direction. Stack 7 was placed downwind of the buildings. The stack was designed to be influenced by the highest wake effect produced by the three buildings. Stack 10 was placed beyond any SIZes or GEP 5L areas of influence and served as a control stack. Stacks 8 and 9 were placed directly downwind of any GFSs for the Cardinal directions of north, south, east and west. Their purpose was to serve as an indicator if there was a problem with the multi-tiered GFS processing. In the ISCST2 output shown in Table B-6, the fourth entry over from the left on the first and fourth line of each set of values for each stack represents the output for winds blowing in the 40 and 220 degree directions. The BH values listed in Table B-6 are the tier heights which are the lowest tier height of any combined tiers producing the highest wake effect over the respective stack. From the figure, the other tiers used in each combining can be found. For Stack 1, the BH is 6.2 which belongs to Building-Tier number 5 which was combined with Building-Tier numbers 1, through 7, and 11. The PBW value of 11.98 was from the combining of these 7 tiers. These combined tiers numbers were read from the associated summary output file. The combined tiers producing the highest wake effects over the respective stacks in Figure B-l are annotated in parentheses for the first 7 stacks. 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 Stack 7 Key: - SIZ line segment (3, 7, 11) - Dominate combined Building-Tier numbers used to draw the associated SIZ segment. Building 1 • Stack 8 Stack 6 Stack 5 Stack 4 e Stack 9 Figure B-l. Groups of Tiered Structures 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, 1 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 47.7 -31.4 -31.4 -34 -31.4 -34 -34 -31.4 -34 TBldg2' 3 0.00 46.2 -36 -30 -36 -34 -40 -34 -40 -30 47.2 -36 -31 -36 -34 -39 -34 -39 -31 47.6 -36 -31.5 -36 -34 -38.5 -34 -38.5 -31.5 'Bldg 3' 3 0.00 46.1 -30 -36 -34 -36 -34 -40 -30 -40 47.1 -31 -36 -34 -36 -34 -39 B-ll ------- -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 ISCST2 Output Data 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. UTMP is set to UTMN. The input is assumed to be in a local X-Y coordinate system as opposed to a UTM coordinate system. True North is in the positive Y direction. Plant north is 360.00 degrees with respect to True North. B-13 ------- BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks. PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE (Input Units: METERS) Stack Name slH6. s2H7 . S3H7. S4H6. S5H7. S6H7. S7H6. S8H6. S9H6. S10H6 Stack Height 08 08 32 08 08 32 08 08 08 .08 15. 17. 18. 15. 17. 18. 15. 15. 15. 15. .20 .70 .30 .20 .70 .30 .20 .20 .20 .20 Preliminary* GEP** GEP Stack EQN1 Height 18. 18. 18. 18. 18. 18. 18. 18. 18. .75 .75 .88 .94 .94 .94 .75 .75 .84 .00 15. 17. 18. 15. 17. 18. 15. 15. 15. 15. Value .20 .70 .30 .20 .70 .30 .20 .20 .20 .20 * Results based on Table 3.1 of the GEP Technical Support Document. Consult Table 3.1 for any additional steps that may be required. ** Results using Equation 1, page 6 of GEP Technical Support Document. DATE : 11/19/93 TIME : 7:12:25 BPIP users guide test case #2, BPIP output in SO SO SO SO SO SO SO SO SO SO SO SO so so so so so so so so so so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDHGT BUILDHGT , 3-3 tiered bldgs w/ 10 Stacks . METERS S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S1H6. S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S2H7 . S3H7. S3H7. .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .32 .32 7 . 7 . 7 . 7 . 7 . 7 . 8. 9. 7 . 8. 9. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 8. 8. 7 . 8. 8. 7 . 7 . 7 . .20 .20 .30 .20 .20 .30 .69 .61 .67 .69 .61 .67 .50 .50 .30 .50 .50 .30 .11 .97 .67 .11 .97 .67 .50 .50 6. 7 . 7 . 6. 7 . 7 . 10. 8. 7 . 10. 8. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 9. 8. 7 . 9. 8. 7 . 7 . 7 . .20 .50 .60 .20 .50 .60 .89 .11 .11 .89 .11 .11 .20 .50 .60 .20 .50 .60 .61 .11 .11 .61 .11 .11 .60 .50 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . .20 .30 .50 .20 .30 .50 .61 .50 .50 .61 .50 .50 .20 .30 .50 .20 .30 .50 .25 .50 .50 .25 .50 .50 .50 .30 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . .20 .50 .50 .20 .50 .50 .98 .44 .50 .98 .44 .50 .20 .50 .50 .20 .50 .50 .57 .44 .50 .57 .44 .50 .50 .50 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . .20 .50 .50 .20 .50 .50 .98 .56 .50 .98 .56 .50 .20 .50 .50 .20 .50 .50 .57 .56 .50 .57 .56 .50 .50 .50 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . .20 .50 .30 .20 .50 .60 .61 .45 .50 .61 .45 .10 .20 .50 .30 .20 .50 .60 .25 .45 .50 .25 .45 .10 .50 .50 B-14 ------- SO BUILDHGT S3H7.32 SO BUILDHGT S3H7.32 SO BUILDHGT S3H7.32 SO BUILDHGT S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 7 . 7 . 7 . 7 . 8. 8. 7 . 8. 8. 7 . 7 . 6. 7 . 7 . 6. 7 . 8. 10. 7 . 8. 10. 7 . .30 .50 .50 .30 .11 .97 .67 .11 .97 .67 .10 .10 .30 .10 .10 .30 .69 .89 .67 .69 .89 .67 7 . 7 . 7 . 7 . 7 . 8. 7 . 7 . 8. 7 . 6. 7 . 7 . 6. 7 . 7 . 10. 8. 7 . 10. 8. 7 . .60 .60 .50 .60 .52 .11 .11 .52 .11 .11 .10 .10 .60 .10 .10 .60 .89 .69 .11 .89 .69 .11 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . .60 .50 .30 .60 .56 .50 .45 .56 .50 .45 .10 .30 .60 .10 .30 .60 .61 .50 .45 .61 .50 .45 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . .60 .50 .50 .60 .86 .44 .52 .86 .44 .52 .10 .50 .60 .10 .50 .60 .98 .44 .56 .98 .44 .56 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . .60 .50 .50 .60 .86 .56 .44 .86 .56 .44 .10 .50 .60 .10 .50 .60 .98 .56 .44 .98 .56 .44 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 6. 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 11. 7 . 7 . .30 .50 .50 .60 .56 .45 .50 .56 .45 .10 .10 .50 .30 .10 .50 .60 .61 .45 .50 .61 .45 .10 B-15 ------- SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDHGT S6H7.32 7.50 SO BUILDHGT S6H7.32 7.50 SO BUILDHGT S6H7.32 7.30 SO BUILDHGT S6H7.32 7.50 SO BUILDHGT S6H7.32 7.50 SO BUILDHGT S6H7.32 7.30 SO BUILDWID S6H7.32 8.11 SO BUILDWID S6H7.32 8.97 SO BUILDWID S6H7.32 7.67 SO BUILDWID S6H7.32 8.11 SO BUILDWID S6H7.32 8.97 SO BUILDWID S6H7.32 7.67 SO BUILDHGT S7H6.08 .00 SO BUILDHGT S7H6.08 .00 SO BUILDHGT S7H6.08 .00 SO BUILDHGT S7H6.08 .00 SO BUILDHGT S7H6.08 .00 SO BUILDHGT S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDWID S7H6.08 .00 SO BUILDHGT S8H6.08 .00 SO BUILDHGT S8H6.08 7.50 SO BUILDHGT S8H6.08 .00 SO BUILDHGT S8H6.08 .00 SO BUILDHGT S8H6.08 7.50 SO BUILDHGT S8H6.08 .00 SO BUILDWID S8H6.08 .00 SO BUILDWID S8H6.08 8.97 SO BUILDWID S8H6.08 .00 SO BUILDWID S8H6.08 .00 SO BUILDWID S8H6.08 8.97 SO BUILDWID S8H6.08 .00 7 . 7 . 7 . 7 . 7 . 7 . 9. 8. 7 . 9. 8. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 8. 8. 7 . 8. 8. 7 . 7 . 7 . 8. 8. .10 .50 .60 .10 .50 .60 .61 .11 .11 .61 .11 .11 .50 .50 .60 .50 .50 .60 .97 .11 .11 .97 .11 .11 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .50 .00 .00 .50 .00 .00 .11 .00 .00 .11 .00 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 7 . 9. 7 . 7 . 7 . 7 . .10 .30 .60 .10 .30 .60 .25 .50 .45 .25 .50 .45 .50 .30 .60 .50 .30 .60 .56 .50 .45 .56 .50 .45 .50 .00 .00 .00 .00 .00 .56 .00 .00 .00 .00 .00 .00 .30 .00 .00 .30 .00 .00 .50 .00 .00 .50 .00 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 7 . 9. 7 . 7 . 7 . 7 . .10 .50 .60 .10 .50 .60 .57 .44 .56 .57 .44 .56 .50 .50 .60 .50 .50 .60 .86 .44 .56 .86 .44 .56 .50 .00 .00 .00 .00 .00 .86 .00 .00 .00 .00 .00 .00 .50 .00 .00 .50 .00 .00 .44 .00 .00 .44 .00 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 7 . 9. 6. 7 . 6. 7 . 11. 7 . 11. 7 . .10 .50 .60 .10 .50 .60 .57 .56 .44 .57 .56 .44 .50 .50 .60 .50 .50 .60 .86 .56 .44 .86 .56 .44 .50 .00 .00 .00 .00 .00 .86 .00 .00 .00 .00 .00 .20 .50 .00 .20 .50 .00 .98 .56 .00 .98 .56 .00 7 . 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 9. 7 . 7 . 7 . 7 . 9. 9. .10 .50 .30 .10 .50 .60 .25 .45 .50 .25 .45 .10 .50 .50 .30 .50 .50 .60 .56 .45 .50 .56 .45 .10 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .50 .00 .00 .50 .00 .00 .56 .00 .00 .56 .00 .00 B-16 ------- so so so so so so so so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 S9H6 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 7.50 .00 .00 7.50 .00 .00 8.11 .00 .00 8.11 .00 .00 7 . 7 . 7 . 7 . .60 .00 .00 .60 .00 .00 .49 .00 .00 .49 .00 .00 7 . 7 . 9. 9. .50 .00 .00 .50 .00 .00 .56 .00 .00 .56 .00 .00 6. 7 . 6. 7 . 11. 7 . 11. 7 . .10 .00 .60 .10 .00 .60 .98 .00 .49 .98 .00 .49 7 . 7 . 7 . 7 . .00 .00 .60 .00 .00 .50 .00 .00 .44 .00 .00 .44 7 . 7 . 7 . 7 . .00 .00 .30 .00 .00 .30 .00 .00 .50 .00 .00 .50 SO SO SO SO SO SO SO so so so so so BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDHGT BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID BUILDWID S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. S10H6. .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .08 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 B-17 ------- Table B-7 Test Case 2 ISCLT2 Output Data 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. UTMP is set to UTMN. The input is assumed to be in a local X-Y coordinate system as opposed to a UTM coordinate system. True North is in the positive Y direction. Plant north is 360.00 degrees with respect to True North. BPIP users guide test case #2, 3-3 tiered bldgs w/ 10 stacks. PRELIMINARY* GEP STACK HEIGHT RESULTS TABLE (Input Units: METERS) Preliminary* Stack Stack GEP** GEP Stack Name Height EQN1 Height Value S1H6.08 s2H7.08 S3H7.32 S4H6.08 S5H7.08 S6H7.32 S7H6.08 S8H6.08 S9H6.08 S10H6.08 15.20 17 .70 18.30 15.20 17 .70 18.30 15.20 15.20 15.20 15.20 18.75 18.75 18.88 18.94 18.94 18.94 18.75 18.75 18.84 .00 15.20 17 .70 18.30 15.20 17 .70 18.30 15.20 15.20 15.20 15.20 * Results based on Table 3.1 of the GEP Technical Support Document. Consult Table 3.1 for any additional steps that may be required. ** Results using Equation 1, page 6 of GEP Technical Support Document. DATE : 11/19/93 B-18 ------- TIME : 7:24:46 SO BUILDHGT S1H6.08 SO BUILDHGT S1H6.08 SO BUILDHGT S1H6.08 SO BUILDWID S1H6.08 SO BUILDWID S1H6.08 SO BUILDWID S1H6.08 SO BUILDHGT S2H7.08 SO BUILDHGT S2H7.08 SO BUILDHGT S2H7.08 SO BUILDWID S2H7.08 SO BUILDWID S2H7.08 SO BUILDWID S2H7.08 SO BUILDHGT S3H7.32 SO BUILDHGT S3H7.32 SO BUILDHGT S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDWID S3H7.32 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDHGT S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDWID S4H6.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDHGT S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDWID S5H7.08 SO BUILDHGT S6H7.32 SO BUILDHGT S6H7.32 SO BUILDHGT S6H7.32 SO BUILDWID S6H7.32 SO BUILDWID S6H7.32 SO BUILDWID S6H7.32 SO BUILDHGT S7H6.08 SO BUILDHGT S7H6.08 SO BUILDHGT S7H6.08 SO BUILDWID S7H6.08 SO BUILDWID S7H6.08 SO BUILDWID S7H6.08 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . .60 .30 .30 .10 .42 .50 .60 .30 .30 .10 .42 .50 .60 .30 .30 .10 .42 .50 .60 .30 .30 .10 .42 .50 .60 .30 .30 .10 .42 .50 .60 .30 .30 .10 .42 .50 .00 .00 .00 .00 .00 .00 6. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 7 . 7 . 7 . 7 . 7 . 7 . 6. 7 . 7 . 11. 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 7 . 9. .20 .50 .50 .11 .50 .55 .20 .50 .50 .80 .50 .55 .60 .60 .50 .52 .52 .55 .10 .60 .50 .11 .55 .55 .10 .60 .50 .80 .55 .55 .50 .60 .50 .15 .55 .55 .50 .00 .00 .71 .00 .00 6. 7 . 7 . 12. 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 6. 7 . 7 . 12. 7 . 7 . 7 . 7 . 7 . 10. 7 . 7 . 7 . 7 . 7 . 9. 7 . 7 . 7 . 9. .20 .30 .30 .02 .50 .42 .20 .30 .30 .61 .50 .42 .50 .30 .30 .90 .50 .42 .10 .30 .30 .02 .50 .42 .10 .30 .30 .61 .50 .42 .50 .30 .30 .90 .50 .42 .50 .00 .00 .90 .00 .00 7 . 6. 7 . 9. 11. 7 . 7 . 7 . 7 . 9. 9. 7 . 7 . 7 . 7 . 9. 7 . 7 . 6. 6. 7 . 11. 11. 7 . 7 . 7 . 7 . 9. 9. 7 . 7 . 7 . 7 . 9. 9. 7 . .20 .20 .50 .80 .11 .50 .50 .20 .50 .15 .80 .50 .50 .60 .60 .15 .52 .52 .10 .10 .60 .11 .11 .55 .10 .10 .60 .80 .80 .55 .50 .50 .60 .15 .15 .55 .00 .00 .00 .00 .00 .00 7.30 7.20 7.50 10.61 7.30 7.50 7.50 9.90 7.30 6.10 7.50 12.02 7.30 7 . 10 7.50 10.61 7.30 7.50 7.50 9.90 .00 .00 .00 .00 7.50 7.50 7.55 9.15 7.50 7.50 7.55 9.15 7.50 6.10 7.55 11.11 7.50 7 . 10 7.55 9.80 7.50 7.50 7.55 9.15 .00 .00 .00 .00 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 SO BUILDHGT S9H6.08 7.30 7.60 7.50 .00 .00 .00 SO BUILDHGT S9H6.08 .00 7.60 7.30 7.60 7.50 .00 SO BUILDHGT S9H6.08 .00 .00 .00 7.60 SO BUILDWID S9H6.08 7.50 7.49 9.71 .00 .00 .00 SO BUILDWID S9H6.08 .00 7.49 7.50 7.49 9.71 .00 SO BUILDWID S9H6.08 .00 .00 .00 7.49 SO BUILDHGT S10H6.08 .00 .00 .00 .00 .00 .00 SO BUILDHGT S10H6.08 .00 .00 .00 .00 .00 .00 SO BUILDHGT S10H6.08 .00 .00 .00 .00 SO BUILDWID S10H6.08 .00 .00 .00 .00 .00 .00 SO BUILDWID S10H6.08 .00 .00 .00 .00 .00 .00 SO BUILDWID S10H6.08 .00 .00 .00 .00 B-20 ------- APPENDIX C ERROR MESSAGES / TROUBLESHOOTING In additions to the error checking provided by a computer's operating system such as DOS, BPIP has been programmed to provide one other method of checking / troubleshooting data. In the other method, BPIP is executed and segments of the input file are checked by the computer for incorrect flag names, stack names, and values that exceed parameter settings. C.I ERROR MESSAGES Warning and error messages in this section will include those that can be generated by BPIP operating under Microsoft Fortran and Disk Operating System (MS-DOS) software. Below is a list of some of the common messages that can occur and their causes. Message Common Error Messages and Their Causes Cause Bad Command or Filename Filename missing or blank UNIT 10? Filename missing or blank UNIT 12? Filename missing or blank UNIT 14? run-time error F6416 ( ...) - file not found run-time error F6505(input] - invalid string in input BPIP.EXE not on Path or in the current directory Input filename missing from execution line. Output filename missing from execution line. Summary filename missing from execution line. Wrong input filename Quotes around a name, title, or flag are missing run-time error F6504(input] - invalid number in input Caution: Blank spaces are not allowed in stack names by ISC2 models. A quote mark around a name, title, or flag maybe missing The input stack name is used to associate particular building height and width data with stack emissions data through the ISC2s', source id, Scrid. The ISC2 models do NOT allow blanks in the Scrid name. C-l ------- 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. C.2 NORMAL ERROR CHECKING 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 TSTT, TLTT, '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 BPIP has been programmed to print a rather lengthy summary file that details intermediate data for each sector/direction. The data can include the direction of occurrence of a GEP related value, the BH and PBW for a sector, and the number of tiers and the building-tier numbers affecting a stack in a particular direction. The summary data should be reviewed when there is need for more information concerning the data in the output file. This will also help alleviate some concerns for those situations where the user is unaware that a stack-building elevation difference has been deducted from a preliminary GEP stack height result or when there is a need to find out what tier or tiers may be producing an undesired wake effect on a particular stack. Therefore, the summary data should be used when troubleshooting the results. C-2 ------- |